@locuschain/lib 0.1.31 → 0.1.32

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-BJ3vekCS.js +139 -0
  391. package/dist/chunks/keystore-C0RhMFsU.js +143 -0
  392. package/dist/chunks/keystore-D-5mV7aC.cjs +145 -0
  393. package/dist/chunks/lclib-B8Aj_otR.cjs +3809 -0
  394. package/dist/chunks/lclib-CAHiuFux.js +3825 -0
  395. package/dist/chunks/lclib-DZydGzkN.js +3805 -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-3LmqFB_i.js +166 -0
  409. package/dist/chunks/wasm-CdEv1Pyn.cjs +213 -0
  410. package/dist/chunks/wasm-DAQaaEGK.js +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,271 @@
1
+ import { A as AddressClass } from '../chunks/address-class-CHAZYhdZ.js';
2
+ import { T as verifyTx, d as compileCoreScript, f as convertAddressToHex } from '../chunks/wasm-3LmqFB_i.js';
3
+ export { b as calculateTxLinkHash, e as convertAddressToData, g as convertBase32ToData, h as convertBase32ToHex, i as convertCurrency, j as convertDataTo, k as convertDataToAddress, m as convertDataToBase32, n as convertDataToHex, o as convertDataToString, p as convertHexToAddress, q as convertHexToBase32, r as convertHexToData, s as convertStringToData, t as convertToData, c as createAccountAndKeystore, u as createMasterKeystore, v as createNormalKey, w as createNormalKeystore, x as decodeTxs, y as deriveKeysFromMnemonic, z as deriveKeysFromMnemonicAndPath, A as disCompileCoreScript, B as encodeTxCurrency, C as encodeTxNumber, D as generateMnemonic, E as generateMnemonicBySeed, F as getDefFromCoreScript, G as getHomeShard, H as getLibraryVersions, I as gzipAndEncode, J as hash, K as isGrantConsumingTx, l as loadMasterKeystore, a as loadNormalKeystore, L as makeCurrency, M as sign, N as signByMasterKey, O as signKeyBind, P as testCoreScript, Q as verify, R as verifyByMasterKey, S as verifyMerkleProof } from '../chunks/wasm-3LmqFB_i.js';
4
+ export { c as createKeystoreBundle, s as splitKeystoreBundle, u as unlockKeystoreBundle, a as unlockMasterKeystore, b as unlockNormalKeystore } from '../chunks/keystore-BJ3vekCS.js';
5
+ import { l as load } from '../chunks/lclib-DZydGzkN.js';
6
+ import _ from 'lodash';
7
+ import '../chunks/base-BQXfRsuw.js';
8
+ import '../chunks/account-FZT9LH_s.js';
9
+ import '../chunks/tslib.es6-WQS2tr1v.js';
10
+
11
+ class TxValidator {
12
+ constructor() {
13
+ this.verifyTxParams = (rpcResult, params, options) => {
14
+ try {
15
+ if (options.targetTxHash) {
16
+ const genHash = JSON.parse(verifyTx(JSON.stringify(rpcResult.tx))).hash;
17
+ if (options.targetTxHash !== genHash) {
18
+ console.warn(`[TxnIntegrityChecker] Tx hash not matched.`, options.targetTxHash, '!==', genHash);
19
+ return { result: false, reason: 'tx verify fail' };
20
+ }
21
+ }
22
+ const checks = [];
23
+ const tx = rpcResult.tx;
24
+ switch (tx.type) {
25
+ case 'TX_TRANSFER_COIN':
26
+ case 'TX_TRANSFER_COIN_FEE':
27
+ checks.push(() => this.checkFields(params, tx, { to: 'target', amount: 'amount' }));
28
+ break;
29
+ case 'TX_TRANSFER_COIN_EXPRESS':
30
+ checks.push(() => this.checkFields(params, tx, {
31
+ to: 'target',
32
+ amount: 'amount',
33
+ 'source.owner': 'source.addr',
34
+ 'source.height': 'source.index'
35
+ }));
36
+ break;
37
+ case 'TX_CREATE_TOKEN':
38
+ case 'TX_CREATE_TOKEN_FEE':
39
+ checks.push(() => this.checkFields(params, tx, { tokenBalance: 'tokenBalance.v' }));
40
+ break;
41
+ case 'TX_TRANSFER_TOKEN':
42
+ case 'TX_TRANSFER_TOKEN_FEE':
43
+ checks.push(() => this.checkFields(params, tx, { to: 'target', amount: 'amount' }), () => this.checkComplexField(params, tx, {
44
+ paramPath: 'tokenAmounts',
45
+ txPath: 'tokens',
46
+ paramTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.tokenId, a: d.amountToken })),
47
+ txTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.t, a: d.a }))
48
+ }));
49
+ break;
50
+ case 'TX_CREATE_ASSETOBJECT':
51
+ case 'TX_CREATE_ASSETOBJECT_FEE':
52
+ checks.push(() => this.checkFields(params, tx, Object.assign({
53
+ assetType: 'object.type',
54
+ metaData: 'object.metaData'
55
+ }, (params.amount === '0' ? {} : { amount: 'object.amount' })))
56
+ // TODO: params.operator !== tx.Object.Operator ("" !== "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHF3E")
57
+ );
58
+ break;
59
+ case 'TX_TRANSFER_ASSETOBJECT':
60
+ case 'TX_TRANSFER_ASSETOBJECT_FEE':
61
+ checks.push(() => this.checkFields(params, tx, { to: 'target' }), () => this.checkFields(params, tx, {
62
+ to: 'target',
63
+ amount: 'assetObjects.assetObjects[0].targetObject.amount',
64
+ assetId: 'assetObjects.assetObjects[0].targetObject.assetId'
65
+ }));
66
+ break;
67
+ case 'TX_CREATE_CONTRACT':
68
+ case 'TX_CREATE_CONTRACT_FEE':
69
+ checks.push(() => this.checkFields(params, tx, {
70
+ code: 'code',
71
+ amount: 'amount',
72
+ fuelLimit: 'fuelLimit',
73
+ sysId: 'sysId',
74
+ until: 'until'
75
+ }, {
76
+ contractAccount: 'target'
77
+ }), () => this.checkComplexField(params, tx, {
78
+ paramPath: 'tokenAmounts',
79
+ txPath: 'tokens',
80
+ paramTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.tokenId, a: d.amountToken })),
81
+ txTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.t, a: d.a }))
82
+ }));
83
+ break;
84
+ case 'TX_CALL_CONTRACT':
85
+ case 'TX_CALL_CONTRACT_FEE':
86
+ checks.push(() => this.checkFields(params, tx, {
87
+ contractAccount: 'target',
88
+ amount: 'amount',
89
+ fuelLimit: 'fuelLimit',
90
+ func: 'func',
91
+ argData: 'argData'
92
+ }), () => this.checkComplexField(params, tx, {
93
+ paramPath: 'tokenAmounts',
94
+ txPath: 'tokens',
95
+ paramTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.tokenId, a: d.amountToken })),
96
+ txTransform: tokens => (tokens !== null && tokens !== void 0 ? tokens : []).map((d) => ({ t: d.t, a: d.a }))
97
+ })
98
+ // TODO: tx.AssetObjects 는 아직 rpc가 만들어지지 않아서 확인을 하지 못했다
99
+ );
100
+ break;
101
+ case 'TX_POST_DATA':
102
+ case 'TX_POST_DATA_FEE':
103
+ checks.push(() => this.checkFields(params, tx, { data: 'data', label: 'label' }));
104
+ break;
105
+ case 'TX_OPEN_ACCOUNT':
106
+ checks.push(() => this.checkFields(params, tx, { account: 'addr', pk: 'key' }, {
107
+ sender: 'refLink.addr',
108
+ index: 'refLink.index'
109
+ }));
110
+ break;
111
+ case 'TX_PROVIDE_SCRIPT':
112
+ checks.push(() => this.checkFields(params, tx, {
113
+ target: 'target',
114
+ targetAfterTimeLock: 'targetAfterTimeLock',
115
+ amount: 'amount'
116
+ }), () => this.checkComplexField(params, tx, {
117
+ paramPath: 'scriptProvide',
118
+ txPath: 'scriptProvide',
119
+ paramTransform: code => compileCoreScript(code),
120
+ txTransform: code => code
121
+ }), () => this.checkComplexField(params, tx, {
122
+ paramPath: 'scriptAccept',
123
+ txPath: 'scriptAccept',
124
+ paramTransform: code => compileCoreScript(code),
125
+ txTransform: code => code
126
+ }), () => this.checkComplexField(params, tx, {
127
+ paramPath: 'args',
128
+ txPath: 'args',
129
+ paramTransform: args => args !== null && args !== void 0 ? args : [],
130
+ txTransform: args => args !== null && args !== void 0 ? args : []
131
+ }));
132
+ break;
133
+ case 'TX_ACCEPT_SCRIPT':
134
+ checks.push(() => this.checkFields(params, tx, { provider: 'refLink.addr', index: 'refLink.index' }), () => this.checkComplexField(params, tx, {
135
+ paramPath: 'args',
136
+ txPath: 'args',
137
+ paramTransform: args => args !== null && args !== void 0 ? args : [],
138
+ txTransform: args => args !== null && args !== void 0 ? args : []
139
+ }) // 배열 비교라서..
140
+ );
141
+ break;
142
+ case 'TX_CLOSE_ACCOUNT':
143
+ checks.push(() => this.checkFields(params, tx, { to: 'target' }));
144
+ break;
145
+ case 'TX_BECOME_HOST':
146
+ case 'TX_BECOME_GUEST':
147
+ break;
148
+ default:
149
+ break;
150
+ }
151
+ for (const check of checks) {
152
+ const result = check();
153
+ if (result !== true)
154
+ return result;
155
+ }
156
+ return { result: true, reason: 'success' };
157
+ }
158
+ catch (e) {
159
+ console.error(e);
160
+ return { result: false, reason: `tx verify fail. error: ${e.message}` };
161
+ }
162
+ };
163
+ /**
164
+ * params 객체와 tx 객체의 필드를 주어진 매핑에 따라 비교합니다.
165
+ * @param params 파라미터 객체.
166
+ * @param tx 검증할 트랜잭션 객체.
167
+ * @param mapping 키는 `params`의 속성 경로, 값은 `tx`의 속성 경로인 객체.
168
+ * @param optional mapping과 동일한 구조이나, `params` 값이 있을경우만 체크합니다. string은 빈문자열이 아닌 문자열, number는 0을 없다고 판단합니다
169
+ * @returns 모든 필드가 일치하면 `true`, 실패 시 `IntegrityCheckResult` 객체를 반환합니다.
170
+ */
171
+ this.checkFields = (params, tx, mapping, optional) => {
172
+ for (const paramKey in mapping) {
173
+ const txKey = mapping[paramKey];
174
+ const paramValue = this.getByPathIgnoreCase(params, paramKey);
175
+ const txValue = _.get(tx, txKey);
176
+ if (paramValue !== txValue) {
177
+ return this.logAndFail(tx.type, paramKey, paramValue, txValue);
178
+ }
179
+ }
180
+ for (const paramKey in optional !== null && optional !== void 0 ? optional : {}) {
181
+ const txKey = optional[paramKey];
182
+ const paramValue = this.getByPathIgnoreCase(params, paramKey);
183
+ if (paramValue && paramValue !== '' && paramValue !== 0) {
184
+ const txValue = _.get(tx, txKey);
185
+ if (paramValue !== txValue) {
186
+ return this.logAndFail(tx.type, paramKey, paramValue, txValue);
187
+ }
188
+ }
189
+ }
190
+ return true;
191
+ };
192
+ this.checkComplexField = (params, tx, { paramPath, txPath, paramTransform, txTransform }) => {
193
+ const paramValue = paramTransform(this.getByPathIgnoreCase(params, paramPath));
194
+ const txValue = txTransform(_.get(tx, txPath));
195
+ if (!_.isEqual(paramValue, txValue)) {
196
+ return this.logAndFail(tx.type, paramPath, paramValue, txValue);
197
+ }
198
+ return true;
199
+ };
200
+ }
201
+ logAndFail(txType, field, expected, actual) {
202
+ console.warn(`[TxnIntegrityChecker] ${txType} ${field}:`, expected, actual);
203
+ return { result: false, reason: 'tx integrity check fail', field };
204
+ }
205
+ // 속성명의 대소문자를 무시하고 값을 구한다
206
+ getByPathIgnoreCase(obj, path) {
207
+ const keys = path.split('.');
208
+ let current = obj;
209
+ for (const key of keys) {
210
+ if (current === null || typeof current !== 'object')
211
+ return undefined;
212
+ const actualKey = Object.keys(current).find(k => k.toLowerCase() === key.toLowerCase());
213
+ if (actualKey === undefined)
214
+ return undefined;
215
+ current = current[actualKey];
216
+ }
217
+ return current;
218
+ }
219
+ }
220
+
221
+ /**
222
+ * Locus Chain WASM 4 개(Go lclib + AIMER/SMAUGT/HAETAE) 를 fetch 로 로드한다.
223
+ * 브라우저 / Node 양쪽 모두 동작.
224
+ */
225
+ const loadLocusWasm = load;
226
+ const txValidator = new TxValidator();
227
+ const verifyTxParams = txValidator.verifyTxParams;
228
+ const getClassByte = (hexstring) => {
229
+ // 0x 접두사 제거
230
+ const hex = hexstring.startsWith('0x') || hexstring.startsWith('0X')
231
+ ? hexstring.slice(2)
232
+ : hexstring;
233
+ // addressClassOffset = addressHashEnd - 1 이므로 해시의 마지막 바이트가 class byte
234
+ // (hex 문자 2개 = 1 byte)
235
+ const classByte = parseInt(hex.slice(-2), 16);
236
+ if (Number.isNaN(classByte)) {
237
+ throw new Error(`Invalid hex string: ${hexstring}`);
238
+ }
239
+ // 최상위 비트(0x80)가 세팅되어 있으면 User 클래스로 간주
240
+ if ((classByte & 0x80) !== 0) {
241
+ return AddressClass.User;
242
+ }
243
+ return classByte;
244
+ };
245
+ const checkAddressType = (address) => {
246
+ try {
247
+ const hex = convertAddressToHex(address);
248
+ const classByte = getClassByte(hex);
249
+ // console.log('>>>>>>>>>>>', classByte)
250
+ const key = Object.keys(AddressClass).find(k => classByte === AddressClass[k]);
251
+ if (!key)
252
+ return -1;
253
+ return AddressClass[key];
254
+ // console.warn('unknown address type', hex);
255
+ // // 참고!! ERC20 토큰은 주소로 알수 없음
256
+ }
257
+ catch (e) {
258
+ console.error(e + ' ' + address);
259
+ throw new Error('check error');
260
+ }
261
+ // return AddressType.UNKNOWN;
262
+ };
263
+ const isAccount = (addressType) => addressType === AddressClass.User || addressType === AddressClass.Synthetic || AddressClass.VmEngine;
264
+ const isContract = (addressType) => addressType === AddressClass.Contract;
265
+ const isToken = (addressType) => addressType === AddressClass.UserToken ||
266
+ addressType === AddressClass.ContractToken ||
267
+ addressType === AddressClass.AssetToken ||
268
+ addressType === AddressClass.AssetNFT;
269
+ const isSystemToken = (addressType) => addressType === AddressClass.UserToken || addressType === AddressClass.ContractToken;
270
+
271
+ export { checkAddressType, compileCoreScript, convertAddressToHex, isAccount, isContract, isSystemToken, isToken, loadLocusWasm, txValidator, verifyTx, verifyTxParams };
@@ -0,0 +1,87 @@
1
+ import type { Address } from '../types/primitives.mjs';
2
+ /** `loadMasterKeystore` 가 반환하는 파싱된 master keystore payload. */
3
+ export type MasterKeyInfo = {
4
+ address: Address;
5
+ mkeyAlgorithm: string;
6
+ msecretKey: string;
7
+ mpublicKey: string;
8
+ };
9
+ /** `loadNormalKeystore` 가 반환하는 파싱된 normal keystore payload. */
10
+ export type NormalKeyInfo = {
11
+ address: Address;
12
+ nkeyAlgorithm: string;
13
+ nsecretKey: string;
14
+ npublicKey: string;
15
+ keyBind: unknown;
16
+ };
17
+ /** 평탄화된 키 자료 — `keysToAccount` 가 받는 형태. */
18
+ export type UnlockedKeyPair = {
19
+ address: Address;
20
+ msk: string;
21
+ mpk: string;
22
+ nsk: string;
23
+ npk: string;
24
+ };
25
+ export type CreateKeystoreBundleArgs = {
26
+ passwordMaster: string;
27
+ passwordNormal: string;
28
+ /** 비어 있으면 WASM 헬퍼가 내부적으로 'FALCON+ED25519' 를 기본값으로 쓴다. */
29
+ algoMaster?: string;
30
+ /** 비어 있으면 WASM 헬퍼가 내부적으로 'ED25519' 를 기본값으로 쓴다. */
31
+ algoNormal?: string;
32
+ };
33
+ export type AccountKeystoreBundle = {
34
+ /** 원본 JSON array 문자열 — 영속화에 적합. */
35
+ raw: string;
36
+ /** master / normal 두 반쪽의 개별 JSON 문자열. */
37
+ masterKsJson: string;
38
+ normalKsJson: string;
39
+ };
40
+ /**
41
+ * 새 dual-key keystore 를 만들고 결과 JSON array 를 master / normal 두
42
+ * 반쪽으로 분리한다. 각 반쪽은 독립적으로 영속화한 뒤 unlockMasterKeystore
43
+ * / unlockNormalKeystore 로 다시 unlock 할 수 있다.
44
+ *
45
+ * WASM 의 `createAccountAndKeystore` 에 대한 얇은 래퍼다. `utils/index.mts`
46
+ * 가 raw WASM export 도 함께 re-export 하므로 충돌을 피하려고 이름을
47
+ * 새로 붙였다.
48
+ */
49
+ export declare function createKeystoreBundle(args: CreateKeystoreBundleArgs): AccountKeystoreBundle;
50
+ /**
51
+ * WASM `createAccountAndKeystore` 헬퍼가 반환한 `[master, normal]` keystore
52
+ * 배열을 두 JSON 문자열로 분리한다.
53
+ */
54
+ export declare function splitKeystoreBundle(bundleJson: string): {
55
+ masterKsJson: string;
56
+ normalKsJson: string;
57
+ };
58
+ /**
59
+ * master keystore JSON 을 password 로 복호화한다.
60
+ *
61
+ * WASM 헬퍼가 emit 하는 lowercase-camelCase 필드 (`address`, `mkeyAlgorithm`,
62
+ * `msecretKey`, `mpublicKey`) 를 그대로 반환한다.
63
+ */
64
+ export declare function unlockMasterKeystore(args: {
65
+ ksJson: string;
66
+ password: string;
67
+ }): MasterKeyInfo;
68
+ /**
69
+ * normal keystore JSON 을 password 로 복호화한다.
70
+ *
71
+ * WASM 헬퍼가 emit 하는 lowercase-camelCase 필드 (`address`, `nkeyAlgorithm`,
72
+ * `nsecretKey`, `npublicKey`, `keyBind`) 를 그대로 반환한다.
73
+ */
74
+ export declare function unlockNormalKeystore(args: {
75
+ ksJson: string;
76
+ password: string;
77
+ }): NormalKeyInfo;
78
+ /**
79
+ * one-shot 헬퍼: 전체 `[master, normal]` keystore JSON 과 두 password 를
80
+ * 받아 `keysToAccount` 가 소비하는 평탄한 (address, msk, mpk, nsk, npk)
81
+ * tuple 을 반환한다.
82
+ */
83
+ export declare function unlockKeystoreBundle(args: {
84
+ ksJsonBundle: string | AccountKeystoreBundle;
85
+ passwordMaster: string;
86
+ passwordNormal: string;
87
+ }): UnlockedKeyPair;
@@ -0,0 +1,2 @@
1
+ export function load(opts?: {}): Promise<void>;
2
+ export const namespace: string;
@@ -0,0 +1 @@
1
+ export function loadCryptoWasm(opts?: {}): Promise<void>;
@@ -0,0 +1,26 @@
1
+ export type IntegrityCheckResult = {
2
+ result: boolean | string;
3
+ reason: string;
4
+ field?: string;
5
+ txHash?: string;
6
+ };
7
+ export declare class TxValidator {
8
+ verifyTxParams: (rpcResult: {
9
+ hash: string;
10
+ tx: any;
11
+ }, params: any, options: {
12
+ targetTxHash?: string | false;
13
+ }) => IntegrityCheckResult;
14
+ private logAndFail;
15
+ private getByPathIgnoreCase;
16
+ /**
17
+ * params 객체와 tx 객체의 필드를 주어진 매핑에 따라 비교합니다.
18
+ * @param params 파라미터 객체.
19
+ * @param tx 검증할 트랜잭션 객체.
20
+ * @param mapping 키는 `params`의 속성 경로, 값은 `tx`의 속성 경로인 객체.
21
+ * @param optional mapping과 동일한 구조이나, `params` 값이 있을경우만 체크합니다. string은 빈문자열이 아닌 문자열, number는 0을 없다고 판단합니다
22
+ * @returns 모든 필드가 일치하면 `true`, 실패 시 `IntegrityCheckResult` 객체를 반환합니다.
23
+ */
24
+ private checkFields;
25
+ private checkComplexField;
26
+ }
@@ -0,0 +1,15 @@
1
+ export interface ParamTxData {
2
+ round: number;
3
+ height: number;
4
+ args: string[];
5
+ }
6
+ export interface MerkleProof {
7
+ Positions: number[];
8
+ Siblings: string;
9
+ }
10
+ export interface LibraryVersions {
11
+ LibraryVersion: number;
12
+ KeystoreVersion: number;
13
+ KeystoreVersionMin: number;
14
+ GoBuildVersion: string;
15
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * .wasm 바이너리를 Uint8Array 로 가져온다.
3
+ * @param {URL | string} input
4
+ * @returns {Promise<Uint8Array>}
5
+ */
6
+ export function fetchWasmBytes(input: URL | string): Promise<Uint8Array>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@locuschain/lib",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "type": "module",
5
5
  "author": "bloomtechnology",
6
6
  "license": "MIT",