@locuschain/lib 0.1.31 → 0.1.33

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 (469) hide show
  1. package/dist/accounts/account.d.mts +58 -0
  2. package/dist/accounts/index.amd.js +306 -0
  3. package/dist/accounts/index.cjs.cjs +311 -0
  4. package/dist/accounts/index.d.cts +5 -0
  5. package/dist/accounts/index.d.mts +5 -0
  6. package/dist/accounts/index.esm.js +304 -0
  7. package/dist/accounts/keys/index.d.mts +2 -0
  8. package/dist/accounts/keys/localKeySource.d.mts +23 -0
  9. package/dist/accounts/keys/toKeySource.d.mts +14 -0
  10. package/dist/accounts/keysToAccount.d.mts +19 -0
  11. package/dist/accounts/mnemonicToAccount.d.mts +25 -0
  12. package/dist/accounts/signing/txKeyPolicy.d.mts +21 -0
  13. package/dist/accounts/types.d.mts +100 -0
  14. package/dist/actions/wallet/_deriveTxAdditions.d.mts +18 -0
  15. package/dist/actions/wallet/_prepareTransaction.d.mts +15 -0
  16. package/dist/actions/wallet/_sendPreparedTransaction.d.mts +9 -0
  17. package/dist/actions/wallet/_signLocusTransaction.d.mts +14 -0
  18. package/dist/actions/wallet/index.d.mts +5 -0
  19. package/dist/actions/wallet/types.d.mts +38 -0
  20. package/dist/autogen/actions/debug/index.d.mts +2 -0
  21. package/dist/autogen/actions/debug/public/allHeights.d.mts +3 -0
  22. package/dist/autogen/actions/debug/public/balanceGrantList.d.mts +2 -0
  23. package/dist/autogen/actions/debug/public/balanceList.d.mts +2 -0
  24. package/dist/autogen/actions/debug/public/createAccount.d.mts +3 -0
  25. package/dist/autogen/actions/debug/public/createNode.d.mts +4 -0
  26. package/dist/autogen/actions/debug/public/dumpAllAccounts.d.mts +3 -0
  27. package/dist/autogen/actions/debug/public/echo.d.mts +2 -0
  28. package/dist/autogen/actions/debug/public/gameChainCmd.d.mts +4 -0
  29. package/dist/autogen/actions/debug/public/getAccountsBalances.d.mts +4 -0
  30. package/dist/autogen/actions/debug/public/getAccountsHeights.d.mts +4 -0
  31. package/dist/autogen/actions/debug/public/getContractLog.d.mts +4 -0
  32. package/dist/autogen/actions/debug/public/getGuestsInfo.d.mts +3 -0
  33. package/dist/autogen/actions/debug/public/getHomeShard.d.mts +4 -0
  34. package/dist/autogen/actions/debug/public/getImportAccount.d.mts +4 -0
  35. package/dist/autogen/actions/debug/public/getImportAccountLog.d.mts +4 -0
  36. package/dist/autogen/actions/debug/public/getKeys.d.mts +4 -0
  37. package/dist/autogen/actions/debug/public/getNodeBlocks.d.mts +3 -0
  38. package/dist/autogen/actions/debug/public/getPeerPool.d.mts +2 -0
  39. package/dist/autogen/actions/debug/public/getPeersInfo.d.mts +3 -0
  40. package/dist/autogen/actions/debug/public/importAccount.d.mts +4 -0
  41. package/dist/autogen/actions/debug/public/index.d.mts +29 -0
  42. package/dist/autogen/actions/debug/public/initReliableNodes.d.mts +4 -0
  43. package/dist/autogen/actions/debug/public/noArgsRets.d.mts +2 -0
  44. package/dist/autogen/actions/debug/public/nodeCmd.d.mts +3 -0
  45. package/dist/autogen/actions/debug/public/removeHoldTxs.d.mts +4 -0
  46. package/dist/autogen/actions/debug/public/requestVme.d.mts +4 -0
  47. package/dist/autogen/actions/debug/public/sendRawTransaction.d.mts +4 -0
  48. package/dist/autogen/actions/debug/public/setImportAccountTx.d.mts +4 -0
  49. package/dist/autogen/actions/debug/public/setReliableNode.d.mts +4 -0
  50. package/dist/autogen/actions/debug/public/viewContract.d.mts +4 -0
  51. package/dist/autogen/actions/debug/wallet/callContract.d.mts +4 -0
  52. package/dist/autogen/actions/debug/wallet/createContract.d.mts +4 -0
  53. package/dist/autogen/actions/debug/wallet/createSynthAccount.d.mts +4 -0
  54. package/dist/autogen/actions/debug/wallet/index.d.mts +4 -0
  55. package/dist/autogen/actions/debug/wallet/postDataToSynthAccount.d.mts +4 -0
  56. package/dist/autogen/actions/index.d.mts +3 -0
  57. package/dist/autogen/actions/public/accountHeightsToDownload.d.mts +4 -0
  58. package/dist/autogen/actions/public/accountHeightsToUpload.d.mts +4 -0
  59. package/dist/autogen/actions/public/calculateSpentByExpress.d.mts +4 -0
  60. package/dist/autogen/actions/public/clientMessage.d.mts +3 -0
  61. package/dist/autogen/actions/public/downloadAccountTxs.d.mts +4 -0
  62. package/dist/autogen/actions/public/echo.d.mts +2 -0
  63. package/dist/autogen/actions/public/findDuplicateSubscriber.d.mts +4 -0
  64. package/dist/autogen/actions/public/generateLatestStoredDataProof.d.mts +4 -0
  65. package/dist/autogen/actions/public/getAccountAssetList.d.mts +4 -0
  66. package/dist/autogen/actions/public/getAccountAssetObject.d.mts +4 -0
  67. package/dist/autogen/actions/public/getAccountDetail.d.mts +4 -0
  68. package/dist/autogen/actions/public/getAccountHistory.d.mts +4 -0
  69. package/dist/autogen/actions/public/getAccountTokenList.d.mts +4 -0
  70. package/dist/autogen/actions/public/getConciseNodeStatus.d.mts +3 -0
  71. package/dist/autogen/actions/public/getGenesisAccount.d.mts +3 -0
  72. package/dist/autogen/actions/public/getIdentityProof.d.mts +4 -0
  73. package/dist/autogen/actions/public/getInactiveTxList.d.mts +4 -0
  74. package/dist/autogen/actions/public/getMontInfoList.d.mts +4 -0
  75. package/dist/autogen/actions/public/getNodeStatus.d.mts +3 -0
  76. package/dist/autogen/actions/public/getOwnerBalance.d.mts +3 -0
  77. package/dist/autogen/actions/public/getRoundState.d.mts +4 -0
  78. package/dist/autogen/actions/public/getRoundStatesList.d.mts +4 -0
  79. package/dist/autogen/actions/public/getShardOfAccount.d.mts +4 -0
  80. package/dist/autogen/actions/public/getSyncState.d.mts +3 -0
  81. package/dist/autogen/actions/public/getTx.d.mts +4 -0
  82. package/dist/autogen/actions/public/getWorldRoundState.d.mts +4 -0
  83. package/dist/autogen/actions/public/getWorldRoundStatesList.d.mts +4 -0
  84. package/dist/autogen/actions/public/hasSystemToken.d.mts +4 -0
  85. package/dist/autogen/actions/public/index.d.mts +38 -0
  86. package/dist/autogen/actions/public/makeTxProof.d.mts +4 -0
  87. package/dist/autogen/actions/public/queryAddress.d.mts +4 -0
  88. package/dist/autogen/actions/public/readTxListWitness.d.mts +4 -0
  89. package/dist/autogen/actions/public/setHost.d.mts +3 -0
  90. package/dist/autogen/actions/public/subscribeAddress.d.mts +4 -0
  91. package/dist/autogen/actions/public/uploadAccountTxs.d.mts +3 -0
  92. package/dist/autogen/actions/public/verifyAndSignChallenge.d.mts +4 -0
  93. package/dist/autogen/actions/public/verifyIdentityProof.d.mts +4 -0
  94. package/dist/autogen/actions/public/verifyLatestStoredDataProof.d.mts +3 -0
  95. package/dist/autogen/actions/public/verifyTxListWitness.d.mts +3 -0
  96. package/dist/autogen/actions/wallet/acceptScript.d.mts +4 -0
  97. package/dist/autogen/actions/wallet/becomeGuest.d.mts +4 -0
  98. package/dist/autogen/actions/wallet/becomeHost.d.mts +4 -0
  99. package/dist/autogen/actions/wallet/changeKey.d.mts +4 -0
  100. package/dist/autogen/actions/wallet/changeVkey.d.mts +4 -0
  101. package/dist/autogen/actions/wallet/closeAccount.d.mts +4 -0
  102. package/dist/autogen/actions/wallet/createAssetObject.d.mts +4 -0
  103. package/dist/autogen/actions/wallet/createToken.d.mts +4 -0
  104. package/dist/autogen/actions/wallet/createVme.d.mts +4 -0
  105. package/dist/autogen/actions/wallet/index.d.mts +19 -0
  106. package/dist/autogen/actions/wallet/lockStake.d.mts +4 -0
  107. package/dist/autogen/actions/wallet/openAccount.d.mts +4 -0
  108. package/dist/autogen/actions/wallet/postData.d.mts +4 -0
  109. package/dist/autogen/actions/wallet/provideScript.d.mts +4 -0
  110. package/dist/autogen/actions/wallet/requestDataTrade.d.mts +4 -0
  111. package/dist/autogen/actions/wallet/transferAssetObject.d.mts +4 -0
  112. package/dist/autogen/actions/wallet/transferCoin.d.mts +4 -0
  113. package/dist/autogen/actions/wallet/transferCoinExpress.d.mts +4 -0
  114. package/dist/autogen/actions/wallet/transferToken.d.mts +4 -0
  115. package/dist/autogen/actions/wallet/unlockStake.d.mts +4 -0
  116. package/dist/autogen/debugPublicActions.d.mts +47 -0
  117. package/dist/autogen/debugWalletActions.d.mts +11 -0
  118. package/dist/autogen/index.amd.js +151 -0
  119. package/dist/autogen/index.cjs.cjs +157 -0
  120. package/dist/autogen/index.d.cts +8 -0
  121. package/dist/autogen/index.d.mts +8 -0
  122. package/dist/autogen/index.esm.js +49 -0
  123. package/dist/autogen/locus-tx.d.mts +5 -0
  124. package/dist/autogen/publicActions.d.mts +66 -0
  125. package/dist/autogen/rpc-api-spec.d.mts +208 -0
  126. package/dist/autogen/types/common/addr-tx-proof.d.mts +5 -0
  127. package/dist/autogen/types/common/asset-object-transfer.d.mts +8 -0
  128. package/dist/autogen/types/common/asset-object.d.mts +10 -0
  129. package/dist/autogen/types/common/asset-proof-objects.d.mts +5 -0
  130. package/dist/autogen/types/common/asset-transfer-info.d.mts +9 -0
  131. package/dist/autogen/types/common/base-meta.d.mts +1 -0
  132. package/dist/autogen/types/common/contract-exec-status.d.mts +16 -0
  133. package/dist/autogen/types/common/contract-transfer-info.d.mts +7 -0
  134. package/dist/autogen/types/common/get-peers-info.d.mts +9 -0
  135. package/dist/autogen/types/common/index-value-pair.d.mts +4 -0
  136. package/dist/autogen/types/common/index.d.mts +54 -0
  137. package/dist/autogen/types/common/input-params-data-transfer.d.mts +8 -0
  138. package/dist/autogen/types/common/key-bind-info.d.mts +4 -0
  139. package/dist/autogen/types/common/mont-info.d.mts +4 -0
  140. package/dist/autogen/types/common/object-amount-transfer.d.mts +5 -0
  141. package/dist/autogen/types/common/object-amount.d.mts +4 -0
  142. package/dist/autogen/types/common/output-download-account-txs.d.mts +4 -0
  143. package/dist/autogen/types/common/param-str.d.mts +3 -0
  144. package/dist/autogen/types/common/param-tx-data.d.mts +5 -0
  145. package/dist/autogen/types/common/params-token-value-pair.d.mts +4 -0
  146. package/dist/autogen/types/common/public-height-chunk.d.mts +4 -0
  147. package/dist/autogen/types/common/ref-tx-info.d.mts +5 -0
  148. package/dist/autogen/types/common/ref-vtx.d.mts +6 -0
  149. package/dist/autogen/types/common/ret-type-base.d.mts +1 -0
  150. package/dist/autogen/types/common/round-state-abstract.d.mts +11 -0
  151. package/dist/autogen/types/common/round-state-detail.d.mts +16 -0
  152. package/dist/autogen/types/common/rpc-account-height.d.mts +5 -0
  153. package/dist/autogen/types/common/rpc-accounts-balances-result.d.mts +4 -0
  154. package/dist/autogen/types/common/rpc-asset-list-values.d.mts +7 -0
  155. package/dist/autogen/types/common/rpc-data-trade-result.d.mts +5 -0
  156. package/dist/autogen/types/common/rpc-token-balance-pair.d.mts +4 -0
  157. package/dist/autogen/types/common/token-value-ab.d.mts +5 -0
  158. package/dist/autogen/types/common/token-value-pair.d.mts +4 -0
  159. package/dist/autogen/types/common/transaction-sender-index.d.mts +7 -0
  160. package/dist/autogen/types/common/transfer-info.d.mts +7 -0
  161. package/dist/autogen/types/common/tx-base.d.mts +13 -0
  162. package/dist/autogen/types/common/tx-hash-elements.d.mts +6 -0
  163. package/dist/autogen/types/common/tx-key-height-hash.d.mts +4 -0
  164. package/dist/autogen/types/common/tx-key-nround.d.mts +5 -0
  165. package/dist/autogen/types/common/tx-key.d.mts +4 -0
  166. package/dist/autogen/types/common/tx-meta.d.mts +2 -0
  167. package/dist/autogen/types/common/tx-no-signature.d.mts +1 -0
  168. package/dist/autogen/types/common/tx-recv-set-meta.d.mts +2 -0
  169. package/dist/autogen/types/common/tx-sign-key.d.mts +1 -0
  170. package/dist/autogen/types/common/tx-signature.d.mts +3 -0
  171. package/dist/autogen/types/common/tx-vsignature.d.mts +3 -0
  172. package/dist/autogen/types/common/vm-engine-block.d.mts +11 -0
  173. package/dist/autogen/types/common/vm-reward.d.mts +4 -0
  174. package/dist/autogen/types/common/vm-tx-state.d.mts +27 -0
  175. package/dist/autogen/types/common/vme-block-meta.d.mts +2 -0
  176. package/dist/autogen/types/common/vme-info.d.mts +3 -0
  177. package/dist/autogen/types/common/vme-lock-stake.d.mts +4 -0
  178. package/dist/autogen/types/common/vote-info-rpc.d.mts +5 -0
  179. package/dist/autogen/types/common/vtx-meta.d.mts +2 -0
  180. package/dist/autogen/types/common/wrs-validators-info.d.mts +5 -0
  181. package/dist/autogen/types/consts/address-class.d.mts +11 -0
  182. package/dist/autogen/types/consts/consts.d.mts +2 -0
  183. package/dist/autogen/types/consts/currency-unit.d.mts +15 -0
  184. package/dist/autogen/types/consts/index.d.mts +3 -0
  185. package/dist/autogen/types/consts/tx-type.d.mts +61 -0
  186. package/dist/autogen/types/consts/tx-types.d.mts +415 -0
  187. package/dist/autogen/types/rpc/heights-result.d.mts +4 -0
  188. package/dist/autogen/types/rpc/index.d.mts +106 -0
  189. package/dist/autogen/types/rpc/params-accept-script.d.mts +8 -0
  190. package/dist/autogen/types/rpc/params-account-and-index.d.mts +4 -0
  191. package/dist/autogen/types/rpc/params-account-heights.d.mts +5 -0
  192. package/dist/autogen/types/rpc/params-account-history.d.mts +5 -0
  193. package/dist/autogen/types/rpc/params-account.d.mts +3 -0
  194. package/dist/autogen/types/rpc/params-accounts.d.mts +3 -0
  195. package/dist/autogen/types/rpc/params-become-guest.d.mts +5 -0
  196. package/dist/autogen/types/rpc/params-become-host.d.mts +5 -0
  197. package/dist/autogen/types/rpc/params-calculate-spent-by-express.d.mts +5 -0
  198. package/dist/autogen/types/rpc/params-call-contract.d.mts +13 -0
  199. package/dist/autogen/types/rpc/params-change-key.d.mts +8 -0
  200. package/dist/autogen/types/rpc/params-change-vkey.d.mts +5 -0
  201. package/dist/autogen/types/rpc/params-close-account.d.mts +7 -0
  202. package/dist/autogen/types/rpc/params-contract-log.d.mts +6 -0
  203. package/dist/autogen/types/rpc/params-create-asset-object.d.mts +10 -0
  204. package/dist/autogen/types/rpc/params-create-contract.d.mts +14 -0
  205. package/dist/autogen/types/rpc/params-create-node.d.mts +4 -0
  206. package/dist/autogen/types/rpc/params-create-synth-account.d.mts +8 -0
  207. package/dist/autogen/types/rpc/params-create-token.d.mts +7 -0
  208. package/dist/autogen/types/rpc/params-create-vme.d.mts +8 -0
  209. package/dist/autogen/types/rpc/params-download-account-txs.d.mts +6 -0
  210. package/dist/autogen/types/rpc/params-find-duplicate-subscriber.d.mts +3 -0
  211. package/dist/autogen/types/rpc/params-game-chain-cmd.d.mts +5 -0
  212. package/dist/autogen/types/rpc/params-generate-latest-stored-data-proof.d.mts +4 -0
  213. package/dist/autogen/types/rpc/params-get-asset-list.d.mts +4 -0
  214. package/dist/autogen/types/rpc/params-get-asset-objects.d.mts +4 -0
  215. package/dist/autogen/types/rpc/params-get-home-shard.d.mts +3 -0
  216. package/dist/autogen/types/rpc/params-get-identity-proof.d.mts +4 -0
  217. package/dist/autogen/types/rpc/params-get-import-account.d.mts +3 -0
  218. package/dist/autogen/types/rpc/params-import-account.d.mts +7 -0
  219. package/dist/autogen/types/rpc/params-init-reliable-nodes.d.mts +5 -0
  220. package/dist/autogen/types/rpc/params-latest-stored-data-proof.d.mts +4 -0
  221. package/dist/autogen/types/rpc/params-lock-stake.d.mts +7 -0
  222. package/dist/autogen/types/rpc/params-open-account.d.mts +11 -0
  223. package/dist/autogen/types/rpc/params-post-data-to-synth-account.d.mts +11 -0
  224. package/dist/autogen/types/rpc/params-provide-script.d.mts +14 -0
  225. package/dist/autogen/types/rpc/params-query-address.d.mts +3 -0
  226. package/dist/autogen/types/rpc/params-read-tx-list.d.mts +5 -0
  227. package/dist/autogen/types/rpc/params-remove-hold-txs.d.mts +5 -0
  228. package/dist/autogen/types/rpc/params-request-data-trade.d.mts +10 -0
  229. package/dist/autogen/types/rpc/params-request-vme.d.mts +4 -0
  230. package/dist/autogen/types/rpc/params-round-list.d.mts +4 -0
  231. package/dist/autogen/types/rpc/params-round.d.mts +3 -0
  232. package/dist/autogen/types/rpc/params-rs.d.mts +4 -0
  233. package/dist/autogen/types/rpc/params-send-raw-transaction.d.mts +4 -0
  234. package/dist/autogen/types/rpc/params-set-host.d.mts +4 -0
  235. package/dist/autogen/types/rpc/params-set-import-account-tx.d.mts +5 -0
  236. package/dist/autogen/types/rpc/params-set-reliable-node.d.mts +4 -0
  237. package/dist/autogen/types/rpc/params-subscribe-address.d.mts +4 -0
  238. package/dist/autogen/types/rpc/params-transfer-asset-object.d.mts +9 -0
  239. package/dist/autogen/types/rpc/params-transfer-coin-express.d.mts +7 -0
  240. package/dist/autogen/types/rpc/params-transfer-coin.d.mts +8 -0
  241. package/dist/autogen/types/rpc/params-transfer-tokens.d.mts +14 -0
  242. package/dist/autogen/types/rpc/params-tx-list-witness.d.mts +6 -0
  243. package/dist/autogen/types/rpc/params-tx-list.d.mts +5 -0
  244. package/dist/autogen/types/rpc/params-unlock-stake.d.mts +7 -0
  245. package/dist/autogen/types/rpc/params-upload-account-txs.d.mts +5 -0
  246. package/dist/autogen/types/rpc/params-verify-and-sign-challenge.d.mts +8 -0
  247. package/dist/autogen/types/rpc/params-verify-identity-proof.d.mts +6 -0
  248. package/dist/autogen/types/rpc/result-dump-accounts.d.mts +4 -0
  249. package/dist/autogen/types/rpc/rpc-bool-result.d.mts +3 -0
  250. package/dist/autogen/types/rpc/rpc-calculate-spent-by-express-result.d.mts +3 -0
  251. package/dist/autogen/types/rpc/rpc-create-account-result.d.mts +7 -0
  252. package/dist/autogen/types/rpc/rpc-create-node-result.d.mts +5 -0
  253. package/dist/autogen/types/rpc/rpc-create-tx-result.d.mts +7 -0
  254. package/dist/autogen/types/rpc/rpc-find-duplicate-subscriber-result.d.mts +3 -0
  255. package/dist/autogen/types/rpc/rpc-game-chain-cmd-result.d.mts +3 -0
  256. package/dist/autogen/types/rpc/rpc-generate-latest-stored-data-proof-result.d.mts +4 -0
  257. package/dist/autogen/types/rpc/rpc-get-account-asset-list-result.d.mts +4 -0
  258. package/dist/autogen/types/rpc/rpc-get-account-asset-object-result.d.mts +5 -0
  259. package/dist/autogen/types/rpc/rpc-get-account-detail-result.d.mts +10 -0
  260. package/dist/autogen/types/rpc/rpc-get-account-history-result.d.mts +3 -0
  261. package/dist/autogen/types/rpc/rpc-get-account-token-list-result.d.mts +6 -0
  262. package/dist/autogen/types/rpc/rpc-get-accounts-balances-result.d.mts +3 -0
  263. package/dist/autogen/types/rpc/rpc-get-accounts-heights-result.d.mts +3 -0
  264. package/dist/autogen/types/rpc/rpc-get-concise-node-status-result.d.mts +18 -0
  265. package/dist/autogen/types/rpc/rpc-get-contract-log-result.d.mts +3 -0
  266. package/dist/autogen/types/rpc/rpc-get-genesis-account-result.d.mts +3 -0
  267. package/dist/autogen/types/rpc/rpc-get-guests-info-result.d.mts +3 -0
  268. package/dist/autogen/types/rpc/rpc-get-home-shard-result.d.mts +3 -0
  269. package/dist/autogen/types/rpc/rpc-get-identity-proof-result.d.mts +6 -0
  270. package/dist/autogen/types/rpc/rpc-get-import-account-result.d.mts +10 -0
  271. package/dist/autogen/types/rpc/rpc-get-inactive-tx-list-result.d.mts +14 -0
  272. package/dist/autogen/types/rpc/rpc-get-keys-result.d.mts +7 -0
  273. package/dist/autogen/types/rpc/rpc-get-mont-info-list-result.d.mts +5 -0
  274. package/dist/autogen/types/rpc/rpc-get-node-blocks-result.d.mts +3 -0
  275. package/dist/autogen/types/rpc/rpc-get-node-status-result.d.mts +28 -0
  276. package/dist/autogen/types/rpc/rpc-get-shard-of-account-result.d.mts +4 -0
  277. package/dist/autogen/types/rpc/rpc-get-sync-state-result.d.mts +3 -0
  278. package/dist/autogen/types/rpc/rpc-get-tx-result.d.mts +3 -0
  279. package/dist/autogen/types/rpc/rpc-get-world-round-state-result.d.mts +13 -0
  280. package/dist/autogen/types/rpc/rpc-get-world-round-states-list-result.d.mts +3 -0
  281. package/dist/autogen/types/rpc/rpc-has-system-token-result.d.mts +4 -0
  282. package/dist/autogen/types/rpc/rpc-import-account-result.d.mts +3 -0
  283. package/dist/autogen/types/rpc/rpc-node-cmd-result.d.mts +5 -0
  284. package/dist/autogen/types/rpc/rpc-query-address-result.d.mts +3 -0
  285. package/dist/autogen/types/rpc/rpc-read-tx-list-witness-result.d.mts +6 -0
  286. package/dist/autogen/types/rpc/rpc-request-vme-result.d.mts +3 -0
  287. package/dist/autogen/types/rpc/rpc-send-raw-transaction-result.d.mts +1 -0
  288. package/dist/autogen/types/rpc/rpc-set-import-account-tx-result.d.mts +5 -0
  289. package/dist/autogen/types/rpc/rpc-subscribe-address-result.d.mts +1 -0
  290. package/dist/autogen/types/rpc/rpc-verify-and-sign-challenge-result.d.mts +8 -0
  291. package/dist/autogen/types/rpc/rpc-verify-identity-proof-result.d.mts +4 -0
  292. package/dist/autogen/types/rpc/rpc-view-contract-result.d.mts +3 -0
  293. package/dist/autogen/types/rpc/upload-heights-result.d.mts +6 -0
  294. package/dist/autogen/types/tx/index.d.mts +50 -0
  295. package/dist/autogen/types/tx/tx-accept-script-after-time-lock.d.mts +12 -0
  296. package/dist/autogen/types/tx/tx-accept-script.d.mts +15 -0
  297. package/dist/autogen/types/tx/tx-activate-all-assets.d.mts +15 -0
  298. package/dist/autogen/types/tx/tx-activate-asset-object.d.mts +9 -0
  299. package/dist/autogen/types/tx/tx-activate-call-contract.d.mts +15 -0
  300. package/dist/autogen/types/tx/tx-activate-coin.d.mts +9 -0
  301. package/dist/autogen/types/tx/tx-activate-contract-result.d.mts +18 -0
  302. package/dist/autogen/types/tx/tx-activate-contract-reward.d.mts +8 -0
  303. package/dist/autogen/types/tx/tx-activate-contract-transfer.d.mts +15 -0
  304. package/dist/autogen/types/tx/tx-activate-data-synth-account.d.mts +12 -0
  305. package/dist/autogen/types/tx/tx-activate-foundation-reserve.d.mts +7 -0
  306. package/dist/autogen/types/tx/tx-activate-incentive.d.mts +11 -0
  307. package/dist/autogen/types/tx/tx-activate-lock-stake-for-vme.d.mts +9 -0
  308. package/dist/autogen/types/tx/tx-activate-open-contract.d.mts +15 -0
  309. package/dist/autogen/types/tx/tx-activate-open-synth-account.d.mts +9 -0
  310. package/dist/autogen/types/tx/tx-activate-open-vm-engine.d.mts +11 -0
  311. package/dist/autogen/types/tx/tx-activate-token.d.mts +12 -0
  312. package/dist/autogen/types/tx/tx-become-guest.d.mts +10 -0
  313. package/dist/autogen/types/tx/tx-become-host.d.mts +7 -0
  314. package/dist/autogen/types/tx/tx-burn-asset-object.d.mts +8 -0
  315. package/dist/autogen/types/tx/tx-burn-token.d.mts +10 -0
  316. package/dist/autogen/types/tx/tx-call-contract.d.mts +16 -0
  317. package/dist/autogen/types/tx/tx-change-foundation-account.d.mts +6 -0
  318. package/dist/autogen/types/tx/tx-change-keypair.d.mts +10 -0
  319. package/dist/autogen/types/tx/tx-change-vkey.d.mts +6 -0
  320. package/dist/autogen/types/tx/tx-close-account.d.mts +12 -0
  321. package/dist/autogen/types/tx/tx-contract-blank-reward.d.mts +5 -0
  322. package/dist/autogen/types/tx/tx-contract-transfer-reward.d.mts +8 -0
  323. package/dist/autogen/types/tx/tx-create-asset-object.d.mts +10 -0
  324. package/dist/autogen/types/tx/tx-create-contract.d.mts +17 -0
  325. package/dist/autogen/types/tx/tx-create-synth-account.d.mts +7 -0
  326. package/dist/autogen/types/tx/tx-create-token.d.mts +10 -0
  327. package/dist/autogen/types/tx/tx-create-vm-engine.d.mts +8 -0
  328. package/dist/autogen/types/tx/tx-dummy.d.mts +3 -0
  329. package/dist/autogen/types/tx/tx-finalize.d.mts +6 -0
  330. package/dist/autogen/types/tx/tx-freeze-account.d.mts +5 -0
  331. package/dist/autogen/types/tx/tx-genesis-account.d.mts +11 -0
  332. package/dist/autogen/types/tx/tx-lead-vtx.d.mts +9 -0
  333. package/dist/autogen/types/tx/tx-lock-stake-for-vme.d.mts +7 -0
  334. package/dist/autogen/types/tx/tx-open-account.d.mts +18 -0
  335. package/dist/autogen/types/tx/tx-post-data-synth-account.d.mts +9 -0
  336. package/dist/autogen/types/tx/tx-post-data.d.mts +11 -0
  337. package/dist/autogen/types/tx/tx-provide-script.d.mts +16 -0
  338. package/dist/autogen/types/tx/tx-revoke.d.mts +16 -0
  339. package/dist/autogen/types/tx/tx-transfer-asset-object.d.mts +8 -0
  340. package/dist/autogen/types/tx/tx-transfer-coin-express.d.mts +8 -0
  341. package/dist/autogen/types/tx/tx-transfer-coin.d.mts +7 -0
  342. package/dist/autogen/types/tx/tx-transfer-token.d.mts +11 -0
  343. package/dist/autogen/types/tx/tx-unlock-stake.d.mts +7 -0
  344. package/dist/autogen/types/tx/tx-vm-engine-block.d.mts +6 -0
  345. package/dist/autogen/types/wasm/grant-consume-result.d.mts +4 -0
  346. package/dist/autogen/types/wasm/index.d.mts +26 -0
  347. package/dist/autogen/types/wasm/library-versions.d.mts +6 -0
  348. package/dist/autogen/types/wasm/param-calculate-tx-link-hash.d.mts +3 -0
  349. package/dist/autogen/types/wasm/param-code-core-script.d.mts +3 -0
  350. package/dist/autogen/types/wasm/param-convert-currency.d.mts +5 -0
  351. package/dist/autogen/types/wasm/param-create-account-and-keystore.d.mts +6 -0
  352. package/dist/autogen/types/wasm/param-create-master-keystore.d.mts +6 -0
  353. package/dist/autogen/types/wasm/param-create-normal-key.d.mts +4 -0
  354. package/dist/autogen/types/wasm/param-create-normal-keystore.d.mts +8 -0
  355. package/dist/autogen/types/wasm/param-derive-keys-from-mnemonic-and-path.d.mts +4 -0
  356. package/dist/autogen/types/wasm/param-derive-keys-from-mnemonic.d.mts +6 -0
  357. package/dist/autogen/types/wasm/param-encode-tx-currency.d.mts +3 -0
  358. package/dist/autogen/types/wasm/param-encode-tx-number.d.mts +4 -0
  359. package/dist/autogen/types/wasm/param-generate-mnemonic-by-seed.d.mts +3 -0
  360. package/dist/autogen/types/wasm/param-generate-mnemonic.d.mts +3 -0
  361. package/dist/autogen/types/wasm/param-get-home-shard.d.mts +4 -0
  362. package/dist/autogen/types/wasm/param-hash.d.mts +4 -0
  363. package/dist/autogen/types/wasm/param-load-keystore.d.mts +4 -0
  364. package/dist/autogen/types/wasm/param-make-currency.d.mts +4 -0
  365. package/dist/autogen/types/wasm/param-sign-by-master-key.d.mts +4 -0
  366. package/dist/autogen/types/wasm/param-sign-key-bind.d.mts +5 -0
  367. package/dist/autogen/types/wasm/param-sign.d.mts +4 -0
  368. package/dist/autogen/types/wasm/param-test-core-script.d.mts +7 -0
  369. package/dist/autogen/types/wasm/param-txs.d.mts +3 -0
  370. package/dist/autogen/types/wasm/param-verify-merkle-proof.d.mts +5 -0
  371. package/dist/autogen/types/wasm/param-verify.d.mts +5 -0
  372. package/dist/autogen/walletActions.d.mts +41 -0
  373. package/dist/autogen/wasm/crypto_aimer.d.mts +2 -0
  374. package/dist/autogen/wasm/crypto_haetae.d.mts +2 -0
  375. package/dist/autogen/wasm/crypto_smaugt.d.mts +2 -0
  376. package/dist/autogen/wasm/lclib.wasm +0 -0
  377. package/dist/autogen/wasm.d.mts +72 -0
  378. package/dist/chunks/account-BAsiKnSL.cjs +77 -0
  379. package/dist/chunks/account-BSrvZ7S8.js +77 -0
  380. package/dist/chunks/account-FZT9LH_s.js +71 -0
  381. package/dist/chunks/address-class-CHAZYhdZ.js +14 -0
  382. package/dist/chunks/address-class-Cjy48Uqk.cjs +16 -0
  383. package/dist/chunks/address-class-Dp7aNQb2.js +18 -0
  384. package/dist/chunks/base-BQXfRsuw.js +23 -0
  385. package/dist/chunks/base-B_kRRfsf.js +27 -0
  386. package/dist/chunks/base-Cy5SSYLF.cjs +25 -0
  387. package/dist/chunks/debugWalletActions-6qjkZVq9.cjs +995 -0
  388. package/dist/chunks/debugWalletActions-BDz-h2tl.js +993 -0
  389. package/dist/chunks/debugWalletActions-D5-Ds7Hl.js +900 -0
  390. package/dist/chunks/keystore-BFVSylSw.js +139 -0
  391. package/dist/chunks/keystore-BbK5pVrh.cjs +145 -0
  392. package/dist/chunks/keystore-BexHKV9z.js +143 -0
  393. package/dist/chunks/lclib-BfTIyj-E.js +3838 -0
  394. package/dist/chunks/lclib-C2eG5HzD.js +3818 -0
  395. package/dist/chunks/lclib-DuoOR0-Q.cjs +3822 -0
  396. package/dist/chunks/rpc-BlPk44QH.js +22 -0
  397. package/dist/chunks/rpc-C4n7t9y0.js +25 -0
  398. package/dist/chunks/rpc-DwWIkUva.cjs +25 -0
  399. package/dist/chunks/transport-BBAz1kmP.js +30 -0
  400. package/dist/chunks/transport-VThNtzck.cjs +30 -0
  401. package/dist/chunks/transport-ktAPuqsc.js +26 -0
  402. package/dist/chunks/tslib.es6-Cfi3-HmA.cjs +35 -0
  403. package/dist/chunks/tslib.es6-D29rxPkW.js +37 -0
  404. package/dist/chunks/tslib.es6-WQS2tr1v.js +33 -0
  405. package/dist/chunks/tx-type-BPkhMGad.js +64 -0
  406. package/dist/chunks/tx-type-CS4wIUJ8.js +68 -0
  407. package/dist/chunks/tx-type-DI_nKG8B.cjs +66 -0
  408. package/dist/chunks/wasm-3Ghi_Hxd.js +213 -0
  409. package/dist/chunks/wasm-BtPcXTR4.js +166 -0
  410. package/dist/chunks/wasm-DTyHBxcY.cjs +213 -0
  411. package/dist/clients/createClient.d.mts +8 -0
  412. package/dist/clients/createLocusPublicClient.d.mts +100 -0
  413. package/dist/clients/createLocusWalletClient.d.mts +56 -0
  414. package/dist/clients/createPublicClient.d.mts +6 -0
  415. package/dist/clients/createWalletClient.d.mts +8 -0
  416. package/dist/clients/index.amd.js +97 -0
  417. package/dist/clients/index.cjs.cjs +104 -0
  418. package/dist/clients/index.d.cts +6 -0
  419. package/dist/clients/index.d.mts +6 -0
  420. package/dist/clients/index.esm.js +98 -0
  421. package/dist/clients/types.d.mts +19 -0
  422. package/dist/constant/index.amd.js +458 -0
  423. package/dist/constant/index.cjs.cjs +459 -0
  424. package/dist/constant/index.d.cts +513 -0
  425. package/dist/constant/index.d.mts +513 -0
  426. package/dist/constant/index.esm.js +451 -0
  427. package/dist/contracts/abis/erc20.d.mts +174 -0
  428. package/dist/contracts/abis/index.d.mts +1 -0
  429. package/dist/contracts/getContract.d.mts +33 -0
  430. package/dist/contracts/index.amd.js +19640 -0
  431. package/dist/contracts/index.cjs.cjs +19642 -0
  432. package/dist/contracts/index.d.cts +2 -0
  433. package/dist/contracts/index.d.mts +2 -0
  434. package/dist/contracts/index.esm.js +19639 -0
  435. package/dist/errors/account.d.mts +45 -0
  436. package/dist/errors/base.d.mts +13 -0
  437. package/dist/errors/index.amd.js +17 -0
  438. package/dist/errors/index.cjs.cjs +20 -0
  439. package/dist/errors/index.d.cts +4 -0
  440. package/dist/errors/index.d.mts +4 -0
  441. package/dist/errors/index.esm.js +4 -0
  442. package/dist/errors/rpc.d.mts +21 -0
  443. package/dist/errors/transport.d.mts +21 -0
  444. package/dist/index.amd.js +43 -0
  445. package/dist/index.cjs.cjs +58 -0
  446. package/dist/index.d.mts +8 -0
  447. package/dist/index.esm.js +16 -0
  448. package/dist/transports/http.d.mts +9 -0
  449. package/dist/transports/index.amd.js +98 -0
  450. package/dist/transports/index.cjs.cjs +101 -0
  451. package/dist/transports/index.d.cts +2 -0
  452. package/dist/transports/index.d.mts +2 -0
  453. package/dist/transports/index.esm.js +99 -0
  454. package/dist/transports/types.d.mts +36 -0
  455. package/dist/types/index.d.cts +11 -0
  456. package/dist/types/index.d.mts +11 -0
  457. package/dist/types/primitives.d.mts +5 -0
  458. package/dist/utils/index.amd.js +323 -0
  459. package/dist/utils/index.cjs.cjs +330 -0
  460. package/dist/utils/index.d.cts +41 -0
  461. package/dist/utils/index.d.mts +41 -0
  462. package/dist/utils/index.esm.js +271 -0
  463. package/dist/utils/keystore.d.mts +87 -0
  464. package/dist/utils/lclib.d.mts +2 -0
  465. package/dist/utils/locus-wasm-bridge.d.mts +1 -0
  466. package/dist/utils/tx-validator.d.mts +26 -0
  467. package/dist/utils/types.d.mts +15 -0
  468. package/dist/utils/wasm-fetch.d.mts +6 -0
  469. package/package.json +1 -1
@@ -0,0 +1,330 @@
1
+ 'use strict';
2
+
3
+ var addressClass = require('../chunks/address-class-Cjy48Uqk.cjs');
4
+ var wasm = require('../chunks/wasm-DTyHBxcY.cjs');
5
+ var keystore = require('../chunks/keystore-BbK5pVrh.cjs');
6
+ var lclib = require('../chunks/lclib-DuoOR0-Q.cjs');
7
+ var _ = require('lodash');
8
+ require('../chunks/base-Cy5SSYLF.cjs');
9
+ require('../chunks/account-BAsiKnSL.cjs');
10
+ require('../chunks/tslib.es6-Cfi3-HmA.cjs');
11
+
12
+ class TxValidator {
13
+ constructor() {
14
+ this.verifyTxParams = (rpcResult, params, options) => {
15
+ try {
16
+ if (options.targetTxHash) {
17
+ const genHash = JSON.parse(wasm.verifyTx(JSON.stringify(rpcResult.tx))).hash;
18
+ if (options.targetTxHash !== genHash) {
19
+ console.warn(`[TxnIntegrityChecker] Tx hash not matched.`, options.targetTxHash, '!==', genHash);
20
+ return { result: false, reason: 'tx verify fail' };
21
+ }
22
+ }
23
+ const checks = [];
24
+ const tx = rpcResult.tx;
25
+ switch (tx.type) {
26
+ case 'TX_TRANSFER_COIN':
27
+ case 'TX_TRANSFER_COIN_FEE':
28
+ checks.push(() => this.checkFields(params, tx, { to: 'target', amount: 'amount' }));
29
+ break;
30
+ case 'TX_TRANSFER_COIN_EXPRESS':
31
+ checks.push(() => this.checkFields(params, tx, {
32
+ to: 'target',
33
+ amount: 'amount',
34
+ 'source.owner': 'source.addr',
35
+ 'source.height': 'source.index'
36
+ }));
37
+ break;
38
+ case 'TX_CREATE_TOKEN':
39
+ case 'TX_CREATE_TOKEN_FEE':
40
+ checks.push(() => this.checkFields(params, tx, { tokenBalance: 'tokenBalance.v' }));
41
+ break;
42
+ case 'TX_TRANSFER_TOKEN':
43
+ case 'TX_TRANSFER_TOKEN_FEE':
44
+ checks.push(() => this.checkFields(params, tx, { to: 'target', amount: 'amount' }), () => this.checkComplexField(params, tx, {
45
+ paramPath: 'tokenAmounts',
46
+ txPath: 'tokens',
47
+ paramTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.tokenId, a: d.amountToken })),
48
+ txTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.t, a: d.a }))
49
+ }));
50
+ break;
51
+ case 'TX_CREATE_ASSETOBJECT':
52
+ case 'TX_CREATE_ASSETOBJECT_FEE':
53
+ checks.push(() => this.checkFields(params, tx, Object.assign({
54
+ assetType: 'object.type',
55
+ metaData: 'object.metaData'
56
+ }, (params.amount === '0' ? {} : { amount: 'object.amount' })))
57
+ // TODO: params.operator !== tx.Object.Operator ("" !== "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHF3E")
58
+ );
59
+ break;
60
+ case 'TX_TRANSFER_ASSETOBJECT':
61
+ case 'TX_TRANSFER_ASSETOBJECT_FEE':
62
+ checks.push(() => this.checkFields(params, tx, { to: 'target' }), () => this.checkFields(params, tx, {
63
+ to: 'target',
64
+ amount: 'assetObjects.assetObjects[0].targetObject.amount',
65
+ assetId: 'assetObjects.assetObjects[0].targetObject.assetId'
66
+ }));
67
+ break;
68
+ case 'TX_CREATE_CONTRACT':
69
+ case 'TX_CREATE_CONTRACT_FEE':
70
+ checks.push(() => this.checkFields(params, tx, {
71
+ code: 'code',
72
+ amount: 'amount',
73
+ fuelLimit: 'fuelLimit',
74
+ sysId: 'sysId',
75
+ until: 'until'
76
+ }, {
77
+ contractAccount: 'target'
78
+ }), () => this.checkComplexField(params, tx, {
79
+ paramPath: 'tokenAmounts',
80
+ txPath: 'tokens',
81
+ paramTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.tokenId, a: d.amountToken })),
82
+ txTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.t, a: d.a }))
83
+ }));
84
+ break;
85
+ case 'TX_CALL_CONTRACT':
86
+ case 'TX_CALL_CONTRACT_FEE':
87
+ checks.push(() => this.checkFields(params, tx, {
88
+ contractAccount: 'target',
89
+ amount: 'amount',
90
+ fuelLimit: 'fuelLimit',
91
+ func: 'func',
92
+ argData: 'argData'
93
+ }), () => this.checkComplexField(params, tx, {
94
+ paramPath: 'tokenAmounts',
95
+ txPath: 'tokens',
96
+ paramTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.tokenId, a: d.amountToken })),
97
+ txTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.t, a: d.a }))
98
+ })
99
+ // TODO: tx.AssetObjects 는 아직 rpc가 만들어지지 않아서 확인을 하지 못했다
100
+ );
101
+ break;
102
+ case 'TX_POST_DATA':
103
+ case 'TX_POST_DATA_FEE':
104
+ checks.push(() => this.checkFields(params, tx, { data: 'data', label: 'label' }));
105
+ break;
106
+ case 'TX_OPEN_ACCOUNT':
107
+ checks.push(() => this.checkFields(params, tx, { account: 'addr', pk: 'key' }, {
108
+ sender: 'refLink.addr',
109
+ index: 'refLink.index'
110
+ }));
111
+ break;
112
+ case 'TX_PROVIDE_SCRIPT':
113
+ checks.push(() => this.checkFields(params, tx, {
114
+ target: 'target',
115
+ targetAfterTimeLock: 'targetAfterTimeLock',
116
+ amount: 'amount'
117
+ }), () => this.checkComplexField(params, tx, {
118
+ paramPath: 'scriptProvide',
119
+ txPath: 'scriptProvide',
120
+ paramTransform: code => wasm.compileCoreScript(code),
121
+ txTransform: code => code
122
+ }), () => this.checkComplexField(params, tx, {
123
+ paramPath: 'scriptAccept',
124
+ txPath: 'scriptAccept',
125
+ paramTransform: code => wasm.compileCoreScript(code),
126
+ txTransform: code => code
127
+ }), () => this.checkComplexField(params, tx, {
128
+ paramPath: 'args',
129
+ txPath: 'args',
130
+ paramTransform: args => args !== null && args !== void 0 ? args : [],
131
+ txTransform: args => args !== null && args !== void 0 ? args : []
132
+ }));
133
+ break;
134
+ case 'TX_ACCEPT_SCRIPT':
135
+ checks.push(() => this.checkFields(params, tx, { provider: 'refLink.addr', index: 'refLink.index' }), () => this.checkComplexField(params, tx, {
136
+ paramPath: 'args',
137
+ txPath: 'args',
138
+ paramTransform: args => args !== null && args !== void 0 ? args : [],
139
+ txTransform: args => args !== null && args !== void 0 ? args : []
140
+ }) // 배열 비교라서..
141
+ );
142
+ break;
143
+ case 'TX_CLOSE_ACCOUNT':
144
+ checks.push(() => this.checkFields(params, tx, { to: 'target' }));
145
+ break;
146
+ case 'TX_BECOME_HOST':
147
+ case 'TX_BECOME_GUEST':
148
+ break;
149
+ default:
150
+ break;
151
+ }
152
+ for (const check of checks) {
153
+ const result = check();
154
+ if (result !== true)
155
+ return result;
156
+ }
157
+ return { result: true, reason: 'success' };
158
+ }
159
+ catch (e) {
160
+ console.error(e);
161
+ return { result: false, reason: `tx verify fail. error: ${e.message}` };
162
+ }
163
+ };
164
+ /**
165
+ * params 객체와 tx 객체의 필드를 주어진 매핑에 따라 비교합니다.
166
+ * @param params 파라미터 객체.
167
+ * @param tx 검증할 트랜잭션 객체.
168
+ * @param mapping 키는 `params`의 속성 경로, 값은 `tx`의 속성 경로인 객체.
169
+ * @param optional mapping과 동일한 구조이나, `params` 값이 있을경우만 체크합니다. string은 빈문자열이 아닌 문자열, number는 0을 없다고 판단합니다
170
+ * @returns 모든 필드가 일치하면 `true`, 실패 시 `IntegrityCheckResult` 객체를 반환합니다.
171
+ */
172
+ this.checkFields = (params, tx, mapping, optional) => {
173
+ for (const paramKey in mapping) {
174
+ const txKey = mapping[paramKey];
175
+ const paramValue = this.getByPathIgnoreCase(params, paramKey);
176
+ const txValue = _.get(tx, txKey);
177
+ if (paramValue !== txValue) {
178
+ return this.logAndFail(tx.type, paramKey, paramValue, txValue);
179
+ }
180
+ }
181
+ for (const paramKey in optional !== null && optional !== void 0 ? optional : {}) {
182
+ const txKey = optional[paramKey];
183
+ const paramValue = this.getByPathIgnoreCase(params, paramKey);
184
+ if (paramValue && paramValue !== '' && paramValue !== 0) {
185
+ const txValue = _.get(tx, txKey);
186
+ if (paramValue !== txValue) {
187
+ return this.logAndFail(tx.type, paramKey, paramValue, txValue);
188
+ }
189
+ }
190
+ }
191
+ return true;
192
+ };
193
+ this.checkComplexField = (params, tx, { paramPath, txPath, paramTransform, txTransform }) => {
194
+ const paramValue = paramTransform(this.getByPathIgnoreCase(params, paramPath));
195
+ const txValue = txTransform(_.get(tx, txPath));
196
+ if (!_.isEqual(paramValue, txValue)) {
197
+ return this.logAndFail(tx.type, paramPath, paramValue, txValue);
198
+ }
199
+ return true;
200
+ };
201
+ }
202
+ logAndFail(txType, field, expected, actual) {
203
+ console.warn(`[TxnIntegrityChecker] ${txType} ${field}:`, expected, actual);
204
+ return { result: false, reason: 'tx integrity check fail', field };
205
+ }
206
+ // 속성명의 대소문자를 무시하고 값을 구한다
207
+ getByPathIgnoreCase(obj, path) {
208
+ const keys = path.split('.');
209
+ let current = obj;
210
+ for (const key of keys) {
211
+ if (current === null || typeof current !== 'object')
212
+ return undefined;
213
+ const actualKey = Object.keys(current).find(k => k.toLowerCase() === key.toLowerCase());
214
+ if (actualKey === undefined)
215
+ return undefined;
216
+ current = current[actualKey];
217
+ }
218
+ return current;
219
+ }
220
+ }
221
+
222
+ /**
223
+ * Locus Chain WASM 4 개(Go lclib + AIMER/SMAUGT/HAETAE) 를 fetch 로 로드한다.
224
+ * 브라우저 / Node 양쪽 모두 동작.
225
+ */
226
+ const loadLocusWasm = lclib.load;
227
+ const txValidator = new TxValidator();
228
+ const verifyTxParams = txValidator.verifyTxParams;
229
+ const getClassByte = (hexstring) => {
230
+ // 0x 접두사 제거
231
+ const hex = hexstring.startsWith('0x') || hexstring.startsWith('0X')
232
+ ? hexstring.slice(2)
233
+ : hexstring;
234
+ // addressClassOffset = addressHashEnd - 1 이므로 해시의 마지막 바이트가 class byte
235
+ // (hex 문자 2개 = 1 byte)
236
+ const classByte = parseInt(hex.slice(-2), 16);
237
+ if (Number.isNaN(classByte)) {
238
+ throw new Error(`Invalid hex string: ${hexstring}`);
239
+ }
240
+ // 최상위 비트(0x80)가 세팅되어 있으면 User 클래스로 간주
241
+ if ((classByte & 0x80) !== 0) {
242
+ return addressClass.AddressClass.User;
243
+ }
244
+ return classByte;
245
+ };
246
+ const checkAddressType = (address) => {
247
+ try {
248
+ const hex = wasm.convertAddressToHex(address);
249
+ const classByte = getClassByte(hex);
250
+ // console.log('>>>>>>>>>>>', classByte)
251
+ const key = Object.keys(addressClass.AddressClass).find(k => classByte === addressClass.AddressClass[k]);
252
+ if (!key)
253
+ return -1;
254
+ return addressClass.AddressClass[key];
255
+ // console.warn('unknown address type', hex);
256
+ // // 참고!! ERC20 토큰은 주소로 알수 없음
257
+ }
258
+ catch (e) {
259
+ console.error(e + ' ' + address);
260
+ throw new Error('check error');
261
+ }
262
+ // return AddressType.UNKNOWN;
263
+ };
264
+ const isAccount = (addressType) => addressType === addressClass.AddressClass.User || addressType === addressClass.AddressClass.Synthetic || addressClass.AddressClass.VmEngine;
265
+ const isContract = (addressType) => addressType === addressClass.AddressClass.Contract;
266
+ const isToken = (addressType) => addressType === addressClass.AddressClass.UserToken ||
267
+ addressType === addressClass.AddressClass.ContractToken ||
268
+ addressType === addressClass.AddressClass.AssetToken ||
269
+ addressType === addressClass.AddressClass.AssetNFT;
270
+ const isSystemToken = (addressType) => addressType === addressClass.AddressClass.UserToken || addressType === addressClass.AddressClass.ContractToken;
271
+
272
+ exports.calculateTxLinkHash = wasm.calculateTxLinkHash;
273
+ exports.compileCoreScript = wasm.compileCoreScript;
274
+ exports.convertAddressToData = wasm.convertAddressToData;
275
+ exports.convertAddressToHex = wasm.convertAddressToHex;
276
+ exports.convertBase32ToData = wasm.convertBase32ToData;
277
+ exports.convertBase32ToHex = wasm.convertBase32ToHex;
278
+ exports.convertCurrency = wasm.convertCurrency;
279
+ exports.convertDataTo = wasm.convertDataTo;
280
+ exports.convertDataToAddress = wasm.convertDataToAddress;
281
+ exports.convertDataToBase32 = wasm.convertDataToBase32;
282
+ exports.convertDataToHex = wasm.convertDataToHex;
283
+ exports.convertDataToString = wasm.convertDataToString;
284
+ exports.convertHexToAddress = wasm.convertHexToAddress;
285
+ exports.convertHexToBase32 = wasm.convertHexToBase32;
286
+ exports.convertHexToData = wasm.convertHexToData;
287
+ exports.convertStringToData = wasm.convertStringToData;
288
+ exports.convertToData = wasm.convertToData;
289
+ exports.createAccountAndKeystore = wasm.createAccountAndKeystore;
290
+ exports.createMasterKeystore = wasm.createMasterKeystore;
291
+ exports.createNormalKey = wasm.createNormalKey;
292
+ exports.createNormalKeystore = wasm.createNormalKeystore;
293
+ exports.decodeTxs = wasm.decodeTxs;
294
+ exports.deriveKeysFromMnemonic = wasm.deriveKeysFromMnemonic;
295
+ exports.deriveKeysFromMnemonicAndPath = wasm.deriveKeysFromMnemonicAndPath;
296
+ exports.disCompileCoreScript = wasm.disCompileCoreScript;
297
+ exports.encodeTxCurrency = wasm.encodeTxCurrency;
298
+ exports.encodeTxNumber = wasm.encodeTxNumber;
299
+ exports.generateMnemonic = wasm.generateMnemonic;
300
+ exports.generateMnemonicBySeed = wasm.generateMnemonicBySeed;
301
+ exports.getDefFromCoreScript = wasm.getDefFromCoreScript;
302
+ exports.getHomeShard = wasm.getHomeShard;
303
+ exports.getLibraryVersions = wasm.getLibraryVersions;
304
+ exports.gzipAndEncode = wasm.gzipAndEncode;
305
+ exports.hash = wasm.hash;
306
+ exports.isGrantConsumingTx = wasm.isGrantConsumingTx;
307
+ exports.loadMasterKeystore = wasm.loadMasterKeystore;
308
+ exports.loadNormalKeystore = wasm.loadNormalKeystore;
309
+ exports.makeCurrency = wasm.makeCurrency;
310
+ exports.sign = wasm.sign;
311
+ exports.signByMasterKey = wasm.signByMasterKey;
312
+ exports.signKeyBind = wasm.signKeyBind;
313
+ exports.testCoreScript = wasm.testCoreScript;
314
+ exports.verify = wasm.verify;
315
+ exports.verifyByMasterKey = wasm.verifyByMasterKey;
316
+ exports.verifyMerkleProof = wasm.verifyMerkleProof;
317
+ exports.verifyTx = wasm.verifyTx;
318
+ exports.createKeystoreBundle = keystore.createKeystoreBundle;
319
+ exports.splitKeystoreBundle = keystore.splitKeystoreBundle;
320
+ exports.unlockKeystoreBundle = keystore.unlockKeystoreBundle;
321
+ exports.unlockMasterKeystore = keystore.unlockMasterKeystore;
322
+ exports.unlockNormalKeystore = keystore.unlockNormalKeystore;
323
+ exports.checkAddressType = checkAddressType;
324
+ exports.isAccount = isAccount;
325
+ exports.isContract = isContract;
326
+ exports.isSystemToken = isSystemToken;
327
+ exports.isToken = isToken;
328
+ exports.loadLocusWasm = loadLocusWasm;
329
+ exports.txValidator = txValidator;
330
+ exports.verifyTxParams = verifyTxParams;
@@ -0,0 +1,41 @@
1
+ export * from '../autogen/wasm.mjs';
2
+ export * from './keystore.mjs';
3
+ import { TxValidator } from './tx-validator.mjs';
4
+ /**
5
+ * `loadLocusWasm` 의 옵션.
6
+ *
7
+ * - `baseUrl`: 4개의 .wasm 파일(`lclib.wasm`, `crypto_aimer.wasm`, `crypto_smaugt.wasm`,
8
+ * `crypto_haetae.wasm`) 가 놓인 베이스 URL/경로. 기본은 라이브러리
9
+ * dist 의 `autogen/wasm/` 디렉토리(이 모듈의 `import.meta.url` 기준).
10
+ * - `urls`: 개별 파일 위치를 따로 override. CDN 등으로 일부만 분리할 때 사용.
11
+ * - `fetcher`: 완전 커스텀 다운로더. 인증 헤더 부여, 캐시 계층 삽입, Node 환경에서의
12
+ * 임의 경로 매핑, 테스트 시 인메모리 모킹 등에 사용. 시그니처는
13
+ * `(url: URL) => Promise<Uint8Array>`.
14
+ */
15
+ export type LoadLocusWasmOptions = {
16
+ baseUrl?: URL | string;
17
+ urls?: Partial<{
18
+ lclib: URL | string;
19
+ aimer: URL | string;
20
+ smaugt: URL | string;
21
+ haetae: URL | string;
22
+ }>;
23
+ fetcher?: (url: URL) => Promise<Uint8Array>;
24
+ };
25
+ /**
26
+ * Locus Chain WASM 4 개(Go lclib + AIMER/SMAUGT/HAETAE) 를 fetch 로 로드한다.
27
+ * 브라우저 / Node 양쪽 모두 동작.
28
+ */
29
+ export declare const loadLocusWasm: (opts?: LoadLocusWasmOptions) => Promise<void>;
30
+ export declare const txValidator: TxValidator;
31
+ export declare const verifyTxParams: (rpcResult: {
32
+ hash: string;
33
+ tx: any;
34
+ }, params: any, options: {
35
+ targetTxHash?: string | false;
36
+ }) => import("./tx-validator.mjs").IntegrityCheckResult;
37
+ export declare const checkAddressType: (address: string) => number;
38
+ export declare const isAccount: (addressType: number) => true | 3;
39
+ export declare const isContract: (addressType: number) => addressType is 2;
40
+ export declare const isToken: (addressType: number) => addressType is 4 | 7 | 5 | 8;
41
+ export declare const isSystemToken: (addressType: number) => addressType is 4 | 5;
@@ -0,0 +1,41 @@
1
+ export * from '../autogen/wasm.mjs';
2
+ export * from './keystore.mjs';
3
+ import { TxValidator } from './tx-validator.mjs';
4
+ /**
5
+ * `loadLocusWasm` 의 옵션.
6
+ *
7
+ * - `baseUrl`: 4개의 .wasm 파일(`lclib.wasm`, `crypto_aimer.wasm`, `crypto_smaugt.wasm`,
8
+ * `crypto_haetae.wasm`) 가 놓인 베이스 URL/경로. 기본은 라이브러리
9
+ * dist 의 `autogen/wasm/` 디렉토리(이 모듈의 `import.meta.url` 기준).
10
+ * - `urls`: 개별 파일 위치를 따로 override. CDN 등으로 일부만 분리할 때 사용.
11
+ * - `fetcher`: 완전 커스텀 다운로더. 인증 헤더 부여, 캐시 계층 삽입, Node 환경에서의
12
+ * 임의 경로 매핑, 테스트 시 인메모리 모킹 등에 사용. 시그니처는
13
+ * `(url: URL) => Promise<Uint8Array>`.
14
+ */
15
+ export type LoadLocusWasmOptions = {
16
+ baseUrl?: URL | string;
17
+ urls?: Partial<{
18
+ lclib: URL | string;
19
+ aimer: URL | string;
20
+ smaugt: URL | string;
21
+ haetae: URL | string;
22
+ }>;
23
+ fetcher?: (url: URL) => Promise<Uint8Array>;
24
+ };
25
+ /**
26
+ * Locus Chain WASM 4 개(Go lclib + AIMER/SMAUGT/HAETAE) 를 fetch 로 로드한다.
27
+ * 브라우저 / Node 양쪽 모두 동작.
28
+ */
29
+ export declare const loadLocusWasm: (opts?: LoadLocusWasmOptions) => Promise<void>;
30
+ export declare const txValidator: TxValidator;
31
+ export declare const verifyTxParams: (rpcResult: {
32
+ hash: string;
33
+ tx: any;
34
+ }, params: any, options: {
35
+ targetTxHash?: string | false;
36
+ }) => import("./tx-validator.mjs").IntegrityCheckResult;
37
+ export declare const checkAddressType: (address: string) => number;
38
+ export declare const isAccount: (addressType: number) => true | 3;
39
+ export declare const isContract: (addressType: number) => addressType is 2;
40
+ export declare const isToken: (addressType: number) => addressType is 4 | 7 | 5 | 8;
41
+ export declare const isSystemToken: (addressType: number) => addressType is 4 | 5;