@solana/web3.js 1.45.0 → 1.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/errors.ts CHANGED
@@ -7,3 +7,44 @@ export class SendTransactionError extends Error {
7
7
  this.logs = logs;
8
8
  }
9
9
  }
10
+
11
+ // Keep in sync with client/src/rpc_custom_errors.rs
12
+ // Typescript `enums` thwart tree-shaking. See https://bargsten.org/jsts/enums/
13
+ export const SolanaJSONRPCErrorCode = {
14
+ JSON_RPC_SERVER_ERROR_BLOCK_CLEANED_UP: -32001,
15
+ JSON_RPC_SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE: -32002,
16
+ JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE: -32003,
17
+ JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE: -32004,
18
+ JSON_RPC_SERVER_ERROR_NODE_UNHEALTHY: -32005,
19
+ JSON_RPC_SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE: -32006,
20
+ JSON_RPC_SERVER_ERROR_SLOT_SKIPPED: -32007,
21
+ JSON_RPC_SERVER_ERROR_NO_SNAPSHOT: -32008,
22
+ JSON_RPC_SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED: -32009,
23
+ JSON_RPC_SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX: -32010,
24
+ JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE: -32011,
25
+ JSON_RPC_SCAN_ERROR: -32012,
26
+ JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH: -32013,
27
+ JSON_RPC_SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET: -32014,
28
+ JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION: -32015,
29
+ JSON_RPC_SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED: -32016,
30
+ } as const;
31
+ export type SolanaJSONRPCErrorCodeEnum =
32
+ typeof SolanaJSONRPCErrorCode[keyof typeof SolanaJSONRPCErrorCode];
33
+
34
+ export class SolanaJSONRPCError extends Error {
35
+ code: SolanaJSONRPCErrorCodeEnum | unknown;
36
+ data?: any;
37
+ constructor(
38
+ {
39
+ code,
40
+ message,
41
+ data,
42
+ }: Readonly<{code: unknown; message: string; data?: any}>,
43
+ customMessage?: string,
44
+ ) {
45
+ super(customMessage != null ? `${customMessage}: ${message}` : message);
46
+ this.code = code;
47
+ this.data = data;
48
+ this.name = 'SolanaJSONRPCError';
49
+ }
50
+ }
@@ -68,6 +68,7 @@ export async function sendAndConfirmRawTransaction(
68
68
  const sendOptions = options && {
69
69
  skipPreflight: options.skipPreflight,
70
70
  preflightCommitment: options.preflightCommitment || options.commitment,
71
+ minContextSlot: options.minContextSlot,
71
72
  };
72
73
 
73
74
  const signature = await connection.sendRawTransaction(
@@ -25,6 +25,7 @@ export async function sendAndConfirmTransaction(
25
25
  skipPreflight: options.skipPreflight,
26
26
  preflightCommitment: options.preflightCommitment || options.commitment,
27
27
  maxRetries: options.maxRetries,
28
+ minContextSlot: options.minContextSlot,
28
29
  };
29
30
 
30
31
  const signature = await connection.sendTransaction(