near-kit 0.0.0 → 0.1.0

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.
Files changed (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +371 -2
  3. package/dist/contracts/contract.d.ts +63 -0
  4. package/dist/contracts/contract.d.ts.map +1 -0
  5. package/dist/contracts/contract.js +42 -0
  6. package/dist/contracts/contract.js.map +1 -0
  7. package/dist/contracts/index.d.ts +5 -0
  8. package/dist/contracts/index.d.ts.map +1 -0
  9. package/dist/contracts/index.js +5 -0
  10. package/dist/contracts/index.js.map +1 -0
  11. package/dist/core/actions.d.ts +193 -0
  12. package/dist/core/actions.d.ts.map +1 -0
  13. package/dist/core/actions.js +195 -0
  14. package/dist/core/actions.js.map +1 -0
  15. package/dist/core/config-schemas.d.ts +179 -0
  16. package/dist/core/config-schemas.d.ts.map +1 -0
  17. package/dist/core/config-schemas.js +169 -0
  18. package/dist/core/config-schemas.js.map +1 -0
  19. package/dist/core/constants.d.ts +43 -0
  20. package/dist/core/constants.d.ts.map +1 -0
  21. package/dist/core/constants.js +49 -0
  22. package/dist/core/constants.js.map +1 -0
  23. package/dist/core/near.d.ts +301 -0
  24. package/dist/core/near.d.ts.map +1 -0
  25. package/dist/core/near.js +504 -0
  26. package/dist/core/near.js.map +1 -0
  27. package/dist/core/nonce-manager.d.ts +39 -0
  28. package/dist/core/nonce-manager.d.ts.map +1 -0
  29. package/dist/core/nonce-manager.js +73 -0
  30. package/dist/core/nonce-manager.js.map +1 -0
  31. package/dist/core/rpc/rpc-error-handler.d.ts +60 -0
  32. package/dist/core/rpc/rpc-error-handler.d.ts.map +1 -0
  33. package/dist/core/rpc/rpc-error-handler.js +324 -0
  34. package/dist/core/rpc/rpc-error-handler.js.map +1 -0
  35. package/dist/core/rpc/rpc-schemas.d.ts +1812 -0
  36. package/dist/core/rpc/rpc-schemas.d.ts.map +1 -0
  37. package/dist/core/rpc/rpc-schemas.js +424 -0
  38. package/dist/core/rpc/rpc-schemas.js.map +1 -0
  39. package/dist/core/rpc/rpc.d.ts +117 -0
  40. package/dist/core/rpc/rpc.d.ts.map +1 -0
  41. package/dist/core/rpc/rpc.js +325 -0
  42. package/dist/core/rpc/rpc.js.map +1 -0
  43. package/dist/core/schema.d.ts +1188 -0
  44. package/dist/core/schema.d.ts.map +1 -0
  45. package/dist/core/schema.js +396 -0
  46. package/dist/core/schema.js.map +1 -0
  47. package/dist/core/transaction.d.ts +390 -0
  48. package/dist/core/transaction.d.ts.map +1 -0
  49. package/dist/core/transaction.js +649 -0
  50. package/dist/core/transaction.js.map +1 -0
  51. package/dist/core/types.d.ts +271 -0
  52. package/dist/core/types.d.ts.map +1 -0
  53. package/dist/core/types.js +9 -0
  54. package/dist/core/types.js.map +1 -0
  55. package/dist/errors/index.d.ts +226 -0
  56. package/dist/errors/index.d.ts.map +1 -0
  57. package/dist/errors/index.js +366 -0
  58. package/dist/errors/index.js.map +1 -0
  59. package/dist/index.d.ts +16 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +23 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/keys/credential-schemas.d.ts +98 -0
  64. package/dist/keys/credential-schemas.d.ts.map +1 -0
  65. package/dist/keys/credential-schemas.js +128 -0
  66. package/dist/keys/credential-schemas.js.map +1 -0
  67. package/dist/keys/file-keystore.d.ts +130 -0
  68. package/dist/keys/file-keystore.d.ts.map +1 -0
  69. package/dist/keys/file-keystore.js +266 -0
  70. package/dist/keys/file-keystore.js.map +1 -0
  71. package/dist/keys/in-memory-keystore.d.ts +71 -0
  72. package/dist/keys/in-memory-keystore.d.ts.map +1 -0
  73. package/dist/keys/in-memory-keystore.js +85 -0
  74. package/dist/keys/in-memory-keystore.js.map +1 -0
  75. package/dist/keys/index.d.ts +12 -0
  76. package/dist/keys/index.d.ts.map +1 -0
  77. package/dist/keys/index.js +18 -0
  78. package/dist/keys/index.js.map +1 -0
  79. package/dist/keys/native-keystore.d.ts +111 -0
  80. package/dist/keys/native-keystore.d.ts.map +1 -0
  81. package/dist/keys/native-keystore.js +167 -0
  82. package/dist/keys/native-keystore.js.map +1 -0
  83. package/dist/sandbox/index.d.ts +6 -0
  84. package/dist/sandbox/index.d.ts.map +1 -0
  85. package/dist/sandbox/index.js +5 -0
  86. package/dist/sandbox/index.js.map +1 -0
  87. package/dist/sandbox/sandbox.d.ts +55 -0
  88. package/dist/sandbox/sandbox.d.ts.map +1 -0
  89. package/dist/sandbox/sandbox.js +341 -0
  90. package/dist/sandbox/sandbox.js.map +1 -0
  91. package/dist/utils/amount.d.ts +76 -0
  92. package/dist/utils/amount.d.ts.map +1 -0
  93. package/dist/utils/amount.js +137 -0
  94. package/dist/utils/amount.js.map +1 -0
  95. package/dist/utils/gas.d.ts +69 -0
  96. package/dist/utils/gas.d.ts.map +1 -0
  97. package/dist/utils/gas.js +92 -0
  98. package/dist/utils/gas.js.map +1 -0
  99. package/dist/utils/index.d.ts +14 -0
  100. package/dist/utils/index.d.ts.map +1 -0
  101. package/dist/utils/index.js +14 -0
  102. package/dist/utils/index.js.map +1 -0
  103. package/dist/utils/key.d.ts +117 -0
  104. package/dist/utils/key.d.ts.map +1 -0
  105. package/dist/utils/key.js +270 -0
  106. package/dist/utils/key.js.map +1 -0
  107. package/dist/utils/nep413.d.ts +97 -0
  108. package/dist/utils/nep413.d.ts.map +1 -0
  109. package/dist/utils/nep413.js +154 -0
  110. package/dist/utils/nep413.js.map +1 -0
  111. package/dist/utils/validation.d.ts +114 -0
  112. package/dist/utils/validation.d.ts.map +1 -0
  113. package/dist/utils/validation.js +150 -0
  114. package/dist/utils/validation.js.map +1 -0
  115. package/dist/wallets/adapters.d.ts +119 -0
  116. package/dist/wallets/adapters.d.ts.map +1 -0
  117. package/dist/wallets/adapters.js +267 -0
  118. package/dist/wallets/adapters.js.map +1 -0
  119. package/dist/wallets/index.d.ts +11 -0
  120. package/dist/wallets/index.d.ts.map +1 -0
  121. package/dist/wallets/index.js +2 -0
  122. package/dist/wallets/index.js.map +1 -0
  123. package/dist/wallets/types.d.ts +99 -0
  124. package/dist/wallets/types.d.ts.map +1 -0
  125. package/dist/wallets/types.js +10 -0
  126. package/dist/wallets/types.js.map +1 -0
  127. package/package.json +78 -7
  128. package/index.js +0 -1
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Core type definitions for the NEAR client library
3
+ */
4
+ export type { CustomNetworkConfig, NetworkConfig, NetworkPreset, } from "./config-schemas.js";
5
+ export type NetworkId = "mainnet" | "testnet" | "localnet";
6
+ export type KeyConfig = string | {
7
+ type: "ed25519";
8
+ key: string;
9
+ } | {
10
+ type: "secp256k1";
11
+ key: string;
12
+ } | {
13
+ type: "seed";
14
+ phrase: string;
15
+ path?: string;
16
+ } | {
17
+ type: "ledger";
18
+ path?: string;
19
+ } | {
20
+ type: "private-key";
21
+ key: Uint8Array;
22
+ };
23
+ export interface KeyPair {
24
+ publicKey: PublicKey;
25
+ secretKey: string;
26
+ sign(message: Uint8Array): Signature;
27
+ signNep413Message?(accountId: string, params: SignMessageParams): SignedMessage;
28
+ }
29
+ export declare enum KeyType {
30
+ ED25519 = 0,
31
+ SECP256K1 = 1
32
+ }
33
+ export interface PublicKey {
34
+ keyType: KeyType;
35
+ data: Uint8Array;
36
+ toString(): string;
37
+ }
38
+ export interface Ed25519PublicKey extends PublicKey {
39
+ keyType: KeyType.ED25519;
40
+ }
41
+ export interface Secp256k1PublicKey extends PublicKey {
42
+ keyType: KeyType.SECP256K1;
43
+ }
44
+ export interface Signature {
45
+ keyType: KeyType;
46
+ data: Uint8Array;
47
+ }
48
+ export interface Ed25519Signature extends Signature {
49
+ keyType: KeyType.ED25519;
50
+ }
51
+ export interface Secp256k1Signature extends Signature {
52
+ keyType: KeyType.SECP256K1;
53
+ }
54
+ /**
55
+ * Custom signing function for transactions.
56
+ *
57
+ * A Signer is an async function that takes a message (the SHA-256 hash of a
58
+ * serialized transaction) and returns a cryptographic signature. Use custom
59
+ * signers to integrate with:
60
+ *
61
+ * - Hardware wallets (Ledger, Trezor)
62
+ * - Key Management Systems (AWS KMS, HashiCorp Vault)
63
+ * - Multi-signature schemes
64
+ * - Custom key derivation logic
65
+ *
66
+ * @param message - SHA-256 hash of the serialized transaction (32 bytes)
67
+ * @returns Promise resolving to a signature with key type info
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * // Hardware wallet signer
72
+ * const hwSigner: Signer = async (message) => {
73
+ * const sig = await ledger.signTransaction(message)
74
+ * return {
75
+ * keyType: KeyType.ED25519,
76
+ * data: sig
77
+ * }
78
+ * }
79
+ *
80
+ * const near = new Near({
81
+ * network: 'testnet',
82
+ * signer: hwSigner
83
+ * })
84
+ *
85
+ * // All transactions now use hardware wallet
86
+ * await near.transaction('alice.near').transfer('bob.near', '1').send()
87
+ * ```
88
+ *
89
+ * @see {@link NearConfig.signer} for configuration
90
+ * @see {@link TransactionBuilder.signWith} to override per-transaction
91
+ */
92
+ export type Signer = (message: Uint8Array) => Promise<Signature>;
93
+ /**
94
+ * Function call permission details from RPC
95
+ *
96
+ * Fields:
97
+ * - receiver_id: Account ID that can be called
98
+ * - method_names: List of method names that can be called (empty array means any)
99
+ * - allowance: Optional allowance in yoctoNEAR
100
+ */
101
+ export type { AccessKeyPermission, FunctionCallPermissionDetails, } from "./rpc/rpc-schemas.js";
102
+ import type { Action } from "./schema.js";
103
+ export type { Action };
104
+ /**
105
+ * Transaction execution status levels for wait_until parameter.
106
+ *
107
+ * Determines when the RPC should return a response after submitting a transaction:
108
+ *
109
+ * - **NONE**: Don't wait - returns immediately after basic validation (transaction structure is valid)
110
+ * - **INCLUDED**: Wait until transaction is included in a block (signature validated, nonce updated, converted to receipt)
111
+ * - **EXECUTED_OPTIMISTIC**: Wait until transaction execution completes (default - fast, works well for sandbox/testnet)
112
+ * - **INCLUDED_FINAL**: Wait until the block containing the transaction is finalized
113
+ * - **EXECUTED**: Wait until both INCLUDED_FINAL and EXECUTED_OPTIMISTIC conditions are met
114
+ * - **FINAL**: Wait until the block with the last non-refund receipt is finalized (full finality guarantee)
115
+ *
116
+ * @see {@link https://docs.near.org/api/rpc/transactions#send-transaction-await NEAR RPC Documentation}
117
+ */
118
+ export type TxExecutionStatus = "NONE" | "INCLUDED" | "EXECUTED_OPTIMISTIC" | "INCLUDED_FINAL" | "EXECUTED" | "FINAL";
119
+ /**
120
+ * Options for sending a transaction
121
+ */
122
+ import type { FinalExecutionOutcomeMap } from "./rpc/rpc-schemas.js";
123
+ export interface SendOptions<W extends keyof FinalExecutionOutcomeMap = keyof FinalExecutionOutcomeMap> {
124
+ /**
125
+ * Controls when the RPC returns after submitting the transaction.
126
+ *
127
+ * **Execution Flow:**
128
+ *
129
+ * 1. **NONE**: Transaction validated (structure check only) - no execution started
130
+ * 2. **INCLUDED**: Transaction included in block, signature validated, nonce updated, receipt created - execution started
131
+ * 3. **EXECUTED_OPTIMISTIC**: All receipts executed (may include cross-contract calls) - execution complete
132
+ * 4. **INCLUDED_FINAL**: Block with transaction is finalized
133
+ * 5. **EXECUTED**: Both INCLUDED_FINAL + EXECUTED_OPTIMISTIC
134
+ * 6. **FINAL**: Block with last non-refund receipt is finalized
135
+ *
136
+ * **Note:** INCLUDED_FINAL may resolve before or after EXECUTED_OPTIMISTIC depending on execution time.
137
+ *
138
+ * @default "EXECUTED_OPTIMISTIC"
139
+ */
140
+ waitUntil?: W;
141
+ }
142
+ export interface Transaction {
143
+ signerId: string;
144
+ publicKey: PublicKey;
145
+ nonce: bigint;
146
+ receiverId: string;
147
+ actions: Action[];
148
+ blockHash: Uint8Array;
149
+ }
150
+ export interface SignedTransaction {
151
+ transaction: Transaction;
152
+ signature: Signature;
153
+ }
154
+ /**
155
+ * Transaction execution types inferred from validated RPC schemas
156
+ *
157
+ * These types match the actual RPC response format and provide runtime validation.
158
+ *
159
+ * - ExecutionStatus: Status of transaction/receipt execution (SuccessValue, SuccessReceiptId, or Failure)
160
+ * - ExecutionOutcome: Details of transaction execution including gas, logs, and status
161
+ * - ExecutionOutcomeWithId: Execution outcome with transaction/receipt ID and block info
162
+ * - FinalExecutionOutcome: Complete transaction result including all receipts
163
+ * - FinalExecutionOutcomeWithReceipts: Extended outcome with full receipt details (from EXPERIMENTAL_tx_status)
164
+ *
165
+ * @see {@link https://docs.near.org/api/rpc/transactions NEAR RPC Transaction Documentation}
166
+ */
167
+ export type { ExecutionMetadata, ExecutionOutcome, ExecutionOutcomeWithId, ExecutionStatus, FinalExecutionOutcome, FinalExecutionOutcomeMap, FinalExecutionOutcomeWithReceipts, FinalExecutionOutcomeWithReceiptsMap, MerklePathItem, Receipt, RpcAction, RpcTransaction, } from "./rpc/rpc-schemas.js";
168
+ import type { FinalExecutionOutcome } from "./rpc/rpc-schemas.js";
169
+ /**
170
+ * RPC response types with runtime validation via Zod schemas
171
+ *
172
+ * These types are inferred from Zod schemas defined in rpc-schemas.ts
173
+ * and provide both compile-time and runtime type safety.
174
+ *
175
+ * - ViewFunctionCallResult: Result from calling a view function on a contract
176
+ * - AccountView: Account information returned by view_account query
177
+ * - AccessKeyView: Access key information returned by view_access_key query
178
+ * - AccessKeyInfoView: Access key with its public key
179
+ * - StatusResponse: Network status information
180
+ * - GasPriceResponse: Gas price information
181
+ * - AccessKeyListResponse: Access key list from view_access_key_list query
182
+ * - RpcErrorResponse: RPC error response structure
183
+ */
184
+ export type { AccessKeyInfoView, AccessKeyListResponse, AccessKeyView, AccountView, GasPriceResponse, RpcErrorResponse, StatusResponse, ViewFunctionCallResult, } from "./rpc/rpc-schemas.js";
185
+ export type { NearConfig } from "./config-schemas.js";
186
+ /**
187
+ * Pluggable key store interface used by {@link Near} and {@link TransactionBuilder}.
188
+ *
189
+ * Implementations are responsible for persisting key pairs (in memory, on disk,
190
+ * in secure hardware, etc.). The bundled implementations are:
191
+ *
192
+ * - {@link InMemoryKeyStore} for ephemeral keys
193
+ * - {@link FileKeyStore} for NEAR-CLI compatible on-disk storage
194
+ *
195
+ * @remarks
196
+ * All methods are asynchronous to support remote or secure storage backends.
197
+ */
198
+ export interface KeyStore {
199
+ add(accountId: string, key: KeyPair, options?: {
200
+ seedPhrase?: string;
201
+ derivationPath?: string;
202
+ implicitAccountId?: string;
203
+ }): Promise<void>;
204
+ get(accountId: string): Promise<KeyPair | null>;
205
+ remove(accountId: string): Promise<void>;
206
+ list(): Promise<string[]>;
207
+ }
208
+ export type { CallOptions } from "./config-schemas.js";
209
+ /**
210
+ * Base contract method shape used by {@link Contract}.
211
+ *
212
+ * @remarks
213
+ * Library users typically define their own contract interfaces that extend this
214
+ * structure and then pass them to {@link Near.contract}.
215
+ */
216
+ export interface ContractMethods {
217
+ view: Record<string, (...args: unknown[]) => Promise<unknown>>;
218
+ call: Record<string, (...args: unknown[]) => Promise<unknown>>;
219
+ }
220
+ export interface WalletSignInOptions {
221
+ contractId?: string;
222
+ methodNames?: string[];
223
+ successUrl?: string;
224
+ failureUrl?: string;
225
+ }
226
+ /**
227
+ * Account information returned by wallet
228
+ */
229
+ export interface WalletAccount {
230
+ accountId: string;
231
+ publicKey?: string;
232
+ }
233
+ /**
234
+ * Parameters for signing a message
235
+ */
236
+ export interface SignMessageParams {
237
+ message: string;
238
+ recipient: string;
239
+ nonce: Uint8Array;
240
+ }
241
+ /**
242
+ * Signed message result
243
+ */
244
+ export interface SignedMessage {
245
+ accountId: string;
246
+ publicKey: string;
247
+ signature: string;
248
+ }
249
+ /**
250
+ * Wallet connection interface
251
+ * Compatible with both @near-wallet-selector and @hot-labs/near-connect
252
+ */
253
+ export interface WalletConnection {
254
+ /**
255
+ * Get connected accounts from wallet
256
+ */
257
+ getAccounts(): Promise<WalletAccount[]>;
258
+ /**
259
+ * Sign and send a transaction using the wallet
260
+ */
261
+ signAndSendTransaction(params: {
262
+ signerId?: string;
263
+ receiverId: string;
264
+ actions: Action[];
265
+ }): Promise<FinalExecutionOutcome>;
266
+ /**
267
+ * Sign a message using the wallet (optional)
268
+ */
269
+ signMessage?(params: SignMessageParams): Promise<SignedMessage>;
270
+ }
271
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Core type definitions for the NEAR client library
3
+ */
4
+ export var KeyType;
5
+ (function (KeyType) {
6
+ KeyType[KeyType["ED25519"] = 0] = "ED25519";
7
+ KeyType[KeyType["SECP256K1"] = 1] = "SECP256K1";
8
+ })(KeyType || (KeyType = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,2CAAW,CAAA;IACX,+CAAa,CAAA;AACf,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Error classes for the NEAR client library.
3
+ *
4
+ * @remarks
5
+ * All errors in this module extend {@link NearError}, which carries a stable
6
+ * `code` string and optional `data` field. Many errors also expose a
7
+ * `retryable` flag to indicate whether the operation is safe to retry.
8
+ */
9
+ /**
10
+ * Base error class for all NEAR-related errors.
11
+ *
12
+ * Provides a stable `code` and optional `data` payload for structured error
13
+ * handling. Concrete error subclasses in this module narrow down specific
14
+ * failure scenarios (network issues, contract panics, invalid transactions, etc.).
15
+ */
16
+ export declare class NearError extends Error {
17
+ code: string;
18
+ data?: unknown;
19
+ constructor(message: string, code: string, data?: unknown);
20
+ }
21
+ /**
22
+ * Thrown when an account has insufficient balance for an operation
23
+ */
24
+ export declare class InsufficientBalanceError extends NearError {
25
+ required: string;
26
+ available: string;
27
+ constructor(required: string, available: string);
28
+ }
29
+ /**
30
+ * Thrown when a contract function call fails
31
+ */
32
+ export declare class FunctionCallError extends NearError {
33
+ panic?: string;
34
+ methodName?: string;
35
+ contractId: string;
36
+ logs: string[];
37
+ constructor(contractId: string, methodName: string | undefined, panic?: string, logs?: string[]);
38
+ }
39
+ /**
40
+ * Thrown when a network request fails
41
+ */
42
+ export declare class NetworkError extends NearError {
43
+ statusCode?: number;
44
+ retryable: boolean;
45
+ constructor(message: string, statusCode?: number, retryable?: boolean);
46
+ }
47
+ /**
48
+ * Thrown when a key is invalid or malformed
49
+ */
50
+ export declare class InvalidKeyError extends NearError {
51
+ constructor(message: string);
52
+ }
53
+ /**
54
+ * Thrown when an account does not exist
55
+ */
56
+ export declare class AccountDoesNotExistError extends NearError {
57
+ accountId: string;
58
+ constructor(accountId: string);
59
+ }
60
+ /**
61
+ * Thrown when an access key does not exist
62
+ */
63
+ export declare class AccessKeyDoesNotExistError extends NearError {
64
+ accountId: string;
65
+ publicKey: string;
66
+ constructor(accountId: string, publicKey: string);
67
+ }
68
+ /**
69
+ * Thrown when an account ID is invalid
70
+ */
71
+ export declare class InvalidAccountIdError extends NearError {
72
+ accountId: string;
73
+ constructor(accountId: string, reason?: string);
74
+ }
75
+ /**
76
+ * Thrown when transaction signing fails
77
+ */
78
+ export declare class SignatureError extends NearError {
79
+ constructor(message: string);
80
+ }
81
+ /**
82
+ * Thrown when gas limit is exceeded
83
+ */
84
+ export declare class GasLimitExceededError extends NearError {
85
+ gasUsed: string;
86
+ gasLimit: string;
87
+ constructor(gasUsed: string, gasLimit: string);
88
+ }
89
+ /**
90
+ * Thrown when a transaction times out
91
+ */
92
+ export declare class TransactionTimeoutError extends NearError {
93
+ transactionHash: string;
94
+ constructor(transactionHash: string);
95
+ }
96
+ /**
97
+ * Thrown when wallet operations fail
98
+ */
99
+ export declare class WalletError extends NearError {
100
+ constructor(message: string);
101
+ }
102
+ /**
103
+ * Thrown when a requested block cannot be found
104
+ * Suggests using an archival node for old blocks
105
+ */
106
+ export declare class UnknownBlockError extends NearError {
107
+ blockReference: string;
108
+ constructor(blockReference: string);
109
+ }
110
+ /**
111
+ * Thrown when account ID format is invalid
112
+ */
113
+ export declare class InvalidAccountError extends NearError {
114
+ accountId: string;
115
+ constructor(accountId: string);
116
+ }
117
+ /**
118
+ * Thrown when the requested shard is not available on this node
119
+ */
120
+ export declare class ShardUnavailableError extends NearError {
121
+ retryable: boolean;
122
+ constructor(message?: string);
123
+ }
124
+ /**
125
+ * Thrown when the node is still syncing
126
+ */
127
+ export declare class NodeNotSyncedError extends NearError {
128
+ retryable: boolean;
129
+ constructor(message?: string);
130
+ }
131
+ /**
132
+ * Thrown when an account has no contract deployed
133
+ */
134
+ export declare class ContractNotDeployedError extends NearError {
135
+ accountId: string;
136
+ constructor(accountId: string);
137
+ }
138
+ /**
139
+ * Thrown when contract state is too large to return
140
+ */
141
+ export declare class ContractStateTooLargeError extends NearError {
142
+ accountId: string;
143
+ constructor(accountId: string);
144
+ }
145
+ /**
146
+ * Thrown when a view function call execution fails
147
+ */
148
+ export declare class ContractExecutionError extends NearError {
149
+ contractId: string;
150
+ methodName?: string;
151
+ details?: unknown;
152
+ constructor(contractId: string, methodName?: string, details?: unknown);
153
+ }
154
+ /**
155
+ * Thrown when a chunk cannot be found
156
+ */
157
+ export declare class UnknownChunkError extends NearError {
158
+ chunkReference: string;
159
+ constructor(chunkReference: string);
160
+ }
161
+ /**
162
+ * Thrown when an invalid shard ID is provided
163
+ */
164
+ export declare class InvalidShardIdError extends NearError {
165
+ shardId: number | string;
166
+ constructor(shardId: number | string);
167
+ }
168
+ /**
169
+ * Thrown when an epoch cannot be found
170
+ */
171
+ export declare class UnknownEpochError extends NearError {
172
+ blockReference: string;
173
+ constructor(blockReference: string);
174
+ }
175
+ /**
176
+ * Thrown when transaction nonce is invalid
177
+ * This happens when a transaction uses a nonce that has already been used
178
+ */
179
+ export declare class InvalidNonceError extends NearError {
180
+ txNonce: number;
181
+ akNonce: number;
182
+ retryable: boolean;
183
+ constructor(txNonce: number, akNonce: number);
184
+ }
185
+ /**
186
+ * Thrown when a transaction is invalid
187
+ * Check details for specific reasons like ShardCongested or ShardStuck
188
+ */
189
+ export declare class InvalidTransactionError extends NearError {
190
+ retryable: boolean;
191
+ shardCongested: boolean;
192
+ shardStuck: boolean;
193
+ details?: unknown;
194
+ constructor(message: string, details?: unknown);
195
+ }
196
+ /**
197
+ * Thrown when a receipt cannot be found
198
+ */
199
+ export declare class UnknownReceiptError extends NearError {
200
+ receiptId: string;
201
+ constructor(receiptId: string);
202
+ }
203
+ /**
204
+ * Thrown when request parameters cannot be parsed
205
+ */
206
+ export declare class ParseError extends NearError {
207
+ constructor(message: string, details?: unknown);
208
+ }
209
+ /**
210
+ * Thrown when a request times out (408)
211
+ * This is always retryable - resubmit the identical transaction
212
+ */
213
+ export declare class TimeoutError extends NearError {
214
+ retryable: boolean;
215
+ transactionHash?: string;
216
+ constructor(message?: string, transactionHash?: string);
217
+ }
218
+ /**
219
+ * Thrown when the RPC server encounters an internal error (500)
220
+ * This is always retryable
221
+ */
222
+ export declare class InternalServerError extends NearError {
223
+ retryable: boolean;
224
+ constructor(message?: string, details?: unknown);
225
+ }
226
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}