/
expiry-custom-errors.ts
48 lines (40 loc) · 1.29 KB
/
expiry-custom-errors.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
export class TransactionExpiredBlockheightExceededError extends Error {
signature: string;
constructor(signature: string) {
super(`Signature ${signature} has expired: block height exceeded.`);
this.signature = signature;
}
}
Object.defineProperty(
TransactionExpiredBlockheightExceededError.prototype,
'name',
{
value: 'TransactionExpiredBlockheightExceededError',
},
);
export class TransactionExpiredTimeoutError extends Error {
signature: string;
constructor(signature: string, timeoutSeconds: number) {
super(
`Transaction was not confirmed in ${timeoutSeconds.toFixed(
2,
)} seconds. It is ` +
'unknown if it succeeded or failed. Check signature ' +
`${signature} using the Solana Explorer or CLI tools.`,
);
this.signature = signature;
}
}
Object.defineProperty(TransactionExpiredTimeoutError.prototype, 'name', {
value: 'TransactionExpiredTimeoutError',
});
export class TransactionExpiredNonceInvalidError extends Error {
signature: string;
constructor(signature: string) {
super(`Signature ${signature} has expired: the nonce is no longer valid.`);
this.signature = signature;
}
}
Object.defineProperty(TransactionExpiredNonceInvalidError.prototype, 'name', {
value: 'TransactionExpiredNonceInvalidError',
});