near-api-ts 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 (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/index.cjs +3222 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +838 -0
  6. package/dist/index.d.ts +838 -0
  7. package/dist/index.js +3169 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +44 -0
  10. package/src/_common/configs/constants.ts +23 -0
  11. package/src/_common/schemas/borsh/actions/addKey.ts +44 -0
  12. package/src/_common/schemas/borsh/actions/createAccount.ts +7 -0
  13. package/src/_common/schemas/borsh/actions/deleteAccount.ts +9 -0
  14. package/src/_common/schemas/borsh/actions/deleteKey.ts +11 -0
  15. package/src/_common/schemas/borsh/actions/deployContract.ts +9 -0
  16. package/src/_common/schemas/borsh/actions/deployGlobalContract.ts +24 -0
  17. package/src/_common/schemas/borsh/actions/functionCall.ts +12 -0
  18. package/src/_common/schemas/borsh/actions/signedDelegate.ts +13 -0
  19. package/src/_common/schemas/borsh/actions/stake.ts +12 -0
  20. package/src/_common/schemas/borsh/actions/transfer.ts +9 -0
  21. package/src/_common/schemas/borsh/actions/useGlobalContract.ts +23 -0
  22. package/src/_common/schemas/borsh/delegateAction.ts +41 -0
  23. package/src/_common/schemas/borsh/index.ts +3 -0
  24. package/src/_common/schemas/borsh/publicKey.ts +25 -0
  25. package/src/_common/schemas/borsh/signature.ts +25 -0
  26. package/src/_common/schemas/borsh/signedTransaction.ts +10 -0
  27. package/src/_common/schemas/borsh/transaction.ts +42 -0
  28. package/src/_common/schemas/valibot/common.ts +12 -0
  29. package/src/_common/schemas/valibot/cryptoHash.ts +12 -0
  30. package/src/_common/schemas/valibot/curveString.ts +23 -0
  31. package/src/_common/schemas/valibot/privateKey.ts +38 -0
  32. package/src/_common/schemas/valibot/publicKey.ts +33 -0
  33. package/src/_common/schemas/valibot/transaction.ts +42 -0
  34. package/src/_common/schemas/zod/common.ts +29 -0
  35. package/src/_common/transformers/contract.ts +11 -0
  36. package/src/_common/transformers/curveString.ts +27 -0
  37. package/src/_common/transformers/toBorshBytes/signedTransaction.ts +20 -0
  38. package/src/_common/transformers/toBorshBytes/transaction.ts +12 -0
  39. package/src/_common/transformers/toNative/actions/addKey.ts +34 -0
  40. package/src/_common/transformers/toNative/actions/createAccount.ts +5 -0
  41. package/src/_common/transformers/toNative/actions/deleteAccount.ts +12 -0
  42. package/src/_common/transformers/toNative/actions/deleteKey.ts +13 -0
  43. package/src/_common/transformers/toNative/actions/deployContract.ts +17 -0
  44. package/src/_common/transformers/toNative/actions/functionCall.ts +22 -0
  45. package/src/_common/transformers/toNative/actions/transfer.ts +13 -0
  46. package/src/_common/transformers/toNative/blockReference.ts +30 -0
  47. package/src/_common/transformers/toNative/publicKey.ts +8 -0
  48. package/src/_common/transformers/toNative/signature.ts +8 -0
  49. package/src/_common/transformers/toNative/signedTransaction.ts +13 -0
  50. package/src/_common/transformers/toNative/transaction.ts +67 -0
  51. package/src/_common/utils/common.ts +22 -0
  52. package/src/_common/utils/createCircularQueue.ts +46 -0
  53. package/src/_common/utils/createLinkedList.ts +30 -0
  54. package/src/_common/utils/snakeToCamelCase.ts +26 -0
  55. package/src/_common/utils/tokenConverter/convertTokensToUnits.ts +65 -0
  56. package/src/_common/utils/tokenConverter/convertUnitsToTokens.ts +71 -0
  57. package/src/_common/utils/tokenConverter/helpers.ts +26 -0
  58. package/src/client/createClient/account/getAccountKey.ts +51 -0
  59. package/src/client/createClient/account/getAccountKeys.ts +47 -0
  60. package/src/client/createClient/account/getAccountState.ts +65 -0
  61. package/src/client/createClient/account/helpers/transformKey.ts +36 -0
  62. package/src/client/createClient/block/getBlock.ts +24 -0
  63. package/src/client/createClient/contract/callContractReadFunction.ts +66 -0
  64. package/src/client/createClient/contract/getContractState.ts +60 -0
  65. package/src/client/createClient/createClient.ts +34 -0
  66. package/src/client/createClient/createSendRequest.ts +29 -0
  67. package/src/client/createClient/protocol/getGasPrice.ts +51 -0
  68. package/src/client/createClient/protocol/getProtocolConfig.ts +39 -0
  69. package/src/client/createClient/transaction/sendSignedTransaction.ts +31 -0
  70. package/src/client/presets/networks.ts +21 -0
  71. package/src/helpers/actionCreators/addFullAccessKey.ts +14 -0
  72. package/src/helpers/actionCreators/addFunctionCallKey.ts +20 -0
  73. package/src/helpers/actionCreators/createAccount.ts +5 -0
  74. package/src/helpers/actionCreators/deleteAccount.ts +11 -0
  75. package/src/helpers/actionCreators/deleteKey.ts +9 -0
  76. package/src/helpers/actionCreators/deployContract.ts +13 -0
  77. package/src/helpers/actionCreators/functionCall.ts +12 -0
  78. package/src/helpers/actionCreators/transfer.ts +9 -0
  79. package/src/helpers/crypto/getPublicKey.ts +59 -0
  80. package/src/helpers/crypto/getRandomPrivateKey.ts +19 -0
  81. package/src/helpers/crypto/getTransactionHash.ts +21 -0
  82. package/src/helpers/crypto/sign.ts +69 -0
  83. package/src/helpers/gas.ts +25 -0
  84. package/src/helpers/near.ts +118 -0
  85. package/src/index.ts +19 -0
  86. package/src/keyServices/memoryKeyService/createFindPrivateKey.ts +11 -0
  87. package/src/keyServices/memoryKeyService/createMemoryKeyService.ts +23 -0
  88. package/src/keyServices/memoryKeyService/createSignTransaction.ts +24 -0
  89. package/src/keyServices/memoryKeyService/parseKeySources.ts +49 -0
  90. package/src/signers/memorySigner/createMemorySigner.ts +35 -0
  91. package/src/signers/memorySigner/executors/executeTransaction.ts +30 -0
  92. package/src/signers/memorySigner/executors/helpers/getSignedTransaction.ts +32 -0
  93. package/src/signers/memorySigner/executors/signTransaction.ts +26 -0
  94. package/src/signers/memorySigner/keyPool/createFindKeyForTask.ts +27 -0
  95. package/src/signers/memorySigner/keyPool/createIsKeyForTaskExist.ts +22 -0
  96. package/src/signers/memorySigner/keyPool/createKeyPool.ts +37 -0
  97. package/src/signers/memorySigner/keyPool/getFullAccessKeyList.ts +39 -0
  98. package/src/signers/memorySigner/keyPool/getFunctionCallKeyList.ts +43 -0
  99. package/src/signers/memorySigner/keyPool/helpers/keyUtils.ts +13 -0
  100. package/src/signers/memorySigner/matcher/createMatcher.ts +42 -0
  101. package/src/signers/memorySigner/resolver/createResolver.ts +21 -0
  102. package/src/signers/memorySigner/state/createState.ts +27 -0
  103. package/src/signers/memorySigner/taskQueue/addTask/executeMultipleTransactions.ts +29 -0
  104. package/src/signers/memorySigner/taskQueue/addTask/executeTransaction.ts +28 -0
  105. package/src/signers/memorySigner/taskQueue/addTask/helpers/getSigningKeyPriority.ts +39 -0
  106. package/src/signers/memorySigner/taskQueue/addTask/signMultipleTransactions.ts +26 -0
  107. package/src/signers/memorySigner/taskQueue/addTask/signTransaction.ts +23 -0
  108. package/src/signers/memorySigner/taskQueue/createFindTaskForKey.ts +22 -0
  109. package/src/signers/memorySigner/taskQueue/createTaskQueue.ts +45 -0
  110. package/types/accountKey.ts +24 -0
  111. package/types/actions/addKey.ts +48 -0
  112. package/types/actions/createAccount.ts +9 -0
  113. package/types/actions/deleteAccount.ts +18 -0
  114. package/types/actions/deleteKey.ts +18 -0
  115. package/types/actions/deployContract.ts +19 -0
  116. package/types/actions/functionCall.ts +32 -0
  117. package/types/actions/transfer.ts +18 -0
  118. package/types/client/account/getAccountKey.ts +30 -0
  119. package/types/client/account/getAccountKeys.ts +28 -0
  120. package/types/client/account/getAccountState.ts +40 -0
  121. package/types/client/block/getBlock.ts +13 -0
  122. package/types/client/client.ts +52 -0
  123. package/types/client/contract/callContractReadFunction.ts +98 -0
  124. package/types/client/contract/getContractState.ts +33 -0
  125. package/types/client/protocol/getGasPrice.ts +16 -0
  126. package/types/client/protocol/getProtocolConfig.ts +17 -0
  127. package/types/client/transaction/sendSignedTransaction.ts +19 -0
  128. package/types/common.ts +79 -0
  129. package/types/contract.ts +13 -0
  130. package/types/crypto.ts +25 -0
  131. package/types/delegateAction.ts +0 -0
  132. package/types/keyServices/memoryKeyService.ts +26 -0
  133. package/types/signedTransaction.ts +14 -0
  134. package/types/signers/memorySigner.ts +59 -0
  135. package/types/transaction.ts +107 -0
  136. package/types/utils.ts +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/createClient/createSendRequest.ts","../src/client/createClient/account/getAccountState.ts","../src/_common/transformers/toNative/blockReference.ts","../../../node_modules/.pnpm/@near-js+jsonrpc-types@1.3.4/node_modules/@near-js/jsonrpc-types/dist/index.mjs","../src/_common/utils/snakeToCamelCase.ts","../src/_common/utils/tokenConverter/helpers.ts","../src/_common/utils/tokenConverter/convertTokensToUnits.ts","../src/_common/utils/tokenConverter/convertUnitsToTokens.ts","../src/_common/configs/constants.ts","../src/_common/utils/common.ts","../src/helpers/near.ts","../src/client/createClient/account/getAccountKey.ts","../src/client/createClient/account/helpers/transformKey.ts","../src/client/createClient/account/getAccountKeys.ts","../src/client/createClient/contract/getContractState.ts","../src/client/createClient/contract/callContractReadFunction.ts","../src/client/createClient/block/getBlock.ts","../src/client/createClient/protocol/getGasPrice.ts","../src/_common/schemas/zod/common.ts","../src/client/createClient/protocol/getProtocolConfig.ts","../src/client/createClient/transaction/sendSignedTransaction.ts","../src/_common/transformers/toBorshBytes/signedTransaction.ts","../src/_common/schemas/borsh/publicKey.ts","../src/_common/schemas/borsh/actions/createAccount.ts","../src/_common/schemas/borsh/actions/transfer.ts","../src/_common/schemas/borsh/actions/addKey.ts","../src/_common/schemas/borsh/actions/deployContract.ts","../src/_common/schemas/borsh/actions/deployGlobalContract.ts","../src/_common/schemas/borsh/actions/useGlobalContract.ts","../src/_common/schemas/borsh/actions/functionCall.ts","../src/_common/schemas/borsh/actions/stake.ts","../src/_common/schemas/borsh/actions/deleteKey.ts","../src/_common/schemas/borsh/actions/deleteAccount.ts","../src/_common/schemas/borsh/delegateAction.ts","../src/_common/schemas/borsh/signature.ts","../src/_common/schemas/borsh/actions/signedDelegate.ts","../src/_common/schemas/borsh/transaction.ts","../src/_common/schemas/borsh/signedTransaction.ts","../src/_common/transformers/curveString.ts","../src/_common/transformers/toNative/signature.ts","../src/_common/transformers/toNative/transaction.ts","../src/_common/transformers/toNative/publicKey.ts","../src/_common/transformers/toNative/actions/transfer.ts","../src/_common/transformers/toNative/actions/createAccount.ts","../src/_common/transformers/toNative/actions/addKey.ts","../src/_common/transformers/toNative/actions/deployContract.ts","../src/helpers/gas.ts","../src/_common/transformers/contract.ts","../src/_common/transformers/toNative/actions/functionCall.ts","../src/_common/transformers/toNative/actions/deleteKey.ts","../src/_common/transformers/toNative/actions/deleteAccount.ts","../src/_common/transformers/toNative/signedTransaction.ts","../src/_common/utils/createCircularQueue.ts","../src/client/createClient/createClient.ts","../src/client/presets/networks.ts","../src/helpers/crypto/getTransactionHash.ts","../src/_common/transformers/toBorshBytes/transaction.ts","../src/helpers/crypto/sign.ts","../src/_common/schemas/valibot/privateKey.ts","../src/keyServices/memoryKeyService/createSignTransaction.ts","../src/helpers/crypto/getPublicKey.ts","../src/keyServices/memoryKeyService/parseKeySources.ts","../src/keyServices/memoryKeyService/createFindPrivateKey.ts","../src/keyServices/memoryKeyService/createMemoryKeyService.ts","../src/signers/memorySigner/keyPool/createFindKeyForTask.ts","../src/signers/memorySigner/keyPool/createIsKeyForTaskExist.ts","../src/signers/memorySigner/keyPool/helpers/keyUtils.ts","../src/signers/memorySigner/keyPool/getFullAccessKeyList.ts","../src/signers/memorySigner/keyPool/getFunctionCallKeyList.ts","../src/signers/memorySigner/keyPool/createKeyPool.ts","../src/signers/memorySigner/taskQueue/createFindTaskForKey.ts","../src/signers/memorySigner/taskQueue/addTask/helpers/getSigningKeyPriority.ts","../src/signers/memorySigner/taskQueue/addTask/signTransaction.ts","../src/signers/memorySigner/taskQueue/addTask/executeTransaction.ts","../src/signers/memorySigner/taskQueue/addTask/signMultipleTransactions.ts","../src/signers/memorySigner/taskQueue/addTask/executeMultipleTransactions.ts","../src/signers/memorySigner/taskQueue/createTaskQueue.ts","../src/signers/memorySigner/executors/helpers/getSignedTransaction.ts","../src/signers/memorySigner/executors/signTransaction.ts","../src/signers/memorySigner/executors/executeTransaction.ts","../src/signers/memorySigner/matcher/createMatcher.ts","../src/signers/memorySigner/resolver/createResolver.ts","../src/signers/memorySigner/state/createState.ts","../src/signers/memorySigner/createMemorySigner.ts","../src/helpers/actionCreators/transfer.ts","../src/helpers/actionCreators/createAccount.ts","../src/helpers/actionCreators/addFullAccessKey.ts","../src/helpers/actionCreators/addFunctionCallKey.ts","../src/helpers/actionCreators/functionCall.ts","../src/helpers/actionCreators/deleteKey.ts","../src/helpers/actionCreators/deleteAccount.ts","../src/helpers/actionCreators/deployContract.ts"],"sourcesContent":["import type { CreateSendRequest } from 'nat-types/client/client';\n\nexport const createSendRequest: CreateSendRequest =\n (clientContext) =>\n async ({ body }) => {\n const rpc = clientContext.regularRpcQueue.next();\n\n const response = await fetch(rpc.url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...rpc.headers,\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 0,\n ...body,\n }),\n });\n\n const { result, error } = await response.json();\n\n // TODO create error handling strategy\n if (error) throw new Error(error, { cause: error });\n // TODO check when it's possible?\n // if (result.error) throw rpcError(result.error);\n\n return result;\n };\n","import * as z from 'zod/mini';\nimport { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport { AccountViewSchema, CryptoHashSchema } from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport { yoctoNear } from '../../../helpers/near';\nimport type {\n CreateGetAccountState,\n GetAccountStateArgs,\n GetAccountStateResult,\n} from 'nat-types/client/account/getAccountState';\n\nconst RpcQueryAccountViewResponseSchema = z.object({\n ...AccountViewSchema().shape,\n blockHash: CryptoHashSchema(),\n blockHeight: z.number(),\n});\n\nconst transformResult = (\n result: unknown,\n args: GetAccountStateArgs,\n): GetAccountStateResult => {\n const camelCased = snakeToCamelCase(result);\n const valid = RpcQueryAccountViewResponseSchema.parse(camelCased);\n\n const lockedBalance = yoctoNear(valid.locked);\n const totalBalance = yoctoNear(valid.amount).add(lockedBalance);\n\n const final = {\n blockHash: valid.blockHash,\n blockHeight: valid.blockHeight,\n accountId: args.accountId,\n accountState: {\n balance: {\n total: totalBalance,\n locked: lockedBalance,\n },\n usedStorageBytes: valid.storageUsage,\n contractWasmHash: valid.codeHash,\n },\n } as GetAccountStateResult;\n\n if (valid.globalContractAccountId)\n final.accountState.globalContractAccountId = valid.globalContractAccountId;\n if (valid.globalContractHash)\n final.accountState.globalContractHash = valid.globalContractHash;\n\n return final;\n};\n\n// TODO Add ability to fetch detailed balance with 'available' field\nexport const createGetAccountState: CreateGetAccountState =\n ({ sendRequest }) =>\n async (args) => {\n const result = await sendRequest({\n body: {\n method: 'query',\n params: {\n request_type: 'view_account',\n account_id: args.accountId,\n ...toNativeBlockReference(args.atMomentOf),\n },\n },\n });\n return transformResult(result, args);\n };\n","import type { BlockReference, NativeBlockReference } from 'nat-types/common';\n\nexport const toNativeBlockReference = (\n blockReference?: BlockReference,\n defaultBlockReference?: BlockReference,\n): NativeBlockReference => {\n if (blockReference === 'LatestOptimisticBlock')\n return { finality: 'optimistic' };\n\n if (blockReference === 'LatestNearFinalBlock')\n return { finality: 'near-final' };\n\n if (blockReference === 'LatestFinalBlock') return { finality: 'final' };\n\n if (blockReference === 'EarliestAvailableBlock')\n return { sync_checkpoint: 'earliest_available' };\n\n if (blockReference === 'GenesisBlock') return { sync_checkpoint: 'genesis' };\n\n if (blockReference && 'blockHash' in blockReference)\n return { block_id: blockReference.blockHash };\n\n if (blockReference && 'blockHeight' in blockReference)\n return { block_id: blockReference.blockHeight };\n\n if (defaultBlockReference)\n return toNativeBlockReference(defaultBlockReference);\n\n return { finality: 'near-final' };\n};\n","// src/schemas.ts\nimport { z } from \"zod/mini\";\nvar AccessKeySchema = () => z.object({\n nonce: z.number(),\n permission: z.lazy(() => AccessKeyPermissionSchema())\n});\nvar AccessKeyCreationConfigViewSchema = () => z.object({\n fullAccessCost: z.lazy(() => FeeSchema()),\n functionCallCost: z.lazy(() => FeeSchema()),\n functionCallCostPerByte: z.lazy(() => FeeSchema())\n});\nvar AccessKeyInfoViewSchema = () => z.object({\n accessKey: z.lazy(() => AccessKeyViewSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n});\nvar AccessKeyListSchema = () => z.object({\n keys: z.array(z.lazy(() => AccessKeyInfoViewSchema()))\n});\nvar AccessKeyPermissionSchema = () => z.union([\n z.object({\n FunctionCall: z.lazy(() => FunctionCallPermissionSchema())\n }),\n z.enum([\"FullAccess\"])\n]);\nvar AccessKeyPermissionViewSchema = () => z.union([\n z.enum([\"FullAccess\"]),\n z.object({\n FunctionCall: z.object({\n allowance: z.optional(\n z.union([z.union([z.string(), z.null()]), z.null()])\n ),\n methodNames: z.array(z.string()),\n receiverId: z.string()\n })\n })\n]);\nvar AccessKeyViewSchema = () => z.object({\n nonce: z.number(),\n permission: z.lazy(() => AccessKeyPermissionViewSchema())\n});\nvar AccountCreationConfigViewSchema = () => z.object({\n minAllowedTopLevelAccountLength: z.number(),\n registrarAccountId: z.lazy(() => AccountIdSchema())\n});\nvar AccountDataViewSchema = () => z.object({\n accountKey: z.lazy(() => PublicKeySchema()),\n peerId: z.lazy(() => PublicKeySchema()),\n proxies: z.array(z.lazy(() => Tier1ProxyViewSchema())),\n timestamp: z.string()\n});\nvar AccountIdSchema = () => z.string();\nvar AccountIdValidityRulesVersionSchema = () => z.number();\nvar AccountInfoSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n amount: z.string(),\n publicKey: z.lazy(() => PublicKeySchema())\n});\nvar AccountViewSchema = () => z.object({\n amount: z.string(),\n codeHash: z.lazy(() => CryptoHashSchema()),\n globalContractAccountId: z.optional(\n z.union([z.lazy(() => AccountIdSchema()), z.null()])\n ),\n globalContractHash: z.optional(\n z.union([z.lazy(() => CryptoHashSchema()), z.null()])\n ),\n locked: z.string(),\n storagePaidAt: z.optional(z.number()),\n storageUsage: z.number()\n});\nvar AccountWithPublicKeySchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n});\nvar ActionCreationConfigViewSchema = () => z.object({\n addKeyCost: z.lazy(() => AccessKeyCreationConfigViewSchema()),\n createAccountCost: z.lazy(() => FeeSchema()),\n delegateCost: z.lazy(() => FeeSchema()),\n deleteAccountCost: z.lazy(() => FeeSchema()),\n deleteKeyCost: z.lazy(() => FeeSchema()),\n deployContractCost: z.lazy(() => FeeSchema()),\n deployContractCostPerByte: z.lazy(() => FeeSchema()),\n functionCallCost: z.lazy(() => FeeSchema()),\n functionCallCostPerByte: z.lazy(() => FeeSchema()),\n stakeCost: z.lazy(() => FeeSchema()),\n transferCost: z.lazy(() => FeeSchema())\n});\nvar ActionErrorSchema = () => z.object({\n index: z.optional(z.union([z.union([z.number(), z.null()]), z.null()])),\n kind: z.lazy(() => ActionErrorKindSchema())\n});\nvar ActionErrorKindSchema = () => z.union([\n z.object({\n AccountAlreadyExists: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n AccountDoesNotExist: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n CreateAccountOnlyByRegistrar: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n predecessorId: z.lazy(() => AccountIdSchema()),\n registrarAccountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n CreateAccountNotAllowed: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n predecessorId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n ActorNoPermission: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n actorId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n DeleteKeyDoesNotExist: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.object({\n AddKeyAlreadyExists: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.object({\n DeleteAccountStaking: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n LackBalanceForState: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n amount: z.string()\n })\n }),\n z.object({\n TriesToUnstake: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n TriesToStake: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n balance: z.string(),\n locked: z.string(),\n stake: z.string()\n })\n }),\n z.object({\n InsufficientStake: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n minimumStake: z.string(),\n stake: z.string()\n })\n }),\n z.object({\n FunctionCallError: z.lazy(() => FunctionCallErrorSchema())\n }),\n z.object({\n NewReceiptValidationError: z.lazy(() => ReceiptValidationErrorSchema())\n }),\n z.object({\n OnlyImplicitAccountCreationAllowed: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n DeleteAccountWithLargeState: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.enum([\"DelegateActionInvalidSignature\"]),\n z.object({\n DelegateActionSenderDoesNotMatchTxReceiver: z.object({\n receiverId: z.lazy(() => AccountIdSchema()),\n senderId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.enum([\"DelegateActionExpired\"]),\n z.object({\n DelegateActionAccessKeyError: z.lazy(() => InvalidAccessKeyErrorSchema())\n }),\n z.object({\n DelegateActionInvalidNonce: z.object({\n akNonce: z.number(),\n delegateNonce: z.number()\n })\n }),\n z.object({\n DelegateActionNonceTooLarge: z.object({\n delegateNonce: z.number(),\n upperBound: z.number()\n })\n }),\n z.object({\n GlobalContractDoesNotExist: z.object({\n identifier: z.lazy(() => GlobalContractIdentifierSchema())\n })\n })\n]);\nvar ActionViewSchema = () => z.union([\n z.enum([\"CreateAccount\"]),\n z.object({\n DeployContract: z.object({\n code: z.string()\n })\n }),\n z.object({\n FunctionCall: z.object({\n args: z.lazy(() => FunctionArgsSchema()),\n deposit: z.string(),\n gas: z.number(),\n methodName: z.string()\n })\n }),\n z.object({\n Transfer: z.object({\n deposit: z.string()\n })\n }),\n z.object({\n Stake: z.object({\n publicKey: z.lazy(() => PublicKeySchema()),\n stake: z.string()\n })\n }),\n z.object({\n AddKey: z.object({\n accessKey: z.lazy(() => AccessKeyViewSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.object({\n DeleteKey: z.object({\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.object({\n DeleteAccount: z.object({\n beneficiaryId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n Delegate: z.object({\n delegateAction: z.lazy(() => DelegateActionSchema()),\n signature: z.lazy(() => SignatureSchema())\n })\n }),\n z.object({\n DeployGlobalContract: z.object({\n code: z.string()\n })\n }),\n z.object({\n DeployGlobalContractByAccountId: z.object({\n code: z.string()\n })\n }),\n z.object({\n UseGlobalContract: z.object({\n codeHash: z.lazy(() => CryptoHashSchema())\n })\n }),\n z.object({\n UseGlobalContractByAccountId: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n })\n]);\nvar ActionsValidationErrorSchema = () => z.union([\n z.enum([\"DeleteActionMustBeFinal\"]),\n z.object({\n TotalPrepaidGasExceeded: z.object({\n limit: z.number(),\n totalPrepaidGas: z.number()\n })\n }),\n z.object({\n TotalNumberOfActionsExceeded: z.object({\n limit: z.number(),\n totalNumberOfActions: z.number()\n })\n }),\n z.object({\n AddKeyMethodNamesNumberOfBytesExceeded: z.object({\n limit: z.number(),\n totalNumberOfBytes: z.number()\n })\n }),\n z.object({\n AddKeyMethodNameLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.enum([\"IntegerOverflow\"]),\n z.object({\n InvalidAccountId: z.object({\n accountId: z.string()\n })\n }),\n z.object({\n ContractSizeExceeded: z.object({\n limit: z.number(),\n size: z.number()\n })\n }),\n z.object({\n FunctionCallMethodNameLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n FunctionCallArgumentsLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n UnsuitableStakingKey: z.object({\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.enum([\"FunctionCallZeroAttachedGas\"]),\n z.enum([\"DelegateActionMustBeOnlyOne\"]),\n z.object({\n UnsupportedProtocolFeature: z.object({\n protocolFeature: z.string(),\n version: z.number()\n })\n })\n]);\nvar AddKeyActionSchema = () => z.object({\n accessKey: z.lazy(() => AccessKeySchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n});\nvar BandwidthRequestSchema = () => z.object({\n requestedValuesBitmap: z.lazy(() => BandwidthRequestBitmapSchema()),\n toShard: z.number()\n});\nvar BandwidthRequestBitmapSchema = () => z.object({\n data: z.array(z.number())\n});\nvar BandwidthRequestsSchema = () => z.object({\n V1: z.lazy(() => BandwidthRequestsV1Schema())\n});\nvar BandwidthRequestsV1Schema = () => z.object({\n requests: z.array(z.lazy(() => BandwidthRequestSchema()))\n});\nvar BlockHeaderInnerLiteViewSchema = () => z.object({\n blockMerkleRoot: z.lazy(() => CryptoHashSchema()),\n epochId: z.lazy(() => CryptoHashSchema()),\n height: z.number(),\n nextBpHash: z.lazy(() => CryptoHashSchema()),\n nextEpochId: z.lazy(() => CryptoHashSchema()),\n outcomeRoot: z.lazy(() => CryptoHashSchema()),\n prevStateRoot: z.lazy(() => CryptoHashSchema()),\n timestamp: z.number(),\n timestampNanosec: z.string()\n});\nvar BlockHeaderViewSchema = () => z.object({\n approvals: z.array(z.union([z.lazy(() => SignatureSchema()), z.null()])),\n blockBodyHash: z.optional(\n z.union([z.lazy(() => CryptoHashSchema()), z.null()])\n ),\n blockMerkleRoot: z.lazy(() => CryptoHashSchema()),\n blockOrdinal: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n challengesResult: z.array(z.lazy(() => SlashedValidatorSchema())),\n challengesRoot: z.lazy(() => CryptoHashSchema()),\n chunkEndorsements: z.optional(\n z.union([z.union([z.array(z.array(z.number())), z.null()]), z.null()])\n ),\n chunkHeadersRoot: z.lazy(() => CryptoHashSchema()),\n chunkMask: z.array(z.boolean()),\n chunkReceiptsRoot: z.lazy(() => CryptoHashSchema()),\n chunkTxRoot: z.lazy(() => CryptoHashSchema()),\n chunksIncluded: z.number(),\n epochId: z.lazy(() => CryptoHashSchema()),\n epochSyncDataHash: z.optional(\n z.union([z.lazy(() => CryptoHashSchema()), z.null()])\n ),\n gasPrice: z.string(),\n hash: z.lazy(() => CryptoHashSchema()),\n height: z.number(),\n lastDsFinalBlock: z.lazy(() => CryptoHashSchema()),\n lastFinalBlock: z.lazy(() => CryptoHashSchema()),\n latestProtocolVersion: z.number(),\n nextBpHash: z.lazy(() => CryptoHashSchema()),\n nextEpochId: z.lazy(() => CryptoHashSchema()),\n outcomeRoot: z.lazy(() => CryptoHashSchema()),\n prevHash: z.lazy(() => CryptoHashSchema()),\n prevHeight: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n prevStateRoot: z.lazy(() => CryptoHashSchema()),\n randomValue: z.lazy(() => CryptoHashSchema()),\n rentPaid: z.string(),\n signature: z.lazy(() => SignatureSchema()),\n timestamp: z.number(),\n timestampNanosec: z.string(),\n totalSupply: z.string(),\n validatorProposals: z.array(z.lazy(() => ValidatorStakeViewSchema())),\n validatorReward: z.string()\n});\nvar BlockIdSchema = () => z.union([z.number(), z.lazy(() => CryptoHashSchema())]);\nvar BlockStatusViewSchema = () => z.object({\n hash: z.lazy(() => CryptoHashSchema()),\n height: z.number()\n});\nvar CallResultSchema = () => z.object({\n logs: z.array(z.string()),\n result: z.array(z.number())\n});\nvar CatchupStatusViewSchema = () => z.object({\n blocksToCatchup: z.array(z.lazy(() => BlockStatusViewSchema())),\n shardSyncStatus: z.record(z.string(), z.unknown()),\n syncBlockHash: z.lazy(() => CryptoHashSchema()),\n syncBlockHeight: z.number()\n});\nvar ChunkDistributionNetworkConfigSchema = () => z.object({\n enabled: z.boolean(),\n uris: z.lazy(() => ChunkDistributionUrisSchema())\n});\nvar ChunkDistributionUrisSchema = () => z.object({\n get: z.string(),\n set: z.string()\n});\nvar ChunkHeaderViewSchema = () => z.object({\n balanceBurnt: z.string(),\n bandwidthRequests: z.optional(\n z.union([z.lazy(() => BandwidthRequestsSchema()), z.null()])\n ),\n chunkHash: z.lazy(() => CryptoHashSchema()),\n congestionInfo: z.optional(\n z.union([z.lazy(() => CongestionInfoViewSchema()), z.null()])\n ),\n encodedLength: z.number(),\n encodedMerkleRoot: z.lazy(() => CryptoHashSchema()),\n gasLimit: z.number(),\n gasUsed: z.number(),\n heightCreated: z.number(),\n heightIncluded: z.number(),\n outcomeRoot: z.lazy(() => CryptoHashSchema()),\n outgoingReceiptsRoot: z.lazy(() => CryptoHashSchema()),\n prevBlockHash: z.lazy(() => CryptoHashSchema()),\n prevStateRoot: z.lazy(() => CryptoHashSchema()),\n rentPaid: z.string(),\n shardId: z.lazy(() => ShardIdSchema()),\n signature: z.lazy(() => SignatureSchema()),\n txRoot: z.lazy(() => CryptoHashSchema()),\n validatorProposals: z.array(z.lazy(() => ValidatorStakeViewSchema())),\n validatorReward: z.string()\n});\nvar CompilationErrorSchema = () => z.union([\n z.object({\n CodeDoesNotExist: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n PrepareError: z.lazy(() => PrepareErrorSchema())\n }),\n z.object({\n WasmerCompileError: z.object({\n msg: z.string()\n })\n })\n]);\nvar CongestionControlConfigViewSchema = () => z.object({\n allowedShardOutgoingGas: z.number(),\n maxCongestionIncomingGas: z.number(),\n maxCongestionMemoryConsumption: z.number(),\n maxCongestionMissedChunks: z.number(),\n maxCongestionOutgoingGas: z.number(),\n maxOutgoingGas: z.number(),\n maxTxGas: z.number(),\n minOutgoingGas: z.number(),\n minTxGas: z.number(),\n outgoingReceiptsBigSizeLimit: z.number(),\n outgoingReceiptsUsualSizeLimit: z.number(),\n rejectTxCongestionThreshold: z.number()\n});\nvar CongestionInfoViewSchema = () => z.object({\n allowedShard: z.number(),\n bufferedReceiptsGas: z.string(),\n delayedReceiptsGas: z.string(),\n receiptBytes: z.number()\n});\nvar ContractCodeViewSchema = () => z.object({\n codeBase64: z.string(),\n hash: z.lazy(() => CryptoHashSchema())\n});\nvar CostGasUsedSchema = () => z.object({\n cost: z.string(),\n costCategory: z.string(),\n gasUsed: z.string()\n});\nvar CreateAccountActionSchema = () => z.record(z.string(), z.unknown());\nvar CryptoHashSchema = () => z.string();\nvar CurrentEpochValidatorInfoSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n isSlashed: z.boolean(),\n numExpectedBlocks: z.number(),\n numExpectedChunks: z.optional(z.number()),\n numExpectedChunksPerShard: z.optional(z.array(z.number())),\n numExpectedEndorsements: z.optional(z.number()),\n numExpectedEndorsementsPerShard: z.optional(z.array(z.number())),\n numProducedBlocks: z.number(),\n numProducedChunks: z.optional(z.number()),\n numProducedChunksPerShard: z.optional(z.array(z.number())),\n numProducedEndorsements: z.optional(z.number()),\n numProducedEndorsementsPerShard: z.optional(z.array(z.number())),\n publicKey: z.lazy(() => PublicKeySchema()),\n shards: z.array(z.lazy(() => ShardIdSchema())),\n shardsEndorsed: z.optional(z.array(z.lazy(() => ShardIdSchema()))),\n stake: z.string()\n});\nvar DataReceiptCreationConfigViewSchema = () => z.object({\n baseCost: z.lazy(() => FeeSchema()),\n costPerByte: z.lazy(() => FeeSchema())\n});\nvar DataReceiverViewSchema = () => z.object({\n dataId: z.lazy(() => CryptoHashSchema()),\n receiverId: z.lazy(() => AccountIdSchema())\n});\nvar DelegateActionSchema = () => z.object({\n actions: z.array(z.lazy(() => NonDelegateActionSchema())),\n maxBlockHeight: z.number(),\n nonce: z.number(),\n publicKey: z.lazy(() => PublicKeySchema()),\n receiverId: z.lazy(() => AccountIdSchema()),\n senderId: z.lazy(() => AccountIdSchema())\n});\nvar DeleteAccountActionSchema = () => z.object({\n beneficiaryId: z.lazy(() => AccountIdSchema())\n});\nvar DeleteKeyActionSchema = () => z.object({\n publicKey: z.lazy(() => PublicKeySchema())\n});\nvar DeployContractActionSchema = () => z.object({\n code: z.string()\n});\nvar DeployGlobalContractActionSchema = () => z.object({\n code: z.string(),\n deployMode: z.lazy(() => GlobalContractDeployModeSchema())\n});\nvar DetailedDebugStatusSchema = () => z.object({\n blockProductionDelayMillis: z.number(),\n catchupStatus: z.array(z.lazy(() => CatchupStatusViewSchema())),\n currentHeadStatus: z.lazy(() => BlockStatusViewSchema()),\n currentHeaderHeadStatus: z.lazy(() => BlockStatusViewSchema()),\n networkInfo: z.lazy(() => NetworkInfoViewSchema()),\n syncStatus: z.string()\n});\nvar DirectionSchema = () => z.enum([\"Left\", \"Right\"]);\nvar DumpConfigSchema = () => z.object({\n credentialsFile: z.optional(\n z.union([z.union([z.string(), z.null()]), z.null()])\n ),\n iterationDelay: z.optional(\n z.union([z.lazy(() => DurationAsStdSchemaProviderSchema()), z.null()])\n ),\n location: z.lazy(() => ExternalStorageLocationSchema()),\n restartDumpForShards: z.optional(\n z.union([\n z.union([z.array(z.lazy(() => ShardIdSchema())), z.null()]),\n z.null()\n ])\n )\n});\nvar DurationAsStdSchemaProviderSchema = () => z.object({\n nanos: z.number(),\n secs: z.number()\n});\nvar EpochIdSchema = () => z.lazy(() => CryptoHashSchema());\nvar EpochSyncConfigSchema = () => z.object({\n disableEpochSyncForBootstrapping: z.optional(z.boolean()),\n epochSyncHorizon: z.number(),\n ignoreEpochSyncNetworkRequests: z.optional(z.boolean()),\n timeoutForEpochSync: z.lazy(() => DurationAsStdSchemaProviderSchema())\n});\nvar ExecutionMetadataViewSchema = () => z.object({\n gasProfile: z.optional(\n z.union([\n z.union([z.array(z.lazy(() => CostGasUsedSchema())), z.null()]),\n z.null()\n ])\n ),\n version: z.number()\n});\nvar ExecutionOutcomeViewSchema = () => z.object({\n executorId: z.lazy(() => AccountIdSchema()),\n gasBurnt: z.number(),\n logs: z.array(z.string()),\n metadata: z.optional(z.lazy(() => ExecutionMetadataViewSchema())),\n receiptIds: z.array(z.lazy(() => CryptoHashSchema())),\n status: z.lazy(() => ExecutionStatusViewSchema()),\n tokensBurnt: z.string()\n});\nvar ExecutionOutcomeWithIdViewSchema = () => z.object({\n blockHash: z.lazy(() => CryptoHashSchema()),\n id: z.lazy(() => CryptoHashSchema()),\n outcome: z.lazy(() => ExecutionOutcomeViewSchema()),\n proof: z.array(z.lazy(() => MerklePathItemSchema()))\n});\nvar ExecutionStatusViewSchema = () => z.union([\n z.enum([\"Unknown\"]),\n z.object({\n Failure: z.lazy(() => TxExecutionErrorSchema())\n }),\n z.object({\n SuccessValue: z.string()\n }),\n z.object({\n SuccessReceiptId: z.lazy(() => CryptoHashSchema())\n })\n]);\nvar ExtCostsConfigViewSchema = () => z.object({\n altBn128G1MultiexpBase: z.number(),\n altBn128G1MultiexpElement: z.number(),\n altBn128G1SumBase: z.number(),\n altBn128G1SumElement: z.number(),\n altBn128PairingCheckBase: z.number(),\n altBn128PairingCheckElement: z.number(),\n base: z.number(),\n bls12381G1MultiexpBase: z.number(),\n bls12381G1MultiexpElement: z.number(),\n bls12381G2MultiexpBase: z.number(),\n bls12381G2MultiexpElement: z.number(),\n bls12381MapFp2ToG2Base: z.number(),\n bls12381MapFp2ToG2Element: z.number(),\n bls12381MapFpToG1Base: z.number(),\n bls12381MapFpToG1Element: z.number(),\n bls12381P1DecompressBase: z.number(),\n bls12381P1DecompressElement: z.number(),\n bls12381P1SumBase: z.number(),\n bls12381P1SumElement: z.number(),\n bls12381P2DecompressBase: z.number(),\n bls12381P2DecompressElement: z.number(),\n bls12381P2SumBase: z.number(),\n bls12381P2SumElement: z.number(),\n bls12381PairingBase: z.number(),\n bls12381PairingElement: z.number(),\n contractCompileBase: z.number(),\n contractCompileBytes: z.number(),\n contractLoadingBase: z.number(),\n contractLoadingBytes: z.number(),\n ecrecoverBase: z.number(),\n ed25519VerifyBase: z.number(),\n ed25519VerifyByte: z.number(),\n keccak256Base: z.number(),\n keccak256Byte: z.number(),\n keccak512Base: z.number(),\n keccak512Byte: z.number(),\n logBase: z.number(),\n logByte: z.number(),\n promiseAndBase: z.number(),\n promiseAndPerPromise: z.number(),\n promiseReturn: z.number(),\n readCachedTrieNode: z.number(),\n readMemoryBase: z.number(),\n readMemoryByte: z.number(),\n readRegisterBase: z.number(),\n readRegisterByte: z.number(),\n ripemd160Base: z.number(),\n ripemd160Block: z.number(),\n sha256Base: z.number(),\n sha256Byte: z.number(),\n storageHasKeyBase: z.number(),\n storageHasKeyByte: z.number(),\n storageIterCreateFromByte: z.number(),\n storageIterCreatePrefixBase: z.number(),\n storageIterCreatePrefixByte: z.number(),\n storageIterCreateRangeBase: z.number(),\n storageIterCreateToByte: z.number(),\n storageIterNextBase: z.number(),\n storageIterNextKeyByte: z.number(),\n storageIterNextValueByte: z.number(),\n storageLargeReadOverheadBase: z.number(),\n storageLargeReadOverheadByte: z.number(),\n storageReadBase: z.number(),\n storageReadKeyByte: z.number(),\n storageReadValueByte: z.number(),\n storageRemoveBase: z.number(),\n storageRemoveKeyByte: z.number(),\n storageRemoveRetValueByte: z.number(),\n storageWriteBase: z.number(),\n storageWriteEvictedByte: z.number(),\n storageWriteKeyByte: z.number(),\n storageWriteValueByte: z.number(),\n touchingTrieNode: z.number(),\n utf16DecodingBase: z.number(),\n utf16DecodingByte: z.number(),\n utf8DecodingBase: z.number(),\n utf8DecodingByte: z.number(),\n validatorStakeBase: z.number(),\n validatorTotalStakeBase: z.number(),\n writeMemoryBase: z.number(),\n writeMemoryByte: z.number(),\n writeRegisterBase: z.number(),\n writeRegisterByte: z.number(),\n yieldCreateBase: z.number(),\n yieldCreateByte: z.number(),\n yieldResumeBase: z.number(),\n yieldResumeByte: z.number()\n});\nvar ExternalStorageConfigSchema = () => z.object({\n externalStorageFallbackThreshold: z.optional(z.number()),\n location: z.lazy(() => ExternalStorageLocationSchema()),\n numConcurrentRequests: z.optional(z.number()),\n numConcurrentRequestsDuringCatchup: z.optional(z.number())\n});\nvar ExternalStorageLocationSchema = () => z.union([\n z.object({\n S3: z.object({\n bucket: z.string(),\n region: z.string()\n })\n }),\n z.object({\n Filesystem: z.object({\n rootDir: z.string()\n })\n }),\n z.object({\n GCS: z.object({\n bucket: z.string()\n })\n })\n]);\nvar FeeSchema = () => z.object({\n execution: z.number(),\n sendNotSir: z.number(),\n sendSir: z.number()\n});\nvar FinalExecutionOutcomeViewSchema = () => z.object({\n receiptsOutcome: z.array(z.lazy(() => ExecutionOutcomeWithIdViewSchema())),\n status: z.lazy(() => FinalExecutionStatusSchema()),\n transaction: z.lazy(() => SignedTransactionViewSchema()),\n transactionOutcome: z.lazy(() => ExecutionOutcomeWithIdViewSchema())\n});\nvar FinalExecutionOutcomeWithReceiptViewSchema = () => z.object({\n receipts: z.array(z.lazy(() => ReceiptViewSchema())),\n receiptsOutcome: z.array(z.lazy(() => ExecutionOutcomeWithIdViewSchema())),\n status: z.lazy(() => FinalExecutionStatusSchema()),\n transaction: z.lazy(() => SignedTransactionViewSchema()),\n transactionOutcome: z.lazy(() => ExecutionOutcomeWithIdViewSchema())\n});\nvar FinalExecutionStatusSchema = () => z.union([\n z.enum([\"NotStarted\"]),\n z.enum([\"Started\"]),\n z.object({\n Failure: z.lazy(() => TxExecutionErrorSchema())\n }),\n z.object({\n SuccessValue: z.string()\n })\n]);\nvar FinalitySchema = () => z.enum([\"optimistic\", \"near-final\", \"final\"]);\nvar FunctionArgsSchema = () => z.string();\nvar FunctionCallActionSchema = () => z.object({\n args: z.string(),\n deposit: z.string(),\n gas: z.number(),\n methodName: z.string()\n});\nvar FunctionCallErrorSchema = () => z.union([\n z.enum([\"WasmUnknownError\", \"_EVMError\"]),\n z.object({\n CompilationError: z.lazy(() => CompilationErrorSchema())\n }),\n z.object({\n LinkError: z.object({\n msg: z.string()\n })\n }),\n z.object({\n MethodResolveError: z.lazy(() => MethodResolveErrorSchema())\n }),\n z.object({\n WasmTrap: z.lazy(() => WasmTrapSchema())\n }),\n z.object({\n HostError: z.lazy(() => HostErrorSchema())\n }),\n z.object({\n ExecutionError: z.string()\n })\n]);\nvar FunctionCallPermissionSchema = () => z.object({\n allowance: z.optional(z.union([z.union([z.string(), z.null()]), z.null()])),\n methodNames: z.array(z.string()),\n receiverId: z.string()\n});\nvar GCConfigSchema = () => z.object({\n gcBlocksLimit: z.optional(z.number()),\n gcForkCleanStep: z.optional(z.number()),\n gcNumEpochsToKeep: z.optional(z.number()),\n gcStepPeriod: z.optional(z.lazy(() => DurationAsStdSchemaProviderSchema()))\n});\nvar GasKeyViewSchema = () => z.object({\n balance: z.number(),\n numNonces: z.number(),\n permission: z.lazy(() => AccessKeyPermissionViewSchema())\n});\nvar GenesisConfigSchema = () => z.object({\n avgHiddenValidatorSeatsPerShard: z.array(z.number()),\n blockProducerKickoutThreshold: z.number(),\n chainId: z.string(),\n chunkProducerAssignmentChangesLimit: z.optional(z.number()),\n chunkProducerKickoutThreshold: z.number(),\n chunkValidatorOnlyKickoutThreshold: z.optional(z.number()),\n dynamicResharding: z.boolean(),\n epochLength: z.number(),\n fishermenThreshold: z.string(),\n gasLimit: z.number(),\n gasPriceAdjustmentRate: z.array(z.number()),\n genesisHeight: z.number(),\n genesisTime: z.string(),\n maxGasPrice: z.string(),\n maxInflationRate: z.array(z.number()),\n maxKickoutStakePerc: z.optional(z.number()),\n minGasPrice: z.string(),\n minimumStakeDivisor: z.optional(z.number()),\n minimumStakeRatio: z.optional(z.array(z.number())),\n minimumValidatorsPerShard: z.optional(z.number()),\n numBlockProducerSeats: z.number(),\n numBlockProducerSeatsPerShard: z.array(z.number()),\n numBlocksPerYear: z.number(),\n numChunkOnlyProducerSeats: z.optional(z.number()),\n numChunkProducerSeats: z.optional(z.number()),\n numChunkValidatorSeats: z.optional(z.number()),\n onlineMaxThreshold: z.optional(z.array(z.number())),\n onlineMinThreshold: z.optional(z.array(z.number())),\n protocolRewardRate: z.array(z.number()),\n protocolTreasuryAccount: z.lazy(() => AccountIdSchema()),\n protocolUpgradeStakeThreshold: z.optional(z.array(z.number())),\n protocolVersion: z.number(),\n shardLayout: z.optional(z.lazy(() => ShardLayoutSchema())),\n shuffleShardAssignmentForChunkProducers: z.optional(z.boolean()),\n targetValidatorMandatesPerShard: z.optional(z.number()),\n totalSupply: z.string(),\n transactionValidityPeriod: z.number(),\n useProductionConfig: z.optional(z.boolean()),\n validators: z.array(z.lazy(() => AccountInfoSchema()))\n});\nvar GenesisConfigRequestSchema = () => z.null();\nvar GlobalContractDeployModeSchema = () => z.union([z.enum([\"CodeHash\"]), z.enum([\"AccountId\"])]);\nvar GlobalContractIdentifierSchema = () => z.union([\n z.object({\n CodeHash: z.lazy(() => CryptoHashSchema())\n }),\n z.object({\n AccountId: z.lazy(() => AccountIdSchema())\n })\n]);\nvar HostErrorSchema = () => z.union([\n z.enum([\"BadUTF16\"]),\n z.enum([\"BadUTF8\"]),\n z.enum([\"GasExceeded\"]),\n z.enum([\"GasLimitExceeded\"]),\n z.enum([\"BalanceExceeded\"]),\n z.enum([\"EmptyMethodName\"]),\n z.object({\n GuestPanic: z.object({\n panicMsg: z.string()\n })\n }),\n z.enum([\"IntegerOverflow\"]),\n z.object({\n InvalidPromiseIndex: z.object({\n promiseIdx: z.number()\n })\n }),\n z.enum([\"CannotAppendActionToJointPromise\"]),\n z.enum([\"CannotReturnJointPromise\"]),\n z.object({\n InvalidPromiseResultIndex: z.object({\n resultIdx: z.number()\n })\n }),\n z.object({\n InvalidRegisterId: z.object({\n registerId: z.number()\n })\n }),\n z.object({\n IteratorWasInvalidated: z.object({\n iteratorIndex: z.number()\n })\n }),\n z.enum([\"MemoryAccessViolation\"]),\n z.object({\n InvalidReceiptIndex: z.object({\n receiptIndex: z.number()\n })\n }),\n z.object({\n InvalidIteratorIndex: z.object({\n iteratorIndex: z.number()\n })\n }),\n z.enum([\"InvalidAccountId\"]),\n z.enum([\"InvalidMethodName\"]),\n z.enum([\"InvalidPublicKey\"]),\n z.object({\n ProhibitedInView: z.object({\n methodName: z.string()\n })\n }),\n z.object({\n NumberOfLogsExceeded: z.object({\n limit: z.number()\n })\n }),\n z.object({\n KeyLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n ValueLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n TotalLogLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n NumberPromisesExceeded: z.object({\n limit: z.number(),\n numberOfPromises: z.number()\n })\n }),\n z.object({\n NumberInputDataDependenciesExceeded: z.object({\n limit: z.number(),\n numberOfInputDataDependencies: z.number()\n })\n }),\n z.object({\n ReturnedValueLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n ContractSizeExceeded: z.object({\n limit: z.number(),\n size: z.number()\n })\n }),\n z.object({\n Deprecated: z.object({\n methodName: z.string()\n })\n }),\n z.object({\n ECRecoverError: z.object({\n msg: z.string()\n })\n }),\n z.object({\n AltBn128InvalidInput: z.object({\n msg: z.string()\n })\n }),\n z.object({\n Ed25519VerifyInvalidInput: z.object({\n msg: z.string()\n })\n })\n]);\nvar InvalidAccessKeyErrorSchema = () => z.union([\n z.object({\n AccessKeyNotFound: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.object({\n ReceiverMismatch: z.object({\n akReceiver: z.string(),\n txReceiver: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n MethodNameMismatch: z.object({\n methodName: z.string()\n })\n }),\n z.enum([\"RequiresFullAccess\"]),\n z.object({\n NotEnoughAllowance: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n allowance: z.string(),\n cost: z.string(),\n publicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.enum([\"DepositWithFunctionCall\"])\n]);\nvar InvalidTxErrorSchema = () => z.union([\n z.object({\n InvalidAccessKeyError: z.lazy(() => InvalidAccessKeyErrorSchema())\n }),\n z.object({\n InvalidSignerId: z.object({\n signerId: z.string()\n })\n }),\n z.object({\n SignerDoesNotExist: z.object({\n signerId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n InvalidNonce: z.object({\n akNonce: z.number(),\n txNonce: z.number()\n })\n }),\n z.object({\n NonceTooLarge: z.object({\n txNonce: z.number(),\n upperBound: z.number()\n })\n }),\n z.object({\n InvalidReceiverId: z.object({\n receiverId: z.string()\n })\n }),\n z.enum([\"InvalidSignature\"]),\n z.object({\n NotEnoughBalance: z.object({\n balance: z.string(),\n cost: z.string(),\n signerId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.object({\n LackBalanceForState: z.object({\n amount: z.string(),\n signerId: z.lazy(() => AccountIdSchema())\n })\n }),\n z.enum([\"CostOverflow\"]),\n z.enum([\"InvalidChain\"]),\n z.enum([\"Expired\"]),\n z.object({\n ActionsValidation: z.lazy(() => ActionsValidationErrorSchema())\n }),\n z.object({\n TransactionSizeExceeded: z.object({\n limit: z.number(),\n size: z.number()\n })\n }),\n z.enum([\"InvalidTransactionVersion\"]),\n z.object({\n StorageError: z.lazy(() => StorageErrorSchema())\n }),\n z.object({\n ShardCongested: z.object({\n congestionLevel: z.number(),\n shardId: z.number()\n })\n }),\n z.object({\n ShardStuck: z.object({\n missedChunks: z.number(),\n shardId: z.number()\n })\n })\n]);\nvar JsonRpcRequestFor_EXPERIMENTALChangesSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_changes\"]),\n params: z.lazy(() => RpcStateChangesInBlockByTypeRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALChangesInBlockSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_changes_in_block\"]),\n params: z.lazy(() => RpcStateChangesInBlockRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALCongestionLevelSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_congestion_level\"]),\n params: z.lazy(() => RpcCongestionLevelRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALGenesisConfigSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_genesis_config\"]),\n params: z.lazy(() => GenesisConfigRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALLightClientBlockProofSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_light_client_block_proof\"]),\n params: z.lazy(() => RpcLightClientBlockProofRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALLightClientProofSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_light_client_proof\"]),\n params: z.lazy(() => RpcLightClientExecutionProofRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALMaintenanceWindowsSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_maintenance_windows\"]),\n params: z.lazy(() => RpcMaintenanceWindowsRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALProtocolConfigSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_protocol_config\"]),\n params: z.lazy(() => RpcProtocolConfigRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALReceiptSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_receipt\"]),\n params: z.lazy(() => RpcReceiptRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALSplitStorageInfoSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_split_storage_info\"]),\n params: z.lazy(() => RpcSplitStorageInfoRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALTxStatusSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_tx_status\"]),\n params: z.lazy(() => RpcTransactionStatusRequestSchema())\n});\nvar JsonRpcRequestFor_EXPERIMENTALValidatorsOrderedSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"EXPERIMENTAL_validators_ordered\"]),\n params: z.lazy(() => RpcValidatorsOrderedRequestSchema())\n});\nvar JsonRpcRequestForBlockSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"block\"]),\n params: z.lazy(() => RpcBlockRequestSchema())\n});\nvar JsonRpcRequestForBlockEffectsSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"block_effects\"]),\n params: z.lazy(() => RpcStateChangesInBlockRequestSchema())\n});\nvar JsonRpcRequestForBroadcastTxAsyncSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"broadcast_tx_async\"]),\n params: z.lazy(() => RpcSendTransactionRequestSchema())\n});\nvar JsonRpcRequestForBroadcastTxCommitSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"broadcast_tx_commit\"]),\n params: z.lazy(() => RpcSendTransactionRequestSchema())\n});\nvar JsonRpcRequestForChangesSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"changes\"]),\n params: z.lazy(() => RpcStateChangesInBlockByTypeRequestSchema())\n});\nvar JsonRpcRequestForChunkSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"chunk\"]),\n params: z.lazy(() => RpcChunkRequestSchema())\n});\nvar JsonRpcRequestForClientConfigSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"client_config\"]),\n params: z.lazy(() => RpcClientConfigRequestSchema())\n});\nvar JsonRpcRequestForGasPriceSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"gas_price\"]),\n params: z.lazy(() => RpcGasPriceRequestSchema())\n});\nvar JsonRpcRequestForGenesisConfigSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"genesis_config\"]),\n params: z.lazy(() => GenesisConfigRequestSchema())\n});\nvar JsonRpcRequestForHealthSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"health\"]),\n params: z.lazy(() => RpcHealthRequestSchema())\n});\nvar JsonRpcRequestForLightClientProofSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"light_client_proof\"]),\n params: z.lazy(() => RpcLightClientExecutionProofRequestSchema())\n});\nvar JsonRpcRequestForMaintenanceWindowsSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"maintenance_windows\"]),\n params: z.lazy(() => RpcMaintenanceWindowsRequestSchema())\n});\nvar JsonRpcRequestForNetworkInfoSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"network_info\"]),\n params: z.lazy(() => RpcNetworkInfoRequestSchema())\n});\nvar JsonRpcRequestForNextLightClientBlockSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"next_light_client_block\"]),\n params: z.lazy(() => RpcLightClientNextBlockRequestSchema())\n});\nvar JsonRpcRequestForQuerySchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"query\"]),\n params: z.lazy(() => RpcQueryRequestSchema())\n});\nvar JsonRpcRequestForSendTxSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"send_tx\"]),\n params: z.lazy(() => RpcSendTransactionRequestSchema())\n});\nvar JsonRpcRequestForStatusSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"status\"]),\n params: z.lazy(() => RpcStatusRequestSchema())\n});\nvar JsonRpcRequestForTxSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"tx\"]),\n params: z.lazy(() => RpcTransactionStatusRequestSchema())\n});\nvar JsonRpcRequestForValidatorsSchema = () => z.object({\n id: z.string(),\n jsonrpc: z.string(),\n method: z.enum([\"validators\"]),\n params: z.lazy(() => RpcValidatorRequestSchema())\n});\nvar JsonRpcResponseFor_ArrayOf_RangeOfUint64And_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.array(z.lazy(() => RangeOfUint64Schema()))\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_ArrayOf_ValidatorStakeViewAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.array(z.lazy(() => ValidatorStakeViewSchema()))\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_CryptoHashAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => CryptoHashSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_GenesisConfigAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => GenesisConfigSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_Nullable_RpcHealthResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.union([z.lazy(() => RpcHealthResponseSchema()), z.null()])\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcBlockResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcBlockResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcChunkResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcChunkResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcClientConfigResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcClientConfigResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcCongestionLevelResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcCongestionLevelResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcGasPriceResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcGasPriceResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcLightClientBlockProofResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcLightClientBlockProofResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcLightClientExecutionProofResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcLightClientExecutionProofResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcLightClientNextBlockResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcLightClientNextBlockResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcNetworkInfoResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcNetworkInfoResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcProtocolConfigResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcProtocolConfigResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcQueryResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcQueryResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcReceiptResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcReceiptResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcSplitStorageInfoResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcSplitStorageInfoResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcStateChangesInBlockByTypeResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcStateChangesInBlockByTypeResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcStateChangesInBlockResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcStateChangesInBlockResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcStatusResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcStatusResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcTransactionResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcTransactionResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar JsonRpcResponseFor_RpcValidatorResponseAnd_RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n result: z.lazy(() => RpcValidatorResponseSchema())\n }),\n z.object({\n error: z.lazy(() => RpcErrorSchema())\n })\n ]),\n z.object({\n id: z.string(),\n jsonrpc: z.string()\n })\n);\nvar KnownProducerViewSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n nextHops: z.optional(\n z.union([\n z.union([z.array(z.lazy(() => PublicKeySchema())), z.null()]),\n z.null()\n ])\n ),\n peerId: z.lazy(() => PublicKeySchema())\n});\nvar LightClientBlockLiteViewSchema = () => z.object({\n innerLite: z.lazy(() => BlockHeaderInnerLiteViewSchema()),\n innerRestHash: z.lazy(() => CryptoHashSchema()),\n prevBlockHash: z.lazy(() => CryptoHashSchema())\n});\nvar LimitConfigSchema = () => z.object({\n accountIdValidityRulesVersion: z.optional(\n z.lazy(() => AccountIdValidityRulesVersionSchema())\n ),\n initialMemoryPages: z.number(),\n maxActionsPerReceipt: z.number(),\n maxArgumentsLength: z.number(),\n maxContractSize: z.number(),\n maxElementsPerContractTable: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n maxFunctionsNumberPerContract: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n maxGasBurnt: z.number(),\n maxLengthMethodName: z.number(),\n maxLengthReturnedData: z.number(),\n maxLengthStorageKey: z.number(),\n maxLengthStorageValue: z.number(),\n maxLocalsPerContract: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n maxMemoryPages: z.number(),\n maxNumberBytesMethodNames: z.number(),\n maxNumberInputDataDependencies: z.number(),\n maxNumberLogs: z.number(),\n maxNumberRegisters: z.number(),\n maxPromisesPerFunctionCallAction: z.number(),\n maxReceiptSize: z.number(),\n maxRegisterSize: z.number(),\n maxStackHeight: z.number(),\n maxTablesPerContract: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n maxTotalLogLength: z.number(),\n maxTotalPrepaidGas: z.number(),\n maxTransactionSize: z.number(),\n maxYieldPayloadSize: z.number(),\n perReceiptStorageProofSizeLimit: z.number(),\n registersMemoryLimit: z.number(),\n yieldTimeoutLengthInBlocks: z.number()\n});\nvar LogSummaryStyleSchema = () => z.enum([\"plain\", \"colored\"]);\nvar MerklePathItemSchema = () => z.object({\n direction: z.lazy(() => DirectionSchema()),\n hash: z.lazy(() => CryptoHashSchema())\n});\nvar MethodResolveErrorSchema = () => z.enum([\"MethodEmptyName\", \"MethodNotFound\", \"MethodInvalidSignature\"]);\nvar MissingTrieValueSchema = () => z.object({\n context: z.lazy(() => MissingTrieValueContextSchema()),\n hash: z.lazy(() => CryptoHashSchema())\n});\nvar MissingTrieValueContextSchema = () => z.union([\n z.enum([\"TrieIterator\"]),\n z.enum([\"TriePrefetchingStorage\"]),\n z.enum([\"TrieMemoryPartialStorage\"]),\n z.enum([\"TrieStorage\"])\n]);\nvar MutableConfigValueSchema = () => z.string();\nvar NetworkInfoViewSchema = () => z.object({\n connectedPeers: z.array(z.lazy(() => PeerInfoViewSchema())),\n knownProducers: z.array(z.lazy(() => KnownProducerViewSchema())),\n numConnectedPeers: z.number(),\n peerMaxCount: z.number(),\n tier1AccountsData: z.array(z.lazy(() => AccountDataViewSchema())),\n tier1AccountsKeys: z.array(z.lazy(() => PublicKeySchema())),\n tier1Connections: z.array(z.lazy(() => PeerInfoViewSchema()))\n});\nvar NextEpochValidatorInfoSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema()),\n shards: z.array(z.lazy(() => ShardIdSchema())),\n stake: z.string()\n});\nvar NonDelegateActionSchema = () => z.union([\n z.object({\n CreateAccount: z.lazy(() => CreateAccountActionSchema())\n }),\n z.object({\n DeployContract: z.lazy(() => DeployContractActionSchema())\n }),\n z.object({\n FunctionCall: z.lazy(() => FunctionCallActionSchema())\n }),\n z.object({\n Transfer: z.lazy(() => TransferActionSchema())\n }),\n z.object({\n Stake: z.lazy(() => StakeActionSchema())\n }),\n z.object({\n AddKey: z.lazy(() => AddKeyActionSchema())\n }),\n z.object({\n DeleteKey: z.lazy(() => DeleteKeyActionSchema())\n }),\n z.object({\n DeleteAccount: z.lazy(() => DeleteAccountActionSchema())\n }),\n z.object({\n DeployGlobalContract: z.lazy(() => DeployGlobalContractActionSchema())\n }),\n z.object({\n UseGlobalContract: z.lazy(() => UseGlobalContractActionSchema())\n })\n]);\nvar PeerIdSchema = () => z.lazy(() => PublicKeySchema());\nvar PeerInfoViewSchema = () => z.object({\n accountId: z.optional(z.union([z.lazy(() => AccountIdSchema()), z.null()])),\n addr: z.string(),\n archival: z.boolean(),\n blockHash: z.optional(\n z.union([z.lazy(() => CryptoHashSchema()), z.null()])\n ),\n connectionEstablishedTimeMillis: z.number(),\n height: z.optional(z.union([z.union([z.number(), z.null()]), z.null()])),\n isHighestBlockInvalid: z.boolean(),\n isOutboundPeer: z.boolean(),\n lastTimePeerRequestedMillis: z.number(),\n lastTimeReceivedMessageMillis: z.number(),\n nonce: z.number(),\n peerId: z.lazy(() => PublicKeySchema()),\n receivedBytesPerSec: z.number(),\n sentBytesPerSec: z.number(),\n trackedShards: z.array(z.lazy(() => ShardIdSchema()))\n});\nvar PrepareErrorSchema = () => z.union([\n z.enum([\"Serialization\"]),\n z.enum([\"Deserialization\"]),\n z.enum([\"InternalMemoryDeclared\"]),\n z.enum([\"GasInstrumentation\"]),\n z.enum([\"StackHeightInstrumentation\"]),\n z.enum([\"Instantiate\"]),\n z.enum([\"Memory\"]),\n z.enum([\"TooManyFunctions\"]),\n z.enum([\"TooManyLocals\"]),\n z.enum([\"TooManyTables\"]),\n z.enum([\"TooManyTableElements\"])\n]);\nvar PublicKeySchema = () => z.string();\nvar RangeOfUint64Schema = () => z.object({\n end: z.number(),\n start: z.number()\n});\nvar ReceiptEnumViewSchema = () => z.union([\n z.object({\n Action: z.object({\n actions: z.array(z.lazy(() => ActionViewSchema())),\n gasPrice: z.string(),\n inputDataIds: z.array(z.lazy(() => CryptoHashSchema())),\n isPromiseYield: z.optional(z.boolean()),\n outputDataReceivers: z.array(z.lazy(() => DataReceiverViewSchema())),\n signerId: z.lazy(() => AccountIdSchema()),\n signerPublicKey: z.lazy(() => PublicKeySchema())\n })\n }),\n z.object({\n Data: z.object({\n data: z.optional(z.union([z.union([z.string(), z.null()]), z.null()])),\n dataId: z.lazy(() => CryptoHashSchema()),\n isPromiseResume: z.optional(z.boolean())\n })\n }),\n z.object({\n GlobalContractDistribution: z.object({\n alreadyDeliveredShards: z.array(z.lazy(() => ShardIdSchema())),\n code: z.string(),\n id: z.lazy(() => GlobalContractIdentifierSchema()),\n targetShard: z.lazy(() => ShardIdSchema())\n })\n })\n]);\nvar ReceiptValidationErrorSchema = () => z.union([\n z.object({\n InvalidPredecessorId: z.object({\n accountId: z.string()\n })\n }),\n z.object({\n InvalidReceiverId: z.object({\n accountId: z.string()\n })\n }),\n z.object({\n InvalidSignerId: z.object({\n accountId: z.string()\n })\n }),\n z.object({\n InvalidDataReceiverId: z.object({\n accountId: z.string()\n })\n }),\n z.object({\n ReturnedValueLengthExceeded: z.object({\n length: z.number(),\n limit: z.number()\n })\n }),\n z.object({\n NumberInputDataDependenciesExceeded: z.object({\n limit: z.number(),\n numberOfInputDataDependencies: z.number()\n })\n }),\n z.object({\n ActionsValidation: z.lazy(() => ActionsValidationErrorSchema())\n }),\n z.object({\n ReceiptSizeExceeded: z.object({\n limit: z.number(),\n size: z.number()\n })\n })\n]);\nvar ReceiptViewSchema = () => z.object({\n predecessorId: z.lazy(() => AccountIdSchema()),\n priority: z.optional(z.number()),\n receipt: z.lazy(() => ReceiptEnumViewSchema()),\n receiptId: z.lazy(() => CryptoHashSchema()),\n receiverId: z.lazy(() => AccountIdSchema())\n});\nvar RpcBlockRequestSchema = () => z.union([\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n })\n]);\nvar RpcBlockResponseSchema = () => z.object({\n author: z.lazy(() => AccountIdSchema()),\n chunks: z.array(z.lazy(() => ChunkHeaderViewSchema())),\n header: z.lazy(() => BlockHeaderViewSchema())\n});\nvar RpcChunkRequestSchema = () => z.union([\n z.object({\n blockId: z.lazy(() => BlockIdSchema()),\n shardId: z.lazy(() => ShardIdSchema())\n }),\n z.object({\n chunkId: z.lazy(() => CryptoHashSchema())\n })\n]);\nvar RpcChunkResponseSchema = () => z.object({\n author: z.lazy(() => AccountIdSchema()),\n header: z.lazy(() => ChunkHeaderViewSchema()),\n receipts: z.array(z.lazy(() => ReceiptViewSchema())),\n transactions: z.array(z.lazy(() => SignedTransactionViewSchema()))\n});\nvar RpcClientConfigRequestSchema = () => z.null();\nvar RpcClientConfigResponseSchema = () => z.object({\n archive: z.boolean(),\n blockFetchHorizon: z.number(),\n blockHeaderFetchHorizon: z.number(),\n blockProductionTrackingDelay: z.array(z.number()),\n catchupStepPeriod: z.array(z.number()),\n chainId: z.string(),\n chunkDistributionNetwork: z.optional(\n z.union([z.lazy(() => ChunkDistributionNetworkConfigSchema()), z.null()])\n ),\n chunkRequestRetryPeriod: z.array(z.number()),\n chunkValidationThreads: z.number(),\n chunkWaitMult: z.array(z.number()),\n clientBackgroundMigrationThreads: z.number(),\n doomslugStepPeriod: z.array(z.number()),\n enableMultilineLogging: z.boolean(),\n enableStatisticsExport: z.boolean(),\n epochLength: z.number(),\n epochSync: z.lazy(() => EpochSyncConfigSchema()),\n expectedShutdown: z.lazy(() => MutableConfigValueSchema()),\n gc: z.lazy(() => GCConfigSchema()),\n headerSyncExpectedHeightPerSecond: z.number(),\n headerSyncInitialTimeout: z.array(z.number()),\n headerSyncProgressTimeout: z.array(z.number()),\n headerSyncStallBanTimeout: z.array(z.number()),\n logSummaryPeriod: z.array(z.number()),\n logSummaryStyle: z.lazy(() => LogSummaryStyleSchema()),\n maxBlockProductionDelay: z.array(z.number()),\n maxBlockWaitDelay: z.array(z.number()),\n maxGasBurntView: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n minBlockProductionDelay: z.array(z.number()),\n minNumPeers: z.number(),\n numBlockProducerSeats: z.number(),\n orphanStateWitnessMaxSize: z.number(),\n orphanStateWitnessPoolSize: z.number(),\n produceChunkAddTransactionsTimeLimit: z.string(),\n produceEmptyBlocks: z.boolean(),\n reshardingConfig: z.lazy(() => MutableConfigValueSchema()),\n rpcAddr: z.optional(z.union([z.union([z.string(), z.null()]), z.null()])),\n saveInvalidWitnesses: z.boolean(),\n saveLatestWitnesses: z.boolean(),\n saveTrieChanges: z.boolean(),\n saveTxOutcomes: z.boolean(),\n skipSyncWait: z.boolean(),\n stateRequestServerThreads: z.number(),\n stateRequestThrottlePeriod: z.array(z.number()),\n stateRequestsPerThrottlePeriod: z.number(),\n stateSync: z.lazy(() => StateSyncConfigSchema()),\n stateSyncEnabled: z.boolean(),\n stateSyncExternalBackoff: z.array(z.number()),\n stateSyncExternalTimeout: z.array(z.number()),\n stateSyncP2pTimeout: z.array(z.number()),\n stateSyncRetryBackoff: z.array(z.number()),\n syncCheckPeriod: z.array(z.number()),\n syncHeightThreshold: z.number(),\n syncMaxBlockRequests: z.number(),\n syncStepPeriod: z.array(z.number()),\n trackedShardsConfig: z.lazy(() => TrackedShardsConfigSchema()),\n transactionPoolSizeLimit: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n transactionRequestHandlerThreads: z.number(),\n trieViewerStateSizeLimit: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n ttlAccountIdRouter: z.array(z.number()),\n txRoutingHeightHorizon: z.number(),\n version: z.lazy(() => VersionSchema()),\n viewClientThreads: z.number()\n});\nvar RpcCongestionLevelRequestSchema = () => z.union([\n z.object({\n blockId: z.lazy(() => BlockIdSchema()),\n shardId: z.lazy(() => ShardIdSchema())\n }),\n z.object({\n chunkId: z.lazy(() => CryptoHashSchema())\n })\n]);\nvar RpcCongestionLevelResponseSchema = () => z.object({\n congestionLevel: z.number()\n});\nvar RpcErrorSchema = () => z.intersection(\n z.union([\n z.object({\n cause: z.lazy(() => RpcRequestValidationErrorKindSchema()),\n name: z.enum([\"REQUEST_VALIDATION_ERROR\"])\n }),\n z.object({\n cause: z.unknown(),\n name: z.enum([\"HANDLER_ERROR\"])\n }),\n z.object({\n cause: z.unknown(),\n name: z.enum([\"INTERNAL_ERROR\"])\n })\n ]),\n z.object({\n cause: z.optional(z.unknown()),\n code: z.number(),\n data: z.optional(z.unknown()),\n message: z.string(),\n name: z.optional(z.unknown())\n })\n);\nvar RpcGasPriceRequestSchema = () => z.object({\n blockId: z.optional(z.union([z.lazy(() => BlockIdSchema()), z.null()]))\n});\nvar RpcGasPriceResponseSchema = () => z.object({\n gasPrice: z.string()\n});\nvar RpcHealthRequestSchema = () => z.null();\nvar RpcHealthResponseSchema = () => z.null();\nvar RpcKnownProducerSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n addr: z.optional(z.union([z.union([z.string(), z.null()]), z.null()])),\n peerId: z.lazy(() => PeerIdSchema())\n});\nvar RpcLightClientBlockProofRequestSchema = () => z.object({\n blockHash: z.lazy(() => CryptoHashSchema()),\n lightClientHead: z.lazy(() => CryptoHashSchema())\n});\nvar RpcLightClientBlockProofResponseSchema = () => z.object({\n blockHeaderLite: z.lazy(() => LightClientBlockLiteViewSchema()),\n blockProof: z.array(z.lazy(() => MerklePathItemSchema()))\n});\nvar RpcLightClientExecutionProofRequestSchema = () => z.intersection(\n z.union([\n z.object({\n senderId: z.lazy(() => AccountIdSchema()),\n transactionHash: z.lazy(() => CryptoHashSchema()),\n type: z.enum([\"transaction\"])\n }),\n z.object({\n receiptId: z.lazy(() => CryptoHashSchema()),\n receiverId: z.lazy(() => AccountIdSchema()),\n type: z.enum([\"receipt\"])\n })\n ]),\n z.object({\n lightClientHead: z.lazy(() => CryptoHashSchema())\n })\n);\nvar RpcLightClientExecutionProofResponseSchema = () => z.object({\n blockHeaderLite: z.lazy(() => LightClientBlockLiteViewSchema()),\n blockProof: z.array(z.lazy(() => MerklePathItemSchema())),\n outcomeProof: z.lazy(() => ExecutionOutcomeWithIdViewSchema()),\n outcomeRootProof: z.array(z.lazy(() => MerklePathItemSchema()))\n});\nvar RpcLightClientNextBlockRequestSchema = () => z.object({\n lastBlockHash: z.lazy(() => CryptoHashSchema())\n});\nvar RpcLightClientNextBlockResponseSchema = () => z.object({\n approvalsAfterNext: z.optional(\n z.array(z.union([z.lazy(() => SignatureSchema()), z.null()]))\n ),\n innerLite: z.optional(z.lazy(() => BlockHeaderInnerLiteViewSchema())),\n innerRestHash: z.optional(z.lazy(() => CryptoHashSchema())),\n nextBlockInnerHash: z.optional(z.lazy(() => CryptoHashSchema())),\n nextBps: z.optional(\n z.union([\n z.union([z.array(z.lazy(() => ValidatorStakeViewSchema())), z.null()]),\n z.null()\n ])\n ),\n prevBlockHash: z.optional(z.lazy(() => CryptoHashSchema()))\n});\nvar RpcMaintenanceWindowsRequestSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema())\n});\nvar RpcNetworkInfoRequestSchema = () => z.null();\nvar RpcNetworkInfoResponseSchema = () => z.object({\n activePeers: z.array(z.lazy(() => RpcPeerInfoSchema())),\n knownProducers: z.array(z.lazy(() => RpcKnownProducerSchema())),\n numActivePeers: z.number(),\n peerMaxCount: z.number(),\n receivedBytesPerSec: z.number(),\n sentBytesPerSec: z.number()\n});\nvar RpcPeerInfoSchema = () => z.object({\n accountId: z.optional(z.union([z.lazy(() => AccountIdSchema()), z.null()])),\n addr: z.optional(z.union([z.union([z.string(), z.null()]), z.null()])),\n id: z.lazy(() => PeerIdSchema())\n});\nvar RpcProtocolConfigRequestSchema = () => z.union([\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n })\n]);\nvar RpcProtocolConfigResponseSchema = () => z.object({\n avgHiddenValidatorSeatsPerShard: z.array(z.number()),\n blockProducerKickoutThreshold: z.number(),\n chainId: z.string(),\n chunkProducerKickoutThreshold: z.number(),\n chunkValidatorOnlyKickoutThreshold: z.number(),\n dynamicResharding: z.boolean(),\n epochLength: z.number(),\n fishermenThreshold: z.string(),\n gasLimit: z.number(),\n gasPriceAdjustmentRate: z.array(z.number()),\n genesisHeight: z.number(),\n genesisTime: z.string(),\n maxGasPrice: z.string(),\n maxInflationRate: z.array(z.number()),\n maxKickoutStakePerc: z.number(),\n minGasPrice: z.string(),\n minimumStakeDivisor: z.number(),\n minimumStakeRatio: z.array(z.number()),\n minimumValidatorsPerShard: z.number(),\n numBlockProducerSeats: z.number(),\n numBlockProducerSeatsPerShard: z.array(z.number()),\n numBlocksPerYear: z.number(),\n onlineMaxThreshold: z.array(z.number()),\n onlineMinThreshold: z.array(z.number()),\n protocolRewardRate: z.array(z.number()),\n protocolTreasuryAccount: z.lazy(() => AccountIdSchema()),\n protocolUpgradeStakeThreshold: z.array(z.number()),\n protocolVersion: z.number(),\n runtimeConfig: z.lazy(() => RuntimeConfigViewSchema()),\n shardLayout: z.lazy(() => ShardLayoutSchema()),\n shuffleShardAssignmentForChunkProducers: z.boolean(),\n targetValidatorMandatesPerShard: z.number(),\n transactionValidityPeriod: z.number()\n});\nvar RpcQueryRequestSchema = () => z.union([\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_account\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_code\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n includeProof: z.optional(z.boolean()),\n prefixBase64: z.lazy(() => StoreKeySchema()),\n requestType: z.enum([\"view_state\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema()),\n requestType: z.enum([\"view_access_key\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_access_key_list\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n argsBase64: z.lazy(() => FunctionArgsSchema()),\n methodName: z.string(),\n requestType: z.enum([\"call_function\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n codeHash: z.lazy(() => CryptoHashSchema()),\n requestType: z.enum([\"view_global_contract_code\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_global_contract_code_by_account_id\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_account\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_code\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n includeProof: z.optional(z.boolean()),\n prefixBase64: z.lazy(() => StoreKeySchema()),\n requestType: z.enum([\"view_state\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema()),\n requestType: z.enum([\"view_access_key\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_access_key_list\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n argsBase64: z.lazy(() => FunctionArgsSchema()),\n methodName: z.string(),\n requestType: z.enum([\"call_function\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n codeHash: z.lazy(() => CryptoHashSchema()),\n requestType: z.enum([\"view_global_contract_code\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_global_contract_code_by_account_id\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_account\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_code\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n includeProof: z.optional(z.boolean()),\n prefixBase64: z.lazy(() => StoreKeySchema()),\n requestType: z.enum([\"view_state\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema()),\n requestType: z.enum([\"view_access_key\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_access_key_list\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n argsBase64: z.lazy(() => FunctionArgsSchema()),\n methodName: z.string(),\n requestType: z.enum([\"call_function\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n codeHash: z.lazy(() => CryptoHashSchema()),\n requestType: z.enum([\"view_global_contract_code\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n requestType: z.enum([\"view_global_contract_code_by_account_id\"])\n })\n )\n]);\nvar RpcQueryResponseSchema = () => z.intersection(\n z.union([\n z.lazy(() => AccountViewSchema()),\n z.lazy(() => ContractCodeViewSchema()),\n z.lazy(() => ViewStateResultSchema()),\n z.lazy(() => CallResultSchema()),\n z.lazy(() => AccessKeyViewSchema()),\n z.lazy(() => AccessKeyListSchema())\n ]),\n z.object({\n blockHash: z.lazy(() => CryptoHashSchema()),\n blockHeight: z.number()\n })\n);\nvar RpcReceiptRequestSchema = () => z.object({\n receiptId: z.lazy(() => CryptoHashSchema())\n});\nvar RpcReceiptResponseSchema = () => z.object({\n predecessorId: z.lazy(() => AccountIdSchema()),\n priority: z.optional(z.number()),\n receipt: z.lazy(() => ReceiptEnumViewSchema()),\n receiptId: z.lazy(() => CryptoHashSchema()),\n receiverId: z.lazy(() => AccountIdSchema())\n});\nvar RpcRequestValidationErrorKindSchema = () => z.union([\n z.object({\n info: z.object({\n methodName: z.string()\n }),\n name: z.enum([\"METHOD_NOT_FOUND\"])\n }),\n z.object({\n info: z.object({\n errorMessage: z.string()\n }),\n name: z.enum([\"PARSE_ERROR\"])\n })\n]);\nvar RpcSendTransactionRequestSchema = () => z.object({\n signedTxBase64: z.lazy(() => SignedTransactionSchema()),\n waitUntil: z.optional(z.lazy(() => TxExecutionStatusSchema()))\n});\nvar RpcSplitStorageInfoRequestSchema = () => z.record(z.string(), z.unknown());\nvar RpcSplitStorageInfoResponseSchema = () => z.object({\n coldHeadHeight: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n finalHeadHeight: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n headHeight: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n hotDbKind: z.optional(z.union([z.union([z.string(), z.null()]), z.null()]))\n});\nvar RpcStateChangesInBlockByTypeRequestSchema = () => z.union([\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"account_changes\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n changesType: z.enum([\"single_access_key_changes\"]),\n keys: z.array(z.lazy(() => AccountWithPublicKeySchema()))\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n changesType: z.enum([\"single_gas_key_changes\"]),\n keys: z.array(z.lazy(() => AccountWithPublicKeySchema()))\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"all_access_key_changes\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"all_gas_key_changes\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"contract_code_changes\"])\n })\n ),\n z.intersection(\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"data_changes\"]),\n keyPrefixBase64: z.lazy(() => StoreKeySchema())\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"account_changes\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n changesType: z.enum([\"single_access_key_changes\"]),\n keys: z.array(z.lazy(() => AccountWithPublicKeySchema()))\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n changesType: z.enum([\"single_gas_key_changes\"]),\n keys: z.array(z.lazy(() => AccountWithPublicKeySchema()))\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"all_access_key_changes\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"all_gas_key_changes\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"contract_code_changes\"])\n })\n ),\n z.intersection(\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"data_changes\"]),\n keyPrefixBase64: z.lazy(() => StoreKeySchema())\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"account_changes\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n changesType: z.enum([\"single_access_key_changes\"]),\n keys: z.array(z.lazy(() => AccountWithPublicKeySchema()))\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n changesType: z.enum([\"single_gas_key_changes\"]),\n keys: z.array(z.lazy(() => AccountWithPublicKeySchema()))\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"all_access_key_changes\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"all_gas_key_changes\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"contract_code_changes\"])\n })\n ),\n z.intersection(\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n }),\n z.object({\n accountIds: z.array(z.lazy(() => AccountIdSchema())),\n changesType: z.enum([\"data_changes\"]),\n keyPrefixBase64: z.lazy(() => StoreKeySchema())\n })\n )\n]);\nvar RpcStateChangesInBlockByTypeResponseSchema = () => z.object({\n blockHash: z.lazy(() => CryptoHashSchema()),\n changes: z.array(z.lazy(() => StateChangeKindViewSchema()))\n});\nvar RpcStateChangesInBlockRequestSchema = () => z.union([\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n }),\n z.object({\n finality: z.lazy(() => FinalitySchema())\n }),\n z.object({\n syncCheckpoint: z.lazy(() => SyncCheckpointSchema())\n })\n]);\nvar RpcStateChangesInBlockResponseSchema = () => z.object({\n blockHash: z.lazy(() => CryptoHashSchema()),\n changes: z.array(z.lazy(() => StateChangeWithCauseViewSchema()))\n});\nvar RpcStatusRequestSchema = () => z.null();\nvar RpcStatusResponseSchema = () => z.object({\n chainId: z.string(),\n detailedDebugStatus: z.optional(\n z.union([z.lazy(() => DetailedDebugStatusSchema()), z.null()])\n ),\n genesisHash: z.lazy(() => CryptoHashSchema()),\n latestProtocolVersion: z.number(),\n nodeKey: z.optional(z.union([z.lazy(() => PublicKeySchema()), z.null()])),\n nodePublicKey: z.lazy(() => PublicKeySchema()),\n protocolVersion: z.number(),\n rpcAddr: z.optional(z.union([z.union([z.string(), z.null()]), z.null()])),\n syncInfo: z.lazy(() => StatusSyncInfoSchema()),\n uptimeSec: z.number(),\n validatorAccountId: z.optional(\n z.union([z.lazy(() => AccountIdSchema()), z.null()])\n ),\n validatorPublicKey: z.optional(\n z.union([z.lazy(() => PublicKeySchema()), z.null()])\n ),\n validators: z.array(z.lazy(() => ValidatorInfoSchema())),\n version: z.lazy(() => VersionSchema())\n});\nvar RpcTransactionResponseSchema = () => z.intersection(\n z.union([\n z.lazy(() => FinalExecutionOutcomeWithReceiptViewSchema()),\n z.lazy(() => FinalExecutionOutcomeViewSchema())\n ]),\n z.object({\n finalExecutionStatus: z.lazy(() => TxExecutionStatusSchema())\n })\n);\nvar RpcTransactionStatusRequestSchema = () => z.intersection(\n z.union([\n z.object({\n signedTxBase64: z.lazy(() => SignedTransactionSchema())\n }),\n z.object({\n senderAccountId: z.lazy(() => AccountIdSchema()),\n txHash: z.lazy(() => CryptoHashSchema())\n })\n ]),\n z.object({\n waitUntil: z.optional(z.lazy(() => TxExecutionStatusSchema()))\n })\n);\nvar RpcValidatorRequestSchema = () => z.union([\n z.enum([\"latest\"]),\n z.object({\n epochId: z.lazy(() => EpochIdSchema())\n }),\n z.object({\n blockId: z.lazy(() => BlockIdSchema())\n })\n]);\nvar RpcValidatorResponseSchema = () => z.object({\n currentFishermen: z.array(z.lazy(() => ValidatorStakeViewSchema())),\n currentProposals: z.array(z.lazy(() => ValidatorStakeViewSchema())),\n currentValidators: z.array(z.lazy(() => CurrentEpochValidatorInfoSchema())),\n epochHeight: z.number(),\n epochStartHeight: z.number(),\n nextFishermen: z.array(z.lazy(() => ValidatorStakeViewSchema())),\n nextValidators: z.array(z.lazy(() => NextEpochValidatorInfoSchema())),\n prevEpochKickout: z.array(z.lazy(() => ValidatorKickoutViewSchema()))\n});\nvar RpcValidatorsOrderedRequestSchema = () => z.object({\n blockId: z.optional(z.union([z.lazy(() => BlockIdSchema()), z.null()]))\n});\nvar RuntimeConfigViewSchema = () => z.object({\n accountCreationConfig: z.lazy(() => AccountCreationConfigViewSchema()),\n congestionControlConfig: z.lazy(() => CongestionControlConfigViewSchema()),\n storageAmountPerByte: z.string(),\n transactionCosts: z.lazy(() => RuntimeFeesConfigViewSchema()),\n wasmConfig: z.lazy(() => VMConfigViewSchema()),\n witnessConfig: z.lazy(() => WitnessConfigViewSchema())\n});\nvar RuntimeFeesConfigViewSchema = () => z.object({\n actionCreationConfig: z.lazy(() => ActionCreationConfigViewSchema()),\n actionReceiptCreationConfig: z.lazy(() => FeeSchema()),\n burntGasReward: z.array(z.number()),\n dataReceiptCreationConfig: z.lazy(\n () => DataReceiptCreationConfigViewSchema()\n ),\n pessimisticGasPriceInflationRatio: z.array(z.number()),\n storageUsageConfig: z.lazy(() => StorageUsageConfigViewSchema())\n});\nvar ShardIdSchema = () => z.number();\nvar ShardLayoutSchema = () => z.union([\n z.object({\n V0: z.lazy(() => ShardLayoutV0Schema())\n }),\n z.object({\n V1: z.lazy(() => ShardLayoutV1Schema())\n }),\n z.object({\n V2: z.lazy(() => ShardLayoutV2Schema())\n })\n]);\nvar ShardLayoutV0Schema = () => z.object({\n numShards: z.number(),\n version: z.number()\n});\nvar ShardLayoutV1Schema = () => z.object({\n boundaryAccounts: z.array(z.lazy(() => AccountIdSchema())),\n shardsSplitMap: z.optional(\n z.union([\n z.union([z.array(z.array(z.lazy(() => ShardIdSchema()))), z.null()]),\n z.null()\n ])\n ),\n toParentShardMap: z.optional(\n z.union([\n z.union([z.array(z.lazy(() => ShardIdSchema())), z.null()]),\n z.null()\n ])\n ),\n version: z.number()\n});\nvar ShardLayoutV2Schema = () => z.object({\n boundaryAccounts: z.array(z.lazy(() => AccountIdSchema())),\n idToIndexMap: z.record(z.string(), z.number()),\n indexToIdMap: z.record(\n z.string(),\n z.lazy(() => ShardIdSchema())\n ),\n shardIds: z.array(z.lazy(() => ShardIdSchema())),\n shardsParentMap: z.optional(\n z.union([\n z.union([\n z.record(\n z.string(),\n z.lazy(() => ShardIdSchema())\n ),\n z.null()\n ]),\n z.null()\n ])\n ),\n shardsSplitMap: z.optional(\n z.union([\n z.union([\n z.record(z.string(), z.array(z.lazy(() => ShardIdSchema()))),\n z.null()\n ]),\n z.null()\n ])\n ),\n version: z.number()\n});\nvar ShardUIdSchema = () => z.object({\n shardId: z.number(),\n version: z.number()\n});\nvar SignatureSchema = () => z.string();\nvar SignedDelegateActionSchema = () => z.object({\n delegateAction: z.lazy(() => DelegateActionSchema()),\n signature: z.lazy(() => SignatureSchema())\n});\nvar SignedTransactionSchema = () => z.string();\nvar SignedTransactionViewSchema = () => z.object({\n actions: z.array(z.lazy(() => ActionViewSchema())),\n hash: z.lazy(() => CryptoHashSchema()),\n nonce: z.number(),\n priorityFee: z.optional(z.number()),\n publicKey: z.lazy(() => PublicKeySchema()),\n receiverId: z.lazy(() => AccountIdSchema()),\n signature: z.lazy(() => SignatureSchema()),\n signerId: z.lazy(() => AccountIdSchema())\n});\nvar SlashedValidatorSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n isDoubleSign: z.boolean()\n});\nvar StakeActionSchema = () => z.object({\n publicKey: z.lazy(() => PublicKeySchema()),\n stake: z.string()\n});\nvar StateChangeCauseViewSchema = () => z.union([\n z.object({\n type: z.enum([\"not_writable_to_disk\"])\n }),\n z.object({\n type: z.enum([\"initial_state\"])\n }),\n z.object({\n txHash: z.lazy(() => CryptoHashSchema()),\n type: z.enum([\"transaction_processing\"])\n }),\n z.object({\n receiptHash: z.lazy(() => CryptoHashSchema()),\n type: z.enum([\"action_receipt_processing_started\"])\n }),\n z.object({\n receiptHash: z.lazy(() => CryptoHashSchema()),\n type: z.enum([\"action_receipt_gas_reward\"])\n }),\n z.object({\n receiptHash: z.lazy(() => CryptoHashSchema()),\n type: z.enum([\"receipt_processing\"])\n }),\n z.object({\n receiptHash: z.lazy(() => CryptoHashSchema()),\n type: z.enum([\"postponed_receipt\"])\n }),\n z.object({\n type: z.enum([\"updated_delayed_receipts\"])\n }),\n z.object({\n type: z.enum([\"validator_accounts_update\"])\n }),\n z.object({\n type: z.enum([\"migration\"])\n }),\n z.object({\n type: z.enum([\"bandwidth_scheduler_state_update\"])\n })\n]);\nvar StateChangeKindViewSchema = () => z.union([\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n type: z.enum([\"account_touched\"])\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n type: z.enum([\"access_key_touched\"])\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n type: z.enum([\"data_touched\"])\n }),\n z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n type: z.enum([\"contract_code_touched\"])\n })\n]);\nvar StateChangeWithCauseViewSchema = () => z.intersection(\n z.union([\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n amount: z.string(),\n codeHash: z.lazy(() => CryptoHashSchema()),\n globalContractAccountId: z.optional(\n z.union([z.lazy(() => AccountIdSchema()), z.null()])\n ),\n globalContractHash: z.optional(\n z.union([z.lazy(() => CryptoHashSchema()), z.null()])\n ),\n locked: z.string(),\n storagePaidAt: z.optional(z.number()),\n storageUsage: z.number()\n }),\n type: z.enum([\"account_update\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n }),\n type: z.enum([\"account_deletion\"])\n }),\n z.object({\n change: z.object({\n accessKey: z.lazy(() => AccessKeyViewSchema()),\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n }),\n type: z.enum([\"access_key_update\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n }),\n type: z.enum([\"access_key_deletion\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n gasKey: z.lazy(() => GasKeyViewSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n }),\n type: z.enum([\"gas_key_update\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n index: z.number(),\n nonce: z.number(),\n publicKey: z.lazy(() => PublicKeySchema())\n }),\n type: z.enum([\"gas_key_nonce_update\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema())\n }),\n type: z.enum([\"gas_key_deletion\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n keyBase64: z.lazy(() => StoreKeySchema()),\n valueBase64: z.lazy(() => StoreValueSchema())\n }),\n type: z.enum([\"data_update\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n keyBase64: z.lazy(() => StoreKeySchema())\n }),\n type: z.enum([\"data_deletion\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n codeBase64: z.string()\n }),\n type: z.enum([\"contract_code_update\"])\n }),\n z.object({\n change: z.object({\n accountId: z.lazy(() => AccountIdSchema())\n }),\n type: z.enum([\"contract_code_deletion\"])\n })\n ]),\n z.object({\n cause: z.lazy(() => StateChangeCauseViewSchema())\n })\n);\nvar StateItemSchema = () => z.object({\n key: z.lazy(() => StoreKeySchema()),\n value: z.lazy(() => StoreValueSchema())\n});\nvar StateSyncConfigSchema = () => z.object({\n concurrency: z.optional(z.lazy(() => SyncConcurrencySchema())),\n dump: z.optional(z.union([z.lazy(() => DumpConfigSchema()), z.null()])),\n sync: z.optional(z.lazy(() => SyncConfigSchema()))\n});\nvar StatusSyncInfoSchema = () => z.object({\n earliestBlockHash: z.optional(\n z.union([z.lazy(() => CryptoHashSchema()), z.null()])\n ),\n earliestBlockHeight: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n earliestBlockTime: z.optional(\n z.union([z.union([z.string(), z.null()]), z.null()])\n ),\n epochId: z.optional(z.union([z.lazy(() => EpochIdSchema()), z.null()])),\n epochStartHeight: z.optional(\n z.union([z.union([z.number(), z.null()]), z.null()])\n ),\n latestBlockHash: z.lazy(() => CryptoHashSchema()),\n latestBlockHeight: z.number(),\n latestBlockTime: z.string(),\n latestStateRoot: z.lazy(() => CryptoHashSchema()),\n syncing: z.boolean()\n});\nvar StorageErrorSchema = () => z.union([\n z.enum([\"StorageInternalError\"]),\n z.object({\n MissingTrieValue: z.lazy(() => MissingTrieValueSchema())\n }),\n z.enum([\"UnexpectedTrieValue\"]),\n z.object({\n StorageInconsistentState: z.string()\n }),\n z.object({\n FlatStorageBlockNotSupported: z.string()\n }),\n z.object({\n MemTrieLoadingError: z.string()\n })\n]);\nvar StorageGetModeSchema = () => z.enum([\"FlatStorage\", \"Trie\"]);\nvar StorageUsageConfigViewSchema = () => z.object({\n numBytesAccount: z.number(),\n numExtraBytesRecord: z.number()\n});\nvar StoreKeySchema = () => z.string();\nvar StoreValueSchema = () => z.string();\nvar SyncCheckpointSchema = () => z.enum([\"genesis\", \"earliest_available\"]);\nvar SyncConcurrencySchema = () => z.object({\n apply: z.number(),\n applyDuringCatchup: z.number(),\n peerDownloads: z.number(),\n perShard: z.number()\n});\nvar SyncConfigSchema = () => z.union([\n z.enum([\"Peers\"]),\n z.object({\n ExternalStorage: z.lazy(() => ExternalStorageConfigSchema())\n })\n]);\nvar Tier1ProxyViewSchema = () => z.object({\n addr: z.string(),\n peerId: z.lazy(() => PublicKeySchema())\n});\nvar TrackedShardsConfigSchema = () => z.union([\n z.enum([\"NoShards\"]),\n z.object({\n Shards: z.array(z.lazy(() => ShardUIdSchema()))\n }),\n z.enum([\"AllShards\"]),\n z.object({\n ShadowValidator: z.lazy(() => AccountIdSchema())\n }),\n z.object({\n Schedule: z.array(z.array(z.lazy(() => ShardIdSchema())))\n }),\n z.object({\n Accounts: z.array(z.lazy(() => AccountIdSchema()))\n })\n]);\nvar TransferActionSchema = () => z.object({\n deposit: z.string()\n});\nvar TxExecutionErrorSchema = () => z.union([\n z.object({\n ActionError: z.lazy(() => ActionErrorSchema())\n }),\n z.object({\n InvalidTxError: z.lazy(() => InvalidTxErrorSchema())\n })\n]);\nvar TxExecutionStatusSchema = () => z.union([\n z.enum([\"NONE\"]),\n z.enum([\"INCLUDED\"]),\n z.enum([\"EXECUTED_OPTIMISTIC\"]),\n z.enum([\"INCLUDED_FINAL\"]),\n z.enum([\"EXECUTED\"]),\n z.enum([\"FINAL\"])\n]);\nvar UseGlobalContractActionSchema = () => z.object({\n contractIdentifier: z.lazy(() => GlobalContractIdentifierSchema())\n});\nvar VMConfigViewSchema = () => z.object({\n discardCustomSections: z.boolean(),\n ethImplicitAccounts: z.boolean(),\n extCosts: z.lazy(() => ExtCostsConfigViewSchema()),\n fixContractLoadingCost: z.boolean(),\n globalContractHostFns: z.boolean(),\n growMemCost: z.number(),\n implicitAccountCreation: z.boolean(),\n limitConfig: z.lazy(() => LimitConfigSchema()),\n reftypesBulkMemory: z.boolean(),\n regularOpCost: z.number(),\n saturatingFloatToInt: z.boolean(),\n storageGetMode: z.lazy(() => StorageGetModeSchema()),\n vmKind: z.lazy(() => VMKindSchema())\n});\nvar VMKindSchema = () => z.union([\n z.enum([\"Wasmer0\"]),\n z.enum([\"Wasmtime\"]),\n z.enum([\"Wasmer2\"]),\n z.enum([\"NearVm\"]),\n z.enum([\"NearVm2\"])\n]);\nvar ValidatorInfoSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema())\n});\nvar ValidatorKickoutReasonSchema = () => z.union([\n z.enum([\"_UnusedSlashed\"]),\n z.object({\n NotEnoughBlocks: z.object({\n expected: z.number(),\n produced: z.number()\n })\n }),\n z.object({\n NotEnoughChunks: z.object({\n expected: z.number(),\n produced: z.number()\n })\n }),\n z.enum([\"Unstaked\"]),\n z.object({\n NotEnoughStake: z.object({\n stakeU128: z.string(),\n thresholdU128: z.string()\n })\n }),\n z.enum([\"DidNotGetASeat\"]),\n z.object({\n NotEnoughChunkEndorsements: z.object({\n expected: z.number(),\n produced: z.number()\n })\n }),\n z.object({\n ProtocolVersionTooOld: z.object({\n networkVersion: z.number(),\n version: z.number()\n })\n })\n]);\nvar ValidatorKickoutViewSchema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n reason: z.lazy(() => ValidatorKickoutReasonSchema())\n});\nvar ValidatorStakeViewSchema = () => z.lazy(() => ValidatorStakeViewV1Schema());\nvar ValidatorStakeViewV1Schema = () => z.object({\n accountId: z.lazy(() => AccountIdSchema()),\n publicKey: z.lazy(() => PublicKeySchema()),\n stake: z.string()\n});\nvar VersionSchema = () => z.object({\n build: z.string(),\n commit: z.string(),\n rustcVersion: z.optional(z.string()),\n version: z.string()\n});\nvar ViewStateResultSchema = () => z.object({\n proof: z.optional(z.array(z.string())),\n values: z.array(z.lazy(() => StateItemSchema()))\n});\nvar WasmTrapSchema = () => z.union([\n z.enum([\"Unreachable\"]),\n z.enum([\"IncorrectCallIndirectSignature\"]),\n z.enum([\"MemoryOutOfBounds\"]),\n z.enum([\"CallIndirectOOB\"]),\n z.enum([\"IllegalArithmetic\"]),\n z.enum([\"MisalignedAtomicAccess\"]),\n z.enum([\"IndirectCallToNull\"]),\n z.enum([\"StackOverflow\"]),\n z.enum([\"GenericTrap\"])\n]);\nvar WitnessConfigViewSchema = () => z.object({\n combinedTransactionsSizeLimit: z.number(),\n mainStorageProofSizeSoftLimit: z.number(),\n newTransactionsValidationStateSizeSoftLimit: z.number()\n});\nvar EXPERIMENTALChangesRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALChangesSchema());\nvar EXPERIMENTALChangesResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcStateChangesInBlockResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALChangesInBlockRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALChangesInBlockSchema());\nvar EXPERIMENTALChangesInBlockResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcStateChangesInBlockByTypeResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALCongestionLevelRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALCongestionLevelSchema());\nvar EXPERIMENTALCongestionLevelResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcCongestionLevelResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALGenesisConfigRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALGenesisConfigSchema());\nvar EXPERIMENTALGenesisConfigResponseSchema = () => z.lazy(() => JsonRpcResponseFor_GenesisConfigAnd_RpcErrorSchema());\nvar EXPERIMENTALLightClientBlockProofRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALLightClientBlockProofSchema());\nvar EXPERIMENTALLightClientBlockProofResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcLightClientBlockProofResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALLightClientProofRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALLightClientProofSchema());\nvar EXPERIMENTALLightClientProofResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcLightClientExecutionProofResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALMaintenanceWindowsRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALMaintenanceWindowsSchema());\nvar EXPERIMENTALMaintenanceWindowsResponseSchema = () => z.lazy(() => JsonRpcResponseFor_ArrayOf_RangeOfUint64And_RpcErrorSchema());\nvar EXPERIMENTALProtocolConfigRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALProtocolConfigSchema());\nvar EXPERIMENTALProtocolConfigResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcProtocolConfigResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALReceiptRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALReceiptSchema());\nvar EXPERIMENTALReceiptResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcReceiptResponseAnd_RpcErrorSchema());\nvar EXPERIMENTALSplitStorageInfoRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALSplitStorageInfoSchema());\nvar EXPERIMENTALSplitStorageInfoResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcSplitStorageInfoResponseAnd_RpcErrorSchema()\n);\nvar EXPERIMENTALTxStatusRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALTxStatusSchema());\nvar EXPERIMENTALTxStatusResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcTransactionResponseAnd_RpcErrorSchema());\nvar EXPERIMENTALValidatorsOrderedRequestSchema = () => z.lazy(() => JsonRpcRequestFor_EXPERIMENTALValidatorsOrderedSchema());\nvar EXPERIMENTALValidatorsOrderedResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_ArrayOf_ValidatorStakeViewAnd_RpcErrorSchema()\n);\nvar BlockRequestSchema = () => z.lazy(() => JsonRpcRequestForBlockSchema());\nvar BlockResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcBlockResponseAnd_RpcErrorSchema());\nvar BlockEffectsRequestSchema = () => z.lazy(() => JsonRpcRequestForBlockEffectsSchema());\nvar BlockEffectsResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcStateChangesInBlockByTypeResponseAnd_RpcErrorSchema()\n);\nvar BroadcastTxAsyncRequestSchema = () => z.lazy(() => JsonRpcRequestForBroadcastTxAsyncSchema());\nvar BroadcastTxAsyncResponseSchema = () => z.lazy(() => JsonRpcResponseFor_CryptoHashAnd_RpcErrorSchema());\nvar BroadcastTxCommitRequestSchema = () => z.lazy(() => JsonRpcRequestForBroadcastTxCommitSchema());\nvar BroadcastTxCommitResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcTransactionResponseAnd_RpcErrorSchema());\nvar ChangesRequestSchema = () => z.lazy(() => JsonRpcRequestForChangesSchema());\nvar ChangesResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcStateChangesInBlockResponseAnd_RpcErrorSchema()\n);\nvar ChunkRequestSchema = () => z.lazy(() => JsonRpcRequestForChunkSchema());\nvar ChunkResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcChunkResponseAnd_RpcErrorSchema());\nvar ClientConfigRequestSchema = () => z.lazy(() => JsonRpcRequestForClientConfigSchema());\nvar ClientConfigResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcClientConfigResponseAnd_RpcErrorSchema());\nvar GasPriceRequestSchema = () => z.lazy(() => JsonRpcRequestForGasPriceSchema());\nvar GasPriceResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcGasPriceResponseAnd_RpcErrorSchema());\nvar GenesisConfigResponseSchema = () => z.lazy(() => JsonRpcResponseFor_GenesisConfigAnd_RpcErrorSchema());\nvar HealthRequestSchema = () => z.lazy(() => JsonRpcRequestForHealthSchema());\nvar HealthResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_Nullable_RpcHealthResponseAnd_RpcErrorSchema()\n);\nvar LightClientProofRequestSchema = () => z.lazy(() => JsonRpcRequestForLightClientProofSchema());\nvar LightClientProofResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcLightClientExecutionProofResponseAnd_RpcErrorSchema()\n);\nvar MaintenanceWindowsRequestSchema = () => z.lazy(() => JsonRpcRequestForMaintenanceWindowsSchema());\nvar MaintenanceWindowsResponseSchema = () => z.lazy(() => JsonRpcResponseFor_ArrayOf_RangeOfUint64And_RpcErrorSchema());\nvar NetworkInfoRequestSchema = () => z.lazy(() => JsonRpcRequestForNetworkInfoSchema());\nvar NetworkInfoResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcNetworkInfoResponseAnd_RpcErrorSchema());\nvar NextLightClientBlockRequestSchema = () => z.lazy(() => JsonRpcRequestForNextLightClientBlockSchema());\nvar NextLightClientBlockResponseSchema = () => z.lazy(\n () => JsonRpcResponseFor_RpcLightClientNextBlockResponseAnd_RpcErrorSchema()\n);\nvar QueryRequestSchema = () => z.lazy(() => JsonRpcRequestForQuerySchema());\nvar QueryResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcQueryResponseAnd_RpcErrorSchema());\nvar SendTxRequestSchema = () => z.lazy(() => JsonRpcRequestForSendTxSchema());\nvar SendTxResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcTransactionResponseAnd_RpcErrorSchema());\nvar StatusRequestSchema = () => z.lazy(() => JsonRpcRequestForStatusSchema());\nvar StatusResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcStatusResponseAnd_RpcErrorSchema());\nvar TxRequestSchema = () => z.lazy(() => JsonRpcRequestForTxSchema());\nvar TxResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcTransactionResponseAnd_RpcErrorSchema());\nvar ValidatorsRequestSchema = () => z.lazy(() => JsonRpcRequestForValidatorsSchema());\nvar ValidatorsResponseSchema = () => z.lazy(() => JsonRpcResponseFor_RpcValidatorResponseAnd_RpcErrorSchema());\nvar VALIDATION_SCHEMA_MAP = {\n EXPERIMENTAL_changes: {\n requestSchema: EXPERIMENTALChangesRequestSchema,\n responseSchema: EXPERIMENTALChangesResponseSchema\n },\n EXPERIMENTAL_changes_in_block: {\n requestSchema: EXPERIMENTALChangesInBlockRequestSchema,\n responseSchema: EXPERIMENTALChangesInBlockResponseSchema\n },\n EXPERIMENTAL_congestion_level: {\n requestSchema: EXPERIMENTALCongestionLevelRequestSchema,\n responseSchema: EXPERIMENTALCongestionLevelResponseSchema\n },\n EXPERIMENTAL_genesis_config: {\n requestSchema: EXPERIMENTALGenesisConfigRequestSchema,\n responseSchema: EXPERIMENTALGenesisConfigResponseSchema\n },\n EXPERIMENTAL_light_client_block_proof: {\n requestSchema: EXPERIMENTALLightClientBlockProofRequestSchema,\n responseSchema: EXPERIMENTALLightClientBlockProofResponseSchema\n },\n EXPERIMENTAL_light_client_proof: {\n requestSchema: EXPERIMENTALLightClientProofRequestSchema,\n responseSchema: EXPERIMENTALLightClientProofResponseSchema\n },\n EXPERIMENTAL_maintenance_windows: {\n requestSchema: EXPERIMENTALMaintenanceWindowsRequestSchema,\n responseSchema: EXPERIMENTALMaintenanceWindowsResponseSchema\n },\n EXPERIMENTAL_protocol_config: {\n requestSchema: EXPERIMENTALProtocolConfigRequestSchema,\n responseSchema: EXPERIMENTALProtocolConfigResponseSchema\n },\n EXPERIMENTAL_receipt: {\n requestSchema: EXPERIMENTALReceiptRequestSchema,\n responseSchema: EXPERIMENTALReceiptResponseSchema\n },\n EXPERIMENTAL_split_storage_info: {\n requestSchema: EXPERIMENTALSplitStorageInfoRequestSchema,\n responseSchema: EXPERIMENTALSplitStorageInfoResponseSchema\n },\n EXPERIMENTAL_tx_status: {\n requestSchema: EXPERIMENTALTxStatusRequestSchema,\n responseSchema: EXPERIMENTALTxStatusResponseSchema\n },\n EXPERIMENTAL_validators_ordered: {\n requestSchema: EXPERIMENTALValidatorsOrderedRequestSchema,\n responseSchema: EXPERIMENTALValidatorsOrderedResponseSchema\n },\n block: {\n requestSchema: BlockRequestSchema,\n responseSchema: BlockResponseSchema\n },\n block_effects: {\n requestSchema: BlockEffectsRequestSchema,\n responseSchema: BlockEffectsResponseSchema\n },\n broadcast_tx_async: {\n requestSchema: BroadcastTxAsyncRequestSchema,\n responseSchema: BroadcastTxAsyncResponseSchema\n },\n broadcast_tx_commit: {\n requestSchema: BroadcastTxCommitRequestSchema,\n responseSchema: BroadcastTxCommitResponseSchema\n },\n changes: {\n requestSchema: ChangesRequestSchema,\n responseSchema: ChangesResponseSchema\n },\n chunk: {\n requestSchema: ChunkRequestSchema,\n responseSchema: ChunkResponseSchema\n },\n client_config: {\n requestSchema: ClientConfigRequestSchema,\n responseSchema: ClientConfigResponseSchema\n },\n gas_price: {\n requestSchema: GasPriceRequestSchema,\n responseSchema: GasPriceResponseSchema\n },\n genesis_config: {\n requestSchema: GenesisConfigRequestSchema,\n responseSchema: GenesisConfigResponseSchema\n },\n health: {\n requestSchema: HealthRequestSchema,\n responseSchema: HealthResponseSchema\n },\n light_client_proof: {\n requestSchema: LightClientProofRequestSchema,\n responseSchema: LightClientProofResponseSchema\n },\n maintenance_windows: {\n requestSchema: MaintenanceWindowsRequestSchema,\n responseSchema: MaintenanceWindowsResponseSchema\n },\n network_info: {\n requestSchema: NetworkInfoRequestSchema,\n responseSchema: NetworkInfoResponseSchema\n },\n next_light_client_block: {\n requestSchema: NextLightClientBlockRequestSchema,\n responseSchema: NextLightClientBlockResponseSchema\n },\n query: {\n requestSchema: QueryRequestSchema,\n responseSchema: QueryResponseSchema\n },\n send_tx: {\n requestSchema: SendTxRequestSchema,\n responseSchema: SendTxResponseSchema\n },\n status: {\n requestSchema: StatusRequestSchema,\n responseSchema: StatusResponseSchema\n },\n tx: { requestSchema: TxRequestSchema, responseSchema: TxResponseSchema },\n validators: {\n requestSchema: ValidatorsRequestSchema,\n responseSchema: ValidatorsResponseSchema\n }\n};\nvar JsonRpcRequestSchema = () => z.object({\n jsonrpc: z.literal(\"2.0\"),\n id: z.string(),\n method: z.string(),\n params: z.optional(z.unknown())\n});\nvar JsonRpcErrorSchema = () => z.object({\n code: z.number(),\n message: z.string(),\n data: z.optional(z.unknown())\n});\nvar JsonRpcResponseSchema = () => z.object({\n jsonrpc: z.literal(\"2.0\"),\n id: z.string(),\n result: z.optional(z.unknown()),\n error: z.optional(JsonRpcErrorSchema())\n});\n\n// src/methods.ts\nvar PATH_TO_METHOD_MAP = {\n \"/EXPERIMENTAL_changes\": \"EXPERIMENTAL_changes\",\n \"/EXPERIMENTAL_changes_in_block\": \"EXPERIMENTAL_changes_in_block\",\n \"/EXPERIMENTAL_congestion_level\": \"EXPERIMENTAL_congestion_level\",\n \"/EXPERIMENTAL_genesis_config\": \"EXPERIMENTAL_genesis_config\",\n \"/EXPERIMENTAL_light_client_block_proof\": \"EXPERIMENTAL_light_client_block_proof\",\n \"/EXPERIMENTAL_light_client_proof\": \"EXPERIMENTAL_light_client_proof\",\n \"/EXPERIMENTAL_maintenance_windows\": \"EXPERIMENTAL_maintenance_windows\",\n \"/EXPERIMENTAL_protocol_config\": \"EXPERIMENTAL_protocol_config\",\n \"/EXPERIMENTAL_receipt\": \"EXPERIMENTAL_receipt\",\n \"/EXPERIMENTAL_split_storage_info\": \"EXPERIMENTAL_split_storage_info\",\n \"/EXPERIMENTAL_tx_status\": \"EXPERIMENTAL_tx_status\",\n \"/EXPERIMENTAL_validators_ordered\": \"EXPERIMENTAL_validators_ordered\",\n \"/block\": \"block\",\n \"/block_effects\": \"block_effects\",\n \"/broadcast_tx_async\": \"broadcast_tx_async\",\n \"/broadcast_tx_commit\": \"broadcast_tx_commit\",\n \"/changes\": \"changes\",\n \"/chunk\": \"chunk\",\n \"/client_config\": \"client_config\",\n \"/gas_price\": \"gas_price\",\n \"/genesis_config\": \"genesis_config\",\n \"/health\": \"health\",\n \"/light_client_proof\": \"light_client_proof\",\n \"/maintenance_windows\": \"maintenance_windows\",\n \"/network_info\": \"network_info\",\n \"/next_light_client_block\": \"next_light_client_block\",\n \"/query\": \"query\",\n \"/send_tx\": \"send_tx\",\n \"/status\": \"status\",\n \"/tx\": \"tx\",\n \"/validators\": \"validators\"\n};\nvar METHOD_TO_PATH_MAP = {};\nObject.entries(PATH_TO_METHOD_MAP).forEach(([path, method]) => {\n METHOD_TO_PATH_MAP[method] = path;\n});\nvar RPC_METHODS = Object.values(PATH_TO_METHOD_MAP);\nexport {\n AccessKeyCreationConfigViewSchema,\n AccessKeyInfoViewSchema,\n AccessKeyListSchema,\n AccessKeyPermissionSchema,\n AccessKeyPermissionViewSchema,\n AccessKeySchema,\n AccessKeyViewSchema,\n AccountCreationConfigViewSchema,\n AccountDataViewSchema,\n AccountIdSchema,\n AccountIdValidityRulesVersionSchema,\n AccountInfoSchema,\n AccountViewSchema,\n AccountWithPublicKeySchema,\n ActionCreationConfigViewSchema,\n ActionErrorKindSchema,\n ActionErrorSchema,\n ActionViewSchema,\n ActionsValidationErrorSchema,\n AddKeyActionSchema,\n BandwidthRequestBitmapSchema,\n BandwidthRequestSchema,\n BandwidthRequestsSchema,\n BandwidthRequestsV1Schema,\n BlockEffectsRequestSchema,\n BlockEffectsResponseSchema,\n BlockHeaderInnerLiteViewSchema,\n BlockHeaderViewSchema,\n BlockIdSchema,\n BlockRequestSchema,\n BlockResponseSchema,\n BlockStatusViewSchema,\n BroadcastTxAsyncRequestSchema,\n BroadcastTxAsyncResponseSchema,\n BroadcastTxCommitRequestSchema,\n BroadcastTxCommitResponseSchema,\n CallResultSchema,\n CatchupStatusViewSchema,\n ChangesRequestSchema,\n ChangesResponseSchema,\n ChunkDistributionNetworkConfigSchema,\n ChunkDistributionUrisSchema,\n ChunkHeaderViewSchema,\n ChunkRequestSchema,\n ChunkResponseSchema,\n ClientConfigRequestSchema,\n ClientConfigResponseSchema,\n CompilationErrorSchema,\n CongestionControlConfigViewSchema,\n CongestionInfoViewSchema,\n ContractCodeViewSchema,\n CostGasUsedSchema,\n CreateAccountActionSchema,\n CryptoHashSchema,\n CurrentEpochValidatorInfoSchema,\n DataReceiptCreationConfigViewSchema,\n DataReceiverViewSchema,\n DelegateActionSchema,\n DeleteAccountActionSchema,\n DeleteKeyActionSchema,\n DeployContractActionSchema,\n DeployGlobalContractActionSchema,\n DetailedDebugStatusSchema,\n DirectionSchema,\n DumpConfigSchema,\n DurationAsStdSchemaProviderSchema,\n EXPERIMENTALChangesInBlockRequestSchema,\n EXPERIMENTALChangesInBlockResponseSchema,\n EXPERIMENTALChangesRequestSchema,\n EXPERIMENTALChangesResponseSchema,\n EXPERIMENTALCongestionLevelRequestSchema,\n EXPERIMENTALCongestionLevelResponseSchema,\n EXPERIMENTALGenesisConfigRequestSchema,\n EXPERIMENTALGenesisConfigResponseSchema,\n EXPERIMENTALLightClientBlockProofRequestSchema,\n EXPERIMENTALLightClientBlockProofResponseSchema,\n EXPERIMENTALLightClientProofRequestSchema,\n EXPERIMENTALLightClientProofResponseSchema,\n EXPERIMENTALMaintenanceWindowsRequestSchema,\n EXPERIMENTALMaintenanceWindowsResponseSchema,\n EXPERIMENTALProtocolConfigRequestSchema,\n EXPERIMENTALProtocolConfigResponseSchema,\n EXPERIMENTALReceiptRequestSchema,\n EXPERIMENTALReceiptResponseSchema,\n EXPERIMENTALSplitStorageInfoRequestSchema,\n EXPERIMENTALSplitStorageInfoResponseSchema,\n EXPERIMENTALTxStatusRequestSchema,\n EXPERIMENTALTxStatusResponseSchema,\n EXPERIMENTALValidatorsOrderedRequestSchema,\n EXPERIMENTALValidatorsOrderedResponseSchema,\n EpochIdSchema,\n EpochSyncConfigSchema,\n ExecutionMetadataViewSchema,\n ExecutionOutcomeViewSchema,\n ExecutionOutcomeWithIdViewSchema,\n ExecutionStatusViewSchema,\n ExtCostsConfigViewSchema,\n ExternalStorageConfigSchema,\n ExternalStorageLocationSchema,\n FeeSchema,\n FinalExecutionOutcomeViewSchema,\n FinalExecutionOutcomeWithReceiptViewSchema,\n FinalExecutionStatusSchema,\n FinalitySchema,\n FunctionArgsSchema,\n FunctionCallActionSchema,\n FunctionCallErrorSchema,\n FunctionCallPermissionSchema,\n GCConfigSchema,\n GasKeyViewSchema,\n GasPriceRequestSchema,\n GasPriceResponseSchema,\n GenesisConfigRequestSchema,\n GenesisConfigResponseSchema,\n GenesisConfigSchema,\n GlobalContractDeployModeSchema,\n GlobalContractIdentifierSchema,\n HealthRequestSchema,\n HealthResponseSchema,\n HostErrorSchema,\n InvalidAccessKeyErrorSchema,\n InvalidTxErrorSchema,\n JsonRpcErrorSchema,\n JsonRpcRequestForBlockEffectsSchema,\n JsonRpcRequestForBlockSchema,\n JsonRpcRequestForBroadcastTxAsyncSchema,\n JsonRpcRequestForBroadcastTxCommitSchema,\n JsonRpcRequestForChangesSchema,\n JsonRpcRequestForChunkSchema,\n JsonRpcRequestForClientConfigSchema,\n JsonRpcRequestForGasPriceSchema,\n JsonRpcRequestForGenesisConfigSchema,\n JsonRpcRequestForHealthSchema,\n JsonRpcRequestForLightClientProofSchema,\n JsonRpcRequestForMaintenanceWindowsSchema,\n JsonRpcRequestForNetworkInfoSchema,\n JsonRpcRequestForNextLightClientBlockSchema,\n JsonRpcRequestForQuerySchema,\n JsonRpcRequestForSendTxSchema,\n JsonRpcRequestForStatusSchema,\n JsonRpcRequestForTxSchema,\n JsonRpcRequestForValidatorsSchema,\n JsonRpcRequestFor_EXPERIMENTALChangesInBlockSchema,\n JsonRpcRequestFor_EXPERIMENTALChangesSchema,\n JsonRpcRequestFor_EXPERIMENTALCongestionLevelSchema,\n JsonRpcRequestFor_EXPERIMENTALGenesisConfigSchema,\n JsonRpcRequestFor_EXPERIMENTALLightClientBlockProofSchema,\n JsonRpcRequestFor_EXPERIMENTALLightClientProofSchema,\n JsonRpcRequestFor_EXPERIMENTALMaintenanceWindowsSchema,\n JsonRpcRequestFor_EXPERIMENTALProtocolConfigSchema,\n JsonRpcRequestFor_EXPERIMENTALReceiptSchema,\n JsonRpcRequestFor_EXPERIMENTALSplitStorageInfoSchema,\n JsonRpcRequestFor_EXPERIMENTALTxStatusSchema,\n JsonRpcRequestFor_EXPERIMENTALValidatorsOrderedSchema,\n JsonRpcRequestSchema,\n JsonRpcResponseFor_ArrayOf_RangeOfUint64And_RpcErrorSchema,\n JsonRpcResponseFor_ArrayOf_ValidatorStakeViewAnd_RpcErrorSchema,\n JsonRpcResponseFor_CryptoHashAnd_RpcErrorSchema,\n JsonRpcResponseFor_GenesisConfigAnd_RpcErrorSchema,\n JsonRpcResponseFor_Nullable_RpcHealthResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcBlockResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcChunkResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcClientConfigResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcCongestionLevelResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcGasPriceResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcLightClientBlockProofResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcLightClientExecutionProofResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcLightClientNextBlockResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcNetworkInfoResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcProtocolConfigResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcQueryResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcReceiptResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcSplitStorageInfoResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcStateChangesInBlockByTypeResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcStateChangesInBlockResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcStatusResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcTransactionResponseAnd_RpcErrorSchema,\n JsonRpcResponseFor_RpcValidatorResponseAnd_RpcErrorSchema,\n JsonRpcResponseSchema,\n KnownProducerViewSchema,\n LightClientBlockLiteViewSchema,\n LightClientProofRequestSchema,\n LightClientProofResponseSchema,\n LimitConfigSchema,\n LogSummaryStyleSchema,\n METHOD_TO_PATH_MAP,\n MaintenanceWindowsRequestSchema,\n MaintenanceWindowsResponseSchema,\n MerklePathItemSchema,\n MethodResolveErrorSchema,\n MissingTrieValueContextSchema,\n MissingTrieValueSchema,\n MutableConfigValueSchema,\n NetworkInfoRequestSchema,\n NetworkInfoResponseSchema,\n NetworkInfoViewSchema,\n NextEpochValidatorInfoSchema,\n NextLightClientBlockRequestSchema,\n NextLightClientBlockResponseSchema,\n NonDelegateActionSchema,\n PATH_TO_METHOD_MAP,\n PeerIdSchema,\n PeerInfoViewSchema,\n PrepareErrorSchema,\n PublicKeySchema,\n QueryRequestSchema,\n QueryResponseSchema,\n RPC_METHODS,\n RangeOfUint64Schema,\n ReceiptEnumViewSchema,\n ReceiptValidationErrorSchema,\n ReceiptViewSchema,\n RpcBlockRequestSchema,\n RpcBlockResponseSchema,\n RpcChunkRequestSchema,\n RpcChunkResponseSchema,\n RpcClientConfigRequestSchema,\n RpcClientConfigResponseSchema,\n RpcCongestionLevelRequestSchema,\n RpcCongestionLevelResponseSchema,\n RpcErrorSchema,\n RpcGasPriceRequestSchema,\n RpcGasPriceResponseSchema,\n RpcHealthRequestSchema,\n RpcHealthResponseSchema,\n RpcKnownProducerSchema,\n RpcLightClientBlockProofRequestSchema,\n RpcLightClientBlockProofResponseSchema,\n RpcLightClientExecutionProofRequestSchema,\n RpcLightClientExecutionProofResponseSchema,\n RpcLightClientNextBlockRequestSchema,\n RpcLightClientNextBlockResponseSchema,\n RpcMaintenanceWindowsRequestSchema,\n RpcNetworkInfoRequestSchema,\n RpcNetworkInfoResponseSchema,\n RpcPeerInfoSchema,\n RpcProtocolConfigRequestSchema,\n RpcProtocolConfigResponseSchema,\n RpcQueryRequestSchema,\n RpcQueryResponseSchema,\n RpcReceiptRequestSchema,\n RpcReceiptResponseSchema,\n RpcRequestValidationErrorKindSchema,\n RpcSendTransactionRequestSchema,\n RpcSplitStorageInfoRequestSchema,\n RpcSplitStorageInfoResponseSchema,\n RpcStateChangesInBlockByTypeRequestSchema,\n RpcStateChangesInBlockByTypeResponseSchema,\n RpcStateChangesInBlockRequestSchema,\n RpcStateChangesInBlockResponseSchema,\n RpcStatusRequestSchema,\n RpcStatusResponseSchema,\n RpcTransactionResponseSchema,\n RpcTransactionStatusRequestSchema,\n RpcValidatorRequestSchema,\n RpcValidatorResponseSchema,\n RpcValidatorsOrderedRequestSchema,\n RuntimeConfigViewSchema,\n RuntimeFeesConfigViewSchema,\n SendTxRequestSchema,\n SendTxResponseSchema,\n ShardIdSchema,\n ShardLayoutSchema,\n ShardLayoutV0Schema,\n ShardLayoutV1Schema,\n ShardLayoutV2Schema,\n ShardUIdSchema,\n SignatureSchema,\n SignedDelegateActionSchema,\n SignedTransactionSchema,\n SignedTransactionViewSchema,\n SlashedValidatorSchema,\n StakeActionSchema,\n StateChangeCauseViewSchema,\n StateChangeKindViewSchema,\n StateChangeWithCauseViewSchema,\n StateItemSchema,\n StateSyncConfigSchema,\n StatusRequestSchema,\n StatusResponseSchema,\n StatusSyncInfoSchema,\n StorageErrorSchema,\n StorageGetModeSchema,\n StorageUsageConfigViewSchema,\n StoreKeySchema,\n StoreValueSchema,\n SyncCheckpointSchema,\n SyncConcurrencySchema,\n SyncConfigSchema,\n Tier1ProxyViewSchema,\n TrackedShardsConfigSchema,\n TransferActionSchema,\n TxExecutionErrorSchema,\n TxExecutionStatusSchema,\n TxRequestSchema,\n TxResponseSchema,\n UseGlobalContractActionSchema,\n VALIDATION_SCHEMA_MAP,\n VMConfigViewSchema,\n VMKindSchema,\n ValidatorInfoSchema,\n ValidatorKickoutReasonSchema,\n ValidatorKickoutViewSchema,\n ValidatorStakeViewSchema,\n ValidatorStakeViewV1Schema,\n ValidatorsRequestSchema,\n ValidatorsResponseSchema,\n VersionSchema,\n ViewStateResultSchema,\n WasmTrapSchema,\n WitnessConfigViewSchema\n};\n","// TODO do not rename keys which starts with _ or __\n\nexport const snakeToCamelCase = (obj: any): any => {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map((item) => snakeToCamelCase(item));\n }\n\n return Object.keys(obj).reduce((acc: any, key) => {\n const value = obj[key];\n const camelKey = key.replace(/(_\\w)/g, (match) =>\n match.charAt(1).toUpperCase(),\n );\n\n if (value !== null && typeof value === 'object') {\n acc[camelKey] = snakeToCamelCase(value);\n } else {\n acc[camelKey] = value;\n }\n\n return acc;\n }, {});\n};\n","/**\n * Fixed-point conversions without third-party libs.\n * Assumptions:\n * - `decimals` is the number of fractional digits (1..100).\n * - Inputs are positive, plain-decimal strings (no sign, no exponent, no separators).\n * - All math uses BigInt; strings are only for parsing/formatting.\n */\n\n/** Cache for powers of 10 to avoid recomputing 10^decimals repeatedly. */\nconst POW10_CACHE: Record<number, bigint> = {};\n\n/** Returns 10^decimals as BigInt, caching the result. */\nexport const pow10 = (decimals: number): bigint => {\n const cached = POW10_CACHE[decimals];\n if (cached !== undefined) return cached;\n const value = 10n ** BigInt(decimals);\n POW10_CACHE[decimals] = value;\n return value;\n};\n\n/** Validates that decimals is an integer within 1..100. */\nexport const assertValidDecimals = (decimals: number): void => {\n if (!Number.isInteger(decimals) || decimals < 1 || decimals > 100) {\n throw new Error('Decimals must be an integer in the range 1..100');\n }\n};\n","import { pow10, assertValidDecimals } from './helpers';\nimport type { Tokens } from 'nat-types/common';\n\n/**\n * Validate a positive decimal string with an optional fractional part\n * whose length is limited by `decimals`:\n *\n * Pattern: ^\\d+(?:\\.\\d{1,decimals})?$\n * - ^ : anchor at start — match the whole string only\n * - \\d+ : integer part — one or more digits (requires a digit before the dot)\n * - (?: ... ) : non-capturing group for the optional fractional part\n * - \\. : literal dot\n * - \\d{1,decimals} : 1 to decimals digits after the dot\n * - ? : make the fractional group optional (allow integers)\n * - $ : anchor at end — no extra chars allowed\n *\n * Notes:\n * - Disallows \".5\" (no integer part) and \"5.\" (no fractional digits).\n * - Disallows signs, spaces, commas, exponent notation, etc.\n * - Allows leading zeros in the integer part (e.g., \"0001\", \"0.05\").\n *\n * Examples (decimals = 2):\n * ✓ \"0\", \"12\", \"3.4\", \"10.00\"\n * ✗ \".5\", \"5.\", \"1.234\", \"-1\", \"1,23\", \"1e3\", \" 1\"\n */\nconst assertValidTokens = (tokens: string, decimals: number) => {\n const decimalPattern = new RegExp(`^\\\\d+(?:\\\\.\\\\d{1,${decimals}})?$`);\n if (!decimalPattern.test(tokens)) {\n throw new Error(\n `Tokens must be a positive decimal with up to ${decimals} fractional digits`,\n );\n }\n};\n\n/**\n * Convert token amount (decimal string) to minimal units (integer string).\n *\n * Example: decimals = 24 (NEAR), \"1.23\" -> \"1230000000000000000000000\" (25 digits total, 24 after dot)\n *\n * @param tokens Positive decimal string with up to `decimals` fractional digits\n * @param decimals Fractional digits count (1..100)\n * @returns Positive integer string in minimal units\n */\nexport const convertTokensToUnits = (\n tokens: Tokens,\n decimals: number,\n): bigint => {\n assertValidDecimals(decimals);\n assertValidTokens(tokens, decimals);\n\n // Split integer and fractional parts (fractional may be undefined)\n const [integerPartRaw, fractionalPartRaw = ''] = tokens.split('.');\n\n // Convert integer part: multiply by 10^decimals\n const scale = pow10(decimals);\n const integerUnits = BigInt(integerPartRaw) * scale;\n\n // Convert fractional part: right-pad to exactly `decimals` digits, or zero if empty\n const fractionalUnits = fractionalPartRaw.length\n ? BigInt(fractionalPartRaw.padEnd(decimals, '0'))\n : 0n;\n\n // Sum and return as an integer string (BigInt.toString() never yields leading zeros)\n return integerUnits + fractionalUnits;\n};\n","import { pow10, assertValidDecimals } from './helpers';\nimport type { Units } from 'nat-types/common';\n\n// Validate units input: must be positive integer digits only\nconst assertValidUnits = (units: bigint | string) => {\n if (typeof units === 'string' && !/^\\d+$/.test(units)) {\n throw new Error('Units must be a positive integer string (digits only)');\n }\n};\n\n/**\n * Convert minimal units (integer string) to token amount (decimal string).\n *\n * Example: decimals = 24 (NEAR), \"1000000...000\" (24 zeros) -> \"1\"\n *\n * @param units Positive integer string in minimal units (\"yocto\", \"wei\", etc.)\n * @param decimals Fractional digits count (1..100)\n * @returns Decimal string with up to `decimals` digits after the dot\n */\nexport const convertUnitsToTokens = (\n units: Units,\n decimals: number,\n): string => {\n assertValidDecimals(decimals);\n assertValidUnits(units);\n\n // Numeric conversion\n const unitsBigInt = BigInt(units);\n const scale = pow10(decimals);\n\n // Integer division gives the whole part; remainder gives the fractional digits\n const wholePart = unitsBigInt / scale;\n const fractionalRemainder = unitsBigInt % scale;\n\n // If there is no fractional remainder, return the whole part as a plain integer\n if (fractionalRemainder === 0n) return wholePart.toString();\n\n // Build the fractional part from the division remainder.\n //\n // Why:\n // - `fractionalRemainder` is in [0, 10^decimals - 1]. Converting it to string\n // drops any leading zeros (e.g., 42n -> \"42\"), but those zeros are needed to\n // preserve the decimal shift (we want \".0000042\" when decimals=7).\n //\n // Steps:\n // 1) .toString() — turn the remainder into a plain digit string.\n // 2) .padStart(decimals, 0) — left-pad with zeros so it has exactly `decimals` digits;\n // this restores any lost leading zeros.\n // 3) .replace(/0+$/, '') — trim trailing zeros on the RIGHT to avoid redundant\n // fractional digits (emit \"1.23\", not \"1.230000\").\n //\n // Notes:\n // - If everything after padding is zeros, trimming produces an empty string,\n // and the caller typically returns only the whole part (e.g., \"1\" instead of \"1.\").\n //\n // Examples:\n // - units=1001, decimals=3 → remainder=1\n // \"1\" → padStart -> \"001\" → trim trailing zeros -> \"001\" (no change) → result \"1.001\"\n //\n // - units=1230000, decimals=6 → remainder=230000\n // \"230000\" → padStart -> \"230000\" → trim trailing zeros -> \"23\" → result \"1.23\"\n const fractionalDigits = fractionalRemainder\n .toString()\n .padStart(decimals, '0')\n .replace(/0+$/, '');\n\n // If trimming removed everything (edge case), fall back to just the whole part\n if (fractionalDigits.length === 0) return wholePart.toString();\n\n return `${wholePart.toString()}.${fractionalDigits}`;\n};\n","export const BinaryCryptoKeyLengths = {\n Ed25519: {\n // SecretKey + PublicKey\n PrivateKey: 64,\n SecretKey: 32,\n PublicKey: 32,\n },\n Secp256k1: {\n // SecretKey + PublicKey\n PrivateKey: 96,\n SecretKey: 32,\n PublicKey: 64,\n },\n} as const;\n\nexport const BinaryCryptoHashLength = 32;\nexport const NearDecimals = 24;\n\n// Fetch block every 1000 blocks * 600ms best block time = >10 minutes\nexport const RefetchBlockHashInterval = 600_000;\n\n// 1 minute\nexport const SignerTaskTtlMs = 60_000 as const\n","/**\n * Normalize a multiline string into a single-line message\n * by trimming and collapsing whitespace.\n */\nexport const oneLine = (msg: string): string => msg.replace(/\\s+/g, ' ').trim();\n\nexport const isNodeJs =\n typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null;\n\nexport const nodeInspectSymbol = isNodeJs\n ? Symbol.for('nodejs.util.inspect.custom')\n : undefined;\n\nexport const toJsonBytes = (value: unknown): Uint8Array =>\n new TextEncoder().encode(JSON.stringify(value));\n\nexport const fromJsonBytes = (bytes: Uint8Array | number[]): unknown => {\n const u8 = Array.isArray(bytes) ? new Uint8Array(bytes) : bytes;\n return JSON.parse(new TextDecoder().decode(u8));\n};\n","import { convertTokensToUnits } from '@common/utils/tokenConverter/convertTokensToUnits';\nimport { convertUnitsToTokens } from '@common/utils/tokenConverter/convertUnitsToTokens';\nimport { NearDecimals } from '@common/configs/constants';\nimport { nodeInspectSymbol } from '@common/utils/common';\nimport type {\n Units,\n Tokens,\n NearOption,\n NearToken,\n Near,\n YoctoNear,\n} from 'nat-types/common';\nimport type { InspectOptionsStylized } from 'node:util';\n\nconst cache = {\n near: new WeakMap<NearToken, string>(),\n yoctoNear: new WeakMap<NearToken, bigint>(),\n};\n\n/**\n * We use it as a prototype for all new NearToken instances. It allows us to reuse\n * these functions without creating a new fn instances every time we create a new NearToken\n */\nconst nearTokenProto: ThisType<NearToken> = {\n // Lazy getter - calculate the 'near' value only after the first direct access;\n // save the result in the cache\n get near(): Near {\n const maybeValue = cache.near.get(this);\n if (maybeValue) return maybeValue;\n const value = convertUnitsToTokens(this.yoctoNear, NearDecimals);\n cache.near.set(this, value);\n\n return value;\n },\n\n get yoctoNear(): YoctoNear {\n const maybeValue = cache.yoctoNear.get(this);\n if (maybeValue) return maybeValue;\n\n const value = convertTokensToUnits(this.near, NearDecimals);\n cache.yoctoNear.set(this, value);\n\n return value;\n },\n\n // TODO add support for NearToken and avoid creating a new instance if x is NearToken\n add(x: NearOption): NearToken {\n return yoctoNear(this.yoctoNear + fromNearOption(x).yoctoNear);\n },\n\n sub(x: NearOption): NearToken {\n return yoctoNear(this.yoctoNear - fromNearOption(x).yoctoNear);\n },\n\n mul(x: NearOption): NearToken {\n return yoctoNear(this.yoctoNear * fromNearOption(x).yoctoNear);\n },\n\n gt(x: NearOption): boolean {\n return this.yoctoNear > fromNearOption(x).yoctoNear;\n },\n\n lt(x: NearOption): boolean {\n return this.yoctoNear < fromNearOption(x).yoctoNear;\n },\n\n toString() {\n return JSON.stringify({\n near: this.near,\n yoctoNear: this.yoctoNear.toString(),\n });\n },\n\n // In Node.js, this allows you to see the near/yoctoNear getter values,\n // which are not normally visible unless you access them directly.\n // This does not work in the browser — there you can only see a getter’s value\n // by explicitly expanding/clicking on it.\n ...(nodeInspectSymbol && {\n [nodeInspectSymbol as symbol](\n this: NearToken,\n _depth: number,\n _opts: InspectOptionsStylized,\n ) {\n return { near: this.near, yoctoNear: this.yoctoNear };\n },\n }),\n} as const;\n\nexport const yoctoNear = (units: Units): NearToken => {\n // TODO validate units\n const yoctoNear = BigInt(units);\n const obj = Object.create(nearTokenProto) as NearToken;\n\n Object.defineProperty(obj, 'yoctoNear', {\n value: yoctoNear,\n enumerable: true,\n });\n\n return Object.freeze(obj);\n};\n\nexport const near = (tokens: Tokens): NearToken => {\n // TODO validate tokens\n const obj = Object.create(nearTokenProto) as NearToken;\n\n Object.defineProperty(obj, 'near', {\n value: tokens,\n enumerable: true,\n });\n\n return Object.freeze(obj);\n};\n\nexport const fromNearOption = (nearOption: NearOption): NearToken => {\n if ('yoctoNear' in nearOption) return yoctoNear(nearOption.yoctoNear);\n if ('near' in nearOption) return near(nearOption.near);\n throw new Error('Invalid nearOption format');\n};\n","import * as z from 'zod/mini';\nimport { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport type {\n CreateGetAccountKey,\n GetAccountKeyArgs,\n} from 'nat-types/client/account/getAccountKey';\nimport type { GetAccountKeyResult } from 'nat-types/client/account/getAccountKey';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport { AccessKeyViewSchema, CryptoHashSchema } from '@near-js/jsonrpc-types';\nimport { transformKey } from './helpers/transformKey';\n\nconst RpcQueryAccessKeyViewResponseSchema = z.object({\n ...AccessKeyViewSchema().shape,\n blockHash: CryptoHashSchema(),\n blockHeight: z.number(),\n});\n\nconst transformResult = (\n result: unknown,\n args: GetAccountKeyArgs,\n): GetAccountKeyResult => {\n const camelCased = snakeToCamelCase(result);\n const valid = RpcQueryAccessKeyViewResponseSchema.parse(camelCased);\n\n return {\n blockHash: valid.blockHash,\n blockHeight: valid.blockHeight,\n accountId: args.accountId,\n accountKey: transformKey({\n accessKey: valid,\n publicKey: args.publicKey,\n }),\n };\n};\n\nexport const createGetAccountKey: CreateGetAccountKey =\n ({ sendRequest }) =>\n async (args) => {\n const result = await sendRequest({\n body: {\n method: 'query',\n params: {\n request_type: 'view_access_key',\n account_id: args.accountId,\n public_key: args.publicKey,\n ...toNativeBlockReference(args.atMomentOf),\n },\n },\n });\n return transformResult(result, args);\n };\n","import { yoctoNear } from '../../../../helpers/near';\nimport type { AccessKeyInfoView } from '@near-js/jsonrpc-types';\nimport type { AccountKey, FunctionCallKey } from 'nat-types/accountKey';\nimport type { PublicKey } from 'nat-types/crypto';\n\nexport const transformKey = (key: AccessKeyInfoView): AccountKey => {\n const publicKey = key.publicKey as PublicKey;\n const nonce = key.accessKey.nonce;\n\n if (key.accessKey.permission === 'FullAccess')\n return {\n accessType: 'FullAccess',\n publicKey,\n nonce,\n };\n\n const { receiverId, methodNames, allowance } =\n key.accessKey.permission.FunctionCall;\n\n const functionCallKey = {\n accessType: 'FunctionCall',\n publicKey,\n nonce,\n contractAccountId: receiverId,\n } as FunctionCallKey;\n\n if (typeof allowance === 'string') {\n functionCallKey.gasBudget = yoctoNear(allowance);\n }\n\n if (methodNames.length > 0) {\n functionCallKey.allowedFunctions = methodNames;\n }\n\n return functionCallKey;\n};\n","import * as z from 'zod/mini';\nimport { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport { AccessKeyListSchema, CryptoHashSchema } from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport { transformKey } from './helpers/transformKey';\nimport type {\n CreateGetAccountKeys,\n GetAccountKeysArgs,\n GetAccountKeysResult,\n} from 'nat-types/client/account/getAccountKeys';\n\nconst RpcQueryAccessKeyListResponseSchema = z.object({\n ...AccessKeyListSchema().shape,\n blockHash: CryptoHashSchema(),\n blockHeight: z.number(),\n});\n\nconst transformResult = (\n result: unknown,\n args: GetAccountKeysArgs,\n): GetAccountKeysResult => {\n const camelCased = snakeToCamelCase(result);\n const valid = RpcQueryAccessKeyListResponseSchema.parse(camelCased);\n\n return {\n blockHash: valid.blockHash,\n blockHeight: valid.blockHeight,\n accountId: args.accountId,\n accountKeys: valid.keys.map(transformKey),\n };\n};\n\nexport const createGetAccountKeys: CreateGetAccountKeys =\n ({ sendRequest }) =>\n async (args) => {\n const result = await sendRequest({\n body: {\n method: 'query',\n params: {\n request_type: 'view_access_key_list',\n account_id: args.accountId,\n ...toNativeBlockReference(args.atMomentOf),\n },\n },\n });\n return transformResult(result, args);\n };\n","import * as z from 'zod/mini';\nimport { base64 } from '@scure/base';\nimport { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport {\n ViewStateResultSchema,\n CryptoHashSchema,\n} from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport type {\n CreateGetContractState,\n GetContractStateArgs,\n GetContractStateResult,\n} from 'nat-types/client/contract/getContractState';\n\nconst RpcQueryViewStateResponseSchema = z.object({\n ...ViewStateResultSchema().shape,\n blockHash: CryptoHashSchema(),\n blockHeight: z.number(),\n});\n\nconst transformResult = (\n result: unknown,\n args: GetContractStateArgs,\n): GetContractStateResult => {\n const camelCased = snakeToCamelCase(result);\n const valid = RpcQueryViewStateResponseSchema.parse(camelCased);\n\n const final = {\n blockHash: valid.blockHash,\n blockHeight: valid.blockHeight,\n contractAccountId: args.contractAccountId,\n contractState: valid.values,\n } as GetContractStateResult;\n\n if (valid.proof) final.proof = valid.proof;\n\n return final;\n};\n\nexport const createGetContractState: CreateGetContractState =\n ({ sendRequest }) =>\n async (args) => {\n const base64KeyPrefix = args.keyPrefix\n ? base64.encode(Uint8Array.from(args.keyPrefix))\n : '';\n\n const result = await sendRequest({\n body: {\n method: 'query',\n params: {\n request_type: 'view_state',\n account_id: args.contractAccountId,\n prefix_base64: base64KeyPrefix,\n include_proof: args.includeProof,\n ...toNativeBlockReference(args.atMomentOf),\n },\n },\n });\n return transformResult(result, args);\n };\n","import { base64 } from '@scure/base';\nimport * as z from 'zod/mini';\nimport { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport { CallResultSchema, CryptoHashSchema } from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport { fromJsonBytes, toJsonBytes } from '@common/utils/common';\nimport type {\n CreateCallContractReadFunction,\n BaseDeserializeResult,\n InnerCallContractReadFunctionArgs,\n} from 'nat-types/client/contract/callContractReadFunction';\n\nconst baseDeserializeResul: BaseDeserializeResult = ({ rawResult }) =>\n fromJsonBytes(rawResult);\n\nconst RpcCallFunctionResponseSchema = z.object({\n ...CallResultSchema().shape,\n blockHash: CryptoHashSchema(),\n blockHeight: z.number(),\n});\n\nconst transformResult = (\n result: unknown,\n args: InnerCallContractReadFunctionArgs,\n) => {\n const camelCased = snakeToCamelCase(result);\n const valid = RpcCallFunctionResponseSchema.parse(camelCased);\n\n const transformer = args?.options?.deserializeResult\n ? args.options.deserializeResult\n : baseDeserializeResul;\n\n return {\n blockHash: valid.blockHash,\n blockHeight: valid.blockHeight,\n result: transformer({ rawResult: valid.result }),\n logs: valid.logs,\n };\n};\n\nconst serializeFunctionArgs = (args: InnerCallContractReadFunctionArgs) => {\n if (args?.options?.serializeArgs)\n return args.options.serializeArgs({ functionArgs: args.functionArgs });\n\n if (args?.functionArgs) return toJsonBytes(args?.functionArgs);\n\n return new Uint8Array();\n};\n\nexport const createCallContractReadFunction: CreateCallContractReadFunction =\n ({ sendRequest }) =>\n async (args: InnerCallContractReadFunctionArgs) => {\n const result = await sendRequest({\n body: {\n method: 'query',\n params: {\n request_type: 'call_function',\n account_id: args.contractAccountId,\n method_name: args.functionName,\n args_base64: base64.encode(serializeFunctionArgs(args)),\n ...toNativeBlockReference(args.withStateAt),\n },\n },\n });\n return transformResult(result, args);\n };\n","import { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport { RpcBlockResponseSchema } from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport type {\n CreateGetBlock,\n GetBlockResult,\n} from 'nat-types/client/block/getBlock';\n\nconst transformResult = (result: unknown): GetBlockResult => {\n const camelCased = snakeToCamelCase(result);\n return RpcBlockResponseSchema().parse(camelCased);\n};\n\nexport const createGetBlock: CreateGetBlock =\n ({ sendRequest }) =>\n async (args) => {\n const result = await sendRequest({\n body: {\n method: 'block',\n params: toNativeBlockReference(args?.blockReference),\n },\n });\n return transformResult(result);\n };\n","import * as z from 'zod/mini';\nimport { RpcGasPriceResponseSchema } from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport { yoctoNear } from '../../../helpers/near';\nimport type {\n CreateGetGasPrice,\n GetGasPriceResult,\n GetGasPriceArgs,\n} from 'nat-types/client/protocol/getGasPrice';\nimport { BlockIdSchema } from '@common/schemas/zod/common';\nimport type { BlockHash, BlockHeight } from 'nat-types/common';\n\nconst transformResult = (result: unknown): GetGasPriceResult => {\n const camelCased = snakeToCamelCase(result);\n const valid = RpcGasPriceResponseSchema().parse(camelCased);\n\n return {\n gasPrice: yoctoNear(valid.gasPrice),\n };\n};\n\nconst GetGasPriceArgsSchema = z.optional(\n z.object({\n blockId: z.optional(BlockIdSchema),\n }),\n);\n\nconst getBlockId = (\n atMomentOf?: GetGasPriceArgs['atMomentOf'],\n): BlockHeight | BlockHash | null => {\n if (atMomentOf === 'LatestOptimisticBlock') return null;\n if (atMomentOf && 'blockHash' in atMomentOf) return atMomentOf.blockHash;\n if (atMomentOf && 'blockHeight' in atMomentOf) return atMomentOf.blockHeight;\n return null;\n};\n\nexport const createGetGasPrice: CreateGetGasPrice =\n ({ sendRequest }) =>\n async (args) => {\n GetGasPriceArgsSchema.parse(args);\n\n const result = await sendRequest({\n body: {\n method: 'gas_price',\n params: {\n block_id: getBlockId(args?.atMomentOf),\n },\n },\n });\n return transformResult(result);\n };\n","import * as z from 'zod/mini';\nimport { base58 } from '@scure/base';\nimport { oneLine } from '@common/utils/common';\n\nconst Base58StringSchema = z.string().check(\n z.regex(\n /^[1-9A-HJ-NP-Za-km-z]+$/,\n oneLine(`Base58 string contains invalid characters. Allowed characters:\n 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`),\n ),\n);\n\nconst CryptoHashSchema = Base58StringSchema.check(\n z.refine(\n (val) => {\n try {\n const bytes = base58.decode(val);\n return bytes.length === 32;\n } catch {\n return false;\n }\n },\n { error: 'CryptoHash string must decode to 32 bytes' },\n ),\n);\n\nexport const BlockHashSchema = CryptoHashSchema;\nexport const BlockHeightSchema = z.uint64();\nexport const BlockIdSchema = z.union([BlockHeightSchema, BlockHashSchema]);\n","import * as z from 'zod/mini';\nimport { toNativeBlockReference } from '@common/transformers/toNative/blockReference';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport {\n RpcProtocolConfigResponseSchema,\n RuntimeConfigViewSchema,\n VMConfigViewSchema,\n} from '@near-js/jsonrpc-types';\nimport type { CreateGetProtocolConfig } from 'nat-types/client/protocol/getProtocolConfig';\n\n// TODO Use jsonrpc-types RpcProtocolConfigResponseSchema after 2.8.0\nconst TemporaryProtocolConfigShema = z.object({\n ...RpcProtocolConfigResponseSchema().shape,\n runtimeConfig: z.object({\n ...RuntimeConfigViewSchema().shape,\n wasmConfig: z.omit(VMConfigViewSchema(), { reftypesBulkMemory: true }),\n }),\n});\n\nexport type TemporaryProtocolConfig = z.infer<\n typeof TemporaryProtocolConfigShema\n>;\n\nconst transformResult = (result: unknown): TemporaryProtocolConfig => {\n const camelCased = snakeToCamelCase(result);\n return TemporaryProtocolConfigShema.parse(camelCased);\n};\n\nexport const createGetProtocolConfig: CreateGetProtocolConfig =\n ({ sendRequest }) =>\n async (args) => {\n const result = await sendRequest({\n body: {\n method: 'EXPERIMENTAL_protocol_config',\n params: toNativeBlockReference(args?.atMomentOf),\n },\n });\n return transformResult(result);\n };\n","import { base64 } from '@scure/base';\nimport { serializeSignedTransaction } from '@common/transformers/toBorshBytes/signedTransaction';\nimport { toNativeTransactionExecutionStatus } from '@common/transformers/toNative/transaction';\nimport { RpcTransactionResponseSchema } from '@near-js/jsonrpc-types';\nimport { snakeToCamelCase } from '@common/utils/snakeToCamelCase';\nimport type {\n CreateSendSignedTransaction,\n SendSignedTransactionResult,\n} from 'nat-types/client/transaction/sendSignedTransaction';\n\nconst transformResult = (result: unknown): SendSignedTransactionResult => {\n const camelCased = snakeToCamelCase(result);\n return RpcTransactionResponseSchema().parse(camelCased);\n};\n\nexport const createSendSignedTransaction: CreateSendSignedTransaction =\n ({ sendRequest }) =>\n async (args) => {\n const result = await sendRequest({\n body: {\n method: 'send_tx',\n params: {\n signed_tx_base64: base64.encode(\n serializeSignedTransaction(args.signedTransaction),\n ),\n wait_until: toNativeTransactionExecutionStatus(args?.waitUntil),\n },\n },\n });\n return transformResult(result);\n };\n","import type {\n NativeSignedTransaction,\n SignedTransaction,\n} from 'nat-types/signedTransaction';\nimport type { BorshBytes } from 'nat-types/common';\nimport { serialize } from 'borsh';\nimport { signedTransactionBorshSchema } from '@common/schemas/borsh';\nimport { toNativeSignedTransaction } from '@common/transformers/toNative/signedTransaction';\n\nexport const serializeNativeSignedTransaction = (\n nativeSignedTransaction: NativeSignedTransaction,\n): BorshBytes =>\n serialize(signedTransactionBorshSchema, nativeSignedTransaction);\n\nexport const serializeSignedTransaction = (\n signedTransaction: SignedTransaction,\n): BorshBytes =>\n serializeNativeSignedTransaction(\n toNativeSignedTransaction(signedTransaction),\n );\n","import type { Schema } from 'borsh';\n\nconst Ed25519PublicKeyBorshSchema = {\n struct: {\n ed25519Key: {\n struct: {\n data: { array: { type: 'u8', len: 32 } },\n },\n },\n },\n};\n\nconst Secp256k1PublicKeyBorshSchema = {\n struct: {\n secp256k1Key: {\n struct: {\n data: { array: { type: 'u8', len: 64 } },\n },\n },\n },\n};\n\nexport const publicKeyBorshSchema: Schema = {\n enum: [Ed25519PublicKeyBorshSchema, Secp256k1PublicKeyBorshSchema],\n};\n","export const createAccountActionBorshSchema = {\n struct: {\n createAccount: {\n struct: {},\n },\n },\n};\n","export const transferActionBorshSchema = {\n struct: {\n transfer: {\n struct: {\n deposit: 'u128',\n },\n },\n },\n};\n","import { publicKeyBorshSchema } from '../publicKey';\n\nconst fullAccessPermissionBorshSchema = {\n struct: {\n fullAccess: {\n struct: {},\n },\n },\n};\n\nconst functionCallPermissionBorshSchema = {\n struct: {\n functionCall: {\n struct: {\n allowance: { option: 'u128' },\n receiverId: 'string',\n methodNames: { array: { type: 'string' } },\n },\n },\n },\n};\n\nconst accessKeyBorshSchema = {\n struct: {\n nonce: 'u64',\n permission: {\n enum: [\n functionCallPermissionBorshSchema,\n fullAccessPermissionBorshSchema,\n ],\n },\n },\n};\n\nexport const addKeyActionBorshSchema = {\n struct: {\n addKey: {\n struct: {\n publicKey: publicKeyBorshSchema,\n accessKey: accessKeyBorshSchema,\n },\n },\n },\n};\n","export const deployContractActionBorshSchema = {\n struct: {\n deployContract: {\n struct: {\n code: { array: { type: 'u8' } },\n },\n },\n },\n};\n","const codeHashModeBorshSchema = {\n struct: {\n CodeHash: { struct: {} },\n },\n};\n\nconst accountIdModeBorshSchema = {\n struct: {\n AccountId: { struct: {} },\n },\n};\n\nexport const deployGlobalContractActionBorshSchema = {\n struct: {\n deployGlobalContract: {\n struct: {\n code: { array: { type: 'u8' } },\n deployMode: {\n enum: [codeHashModeBorshSchema, accountIdModeBorshSchema],\n },\n },\n },\n },\n};\n","const codeHashIdentifierBorshSchema = {\n struct: {\n CodeHash: { array: { type: 'u8', len: 32 } },\n },\n};\n\nconst accountIdIdentifierBorshSchema = {\n struct: {\n AccountId: 'string',\n },\n};\n\nexport const useGlobalContractActionBorshSchema = {\n struct: {\n useGlobalContract: {\n struct: {\n contractIdentifier: {\n enum: [codeHashIdentifierBorshSchema, accountIdIdentifierBorshSchema],\n },\n },\n },\n },\n};\n","export const functionCallActionBorshSchema = {\n struct: {\n functionCall: {\n struct: {\n methodName: 'string',\n args: { array: { type: 'u8' } },\n gas: 'u64',\n deposit: 'u128',\n },\n },\n },\n};\n","import { publicKeyBorshSchema } from '../publicKey';\n\nexport const stakeActionBorshSchema = {\n struct: {\n stake: {\n struct: {\n stake: 'u128',\n publicKey: publicKeyBorshSchema,\n },\n },\n },\n};\n","import { publicKeyBorshSchema } from '../publicKey';\n\nexport const deleteKeyActionBorshSchema = {\n struct: {\n deleteKey: {\n struct: {\n publicKey: publicKeyBorshSchema,\n },\n },\n },\n};\n","export const deleteAccountActionBorshSchema = {\n struct: {\n deleteAccount: {\n struct: {\n beneficiaryId: 'string',\n },\n },\n },\n};\n","import type { Schema } from 'borsh';\nimport { publicKeyBorshSchema } from './publicKey';\nimport { createAccountActionBorshSchema } from './actions/createAccount';\nimport { transferActionBorshSchema } from './actions/transfer';\nimport { addKeyActionBorshSchema } from './actions/addKey';\nimport { deployContractActionBorshSchema } from './actions/deployContract';\nimport { functionCallActionBorshSchema } from './actions/functionCall';\nimport { stakeActionBorshSchema } from './actions/stake';\nimport { deleteKeyActionBorshSchema } from './actions/deleteKey';\nimport { deleteAccountActionBorshSchema } from './actions/deleteAccount';\nimport { deployGlobalContractActionBorshSchema } from './actions/deployGlobalContract';\nimport { useGlobalContractActionBorshSchema } from './actions/useGlobalContract';\n\nconst allowedActionBorshSchema: Schema = {\n enum: [\n createAccountActionBorshSchema,\n deployContractActionBorshSchema,\n functionCallActionBorshSchema,\n transferActionBorshSchema,\n stakeActionBorshSchema,\n addKeyActionBorshSchema,\n deleteKeyActionBorshSchema,\n deleteAccountActionBorshSchema,\n { struct: { signedDelegate: 'string' } }, // TODO is it possible to rid this placeholder and keep enum order?\n deployGlobalContractActionBorshSchema,\n useGlobalContractActionBorshSchema,\n ],\n};\n\nexport const delegateActionBorshSchema: Schema = {\n struct: {\n senderId: 'string',\n publicKey: publicKeyBorshSchema,\n actions: { array: { type: allowedActionBorshSchema } },\n receiverId: 'string',\n nonce: 'u64',\n maxBlockHeight: 'u64',\n },\n};\n\n// TODO add DelegateActionPrefix\n","import type { Schema } from 'borsh';\n\nconst Ed25519SignatureBorshSchema = {\n struct: {\n ed25519Signature: {\n struct: {\n data: { array: { type: 'u8', len: 64 } },\n },\n },\n },\n};\n\nconst Secp256k1SignatureBorshSchema = {\n struct: {\n secp256k1Signature: {\n struct: {\n data: { array: { type: 'u8', len: 65 } },\n },\n },\n },\n};\n\nexport const signatureBorshSchema: Schema = {\n enum: [Ed25519SignatureBorshSchema, Secp256k1SignatureBorshSchema],\n};\n","import { delegateActionBorshSchema } from '../delegateAction';\nimport { signatureBorshSchema } from '../signature';\n\nexport const signedDelegateActionBorshSchema = {\n struct: {\n signedDelegate: {\n struct: {\n delegateAction: delegateActionBorshSchema,\n signature: signatureBorshSchema,\n },\n },\n },\n};\n","import type { Schema } from 'borsh';\nimport { publicKeyBorshSchema } from './publicKey';\nimport { createAccountActionBorshSchema } from './actions/createAccount';\nimport { transferActionBorshSchema } from './actions/transfer';\nimport { addKeyActionBorshSchema } from './actions/addKey';\nimport { deployContractActionBorshSchema } from './actions/deployContract';\nimport { deployGlobalContractActionBorshSchema } from './actions/deployGlobalContract';\nimport { useGlobalContractActionBorshSchema } from './actions/useGlobalContract';\nimport { functionCallActionBorshSchema } from './actions/functionCall';\nimport { stakeActionBorshSchema } from './actions/stake';\nimport { deleteKeyActionBorshSchema } from './actions/deleteKey';\nimport { deleteAccountActionBorshSchema } from './actions/deleteAccount';\nimport { signedDelegateActionBorshSchema } from './actions/signedDelegate';\n\n// Actions order in this enum is important and must match nearcore\nconst actionBorshSchema: Schema = {\n enum: [\n createAccountActionBorshSchema,\n deployContractActionBorshSchema,\n functionCallActionBorshSchema,\n transferActionBorshSchema,\n stakeActionBorshSchema,\n addKeyActionBorshSchema,\n deleteKeyActionBorshSchema,\n deleteAccountActionBorshSchema,\n signedDelegateActionBorshSchema,\n deployGlobalContractActionBorshSchema,\n useGlobalContractActionBorshSchema,\n ],\n};\n\n// Fields order is important and must follow the nearcore\nexport const transactionBorshSchema: Schema = {\n struct: {\n signerId: 'string',\n publicKey: publicKeyBorshSchema,\n nonce: 'u64',\n receiverId: 'string',\n blockHash: { array: { type: 'u8', len: 32 } },\n actions: { array: { type: actionBorshSchema } },\n },\n};\n","import type { Schema } from 'borsh';\nimport { transactionBorshSchema } from './transaction';\nimport { signatureBorshSchema } from './signature';\n\nexport const signedTransactionBorshSchema: Schema = {\n struct: {\n transaction: transactionBorshSchema,\n signature: signatureBorshSchema,\n },\n};\n","import { base58 } from '@scure/base';\nimport type {\n Curve,\n CurveString,\n Ed25519CurveString,\n Secp256k1CurveString,\n} from 'nat-types/crypto';\n\nexport const toEd25519CurveString = (u8Data: Uint8Array): Ed25519CurveString =>\n `ed25519:${base58.encode(u8Data)}`;\n\nexport const toSecp256k1CurveString = (\n u8Data: Uint8Array,\n): Secp256k1CurveString => `secp256k1:${base58.encode(u8Data)}`;\n\nexport const fromCurveString = (\n value: CurveString,\n): {\n curve: Curve;\n u8Data: Uint8Array;\n} => {\n const [curve, base58String] = value.split(':');\n return {\n curve: curve as Curve,\n u8Data: base58.decode(base58String),\n };\n};\n","import type { Signature, NativeSignature } from 'nat-types/crypto';\nimport { fromCurveString } from '@common/transformers/curveString';\n\nexport const toNativeSignature = (signature: Signature): NativeSignature => {\n const { curve, u8Data } = fromCurveString(signature);\n if (curve === 'ed25519') return { ed25519Signature: { data: u8Data } };\n return { secp256k1Signature: { data: u8Data } };\n};\n","import { base58 } from '@scure/base';\nimport { toNativePublicKey } from '@common/transformers/toNative/publicKey';\nimport { toNativeTransferAction } from '@common/transformers/toNative/actions/transfer';\nimport { toNativeCreateAccountAction } from '@common/transformers/toNative/actions/createAccount';\nimport { toNativeAddKeyAction } from '@common/transformers/toNative/actions/addKey';\nimport { toNativeDeployContractAction } from '@common/transformers/toNative/actions/deployContract';\nimport { toNativeFunctionCallAction } from '@common/transformers/toNative/actions/functionCall';\nimport { toNativeDeleteKeyAction } from '@common/transformers/toNative/actions/deleteKey';\nimport { toNativeDeleteAccountAction } from '@common/transformers/toNative/actions/deleteAccount';\nimport type {\n Action,\n NativeAction,\n NativeTransaction,\n Transaction,\n TransactionExecutionStatus,\n} from 'nat-types/transaction';\n\nconst toNativeAction = (action: Action): NativeAction => {\n if (action.actionType === 'Transfer') return toNativeTransferAction(action);\n if (action.actionType === 'CreateAccount')\n return toNativeCreateAccountAction();\n if (action.actionType === 'AddKey') return toNativeAddKeyAction(action);\n if (action.actionType === 'DeployContract')\n return toNativeDeployContractAction(action);\n if (action.actionType === 'FunctionCall')\n return toNativeFunctionCallAction(action);\n if (action.actionType === 'DeleteKey') return toNativeDeleteKeyAction(action);\n if (action.actionType === 'DeleteAccount')\n return toNativeDeleteAccountAction(action);\n throw new Error('Invalid transaction action type');\n};\n\nconst toNativeActions = (transaction: Transaction) => {\n if (transaction.action) return [toNativeAction(transaction.action)];\n\n if (transaction.actions)\n return transaction.actions.map((action) => toNativeAction(action));\n\n return [];\n};\n\nexport const toNativeTransaction = (\n transaction: Transaction,\n): NativeTransaction => ({\n signerId: transaction.signerAccountId,\n publicKey: toNativePublicKey(transaction.signerPublicKey),\n actions: toNativeActions(transaction),\n receiverId: transaction.receiverAccountId,\n nonce: BigInt(transaction.nonce),\n blockHash: base58.decode(transaction.blockHash),\n});\n\nconst TransactionExecutionStatusMap = {\n None: 'NONE',\n Included: 'INCLUDED',\n ExecutedOptimistic: 'EXECUTED_OPTIMISTIC',\n IncludedFinal: 'INCLUDED_FINAL',\n Executed: 'EXECUTED',\n Final: 'FINAL',\n} as const;\n\nexport const toNativeTransactionExecutionStatus = (\n status?: TransactionExecutionStatus,\n) =>\n status\n ? TransactionExecutionStatusMap[status]\n : TransactionExecutionStatusMap.ExecutedOptimistic;\n","import type { PublicKey, NativePublicKey } from 'nat-types/crypto';\nimport { fromCurveString } from '@common/transformers/curveString';\n\nexport const toNativePublicKey = (publicKey: PublicKey): NativePublicKey => {\n const { curve, u8Data } = fromCurveString(publicKey);\n if (curve === 'ed25519') return { ed25519Key: { data: u8Data } };\n return { secp256k1Key: { data: u8Data } };\n};\n","import type {\n TransferAction,\n NativeTransferAction,\n} from 'nat-types/actions/transfer';\nimport { fromNearOption } from '../../../../helpers/near';\n\nexport const toNativeTransferAction = (\n action: TransferAction,\n): NativeTransferAction => ({\n transfer: {\n deposit: fromNearOption(action.params.amount).yoctoNear,\n },\n});\n","import type { NativeCreateAccountAction } from 'nat-types/actions/createAccount';\n\nexport const toNativeCreateAccountAction = (): NativeCreateAccountAction => ({\n createAccount: {},\n});\n","import type {\n AddKeyAction,\n NativeAddKeyAction,\n} from 'nat-types/actions/addKey';\nimport { toNativePublicKey } from '@common/transformers/toNative/publicKey';\nimport { fromNearOption } from '../../../../helpers/near';\n\nconst getPermission = (\n params: AddKeyAction['params'],\n): NativeAddKeyAction['addKey']['accessKey']['permission'] => {\n if (params.accessType === 'FullAccess') return { fullAccess: {} };\n\n const { contractAccountId, gasBudget, allowedFunctions } = params;\n\n return {\n functionCall: {\n receiverId: contractAccountId,\n allowance: gasBudget && fromNearOption(gasBudget).yoctoNear,\n methodNames: allowedFunctions ?? [],\n },\n };\n};\n\nexport const toNativeAddKeyAction = (\n action: AddKeyAction,\n): NativeAddKeyAction => ({\n addKey: {\n publicKey: toNativePublicKey(action.params.publicKey),\n accessKey: {\n nonce: 0n, // Placeholder; It's not usable anymore: https://gov.near.org/t/issue-with-access-key-nonce/749\n permission: getPermission(action.params),\n },\n },\n});\n","import { base64 } from '@scure/base';\nimport type {\n DeployContractAction,\n NativeDeployContractAction,\n} from 'nat-types/actions/deployContract';\n\nexport const toNativeDeployContractAction = (\n action: DeployContractAction,\n): NativeDeployContractAction => {\n const code = action.params.wasmBytes\n ? action.params.wasmBytes\n : base64.decode(action.params.wasmBase64);\n\n return {\n deployContract: { code },\n };\n};\n","import type { GasLimit, GasOption, GasInput, TeraGasInput } from 'nat-types/common';\n\nconst TeraCoefficient = 10n ** 12n;\n\nexport const gas = (gas: GasInput) => {\n // TODO Validate\n return {\n gas: BigInt(gas),\n teraGas: String(BigInt(gas) / TeraCoefficient), // We don't keep decimals here\n };\n};\n\nexport const teraGas = (teraGas: TeraGasInput) => {\n // TODO Validate\n return {\n gas: BigInt(teraGas) * TeraCoefficient,\n teraGas,\n };\n};\n\nexport const fromGasOption = (gasOption: GasOption): GasLimit => {\n if ('teraGas' in gasOption) return teraGas(gasOption.teraGas);\n if ('gas' in gasOption) return gas(gasOption.gas);\n throw new Error('Invalid gas option');\n};\n","import type { FnArgs } from 'nat-types/contract';\nimport type { MaybeJsonLikeValue } from 'nat-types/common';\nimport { toJsonBytes } from '@common/utils/common';\n\nexport const toContractFnArgsBytes = <AJ extends MaybeJsonLikeValue>(\n args: FnArgs<AJ>,\n): Uint8Array => {\n if (args.fnArgsBytes) return args.fnArgsBytes;\n if (args.fnArgsJson) return toJsonBytes(args.fnArgsJson);\n return new Uint8Array();\n};\n","import type {\n FunctionCallAction,\n NativeFunctionCallAction,\n} from 'nat-types/actions/functionCall';\nimport { fromNearOption } from '../../../../helpers/near';\nimport { fromGasOption } from '../../../../helpers/gas';\nimport { toContractFnArgsBytes } from '@common/transformers/contract';\nimport type { MaybeJsonLikeValue } from 'nat-types/common';\n\nexport const toNativeFunctionCallAction = <AJ extends MaybeJsonLikeValue>(\n action: FunctionCallAction<AJ>,\n): NativeFunctionCallAction => {\n const { functionName, attachedDeposit, gasLimit } = action.params;\n return {\n functionCall: {\n methodName: functionName,\n args: toContractFnArgsBytes(action.params),\n gas: fromGasOption(gasLimit).gas,\n deposit: attachedDeposit ? fromNearOption(attachedDeposit).yoctoNear : 0n,\n },\n };\n};\n","import type {\n DeleteKeyAction,\n NativeDeleteKeyAction,\n} from 'nat-types/actions/deleteKey';\nimport { toNativePublicKey } from '@common/transformers/toNative/publicKey';\n\nexport const toNativeDeleteKeyAction = (\n action: DeleteKeyAction,\n): NativeDeleteKeyAction => ({\n deleteKey: {\n publicKey: toNativePublicKey(action.params.publicKey),\n },\n});\n","import type {\n DeleteAccountAction,\n NativeDeleteAccountAction,\n} from 'nat-types/actions/deleteAccount';\n\nexport const toNativeDeleteAccountAction = (\n action: DeleteAccountAction,\n): NativeDeleteAccountAction => ({\n deleteAccount: {\n beneficiaryId: action.params.beneficiaryAccountId,\n },\n});\n","import { toNativeSignature } from '@common/transformers/toNative/signature';\nimport { toNativeTransaction } from '@common/transformers/toNative/transaction';\nimport type {\n NativeSignedTransaction,\n SignedTransaction,\n} from 'nat-types/signedTransaction';\n\nexport const toNativeSignedTransaction = (\n signedTransaction: SignedTransaction,\n): NativeSignedTransaction => ({\n transaction: toNativeTransaction(signedTransaction.transaction),\n signature: toNativeSignature(signedTransaction.signature),\n});\n","export type CircularQueue<V> = {\n next: () => V;\n remove: (value: V) => boolean;\n getAll: () => V[];\n size: () => number;\n};\n\nexport const createCircularQueue = <V>(arr: V[]): CircularQueue<V> => {\n const state = {\n items: [...arr],\n current: 0,\n };\n\n const next = () => {\n const value = state.items[state.current];\n state.current = (state.current + 1) % state.items.length;\n return value;\n };\n\n const remove = (value: V) => {\n const idx = state.items.indexOf(value);\n if (idx === -1) return false;\n\n if (\n idx < state.current ||\n (idx === state.current && state.current === state.items.length - 1)\n ) {\n state.current =\n (state.current - 1 + state.items.length) % state.items.length;\n }\n\n state.items.splice(idx, 1);\n\n if (state.current >= state.items.length) state.current = 0;\n return true;\n };\n\n const getAll = () => [...state.items];\n\n return {\n next,\n remove,\n getAll,\n size: () => state.items.length,\n };\n};\n","import { createSendRequest } from './createSendRequest';\nimport { createGetAccountState } from './account/getAccountState';\nimport { createGetAccountKey } from './account/getAccountKey';\nimport { createGetAccountKeys } from './account/getAccountKeys';\nimport { createGetContractState } from './contract/getContractState';\nimport { createCallContractReadFunction } from './contract/callContractReadFunction';\nimport { createGetBlock } from './block/getBlock';\nimport { createGetGasPrice } from './protocol/getGasPrice';\nimport { createGetProtocolConfig } from './protocol/getProtocolConfig';\nimport { createSendSignedTransaction } from './transaction/sendSignedTransaction';\nimport { createCircularQueue } from '@common/utils/createCircularQueue';\nimport type { CreateClient, ClientContext } from 'nat-types/client/client';\n\n// TODO Validate network, get preferred RPC type\nexport const createClient: CreateClient = ({ network }) => {\n const context = {\n regularRpcQueue: createCircularQueue(network.rpcs.regular),\n archivalRpcQueue: createCircularQueue(network.rpcs.archival),\n } as ClientContext;\n\n context.sendRequest = createSendRequest(context);\n\n return {\n getAccountState: createGetAccountState(context),\n getAccountKey: createGetAccountKey(context),\n getAccountKeys: createGetAccountKeys(context),\n getContractState: createGetContractState(context),\n callContractReadFunction: createCallContractReadFunction(context),\n getBlock: createGetBlock(context),\n getGasPrice: createGetGasPrice(context),\n getProtocolConfig: createGetProtocolConfig(context),\n sendSignedTransaction: createSendSignedTransaction(context),\n };\n};\n","import type { Network } from 'nat-types/client/client';\n\nexport const mainnet: Network = {\n rpcs: {\n regular: [\n { url: 'https://free.rpc.fastnear.com' },\n { url: 'https://near.blockpi.network/v1/rpc/public' },\n ],\n archival: [],\n },\n};\n\nexport const testnet: Network = {\n rpcs: {\n regular: [\n { url: 'https://rpc.testnet.near.org' },\n { url: 'https://test.rpc.fastnear.com' },\n ],\n archival: [],\n },\n};\n","import type { Transaction } from 'nat-types/transaction';\nimport type { Base58String } from 'nat-types/common';\nimport { sha256 } from '@noble/hashes/sha2';\nimport { base58 } from '@scure/base';\nimport { serializeTransaction } from '@common/transformers/toBorshBytes/transaction';\n\ntype GetTransactionHashOutput = {\n transactionHash: Base58String;\n u8TransactionHash: Uint8Array;\n};\n\nexport const getTransactionHash = (\n transaction: Transaction,\n): GetTransactionHashOutput => {\n const transactionBorshBytes = serializeTransaction(transaction);\n const u8TransactionHash = sha256(transactionBorshBytes);\n return {\n transactionHash: base58.encode(u8TransactionHash),\n u8TransactionHash,\n };\n};\n","import type { NativeTransaction, Transaction } from 'nat-types/transaction';\nimport type { BorshBytes } from 'nat-types/common';\nimport { serialize } from 'borsh';\nimport { transactionBorshSchema } from '@common/schemas/borsh';\nimport { toNativeTransaction } from '@common/transformers/toNative/transaction';\n\nexport const serializeNativeTransaction = (\n nativeTransaction: NativeTransaction,\n): BorshBytes => serialize(transactionBorshSchema, nativeTransaction);\n\nexport const serializeTransaction = (transaction: Transaction): BorshBytes =>\n serializeNativeTransaction(toNativeTransaction(transaction));\n","import * as v from 'valibot';\nimport type { PrivateKey, Signature } from 'nat-types/crypto';\nimport type { Hex } from 'nat-types/common';\nimport { ed25519 } from '@noble/curves/ed25519';\nimport { secp256k1 } from '@noble/curves/secp256k1';\nimport {\n fromCurveString,\n toEd25519CurveString,\n toSecp256k1CurveString,\n} from '@common/transformers/curveString';\nimport {\n BinarySecp256k1PrivateKeySchema,\n BinaryEd25519PrivateKeySchema,\n} from '@common/schemas/valibot/privateKey';\nimport { BinaryCryptoKeyLengths } from '@common/configs/constants';\n\nconst { Ed25519, Secp256k1 } = BinaryCryptoKeyLengths;\n\nconst getBinaryEd25519SecretKey = (u8PrivateKey: Uint8Array) =>\n v\n .parse(BinaryEd25519PrivateKeySchema, u8PrivateKey)\n .slice(0, Ed25519.SecretKey);\n\nconst signByEd25519Key = (message: Hex, u8PrivateKey: Uint8Array) => {\n const u8SecretKey = getBinaryEd25519SecretKey(u8PrivateKey);\n const u8Signature = ed25519.sign(message, u8SecretKey);\n\n return {\n signature: toEd25519CurveString(u8Signature),\n u8Signature,\n };\n};\n\nconst getBinarySecp256k1SecretKey = (u8PrivateKey: Uint8Array) =>\n v\n .parse(BinarySecp256k1PrivateKeySchema, u8PrivateKey)\n .slice(0, Secp256k1.SecretKey);\n\nconst signBySecp256k1Key = (message: Hex, u8PrivateKey: Uint8Array) => {\n const u8SecretKey = getBinarySecp256k1SecretKey(u8PrivateKey);\n const signatureObj = secp256k1.sign(message, u8SecretKey);\n\n const u8Signature = new Uint8Array([\n ...signatureObj.toBytes(),\n signatureObj.recovery,\n ]);\n\n return {\n signature: toSecp256k1CurveString(u8Signature),\n u8Signature,\n };\n};\n\ntype SignInput = {\n message: Hex;\n privateKey: PrivateKey;\n};\n\ntype SignOutput = {\n signature: Signature;\n u8Signature: Uint8Array;\n};\n\nexport const sign = ({ message, privateKey }: SignInput): SignOutput => {\n const { curve, u8Data: u8PrivateKey } = fromCurveString(privateKey);\n return curve === 'ed25519'\n ? signByEd25519Key(message, u8PrivateKey)\n : signBySecp256k1Key(message, u8PrivateKey);\n};\n","import { BinaryCryptoKeyLengths } from '../../configs/constants';\nimport * as v from 'valibot';\n\nconst { Ed25519, Secp256k1 } = BinaryCryptoKeyLengths;\n\nexport const BinarySecp256k1PrivateKeySchema = v.pipe(\n v.instance(Uint8Array),\n v.length(\n Secp256k1.PrivateKey,\n `Length of binary secp256k1 private key should be ${Secp256k1.PrivateKey}`,\n ),\n);\n\nexport const BinaryEd25519PrivateKeySchema = v.pipe(\n v.instance(Uint8Array),\n v.length(\n Ed25519.PrivateKey,\n `Length of binary ed25519 private key should be ${Ed25519.PrivateKey}`,\n ),\n);\n\n// import { getRandomSecp256k1PrivateKey } from '../../crypto/getRandomPrivateKey';\n\n// new Array(100).fill(0).forEach((_, i) => {\n// const { publicKey, privateKey } = getRandomSecp256k1PrivateKey();\n// console.log(\n// `Public key: ${publicKey}, privateKey: ${privateKey}`,\n// `Public key: ${publicKey.length}, privateKey: ${privateKey.length}`,\n// );\n// });\n\n// console.log(\n// v.parse(\n// PublicKeySchema,\n// 'secp256k1:2k5acvmedoDyDm28qDknzd7R7gY7ndYwtTAbmn8P2bVuiXDCdFEi7KbbYxuXQArpTp9SveYYRgBP1LG9Jxwf1NGn2ad',\n// { abortEarly: true}\n// ),\n// );\n","import { getTransactionHash } from '../../helpers/crypto/getTransactionHash';\nimport { sign } from '../../helpers/crypto/sign';\nimport type {\n Context,\n SignTransaction,\n} from 'nat-types/keyServices/memoryKeyService';\n\nexport const createSignTransaction =\n (context: Context): SignTransaction =>\n async (transaction) => {\n // TODO Implement validation\n const privateKey = context.findPrivateKey(transaction.signerPublicKey);\n\n const { transactionHash, u8TransactionHash } =\n getTransactionHash(transaction);\n\n const { signature } = sign({ message: u8TransactionHash, privateKey });\n\n return {\n transaction,\n transactionHash,\n signature,\n };\n };\n","import * as v from 'valibot';\nimport type {\n PublicKey,\n PrivateKey,\n Ed25519CurveString,\n Secp256k1CurveString,\n} from 'nat-types/crypto';\nimport {\n fromCurveString,\n toEd25519CurveString,\n toSecp256k1CurveString,\n} from '@common/transformers/curveString';\nimport {\n BinarySecp256k1PrivateKeySchema,\n BinaryEd25519PrivateKeySchema,\n} from '@common/schemas/valibot/privateKey';\nimport { BinaryCryptoKeyLengths } from '@common/configs/constants';\n\nconst { Ed25519, Secp256k1 } = BinaryCryptoKeyLengths;\n\nconst getBinaryEd25519PublicKey = (\n u8Ed25519PrivateKey: Uint8Array,\n): Uint8Array => {\n const validEd25519PrivateKey = v.parse(\n BinaryEd25519PrivateKeySchema,\n u8Ed25519PrivateKey,\n );\n return validEd25519PrivateKey.slice(Ed25519.SecretKey);\n};\n\nconst getEd25519PublicKey = (u8PrivateKey: Uint8Array): Ed25519CurveString => {\n const u8PublicKey = getBinaryEd25519PublicKey(u8PrivateKey);\n return toEd25519CurveString(u8PublicKey);\n};\n\nconst getBinarySecp256k1PublicKey = (\n u8Secp256k1PrivateKey: Uint8Array,\n): Uint8Array => {\n const validU8PrivateKey = v.parse(\n BinarySecp256k1PrivateKeySchema,\n u8Secp256k1PrivateKey,\n );\n return validU8PrivateKey.slice(Secp256k1.SecretKey);\n};\n\nconst getSecp256k1PublicKey = (\n u8Secp256k1PrivateKey: Uint8Array,\n): Secp256k1CurveString => {\n const u8PublicKey = getBinarySecp256k1PublicKey(u8Secp256k1PrivateKey);\n return toSecp256k1CurveString(u8PublicKey);\n};\n\nexport const getPublicKey = (privateKey: PrivateKey): PublicKey => {\n // TODO validate private key\n const { curve, u8Data: u8PrivateKey } = fromCurveString(privateKey);\n return curve === 'ed25519'\n ? getEd25519PublicKey(u8PrivateKey)\n : getSecp256k1PublicKey(u8PrivateKey);\n};\n","import { getPublicKey } from '../../helpers/crypto/getPublicKey';\nimport type {\n KeyPairs,\n KeySource,\n CreateMemoryKeyServiceInput,\n} from 'nat-types/keyServices/memoryKeyService';\nimport type { PrivateKey, PublicKey } from 'nat-types/crypto';\n\nconst parseKeySource = (\n keySource: KeySource,\n): { publicKey: PublicKey; privateKey: PrivateKey } => {\n if ('privateKey' in keySource) {\n return {\n publicKey: getPublicKey(keySource.privateKey),\n privateKey: keySource.privateKey,\n };\n }\n\n // TODO implement\n if ('seedPhrase' in keySource) {\n return {\n publicKey: 'ed25519:213',\n privateKey: 'ed25519:213',\n };\n }\n\n throw new Error('Unknown keySource');\n};\n\nexport const parseKeySources = (\n params: CreateMemoryKeyServiceInput,\n): KeyPairs => {\n if (params.keySource) {\n const { publicKey, privateKey } = parseKeySource(params.keySource);\n return { [publicKey]: privateKey };\n }\n\n if (params.keySources)\n return Object.fromEntries(\n params.keySources.map((keySource) => {\n const { publicKey, privateKey } = parseKeySource(keySource);\n return [publicKey, privateKey];\n }),\n );\n\n throw new Error(\n 'Cannot create MemoryKeyService - no private keys were found',\n );\n};\n","import type { KeyPairs } from 'nat-types/keyServices/memoryKeyService';\nimport type { PublicKey } from 'nat-types/crypto';\n\nexport const createFindPrivateKey =\n (keyPairs: KeyPairs) => (publicKey: PublicKey) => {\n const privateKey = keyPairs[publicKey];\n if (keyPairs[publicKey]) return privateKey;\n throw new Error(\n `Cannot find a corresponding private key for '${publicKey}'`,\n );\n };\n","import { createSignTransaction } from './createSignTransaction';\nimport { parseKeySources } from './parseKeySources';\nimport { createFindPrivateKey } from './createFindPrivateKey';\nimport type {\n Context,\n MemoryKeyService,\n CreateMemoryKeyServiceInput,\n} from 'nat-types/keyServices/memoryKeyService';\n\nexport const createMemoryKeyService = async (\n params: CreateMemoryKeyServiceInput,\n): Promise<MemoryKeyService> => {\n const context: Context = {\n keyPairs: parseKeySources(params),\n } as Context;\n\n context.findPrivateKey = createFindPrivateKey(context.keyPairs);\n\n return {\n signTransaction: createSignTransaction(context),\n getKeyPairs: () => context.keyPairs,\n };\n};\n","const findSigningKey = (keyPriority: any, keyList: any) => {\n if (keyPriority.type === 'FullAccess') {\n return keyList.fullAccess.find((key: any) => !key.isLocked);\n }\n\n // If keyType is FunctionCall - find the key which follows all criteria\n return keyList.functionCall.find((key: any) => {\n const isUnlocked = key.isLocked === false;\n\n const isContractIdMatch =\n key.contractAccountId === keyPriority.contractAccountId;\n\n // No allowedFunctions means that the key can call every contract function\n const isFnCallAllowed =\n key.allowedFunctions === undefined ||\n key.allowedFunctions.includes(keyPriority.calledFnName);\n\n return isUnlocked && isContractIdMatch && isFnCallAllowed;\n });\n};\n\nexport const createFindKeyForTask = (keyList: any) => (task: any) => {\n for (const keyPriority of task.signingKeyPriority) {\n const key = findSigningKey(keyPriority, keyList);\n if (key) return key;\n }\n};\n","const isKeyExist = (keyPriority: any, keyList: any) => {\n // If exists at least 1 FA key - return true\n if (keyPriority.type === 'FullAccess') return keyList.fullAccess.length > 0;\n\n // If keyType is FunctionCall - find the key which follows all criteria\n return keyList.functionCall.find((key: any) => {\n const isContractIdMatch =\n key.contractAccountId === keyPriority.contractAccountId;\n\n // No allowedFunctions means that the key can call every contract function\n const isFnCallAllowed =\n key.allowedFunctions === undefined ||\n key.allowedFunctions.includes(keyPriority.calledFnName);\n\n return isContractIdMatch && isFnCallAllowed;\n });\n};\n\nexport const createIsKeyForTaskExist = (keyList: any) => (task: any) =>\n task.signingKeyPriority.some((keyPriority: any) =>\n isKeyExist(keyPriority, keyList),\n );\n","export const createLock = (key: any) => () => {\n key.isLocked = true;\n console.log('Key locked', key.publicKey);\n};\n\nexport const createUnlock = (key: any) => () => {\n key.isLocked = false;\n console.log('Key unlocked', key.publicKey);\n};\n\nexport const createIncrementNonce = (key: any) => () => {\n key.nonce = key.nonce + 1;\n};\n","import {\n createUnlock,\n createLock,\n createIncrementNonce,\n} from './helpers/keyUtils';\nimport type { AccountKey, FullAccessKey } from 'nat-types/accountKey';\nimport type { SignerContext } from 'nat-types/signers/memorySigner';\nimport type { KeyPairs } from 'nat-types/keyServices/memoryKeyService';\n\nconst transformKey = (fullAccessKey: FullAccessKey, keyPairs: KeyPairs) => {\n const { publicKey, nonce } = fullAccessKey;\n\n const key: any = {\n type: 'FullAccess',\n publicKey,\n privateKey: keyPairs[publicKey],\n isLocked: false,\n nonce,\n };\n key.lock = createLock(key);\n key.unlock = createUnlock(key);\n key.incrementNonce = createIncrementNonce(key);\n\n return key;\n};\n\nexport const getFullAccessKeyList = (\n accountKeys: AccountKey[],\n signerContext: SignerContext,\n) => {\n const keyPairs = signerContext.keyService.getKeyPairs();\n\n return accountKeys\n .filter(\n ({ publicKey, accessType }) =>\n Object.hasOwn(keyPairs, publicKey) && accessType === 'FullAccess',\n )\n .map((key) => transformKey(key as FullAccessKey, keyPairs));\n};\n","import {\n createIncrementNonce,\n createLock,\n createUnlock,\n} from './helpers/keyUtils';\nimport type { AccountKey, FunctionCallKey } from 'nat-types/accountKey';\nimport type { SignerContext } from 'nat-types/signers/memorySigner';\nimport type { KeyPairs } from 'nat-types/keyServices/memoryKeyService';\n\nconst transformKey = (functionCallKey: FunctionCallKey, keyPairs: KeyPairs) => {\n const { publicKey, nonce, contractAccountId, allowedFunctions } =\n functionCallKey;\n\n const key: any = {\n type: 'FunctionCall', // TODO Rename to accessType\n publicKey,\n privateKey: keyPairs[publicKey],\n isLocked: false,\n nonce,\n contractAccountId,\n allowedFunctions,\n };\n\n key.lock = createLock(key);\n key.unlock = createUnlock(key);\n key.incrementNonce = createIncrementNonce(key);\n\n return key;\n};\n\nexport const getFunctionCallKeyList = (\n accountKeys: AccountKey[],\n signerContext: SignerContext,\n) => {\n const keyPairs = signerContext.keyService.getKeyPairs();\n\n return accountKeys\n .filter(\n ({ publicKey, accessType }) =>\n Object.hasOwn(keyPairs, publicKey) && accessType === 'FunctionCall',\n )\n .map((key) => transformKey(key as FunctionCallKey, keyPairs));\n};\n","import { createFindKeyForTask } from './createFindKeyForTask';\nimport { createIsKeyForTaskExist } from './createIsKeyForTaskExist';\nimport { getFullAccessKeyList } from './getFullAccessKeyList';\nimport { getFunctionCallKeyList } from './getFunctionCallKeyList';\nimport type { SignerContext } from 'nat-types/signers/memorySigner';\nimport type { AccountKey } from 'nat-types/accountKey';\n\nconst getAllowedSigningKeys = (\n signerContext: SignerContext,\n accountKeys: AccountKey[],\n) => {\n if (!signerContext.signingKeys) return accountKeys;\n const set = new Set(signerContext.signingKeys);\n return accountKeys.filter((key) => set.has(key.publicKey));\n};\n\nexport const createKeyPool = async (signerContext: SignerContext) => {\n const { accountKeys } = await signerContext.client.getAccountKeys({\n accountId: signerContext.signerAccountId,\n });\n\n // If the user want to handle all tasks only by a specific key - remove others\n const filteredKeys = getAllowedSigningKeys(signerContext, accountKeys);\n\n const keyList = {\n fullAccess: getFullAccessKeyList(filteredKeys, signerContext),\n functionCall: getFunctionCallKeyList(filteredKeys, signerContext),\n };\n\n if (keyList.fullAccess.length === 0 && keyList.functionCall.length === 0)\n throw new Error('Cannot create a signer with no account keys');\n\n return {\n findKeyForTask: createFindKeyForTask(keyList),\n isKeyForTaskExist: createIsKeyForTaskExist(keyList),\n };\n};\n","const checkIfKeyMatchRequirements = (keyPriority: any, key: any) => {\n if (key.type !== keyPriority.type) return false;\n if (key.type === 'FullAccess') return true;\n\n // If keyType is FunctionCall - find the key which follows all criteria\n const isContractIdMatch =\n key.contractAccountId === keyPriority.contractAccountId;\n\n // No allowedFunctions means that the key can call every contract function\n const isFnCallAllowed =\n key.allowedFunctions === undefined ||\n key.allowedFunctions.includes(keyPriority.calledFnName);\n\n return isContractIdMatch && isFnCallAllowed;\n};\n\nexport const createFindTaskForKey = (context: any) => (key: any) =>\n context.queue.find((task: any) =>\n task.signingKeyPriority.some((keyPriority: any) =>\n checkIfKeyMatchRequirements(keyPriority, key),\n ),\n );\n","import type { TransactionIntent } from 'nat-types/transaction';\nimport type { FunctionCallAction } from 'nat-types/actions/functionCall';\nimport type {AccountId, MaybeJsonLikeValue} from 'nat-types/common';\n\n/**\n * We always want to sign txns with FA key when possible and use FC only if all\n * FA keys are busy/non-present\n */\n // TODO #1: Find all FC keys which can sign the task, not only 1.\n // TODO #2: Add ability to define the keyType priority by user himself.\n // For example ['FunctionCall', 'FullAccess']\nconst getPriorityForFunctionCallTransaction = (\n action: FunctionCallAction<MaybeJsonLikeValue>,\n receiverAccountId: AccountId,\n) => [\n { type: 'FullAccess' },\n {\n type: 'FunctionCall',\n contractAccountId: receiverAccountId,\n calledFnName: action.params.functionName,\n },\n];\n\nexport const getSigningKeyPriority = ({\n action,\n actions,\n receiverAccountId,\n}: TransactionIntent) => {\n // If a tx has only 1 FC action - it's possible to sign it with FC\n // (if present/ meet requirements)\n if (action?.actionType === 'FunctionCall')\n return getPriorityForFunctionCallTransaction(action, receiverAccountId);\n\n if (actions?.length === 1 && actions[0].actionType === 'FunctionCall')\n return getPriorityForFunctionCallTransaction(actions[0], receiverAccountId);\n\n // For everything else use FA key only\n return [{ type: 'FullAccess' }];\n};\n","import type { TransactionIntent } from 'nat-types/transaction';\nimport { getSigningKeyPriority } from './helpers/getSigningKeyPriority';\n\nexport const createSignTransaction =\n (context: any) => async (transactionIntent: TransactionIntent) => {\n const { matcher, resolver } = context.signerContext;\n\n const task = {\n type: 'SignTransaction',\n taskId: crypto.randomUUID(),\n signingKeyPriority: getSigningKeyPriority(transactionIntent),\n transactionIntent,\n };\n\n matcher.canHandleTaskInFuture(task);\n context.addTask(task);\n\n queueMicrotask(() => {\n matcher.handleAddTask(task);\n });\n\n return resolver.waitForTask(task.taskId);\n };\n","import { getSigningKeyPriority } from './helpers/getSigningKeyPriority';\n\nexport const createExecuteTransaction =\n (context: any) => async (args: any) => {\n const { matcher, resolver } = context.signerContext;\n\n const transactionIntent = {\n receiverAccountId: args.receiverAccountId,\n action: args.action,\n actions: args.actions,\n };\n\n const task = {\n type: 'ExecuteTransaction',\n taskId: crypto.randomUUID(),\n signingKeyPriority: getSigningKeyPriority(transactionIntent),\n transactionIntent,\n };\n\n matcher.canHandleTaskInFuture(task);\n context.addTask(task);\n\n queueMicrotask(() => {\n matcher.handleAddTask(task);\n });\n\n return resolver.waitForTask(task.taskId);\n };\n","export const createSignMultipleTransactions =\n (context: any) => async (args: any) => {\n const { transactionIntents } = args;\n const { signTransaction } = context.signerContext.taskQueue;\n\n const output = [];\n let failed = false;\n\n for (const intent of transactionIntents) {\n if (failed) {\n output.push({ status: 'Canceled' });\n continue;\n }\n try {\n output.push({\n status: 'Success',\n result: await signTransaction(intent),\n });\n } catch (error) {\n output.push({ status: 'Error', error });\n failed = true;\n }\n }\n\n return output;\n };\n","export const createExecuteMultipleTransactions =\n (context: any) => async (args: any) => {\n const { transactionIntents } = args;\n const { executeTransaction } = context.signerContext.taskQueue;\n\n const output = [];\n let failed = false;\n\n // TODO check if all txns could be executed in the future (if keyPool has all needed keys)\n\n for (const intent of transactionIntents) {\n if (failed) {\n output.push({ status: 'Canceled' });\n continue;\n }\n try {\n output.push({\n status: 'Success',\n result: await executeTransaction({ ...intent }),\n });\n } catch (error) {\n output.push({ status: 'Error', error });\n failed = true;\n }\n }\n // TODO consider trowing error with output\n\n return output;\n };\n","import { createFindTaskForKey } from './createFindTaskForKey';\nimport { createSignTransaction } from './addTask/signTransaction';\nimport { createExecuteTransaction } from './addTask/executeTransaction';\nimport { createSignMultipleTransactions } from './addTask/signMultipleTransactions';\nimport { createExecuteMultipleTransactions } from './addTask/executeMultipleTransactions';\nimport type { SignerContext } from 'nat-types/signers/memorySigner';\n\nexport const createTaskQueue = (signerContext: SignerContext) => {\n const context: any = {\n queue: [],\n cleaners: {},\n signerContext,\n };\n\n context.addTask = (task: any) => {\n context.queue.push(task);\n // Cancel the task if it wasn't started during queueTimeout time\n context.cleaners[task.taskId] = setTimeout(() => {\n context.queue = context.queue.filter(\n ({ taskId }: any) => taskId !== task.taskId,\n );\n delete context.cleaners[task.taskId];\n\n context.signerContext.resolver.completeTask(task.taskId, {\n error: 'Task execution was rejected after timeout',\n });\n }, context.signerContext.taskTtlMs);\n };\n\n // We remove the task from the queue when the task execution starts\n const removeTask = (taskId: any) => {\n context.queue = context.queue.filter((task: any) => task.taskId !== taskId);\n clearTimeout(context.cleaners[taskId]);\n delete context.cleaners[taskId];\n };\n\n return {\n signTransaction: createSignTransaction(context),\n signMultipleTransactions: createSignMultipleTransactions(context),\n executeTransaction: createExecuteTransaction(context),\n executeeMultipleTransactions: createExecuteMultipleTransactions(context),\n findTaskForKey: createFindTaskForKey(context),\n removeTask,\n };\n};\n","import { getTransactionHash } from '../../../../helpers/crypto/getTransactionHash';\nimport { sign } from '../../../../helpers/crypto/sign';\nimport type { SignedTransaction } from 'nat-types/signedTransaction';\n\nexport const getSignedTransaction = (\n signerContext: any,\n task: any,\n key: any,\n nextNonce: bigint,\n): SignedTransaction => {\n const transaction = {\n ...task.transactionIntent,\n signerAccountId: signerContext.signerAccountId,\n signerPublicKey: key.publicKey,\n nonce: nextNonce,\n blockHash: signerContext.state.getBlockHash(),\n };\n\n const { transactionHash, u8TransactionHash } =\n getTransactionHash(transaction);\n\n const { signature } = sign({\n message: u8TransactionHash,\n privateKey: key.privateKey,\n });\n\n return {\n transaction,\n transactionHash,\n signature,\n };\n};\n","import { getSignedTransaction } from './helpers/getSignedTransaction';\n\nexport const signTransaction = async (\n signerContext: any,\n task: any,\n key: any,\n) => {\n try {\n const nextNonce = key.nonce + 1;\n\n const signedTransaction = getSignedTransaction(\n signerContext,\n task,\n key,\n nextNonce,\n );\n\n key.incrementNonce();\n\n signerContext.resolver.completeTask(task.taskId, {\n result: signedTransaction,\n });\n } catch (e) {\n signerContext.resolver.completeTask(task.taskId, { error: e });\n }\n};\n","import { getSignedTransaction } from './helpers/getSignedTransaction';\n\nexport const executeTransaction = async (\n signerContext: any,\n task: any,\n key: any,\n) => {\n try {\n const nextNonce = key.nonce + 1;\n\n const signedTransaction = getSignedTransaction(\n signerContext,\n task,\n key,\n nextNonce,\n );\n\n const result = await signerContext.client.sendSignedTransaction({\n signedTransaction,\n });\n\n key.incrementNonce();\n\n signerContext.resolver.completeTask(task.taskId, {\n result,\n });\n } catch (e) {\n signerContext.resolver.completeTask(task.taskId, { error: e });\n }\n};\n","import { signTransaction } from '../executors/signTransaction';\nimport { executeTransaction } from '../executors/executeTransaction';\n\nconst execute = (task: any) => {\n if (task.type === 'SignTransaction') return signTransaction;\n if (task.type === 'ExecuteTransaction') return executeTransaction;\n throw new Error('Unsupported task type');\n};\n\nconst executeTask = async (signerContext: any, task: any, key: any) => {\n key.lock();\n signerContext.taskQueue.removeTask(task.taskId);\n\n await execute(task)(signerContext, task, key);\n\n key.unlock();\n void signerContext.matcher.handleKeyUnlock(key);\n};\n\nexport const createMatcher = (signerContext: any) => {\n const handleAddTask = async (task: any) => {\n const key = signerContext.keyPool.findKeyForTask(task);\n if (key) void executeTask(signerContext, task, key);\n };\n\n const handleKeyUnlock = async (key: any) => {\n const task = signerContext.taskQueue.findTaskForKey(key);\n if (task) void executeTask(signerContext, task, key);\n };\n\n const canHandleTaskInFuture = (task: any) => {\n const canHandle = signerContext.keyPool.isKeyForTaskExist(task);\n if (canHandle) return true;\n throw new Error(`There is no key, which can sigh the task`);\n };\n\n return {\n handleAddTask,\n handleKeyUnlock,\n canHandleTaskInFuture,\n };\n};\n","export const createResolver = () => {\n const activeTasks: any = {};\n\n // Return Promise which will be resolved by callback, stored in the state\n const waitForTask = (taskId: any) =>\n new Promise((resolve, reject) => {\n activeTasks[taskId] = ({ result, error }: any) => {\n typeof error === 'undefined' ? resolve(result) : reject(error);\n delete activeTasks[taskId];\n };\n });\n\n const completeTask = (taskId: any, data: any) => {\n activeTasks[taskId](data);\n };\n\n return {\n waitForTask,\n completeTask,\n };\n};\n","import { RefetchBlockHashInterval } from '@common/configs/constants';\n\nconst fetchBlockHash = async (signerContext: any) => {\n const block = await signerContext.client.getBlock();\n return block.header.hash;\n};\n\nexport const createState = async (signerContext: any) => {\n const blockHash = await fetchBlockHash(signerContext);\n\n const state = {\n blockHash,\n };\n\n const refetchBlockHashIntervalId = setInterval(async () => {\n state.blockHash = await fetchBlockHash(signerContext);\n }, RefetchBlockHashInterval);\n\n const clearIntervals = () => {\n clearInterval(refetchBlockHashIntervalId);\n };\n\n return {\n getBlockHash: () => state.blockHash,\n clearIntervals,\n };\n};\n","import { createKeyPool } from './keyPool/createKeyPool';\nimport { createTaskQueue } from './taskQueue/createTaskQueue';\nimport { createMatcher } from './matcher/createMatcher';\nimport { createResolver } from './resolver/createResolver';\nimport { createState } from './state/createState';\nimport { SignerTaskTtlMs } from '@common/configs/constants';\nimport type { CreateMemorySigner } from 'nat-types/signers/memorySigner';\n\nexport const createMemorySigner: CreateMemorySigner = async (args) => {\n const context: any = {\n signerAccountId: args.signerAccountId,\n client: args.client,\n keyService: args.keyService,\n signingKeys: args?.keyPool?.signingKeys,\n taskTtlMs: args?.queue?.taskTtlMs ?? SignerTaskTtlMs,\n };\n\n const [keyPool, state] = await Promise.all([\n createKeyPool(context),\n createState(context),\n ]);\n\n context.keyPool = keyPool;\n context.state = state;\n context.taskQueue = createTaskQueue(context);\n context.matcher = createMatcher(context);\n context.resolver = createResolver();\n\n return {\n executeTransaction: context.taskQueue.executeTransaction,\n executeMultipleTransactions: context.taskQueue.executeeMultipleTransactions,\n signTransaction: context.taskQueue.signTransaction,\n signMultipleTransactions: context.taskQueue.signMultipleTransactions,\n };\n};\n","import type {\n TransferAction,\n TransferActionParams,\n} from 'nat-types/actions/transfer';\n\nexport const transfer = (params: TransferActionParams): TransferAction => ({\n actionType: 'Transfer',\n params,\n});\n","import type { CreateAccountAction } from 'nat-types/actions/createAccount';\n\nexport const createAccount = (): CreateAccountAction => ({\n actionType: 'CreateAccount',\n});\n","import type {\n AddKeyAction,\n FullAccessKeyParams,\n} from 'nat-types/actions/addKey';\n\nexport const addFullAccessKey = ({\n publicKey,\n}: Omit<FullAccessKeyParams, 'accessType'>): AddKeyAction => ({\n actionType: 'AddKey',\n params: {\n accessType: 'FullAccess',\n publicKey,\n },\n});\n","import type {\n AddKeyAction,\n FunctionCallKeyParams,\n} from 'nat-types/actions/addKey';\n\nexport const addFunctionCallKey = ({\n publicKey,\n contractAccountId,\n gasBudget,\n allowedFunctions,\n}: Omit<FunctionCallKeyParams, 'accessType'>): AddKeyAction => ({\n actionType: 'AddKey',\n params: {\n accessType: 'FunctionCall',\n publicKey,\n contractAccountId,\n gasBudget,\n allowedFunctions,\n },\n});\n","import type {\n FunctionCallAction,\n FunctionCallParams,\n} from 'nat-types/actions/functionCall';\nimport type { MaybeJsonLikeValue } from 'nat-types/common';\n\nexport const functionCall = <AJ extends MaybeJsonLikeValue>(\n params: FunctionCallParams<AJ>,\n): FunctionCallAction<AJ> => ({\n actionType: 'FunctionCall',\n params,\n});\n","import type {\n DeleteKeyAction,\n DeleteKeyActionParams,\n} from 'nat-types/actions/deleteKey';\n\nexport const deleteKey = (params: DeleteKeyActionParams): DeleteKeyAction => ({\n actionType: 'DeleteKey',\n params,\n});\n","import type {\n DeleteAccountAction,\n DeleteAccountActionParams,\n} from 'nat-types/actions/deleteAccount';\n\nexport const deleteAccount = (\n params: DeleteAccountActionParams,\n): DeleteAccountAction => ({\n actionType: 'DeleteAccount',\n params,\n});\n","import type {\n DeployContractAction,\n DeployContractActionParams,\n} from 'nat-types/actions/deployContract';\n\nexport const deployContract = (\n params: DeployContractActionParams,\n): DeployContractAction => ({\n actionType: 'DeployContract',\n params,\n});\n\n\n"],"mappings":"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","names":["z","yoctoNear","z","transformResult","z","transformResult","z","transformResult","base64","z","transformResult","base64","transformResult","z","z","CryptoHashSchema","transformResult","z","transformResult","base64","base58","base58","base64","gas","teraGas","base58","transformResult","base64","base58","serialize","serialize","base58","v","Ed25519","Secp256k1","v","Ed25519","Secp256k1","transformKey","transformKey","createSignTransaction","signTransaction","executeTransaction","createSignTransaction"]}