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,193 @@
1
+ /**
2
+ * Transaction action factories.
3
+ *
4
+ * Provides low-level, type-safe helpers for creating NEAR transaction actions.
5
+ * Most applications should use {@link TransactionBuilder} rather than calling
6
+ * these functions directly; they are exported for advanced and custom tooling.
7
+ */
8
+ import type { AccessKeyPermissionBorsh, AddKeyAction, ClassicAction, CreateAccountAction, DeleteAccountAction, DeleteKeyAction, DeployContractAction, DeployGlobalContractAction, FunctionCallAction, SignedDelegateAction, StakeAction, TransferAction, UseGlobalContractAction } from "./schema.js";
9
+ import type { Ed25519PublicKey, PublicKey, Secp256k1PublicKey, Signature } from "./types.js";
10
+ /**
11
+ * Delegate action for NEP-366 meta-transactions.
12
+ *
13
+ * Represents a set of classic actions signed by one account to be executed
14
+ * by another (typically a relayer).
15
+ */
16
+ export declare class DelegateAction {
17
+ senderId: string;
18
+ receiverId: string;
19
+ actions: ClassicAction[];
20
+ nonce: bigint;
21
+ maxBlockHeight: bigint;
22
+ publicKey: PublicKey;
23
+ constructor(senderId: string, receiverId: string, actions: ClassicAction[], nonce: bigint, maxBlockHeight: bigint, publicKey: PublicKey);
24
+ }
25
+ /**
26
+ * Delegate action plus signature.
27
+ */
28
+ export declare class SignedDelegate {
29
+ delegateAction: DelegateAction;
30
+ signature: Signature;
31
+ constructor(delegateAction: DelegateAction, signature: Signature);
32
+ }
33
+ /**
34
+ * Create a transfer action.
35
+ *
36
+ * @param deposit - Amount in yoctoNEAR as bigint.
37
+ */
38
+ export declare function transfer(deposit: bigint): TransferAction;
39
+ /**
40
+ * Create a function call action.
41
+ *
42
+ * @param methodName - Contract method name.
43
+ * @param args - Serialized arguments as bytes.
44
+ * @param gas - Gas attached (raw units).
45
+ * @param deposit - Attached deposit in yoctoNEAR.
46
+ */
47
+ export declare function functionCall(methodName: string, args: Uint8Array, gas: bigint, deposit: bigint): FunctionCallAction;
48
+ /**
49
+ * Create an account creation action.
50
+ */
51
+ export declare function createAccount(): CreateAccountAction;
52
+ /**
53
+ * Create a delete account action.
54
+ */
55
+ export declare function deleteAccount(beneficiaryId: string): DeleteAccountAction;
56
+ /**
57
+ * Create a deploy contract action.
58
+ *
59
+ * @param code - WASM bytes of the contract to deploy.
60
+ */
61
+ export declare function deployContract(code: Uint8Array): DeployContractAction;
62
+ /**
63
+ * Create a stake action.
64
+ *
65
+ * @param amount - Amount to stake in yoctoNEAR.
66
+ * @param publicKey - Validator public key.
67
+ */
68
+ export declare function stake(amount: bigint, publicKey: Ed25519PublicKey): {
69
+ stake: {
70
+ stake: bigint;
71
+ publicKey: {
72
+ ed25519Key: {
73
+ data: number[];
74
+ };
75
+ };
76
+ };
77
+ };
78
+ export declare function stake(amount: bigint, publicKey: Secp256k1PublicKey): {
79
+ stake: {
80
+ stake: bigint;
81
+ publicKey: {
82
+ secp256k1Key: {
83
+ data: number[];
84
+ };
85
+ };
86
+ };
87
+ };
88
+ export declare function stake(amount: bigint, publicKey: PublicKey): StakeAction;
89
+ /**
90
+ * Create an add key action.
91
+ *
92
+ * @param publicKey - Public key to add.
93
+ * @param permission - Access key permission in Borsh format.
94
+ */
95
+ export declare function addKey(publicKey: Ed25519PublicKey, permission: AccessKeyPermissionBorsh): {
96
+ addKey: {
97
+ publicKey: {
98
+ ed25519Key: {
99
+ data: number[];
100
+ };
101
+ };
102
+ accessKey: {
103
+ nonce: bigint;
104
+ permission: AccessKeyPermissionBorsh;
105
+ };
106
+ };
107
+ };
108
+ export declare function addKey(publicKey: Secp256k1PublicKey, permission: AccessKeyPermissionBorsh): {
109
+ addKey: {
110
+ publicKey: {
111
+ secp256k1Key: {
112
+ data: number[];
113
+ };
114
+ };
115
+ accessKey: {
116
+ nonce: bigint;
117
+ permission: AccessKeyPermissionBorsh;
118
+ };
119
+ };
120
+ };
121
+ export declare function addKey(publicKey: PublicKey, permission: AccessKeyPermissionBorsh): AddKeyAction;
122
+ /**
123
+ * Create a delete key action.
124
+ *
125
+ * @param publicKey - Public key to remove.
126
+ */
127
+ export declare function deleteKey(publicKey: Ed25519PublicKey): {
128
+ deleteKey: {
129
+ publicKey: {
130
+ ed25519Key: {
131
+ data: number[];
132
+ };
133
+ };
134
+ };
135
+ };
136
+ export declare function deleteKey(publicKey: Secp256k1PublicKey): {
137
+ deleteKey: {
138
+ publicKey: {
139
+ secp256k1Key: {
140
+ data: number[];
141
+ };
142
+ };
143
+ };
144
+ };
145
+ export declare function deleteKey(publicKey: PublicKey): DeleteKeyAction;
146
+ /**
147
+ * Publish a global contract that can be reused by multiple accounts
148
+ *
149
+ * @param code - The compiled contract code bytes
150
+ * @param accountId - Optional account ID. If provided, creates a mutable contract (can be updated).
151
+ * If omitted, creates an immutable contract (identified by code hash).
152
+ * @returns DeployGlobalContractAction
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * // Publish immutable contract (identified by code hash)
157
+ * publishContract(contractCode)
158
+ *
159
+ * // Publish mutable contract (identified by account, can be updated)
160
+ * publishContract(contractCode, "my-publisher.near")
161
+ * ```
162
+ */
163
+ export declare function publishContract(code: Uint8Array, accountId?: string): DeployGlobalContractAction;
164
+ /**
165
+ * Deploy a contract to this account from previously published code in the global registry
166
+ *
167
+ * @param reference - Reference to the published contract, either:
168
+ * - { codeHash: Uint8Array | string } - Reference by code hash (Uint8Array or base58 string)
169
+ * - { accountId: string } - Reference by the account that published it
170
+ * @returns UseGlobalContractAction
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Deploy from code hash (Uint8Array)
175
+ * deployFromPublished({ codeHash: hashBytes })
176
+ *
177
+ * // Deploy from code hash (base58 string)
178
+ * deployFromPublished({ codeHash: "5FzD8..." })
179
+ *
180
+ * // Deploy from account ID
181
+ * deployFromPublished({ accountId: "contract-publisher.near" })
182
+ * ```
183
+ */
184
+ export declare function deployFromPublished(reference: {
185
+ codeHash: string | Uint8Array;
186
+ } | {
187
+ accountId: string;
188
+ }): UseGlobalContractAction;
189
+ /**
190
+ * Create a signed delegate action for meta-transactions
191
+ */
192
+ export declare function signedDelegate(delegateAction: DelegateAction, signature: Signature): SignedDelegateAction;
193
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/core/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Transaction action factories.
3
+ *
4
+ * Provides low-level, type-safe helpers for creating NEAR transaction actions.
5
+ * Most applications should use {@link TransactionBuilder} rather than calling
6
+ * these functions directly; they are exported for advanced and custom tooling.
7
+ */
8
+ import { base58 } from "@scure/base";
9
+ import { publicKeyToZorsh, signatureToZorsh } from "./schema.js";
10
+ // ==================== Delegate Actions ====================
11
+ /**
12
+ * Delegate action for NEP-366 meta-transactions.
13
+ *
14
+ * Represents a set of classic actions signed by one account to be executed
15
+ * by another (typically a relayer).
16
+ */
17
+ export class DelegateAction {
18
+ constructor(senderId, receiverId, actions, nonce, maxBlockHeight, publicKey) {
19
+ this.senderId = senderId;
20
+ this.receiverId = receiverId;
21
+ this.actions = actions;
22
+ this.nonce = nonce;
23
+ this.maxBlockHeight = maxBlockHeight;
24
+ this.publicKey = publicKey;
25
+ }
26
+ }
27
+ /**
28
+ * Delegate action plus signature.
29
+ */
30
+ export class SignedDelegate {
31
+ constructor(delegateAction, signature) {
32
+ this.delegateAction = delegateAction;
33
+ this.signature = signature;
34
+ }
35
+ }
36
+ // ==================== Action Factory Functions ====================
37
+ /**
38
+ * Create a transfer action.
39
+ *
40
+ * @param deposit - Amount in yoctoNEAR as bigint.
41
+ */
42
+ export function transfer(deposit) {
43
+ return {
44
+ transfer: { deposit },
45
+ };
46
+ }
47
+ /**
48
+ * Create a function call action.
49
+ *
50
+ * @param methodName - Contract method name.
51
+ * @param args - Serialized arguments as bytes.
52
+ * @param gas - Gas attached (raw units).
53
+ * @param deposit - Attached deposit in yoctoNEAR.
54
+ */
55
+ export function functionCall(methodName, args, gas, deposit) {
56
+ return {
57
+ functionCall: { methodName, args, gas, deposit },
58
+ };
59
+ }
60
+ /**
61
+ * Create an account creation action.
62
+ */
63
+ export function createAccount() {
64
+ return {
65
+ createAccount: {},
66
+ };
67
+ }
68
+ /**
69
+ * Create a delete account action.
70
+ */
71
+ export function deleteAccount(beneficiaryId) {
72
+ return {
73
+ deleteAccount: { beneficiaryId },
74
+ };
75
+ }
76
+ /**
77
+ * Create a deploy contract action.
78
+ *
79
+ * @param code - WASM bytes of the contract to deploy.
80
+ */
81
+ export function deployContract(code) {
82
+ return {
83
+ deployContract: { code },
84
+ };
85
+ }
86
+ export function stake(amount, publicKey) {
87
+ return {
88
+ stake: {
89
+ stake: amount,
90
+ publicKey: publicKeyToZorsh(publicKey),
91
+ },
92
+ };
93
+ }
94
+ export function addKey(publicKey, permission) {
95
+ return {
96
+ addKey: {
97
+ publicKey: publicKeyToZorsh(publicKey),
98
+ accessKey: { nonce: BigInt(0), permission },
99
+ },
100
+ };
101
+ }
102
+ export function deleteKey(publicKey) {
103
+ return {
104
+ deleteKey: {
105
+ publicKey: publicKeyToZorsh(publicKey),
106
+ },
107
+ };
108
+ }
109
+ /**
110
+ * Publish a global contract that can be reused by multiple accounts
111
+ *
112
+ * @param code - The compiled contract code bytes
113
+ * @param accountId - Optional account ID. If provided, creates a mutable contract (can be updated).
114
+ * If omitted, creates an immutable contract (identified by code hash).
115
+ * @returns DeployGlobalContractAction
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * // Publish immutable contract (identified by code hash)
120
+ * publishContract(contractCode)
121
+ *
122
+ * // Publish mutable contract (identified by account, can be updated)
123
+ * publishContract(contractCode, "my-publisher.near")
124
+ * ```
125
+ */
126
+ export function publishContract(code, accountId) {
127
+ const deployMode = accountId ? { AccountId: {} } : { CodeHash: {} };
128
+ return {
129
+ deployGlobalContract: {
130
+ code,
131
+ deployMode,
132
+ },
133
+ };
134
+ }
135
+ /**
136
+ * Deploy a contract to this account from previously published code in the global registry
137
+ *
138
+ * @param reference - Reference to the published contract, either:
139
+ * - { codeHash: Uint8Array | string } - Reference by code hash (Uint8Array or base58 string)
140
+ * - { accountId: string } - Reference by the account that published it
141
+ * @returns UseGlobalContractAction
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * // Deploy from code hash (Uint8Array)
146
+ * deployFromPublished({ codeHash: hashBytes })
147
+ *
148
+ * // Deploy from code hash (base58 string)
149
+ * deployFromPublished({ codeHash: "5FzD8..." })
150
+ *
151
+ * // Deploy from account ID
152
+ * deployFromPublished({ accountId: "contract-publisher.near" })
153
+ * ```
154
+ */
155
+ export function deployFromPublished(reference) {
156
+ let contractIdentifier;
157
+ if ("accountId" in reference) {
158
+ contractIdentifier = { AccountId: reference.accountId };
159
+ }
160
+ else {
161
+ // Handle codeHash - could be string (base58) or Uint8Array
162
+ const hashBytes = typeof reference.codeHash === "string"
163
+ ? base58.decode(reference.codeHash)
164
+ : reference.codeHash;
165
+ // Validate hash is 32 bytes
166
+ if (hashBytes.length !== 32) {
167
+ throw new Error(`Code hash must be 32 bytes, got ${hashBytes.length} bytes`);
168
+ }
169
+ contractIdentifier = { CodeHash: Array.from(hashBytes) };
170
+ }
171
+ return {
172
+ useGlobalContract: {
173
+ contractIdentifier,
174
+ },
175
+ };
176
+ }
177
+ /**
178
+ * Create a signed delegate action for meta-transactions
179
+ */
180
+ export function signedDelegate(delegateAction, signature) {
181
+ return {
182
+ signedDelegate: {
183
+ delegateAction: {
184
+ senderId: delegateAction.senderId,
185
+ receiverId: delegateAction.receiverId,
186
+ actions: delegateAction.actions,
187
+ nonce: delegateAction.nonce,
188
+ maxBlockHeight: delegateAction.maxBlockHeight,
189
+ publicKey: publicKeyToZorsh(delegateAction.publicKey),
190
+ },
191
+ signature: signatureToZorsh(signature),
192
+ },
193
+ };
194
+ }
195
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/core/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Zod schemas for NEAR client configuration.
3
+ *
4
+ * @remarks
5
+ * These schemas validate network, call options, and {@link NearConfig} input.
6
+ * Most applications should use the higher-level {@link Near} API and treat
7
+ * these schemas as an implementation detail.
8
+ */
9
+ import { z } from "zod";
10
+ import { type PrivateKey } from "../utils/validation.js";
11
+ /**
12
+ * Schema for network presets (mainnet, testnet, localnet)
13
+ */
14
+ export declare const NetworkPresetSchema: z.ZodEnum<{
15
+ mainnet: "mainnet";
16
+ testnet: "testnet";
17
+ localnet: "localnet";
18
+ }>;
19
+ /**
20
+ * Schema for custom network configuration
21
+ */
22
+ export declare const CustomNetworkConfigSchema: z.ZodObject<{
23
+ rpcUrl: z.ZodString;
24
+ networkId: z.ZodString;
25
+ nodeUrl: z.ZodOptional<z.ZodString>;
26
+ walletUrl: z.ZodOptional<z.ZodString>;
27
+ helperUrl: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>;
29
+ /**
30
+ * Schema for network configuration (preset or custom)
31
+ */
32
+ export declare const NetworkConfigSchema: z.ZodUnion<readonly [z.ZodEnum<{
33
+ mainnet: "mainnet";
34
+ testnet: "testnet";
35
+ localnet: "localnet";
36
+ }>, z.ZodObject<{
37
+ rpcUrl: z.ZodString;
38
+ networkId: z.ZodString;
39
+ nodeUrl: z.ZodOptional<z.ZodString>;
40
+ walletUrl: z.ZodOptional<z.ZodString>;
41
+ helperUrl: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>]>;
43
+ export type NetworkPreset = z.infer<typeof NetworkPresetSchema>;
44
+ export type CustomNetworkConfig = z.infer<typeof CustomNetworkConfigSchema>;
45
+ export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
46
+ /**
47
+ * Schema for transaction execution status
48
+ */
49
+ export declare const TxExecutionStatusSchema: z.ZodEnum<{
50
+ NONE: "NONE";
51
+ INCLUDED: "INCLUDED";
52
+ EXECUTED_OPTIMISTIC: "EXECUTED_OPTIMISTIC";
53
+ INCLUDED_FINAL: "INCLUDED_FINAL";
54
+ EXECUTED: "EXECUTED";
55
+ FINAL: "FINAL";
56
+ }>;
57
+ /**
58
+ * Schema for function call options
59
+ */
60
+ export declare const CallOptionsSchema: z.ZodObject<{
61
+ gas: z.ZodOptional<z.ZodString>;
62
+ attachedDeposit: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodBigInt]>>;
63
+ signerId: z.ZodOptional<z.ZodString>;
64
+ waitUntil: z.ZodOptional<z.ZodEnum<{
65
+ NONE: "NONE";
66
+ INCLUDED: "INCLUDED";
67
+ EXECUTED_OPTIMISTIC: "EXECUTED_OPTIMISTIC";
68
+ INCLUDED_FINAL: "INCLUDED_FINAL";
69
+ EXECUTED: "EXECUTED";
70
+ FINAL: "FINAL";
71
+ }>>;
72
+ }, z.core.$strip>;
73
+ export type CallOptions = z.infer<typeof CallOptionsSchema>;
74
+ /**
75
+ * Block reference for RPC queries
76
+ *
77
+ * Specify either `finality` OR `blockId` (not both).
78
+ * If both are provided, `blockId` takes precedence.
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * // Query at final block (default)
83
+ * await near.view('contract.near', 'get_value')
84
+ *
85
+ * // Query at optimistic for latest state
86
+ * await near.view('contract.near', 'get_value', {}, {
87
+ * finality: 'optimistic'
88
+ * })
89
+ *
90
+ * // Query at specific block height
91
+ * await near.view('contract.near', 'get_value', {}, {
92
+ * blockId: 27912554
93
+ * })
94
+ *
95
+ * // Query at specific block hash
96
+ * await near.view('contract.near', 'get_value', {}, {
97
+ * blockId: '3Xz2wM9rigMXzA2c5vgCP8wTgFBaePucgUmVYPkMqhRL'
98
+ * })
99
+ * ```
100
+ */
101
+ export declare const BlockReferenceSchema: z.ZodObject<{
102
+ finality: z.ZodOptional<z.ZodEnum<{
103
+ optimistic: "optimistic";
104
+ "near-final": "near-final";
105
+ final: "final";
106
+ }>>;
107
+ blockId: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
108
+ }, z.core.$strip>;
109
+ export type BlockReference = z.infer<typeof BlockReferenceSchema>;
110
+ /**
111
+ * Schema for key store configuration
112
+ */
113
+ export declare const KeyStoreConfigSchema: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>, z.ZodAny]>;
114
+ /**
115
+ * Schema for signer function
116
+ */
117
+ export declare const SignerSchema: z.ZodAny;
118
+ /**
119
+ * Schema for RPC retry configuration
120
+ */
121
+ export declare const RpcRetryConfigSchema: z.ZodObject<{
122
+ maxRetries: z.ZodOptional<z.ZodNumber>;
123
+ initialDelayMs: z.ZodOptional<z.ZodNumber>;
124
+ }, z.core.$strip>;
125
+ /**
126
+ * Inferred type for RPC retry configuration input
127
+ * Allows partial configuration with optional fields that can be undefined
128
+ */
129
+ export type RpcRetryConfigInput = z.infer<typeof RpcRetryConfigSchema>;
130
+ /**
131
+ * Schema for NEAR client configuration
132
+ */
133
+ export declare const NearConfigSchema: z.ZodObject<{
134
+ network: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
135
+ mainnet: "mainnet";
136
+ testnet: "testnet";
137
+ localnet: "localnet";
138
+ }>, z.ZodObject<{
139
+ rpcUrl: z.ZodString;
140
+ networkId: z.ZodString;
141
+ nodeUrl: z.ZodOptional<z.ZodString>;
142
+ walletUrl: z.ZodOptional<z.ZodString>;
143
+ helperUrl: z.ZodOptional<z.ZodString>;
144
+ }, z.core.$strip>]>>;
145
+ rpcUrl: z.ZodOptional<z.ZodString>;
146
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
147
+ keyStore: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>, z.ZodAny]>>;
148
+ signer: z.ZodOptional<z.ZodAny>;
149
+ privateKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
150
+ wallet: z.ZodOptional<z.ZodAny>;
151
+ defaultSignerId: z.ZodOptional<z.ZodString>;
152
+ defaultWaitUntil: z.ZodOptional<z.ZodEnum<{
153
+ NONE: "NONE";
154
+ INCLUDED: "INCLUDED";
155
+ EXECUTED_OPTIMISTIC: "EXECUTED_OPTIMISTIC";
156
+ INCLUDED_FINAL: "INCLUDED_FINAL";
157
+ EXECUTED: "EXECUTED";
158
+ FINAL: "FINAL";
159
+ }>>;
160
+ retryConfig: z.ZodOptional<z.ZodObject<{
161
+ maxRetries: z.ZodOptional<z.ZodNumber>;
162
+ initialDelayMs: z.ZodOptional<z.ZodNumber>;
163
+ }, z.core.$strip>>;
164
+ }, z.core.$strip>;
165
+ type NearConfigBase = z.infer<typeof NearConfigSchema>;
166
+ export type NearConfig = Omit<NearConfigBase, "privateKey"> & {
167
+ privateKey?: PrivateKey | Uint8Array;
168
+ };
169
+ /**
170
+ * Resolve network configuration with validation
171
+ */
172
+ export declare function resolveNetworkConfig(network?: NetworkConfig): {
173
+ rpcUrl: string;
174
+ networkId: string;
175
+ walletUrl?: string | undefined;
176
+ helperUrl?: string | undefined;
177
+ };
178
+ export {};
179
+ //# sourceMappingURL=config-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-schemas.d.ts","sourceRoot":"","sources":["../../src/core/config-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,wBAAwB,CAAA;AAK1E;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;EAA6C,CAAA;AAE7E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;iBAMpC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;mBAG9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAI/D;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;EAOlC,CAAA;AAIF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAK5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,oBAAoB;;;;;;;iBAuB/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAIjE;;GAEG;AACH,eAAO,MAAM,oBAAoB,qFAI/B,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,UAAU,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;iBAKrB,CAAA;AAEZ;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW3B,CAAA;AAGF,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG;IAC5D,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;CACrC,CAAA;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B,CA0BA"}