near-kit 0.0.0 → 0.2.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 (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +473 -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 +653 -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 +14 -0
  76. package/dist/keys/index.d.ts.map +1 -0
  77. package/dist/keys/index.js +20 -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/keys/rotating-keystore.d.ts +207 -0
  84. package/dist/keys/rotating-keystore.d.ts.map +1 -0
  85. package/dist/keys/rotating-keystore.js +240 -0
  86. package/dist/keys/rotating-keystore.js.map +1 -0
  87. package/dist/sandbox/index.d.ts +6 -0
  88. package/dist/sandbox/index.d.ts.map +1 -0
  89. package/dist/sandbox/index.js +5 -0
  90. package/dist/sandbox/index.js.map +1 -0
  91. package/dist/sandbox/sandbox.d.ts +55 -0
  92. package/dist/sandbox/sandbox.d.ts.map +1 -0
  93. package/dist/sandbox/sandbox.js +341 -0
  94. package/dist/sandbox/sandbox.js.map +1 -0
  95. package/dist/utils/amount.d.ts +76 -0
  96. package/dist/utils/amount.d.ts.map +1 -0
  97. package/dist/utils/amount.js +137 -0
  98. package/dist/utils/amount.js.map +1 -0
  99. package/dist/utils/gas.d.ts +69 -0
  100. package/dist/utils/gas.d.ts.map +1 -0
  101. package/dist/utils/gas.js +92 -0
  102. package/dist/utils/gas.js.map +1 -0
  103. package/dist/utils/index.d.ts +14 -0
  104. package/dist/utils/index.d.ts.map +1 -0
  105. package/dist/utils/index.js +14 -0
  106. package/dist/utils/index.js.map +1 -0
  107. package/dist/utils/key.d.ts +117 -0
  108. package/dist/utils/key.d.ts.map +1 -0
  109. package/dist/utils/key.js +270 -0
  110. package/dist/utils/key.js.map +1 -0
  111. package/dist/utils/nep413.d.ts +97 -0
  112. package/dist/utils/nep413.d.ts.map +1 -0
  113. package/dist/utils/nep413.js +154 -0
  114. package/dist/utils/nep413.js.map +1 -0
  115. package/dist/utils/validation.d.ts +114 -0
  116. package/dist/utils/validation.d.ts.map +1 -0
  117. package/dist/utils/validation.js +150 -0
  118. package/dist/utils/validation.js.map +1 -0
  119. package/dist/wallets/adapters.d.ts +119 -0
  120. package/dist/wallets/adapters.d.ts.map +1 -0
  121. package/dist/wallets/adapters.js +267 -0
  122. package/dist/wallets/adapters.js.map +1 -0
  123. package/dist/wallets/index.d.ts +11 -0
  124. package/dist/wallets/index.d.ts.map +1 -0
  125. package/dist/wallets/index.js +2 -0
  126. package/dist/wallets/index.js.map +1 -0
  127. package/dist/wallets/types.d.ts +99 -0
  128. package/dist/wallets/types.d.ts.map +1 -0
  129. package/dist/wallets/types.js +10 -0
  130. package/dist/wallets/types.js.map +1 -0
  131. package/package.json +78 -7
  132. package/index.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-schemas.d.ts","sourceRoot":"","sources":["../../../src/core/rpc/rpc-schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,424 @@
1
+ /**
2
+ * Zod schemas for NEAR RPC responses
3
+ * Provides runtime validation and type inference
4
+ */
5
+ import { z } from "zod";
6
+ // ==================== Permissions ====================
7
+ /**
8
+ * Function call permission details schema
9
+ */
10
+ export const FunctionCallPermissionDetailsSchema = z.object({
11
+ receiver_id: z.string(),
12
+ method_names: z.array(z.string()),
13
+ allowance: z.string().nullable().optional(),
14
+ });
15
+ /**
16
+ * Access key permission schema
17
+ * Either "FullAccess" string or object with FunctionCall details
18
+ */
19
+ export const AccessKeyPermissionSchema = z.union([
20
+ z.literal("FullAccess"),
21
+ z.object({
22
+ FunctionCall: FunctionCallPermissionDetailsSchema,
23
+ }),
24
+ ]);
25
+ // ==================== RPC Response Schemas ====================
26
+ /**
27
+ * View function call result schema
28
+ */
29
+ export const ViewFunctionCallResultSchema = z.object({
30
+ result: z.array(z.number()),
31
+ logs: z.array(z.string()),
32
+ block_height: z.number(),
33
+ block_hash: z.string(),
34
+ });
35
+ /**
36
+ * Account view schema
37
+ */
38
+ export const AccountViewSchema = z.object({
39
+ amount: z.string(),
40
+ locked: z.string(),
41
+ code_hash: z.string(),
42
+ storage_usage: z.number(),
43
+ storage_paid_at: z.number(),
44
+ block_height: z.number(),
45
+ block_hash: z.string(),
46
+ });
47
+ /**
48
+ * Access key view schema
49
+ */
50
+ export const AccessKeyViewSchema = z.object({
51
+ nonce: z.number(),
52
+ permission: AccessKeyPermissionSchema,
53
+ block_height: z.number(),
54
+ block_hash: z.string(),
55
+ });
56
+ /**
57
+ * Access key info view schema
58
+ */
59
+ export const AccessKeyInfoViewSchema = z.object({
60
+ public_key: z.string(),
61
+ access_key: AccessKeyViewSchema,
62
+ });
63
+ /**
64
+ * Status response schema
65
+ */
66
+ export const StatusResponseSchema = z.object({
67
+ version: z.object({
68
+ version: z.string(),
69
+ build: z.string(),
70
+ commit: z.string().optional(),
71
+ rustc_version: z.string().optional(),
72
+ }),
73
+ chain_id: z.string(),
74
+ genesis_hash: z.string(),
75
+ protocol_version: z.number(),
76
+ latest_protocol_version: z.number(),
77
+ rpc_addr: z.string(),
78
+ node_public_key: z.string(),
79
+ node_key: z.string().nullable(),
80
+ validator_account_id: z.string().nullable(),
81
+ validator_public_key: z.string().nullable(),
82
+ validators: z.array(z.object({
83
+ account_id: z.string(),
84
+ })),
85
+ sync_info: z.object({
86
+ latest_block_hash: z.string(),
87
+ latest_block_height: z.number(),
88
+ latest_state_root: z.string(),
89
+ latest_block_time: z.string(),
90
+ syncing: z.boolean(),
91
+ earliest_block_hash: z.string().optional(),
92
+ earliest_block_height: z.number().optional(),
93
+ earliest_block_time: z.string().optional(),
94
+ epoch_id: z.string().optional(),
95
+ epoch_start_height: z.number().optional(),
96
+ }),
97
+ uptime_sec: z.number().optional(),
98
+ });
99
+ /**
100
+ * Gas price response schema
101
+ */
102
+ export const GasPriceResponseSchema = z.object({
103
+ gas_price: z.string(),
104
+ });
105
+ /**
106
+ * Access key list response schema
107
+ */
108
+ export const AccessKeyListResponseSchema = z.object({
109
+ block_hash: z.string(),
110
+ block_height: z.number(),
111
+ keys: z.array(z.object({
112
+ public_key: z.string(),
113
+ access_key: z.object({
114
+ nonce: z.number(),
115
+ permission: AccessKeyPermissionSchema,
116
+ }),
117
+ })),
118
+ });
119
+ /**
120
+ * RPC error response schema
121
+ * Follows the NEAR RPC error structure with name, cause, code, message, and data
122
+ */
123
+ export const RpcErrorResponseSchema = z.object({
124
+ name: z.string(), // ERROR_TYPE (e.g., "HANDLER_ERROR", "REQUEST_VALIDATION_ERROR", "INTERNAL_ERROR")
125
+ code: z.number(), // Legacy field (e.g., -32000)
126
+ message: z.string(), // Error message
127
+ data: z.any().optional(), // Optional additional data (can be string or object with error details)
128
+ cause: z
129
+ .object({
130
+ name: z.string(), // ERROR_CAUSE (e.g., "UNKNOWN_ACCOUNT", "TIMEOUT_ERROR")
131
+ info: z
132
+ .object({
133
+ // Common fields
134
+ requested_account_id: z.string().optional(),
135
+ contract_id: z.string().optional(),
136
+ method_name: z.string().optional(),
137
+ // Transaction-specific fields
138
+ ShardCongested: z.boolean().optional(),
139
+ ShardStuck: z.boolean().optional(),
140
+ })
141
+ .catchall(z.any()) // Allow any other fields
142
+ .optional(),
143
+ })
144
+ .optional(),
145
+ });
146
+ // ==================== Transaction Schemas ====================
147
+ /**
148
+ * Transaction execution status enum
149
+ */
150
+ export const TxExecutionStatusSchema = z.enum([
151
+ "NONE",
152
+ "INCLUDED",
153
+ "EXECUTED_OPTIMISTIC",
154
+ "INCLUDED_FINAL",
155
+ "EXECUTED",
156
+ "FINAL",
157
+ ]);
158
+ /**
159
+ * Execution status - can be success with value/receipt or failure
160
+ *
161
+ * Variants returned depend on waitUntil level:
162
+ * - NONE/INCLUDED: Unknown or Pending (execution not started/incomplete)
163
+ * - EXECUTED_OPTIMISTIC/EXECUTED/FINAL: SuccessValue, SuccessReceiptId, or Failure
164
+ */
165
+ export const ExecutionStatusSchema = z.union([
166
+ z.literal("Unknown"),
167
+ z.literal("Pending"),
168
+ z.object({ SuccessValue: z.string() }),
169
+ z.object({ SuccessReceiptId: z.string() }),
170
+ z.object({
171
+ Failure: z
172
+ .object({
173
+ error_message: z.string().optional(),
174
+ error_type: z.string().optional(),
175
+ })
176
+ .catchall(z.any()),
177
+ }),
178
+ ]);
179
+ /**
180
+ * Gas profile entry (for metadata)
181
+ */
182
+ export const GasProfileEntrySchema = z
183
+ .object({
184
+ cost: z.string().optional(),
185
+ cost_category: z.string().optional(),
186
+ gas_used: z.string().optional(),
187
+ })
188
+ .catchall(z.any());
189
+ /**
190
+ * Execution metadata
191
+ */
192
+ export const ExecutionMetadataSchema = z.object({
193
+ version: z.number(),
194
+ gas_profile: z.array(GasProfileEntrySchema).nullable().optional(),
195
+ });
196
+ /**
197
+ * Execution outcome
198
+ */
199
+ export const ExecutionOutcomeSchema = z.object({
200
+ logs: z.array(z.string()),
201
+ receipt_ids: z.array(z.string()),
202
+ gas_burnt: z.number(),
203
+ tokens_burnt: z.string(),
204
+ executor_id: z.string(),
205
+ status: ExecutionStatusSchema,
206
+ metadata: ExecutionMetadataSchema.optional(),
207
+ });
208
+ /**
209
+ * Merkle path item for cryptographic proofs
210
+ */
211
+ export const MerklePathItemSchema = z.object({
212
+ hash: z.string(),
213
+ direction: z.enum(["Left", "Right"]),
214
+ });
215
+ /**
216
+ * Execution outcome with ID (used in transaction results)
217
+ */
218
+ export const ExecutionOutcomeWithIdSchema = z.object({
219
+ id: z.string(),
220
+ outcome: ExecutionOutcomeSchema,
221
+ block_hash: z.string(),
222
+ proof: z.array(MerklePathItemSchema),
223
+ });
224
+ /**
225
+ * Action schemas - matches RPC response format
226
+ * Note: RPC returns actions with no parameters as strings (e.g., "CreateAccount")
227
+ * instead of objects (e.g., { "CreateAccount": {} })
228
+ */
229
+ export const ActionSchema = z.union([
230
+ // CreateAccount can be either a string or an object (when no params, RPC returns string)
231
+ z.literal("CreateAccount"),
232
+ z.object({ CreateAccount: z.object({}) }),
233
+ z.object({ Transfer: z.object({ deposit: z.string() }) }),
234
+ z.object({
235
+ FunctionCall: z.object({
236
+ method_name: z.string(),
237
+ args: z.string(),
238
+ gas: z.number(),
239
+ deposit: z.string(),
240
+ }),
241
+ }),
242
+ z.object({
243
+ DeployContract: z.object({
244
+ code: z.string(), // base64 encoded
245
+ }),
246
+ }),
247
+ z.object({
248
+ DeployGlobalContractByAccountId: z.object({
249
+ code: z.string(), // base64 encoded contract code
250
+ }),
251
+ }),
252
+ z.object({
253
+ DeployGlobalContractByCodeHash: z.object({
254
+ code: z.string(), // base64 encoded contract code
255
+ }),
256
+ }),
257
+ z.object({
258
+ Stake: z.object({
259
+ stake: z.string(),
260
+ public_key: z.string(),
261
+ }),
262
+ }),
263
+ z.object({
264
+ AddKey: z.object({
265
+ public_key: z.string(),
266
+ access_key: z.object({
267
+ nonce: z.number(),
268
+ permission: AccessKeyPermissionSchema,
269
+ }),
270
+ }),
271
+ }),
272
+ z.object({
273
+ DeleteKey: z.object({
274
+ public_key: z.string(),
275
+ }),
276
+ }),
277
+ z.object({
278
+ DeleteAccount: z.object({
279
+ beneficiary_id: z.string(),
280
+ }),
281
+ }),
282
+ z.object({
283
+ UseGlobalContractByAccountId: z.object({
284
+ account_id: z.string(),
285
+ }),
286
+ }),
287
+ z.object({
288
+ UseGlobalContractByCodeHash: z.object({
289
+ code_hash: z.string(),
290
+ }),
291
+ }),
292
+ z.object({
293
+ Delegate: z.object({
294
+ delegate_action: z.object({
295
+ sender_id: z.string(),
296
+ receiver_id: z.string(),
297
+ actions: z.array(z.any()),
298
+ nonce: z.number(),
299
+ max_block_height: z.number(),
300
+ public_key: z.string(),
301
+ }),
302
+ signature: z.string(),
303
+ }),
304
+ }),
305
+ ]);
306
+ /**
307
+ * Transaction schema (as returned by RPC)
308
+ */
309
+ export const TransactionSchema = z.object({
310
+ signer_id: z.string(),
311
+ public_key: z.string(),
312
+ nonce: z.number(),
313
+ receiver_id: z.string(),
314
+ actions: z.array(ActionSchema),
315
+ signature: z.string(),
316
+ hash: z.string(),
317
+ priority_fee: z.number().optional(),
318
+ });
319
+ /**
320
+ * Minimal transaction schema for NONE/INCLUDED/INCLUDED_FINAL responses.
321
+ *
322
+ * This contains just enough information for transaction tracking:
323
+ * - hash: Transaction hash for lookups
324
+ * - signer_id: Account that signed the transaction
325
+ * - receiver_id: Account receiving the transaction
326
+ * - nonce: Transaction nonce for debugging
327
+ *
328
+ * Note: The client library injects this object for NONE/INCLUDED/INCLUDED_FINAL
329
+ * responses to ensure transaction.hash is always available.
330
+ */
331
+ export const MinimalTransactionSchema = z.object({
332
+ hash: z.string(),
333
+ signer_id: z.string(),
334
+ receiver_id: z.string(),
335
+ nonce: z.number(),
336
+ });
337
+ /**
338
+ * Final execution outcome schema - the response from send_tx
339
+ *
340
+ * Uses discriminated union based on final_execution_status for type safety:
341
+ * - NONE: Transaction submitted but not executed yet (minimal response with transaction hash)
342
+ * - INCLUDED: Transaction included in block (minimal response with transaction hash)
343
+ * - EXECUTED_OPTIMISTIC/EXECUTED/FINAL: Transaction executed (full response)
344
+ *
345
+ * Note: For NONE/INCLUDED/INCLUDED_FINAL, the RPC doesn't return transaction details,
346
+ * but the client library injects a minimal transaction object to ensure hash tracking.
347
+ */
348
+ export const FinalExecutionOutcomeSchema = z.discriminatedUnion("final_execution_status", [
349
+ // NONE: Transaction submitted, no execution yet (transaction is injected client-side)
350
+ z.object({
351
+ final_execution_status: z.literal("NONE"),
352
+ transaction: MinimalTransactionSchema.optional(),
353
+ }),
354
+ // INCLUDED: Transaction in block (transaction is injected client-side)
355
+ z.object({
356
+ final_execution_status: z.literal("INCLUDED"),
357
+ transaction: MinimalTransactionSchema.optional(),
358
+ }),
359
+ // INCLUDED_FINAL: Alternative name for INCLUDED with finality (transaction is injected client-side)
360
+ z.object({
361
+ final_execution_status: z.literal("INCLUDED_FINAL"),
362
+ transaction: MinimalTransactionSchema.optional(),
363
+ }),
364
+ // EXECUTED_OPTIMISTIC: Executed but not finalized
365
+ z.object({
366
+ final_execution_status: z.literal("EXECUTED_OPTIMISTIC"),
367
+ status: ExecutionStatusSchema,
368
+ transaction: TransactionSchema,
369
+ transaction_outcome: ExecutionOutcomeWithIdSchema,
370
+ receipts_outcome: z.array(ExecutionOutcomeWithIdSchema),
371
+ }),
372
+ // EXECUTED: Executed (legacy)
373
+ z.object({
374
+ final_execution_status: z.literal("EXECUTED"),
375
+ status: ExecutionStatusSchema,
376
+ transaction: TransactionSchema,
377
+ transaction_outcome: ExecutionOutcomeWithIdSchema,
378
+ receipts_outcome: z.array(ExecutionOutcomeWithIdSchema),
379
+ }),
380
+ // FINAL: Fully finalized
381
+ z.object({
382
+ final_execution_status: z.literal("FINAL"),
383
+ status: ExecutionStatusSchema,
384
+ transaction: TransactionSchema,
385
+ transaction_outcome: ExecutionOutcomeWithIdSchema,
386
+ receipts_outcome: z.array(ExecutionOutcomeWithIdSchema),
387
+ }),
388
+ ]);
389
+ /**
390
+ * Receipt schema (for EXPERIMENTAL_tx_status)
391
+ */
392
+ export const ReceiptSchema = z.object({
393
+ predecessor_id: z.string(),
394
+ receiver_id: z.string(),
395
+ receipt_id: z.string(),
396
+ receipt: z.union([
397
+ z.object({
398
+ Action: z.object({
399
+ signer_id: z.string(),
400
+ signer_public_key: z.string(),
401
+ gas_price: z.string(),
402
+ output_data_receivers: z.array(z.any()),
403
+ input_data_ids: z.array(z.string()),
404
+ actions: z.array(ActionSchema),
405
+ is_promise_yield: z.boolean().optional(),
406
+ }),
407
+ }),
408
+ z.object({
409
+ Data: z.object({
410
+ data_id: z.string(),
411
+ data: z.string().nullable().optional(),
412
+ }),
413
+ }),
414
+ ]),
415
+ priority: z.number().optional(),
416
+ });
417
+ /**
418
+ * Final execution outcome with receipts (EXPERIMENTAL_tx_status response)
419
+ * Uses intersection since we can't extend discriminated unions
420
+ */
421
+ export const FinalExecutionOutcomeWithReceiptsSchema = z.intersection(FinalExecutionOutcomeSchema, z.object({
422
+ receipts: z.array(ReceiptSchema),
423
+ }));
424
+ //# sourceMappingURL=rpc-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-schemas.js","sourceRoot":"","sources":["../../../src/core/rpc/rpc-schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import type { BlockReference, RpcRetryConfigInput } from "../config-schemas.js";
2
+ import type { AccessKeyView, AccountView, FinalExecutionOutcomeMap, FinalExecutionOutcomeWithReceiptsMap, GasPriceResponse, StatusResponse, ViewFunctionCallResult } from "../types.js";
3
+ export interface RpcRequest {
4
+ jsonrpc: "2.0";
5
+ id: string | number;
6
+ method: string;
7
+ params: unknown;
8
+ }
9
+ export interface RpcResponse<T = unknown> {
10
+ jsonrpc: "2.0";
11
+ id: string | number;
12
+ result?: T;
13
+ error?: {
14
+ name: string;
15
+ code: number;
16
+ message: string;
17
+ data?: string;
18
+ cause?: {
19
+ name: string;
20
+ info?: Record<string, unknown>;
21
+ };
22
+ };
23
+ }
24
+ export interface RpcRetryConfig {
25
+ maxRetries: number;
26
+ initialDelayMs: number;
27
+ }
28
+ /**
29
+ * Low-level JSON-RPC client for NEAR Protocol.
30
+ *
31
+ * @remarks
32
+ * Most applications should use {@link Near} instead of interacting with this
33
+ * class directly. `RpcClient` is exposed for advanced use cases that need full
34
+ * control over RPC calls or access to methods not wrapped by `Near`.
35
+ */
36
+ export declare class RpcClient {
37
+ private readonly url;
38
+ private readonly headers;
39
+ private requestId;
40
+ private readonly retryConfig;
41
+ constructor(url: string, headers?: Record<string, string>, retryConfig?: RpcRetryConfigInput);
42
+ /**
43
+ * Sleep for the specified number of milliseconds.
44
+ * @internal
45
+ */
46
+ private sleep;
47
+ /**
48
+ * Perform a raw JSON-RPC call with automatic retries and error mapping.
49
+ *
50
+ * @param method - RPC method name (e.g. `"query"`, `"status"`).
51
+ * @param params - RPC params object or array.
52
+ *
53
+ * @returns Parsed JSON result typed as `T`.
54
+ *
55
+ * @throws {NetworkError} On HTTP failures, network issues, or malformed responses.
56
+ * @throws {InvalidTransactionError} For transaction failures detected by {@link parseRpcError}.
57
+ * @throws {NearError} For other RPC-level errors.
58
+ */
59
+ call<T = unknown>(method: string, params: unknown): Promise<T>;
60
+ /**
61
+ * Perform a generic `query` RPC call.
62
+ *
63
+ * @param path - `request_type` (e.g. `"view_account"`, `"view_access_key"`).
64
+ * @param data - Raw args as base64 string or bytes.
65
+ */
66
+ query<T = unknown>(path: string, data: string | Uint8Array): Promise<T>;
67
+ /**
68
+ * Call a contract view function via RPC.
69
+ *
70
+ * @param contractId - Account ID of the target contract.
71
+ * @param methodName - Name of the view method.
72
+ * @param args - Arguments object or raw bytes; defaults to `{}`.
73
+ * @param options - Optional {@link BlockReference} to control finality or block.
74
+ */
75
+ viewFunction(contractId: string, methodName: string, args?: unknown, options?: BlockReference): Promise<ViewFunctionCallResult>;
76
+ /**
77
+ * Get basic account information via `view_account`.
78
+ *
79
+ * @param accountId - Account ID to query.
80
+ * @param options - Optional {@link BlockReference} to control finality or block.
81
+ */
82
+ getAccount(accountId: string, options?: BlockReference): Promise<AccountView>;
83
+ /**
84
+ * Get an access key via `view_access_key`.
85
+ *
86
+ * @param accountId - Account ID that owns the key.
87
+ * @param publicKey - Public key string (e.g. `"ed25519:..."`).
88
+ * @param options - Optional {@link BlockReference} to control finality or block.
89
+ */
90
+ getAccessKey(accountId: string, publicKey: string, options?: BlockReference): Promise<AccessKeyView>;
91
+ /**
92
+ * Send a signed transaction via `send_tx`.
93
+ *
94
+ * @param signedTransaction - Borsh-serialized signed transaction bytes.
95
+ * @param waitUntil - Execution status level to wait for (see {@link TxExecutionStatus}).
96
+ */
97
+ sendTransaction<W extends keyof FinalExecutionOutcomeMap = "EXECUTED_OPTIMISTIC">(signedTransaction: Uint8Array, waitUntil?: W): Promise<FinalExecutionOutcomeMap[W]>;
98
+ /**
99
+ * Query transaction status with receipts via `EXPERIMENTAL_tx_status`.
100
+ *
101
+ * @param txHash - Transaction hash.
102
+ * @param senderAccountId - Account ID that sent the transaction.
103
+ * @param waitUntil - Execution status level to wait for.
104
+ */
105
+ getTransactionStatus<W extends keyof FinalExecutionOutcomeWithReceiptsMap = "EXECUTED_OPTIMISTIC">(txHash: string, senderAccountId: string, waitUntil?: W): Promise<FinalExecutionOutcomeWithReceiptsMap[W]>;
106
+ /**
107
+ * Get node status via `status`.
108
+ */
109
+ getStatus(): Promise<StatusResponse>;
110
+ /**
111
+ * Get gas price via `gas_price`.
112
+ *
113
+ * @param blockId - Optional block hash or height; `null` for latest.
114
+ */
115
+ getGasPrice(blockId?: string | null): Promise<GasPriceResponse>;
116
+ }
117
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/core/rpc/rpc.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAGX,wBAAwB,EAExB,oCAAoC,EACpC,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,aAAa,CAAA;AAkBpB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAC/B,CAAA;KACF,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB;AAOD;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAG1C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,WAAW,CAAC,EAAE,mBAAmB;IAYnC;;;OAGG;YACW,KAAK;IAInB;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAkGpE;;;;;OAKG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,OAAO,CAAC,CAAC,CAAC;IAQb;;;;;;;OAOG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,OAAY,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,sBAAsB,CAAC;IAuBlC;;;;;OAKG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IAYvB;;;;;;OAMG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAgBzB;;;;;OAKG;IACG,eAAe,CACnB,CAAC,SAAS,MAAM,wBAAwB,GAAG,qBAAqB,EAEhE,iBAAiB,EAAE,UAAU,EAC7B,SAAS,CAAC,EAAE,CAAC,GACZ,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IA+EvC;;;;;;OAMG;IACG,oBAAoB,CACxB,CAAC,SACC,MAAM,oCAAoC,GAAG,qBAAqB,EAEpE,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,CAAC,GACZ,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC;IA+EnD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAK1C;;;;OAIG;IACG,WAAW,CAAC,OAAO,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAI5E"}