@aptos-labs/ts-sdk 6.3.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1405) hide show
  1. package/README.md +125 -24
  2. package/dist/account/AbstractKeylessAccount.d.ts +326 -0
  3. package/dist/account/AbstractKeylessAccount.d.ts.map +1 -0
  4. package/dist/account/AbstractKeylessAccount.js +440 -0
  5. package/dist/account/AbstractKeylessAccount.js.map +1 -0
  6. package/dist/account/AbstractedAccount.d.ts +61 -0
  7. package/dist/account/AbstractedAccount.d.ts.map +1 -0
  8. package/dist/account/AbstractedAccount.js +71 -0
  9. package/dist/account/AbstractedAccount.js.map +1 -0
  10. package/dist/account/Account.d.ts +302 -0
  11. package/dist/account/Account.d.ts.map +1 -0
  12. package/dist/account/Account.js +104 -0
  13. package/dist/account/Account.js.map +1 -0
  14. package/dist/account/AccountUtils.d.ts +25 -0
  15. package/dist/account/AccountUtils.d.ts.map +1 -0
  16. package/dist/account/AccountUtils.js +202 -0
  17. package/dist/account/AccountUtils.js.map +1 -0
  18. package/dist/account/DerivableAbstractedAccount.d.ts +51 -0
  19. package/dist/account/DerivableAbstractedAccount.d.ts.map +1 -0
  20. package/dist/account/DerivableAbstractedAccount.js +61 -0
  21. package/dist/account/DerivableAbstractedAccount.js.map +1 -0
  22. package/dist/account/Ed25519Account.d.ts +161 -0
  23. package/dist/account/Ed25519Account.d.ts.map +1 -0
  24. package/dist/account/Ed25519Account.js +149 -0
  25. package/dist/account/Ed25519Account.js.map +1 -0
  26. package/dist/account/EphemeralKeyPair.d.ts +159 -0
  27. package/dist/account/EphemeralKeyPair.d.ts.map +1 -0
  28. package/dist/account/EphemeralKeyPair.js +246 -0
  29. package/dist/account/EphemeralKeyPair.js.map +1 -0
  30. package/dist/account/FederatedKeylessAccount.d.ts +107 -0
  31. package/dist/account/FederatedKeylessAccount.d.ts.map +1 -0
  32. package/dist/account/FederatedKeylessAccount.js +129 -0
  33. package/dist/account/FederatedKeylessAccount.js.map +1 -0
  34. package/dist/account/KeylessAccount.d.ts +112 -0
  35. package/dist/account/KeylessAccount.d.ts.map +1 -0
  36. package/dist/account/KeylessAccount.js +133 -0
  37. package/dist/account/KeylessAccount.js.map +1 -0
  38. package/dist/account/MultiEd25519Account.d.ts +100 -0
  39. package/dist/account/MultiEd25519Account.d.ts.map +1 -0
  40. package/dist/account/MultiEd25519Account.js +134 -0
  41. package/dist/account/MultiEd25519Account.js.map +1 -0
  42. package/dist/account/MultiKeyAccount.d.ts +197 -0
  43. package/dist/account/MultiKeyAccount.d.ts.map +1 -0
  44. package/dist/account/MultiKeyAccount.js +233 -0
  45. package/dist/account/MultiKeyAccount.js.map +1 -0
  46. package/dist/account/SingleKeyAccount.d.ts +189 -0
  47. package/dist/account/SingleKeyAccount.d.ts.map +1 -0
  48. package/dist/account/SingleKeyAccount.js +182 -0
  49. package/dist/account/SingleKeyAccount.js.map +1 -0
  50. package/dist/account/index.d.ts +9 -0
  51. package/dist/account/index.d.ts.map +1 -0
  52. package/dist/account/index.js +17 -0
  53. package/dist/account/index.js.map +1 -0
  54. package/dist/account/keylessSigner.d.ts +22 -0
  55. package/dist/account/keylessSigner.d.ts.map +1 -0
  56. package/dist/account/keylessSigner.js +9 -0
  57. package/dist/account/keylessSigner.js.map +1 -0
  58. package/dist/account/utils.d.ts +8 -0
  59. package/dist/account/utils.d.ts.map +1 -0
  60. package/dist/account/utils.js +12 -0
  61. package/dist/account/utils.js.map +1 -0
  62. package/dist/api/account/abstraction.d.ts +176 -0
  63. package/dist/api/account/abstraction.d.ts.map +1 -0
  64. package/dist/api/account/abstraction.js +203 -0
  65. package/dist/api/account/abstraction.js.map +1 -0
  66. package/dist/api/account.d.ts +845 -0
  67. package/dist/api/account.d.ts.map +1 -0
  68. package/dist/api/account.js +965 -0
  69. package/dist/api/account.js.map +1 -0
  70. package/dist/api/ans.d.ts +565 -0
  71. package/dist/api/ans.d.ts.map +1 -0
  72. package/dist/api/ans.js +537 -0
  73. package/dist/api/ans.js.map +1 -0
  74. package/dist/api/aptos.d.ts +73 -0
  75. package/dist/api/aptos.d.ts.map +1 -0
  76. package/dist/api/aptos.js +162 -0
  77. package/dist/api/aptos.js.map +1 -0
  78. package/dist/api/aptosConfig.d.ts +215 -0
  79. package/dist/api/aptosConfig.d.ts.map +1 -0
  80. package/dist/api/aptosConfig.js +316 -0
  81. package/dist/api/aptosConfig.js.map +1 -0
  82. package/dist/api/coin.d.ts +77 -0
  83. package/dist/api/coin.d.ts.map +1 -0
  84. package/dist/api/coin.js +73 -0
  85. package/dist/api/coin.js.map +1 -0
  86. package/dist/api/digitalAsset.d.ts +1026 -0
  87. package/dist/api/digitalAsset.d.ts.map +1 -0
  88. package/dist/api/digitalAsset.js +987 -0
  89. package/dist/api/digitalAsset.js.map +1 -0
  90. package/dist/api/faucet.d.ts +74 -0
  91. package/dist/api/faucet.d.ts.map +1 -0
  92. package/dist/api/faucet.js +86 -0
  93. package/dist/api/faucet.js.map +1 -0
  94. package/dist/api/fungibleAsset.d.ts +285 -0
  95. package/dist/api/fungibleAsset.d.ts.map +1 -0
  96. package/dist/api/fungibleAsset.js +314 -0
  97. package/dist/api/fungibleAsset.js.map +1 -0
  98. package/dist/api/general.d.ts +298 -0
  99. package/dist/api/general.d.ts.map +1 -0
  100. package/dist/api/general.js +311 -0
  101. package/dist/api/general.js.map +1 -0
  102. package/dist/api/index.d.ts +3 -0
  103. package/dist/api/index.d.ts.map +1 -0
  104. package/dist/api/index.js +5 -0
  105. package/dist/api/index.js.map +1 -0
  106. package/dist/api/keyless.d.ts +160 -0
  107. package/dist/api/keyless.d.ts.map +1 -0
  108. package/dist/api/keyless.js +176 -0
  109. package/dist/api/keyless.js.map +1 -0
  110. package/dist/api/object.d.ts +74 -0
  111. package/dist/api/object.d.ts.map +1 -0
  112. package/dist/api/object.js +84 -0
  113. package/dist/api/object.js.map +1 -0
  114. package/dist/api/staking.d.ts +128 -0
  115. package/dist/api/staking.d.ts.map +1 -0
  116. package/dist/api/staking.js +143 -0
  117. package/dist/api/staking.js.map +1 -0
  118. package/dist/api/table.d.ts +163 -0
  119. package/dist/api/table.d.ts.map +1 -0
  120. package/dist/api/table.js +171 -0
  121. package/dist/api/table.js.map +1 -0
  122. package/dist/api/transaction.d.ts +672 -0
  123. package/dist/api/transaction.d.ts.map +1 -0
  124. package/dist/api/transaction.js +694 -0
  125. package/dist/api/transaction.js.map +1 -0
  126. package/dist/api/transactionSubmission/build.d.ts +137 -0
  127. package/dist/api/transactionSubmission/build.d.ts.map +1 -0
  128. package/dist/api/transactionSubmission/build.js +130 -0
  129. package/dist/api/transactionSubmission/build.js.map +1 -0
  130. package/dist/api/transactionSubmission/helpers.d.ts +91 -0
  131. package/dist/api/transactionSubmission/helpers.d.ts.map +1 -0
  132. package/dist/api/transactionSubmission/helpers.js +99 -0
  133. package/dist/api/transactionSubmission/helpers.js.map +1 -0
  134. package/dist/api/transactionSubmission/management.d.ts +159 -0
  135. package/dist/api/transactionSubmission/management.d.ts.map +1 -0
  136. package/dist/api/transactionSubmission/management.js +192 -0
  137. package/dist/api/transactionSubmission/management.js.map +1 -0
  138. package/dist/api/transactionSubmission/sign.d.ts +117 -0
  139. package/dist/api/transactionSubmission/sign.d.ts.map +1 -0
  140. package/dist/api/transactionSubmission/sign.js +130 -0
  141. package/dist/api/transactionSubmission/sign.js.map +1 -0
  142. package/dist/api/transactionSubmission/simulate.d.ts +176 -0
  143. package/dist/api/transactionSubmission/simulate.d.ts.map +1 -0
  144. package/dist/api/transactionSubmission/simulate.js +183 -0
  145. package/dist/api/transactionSubmission/simulate.js.map +1 -0
  146. package/dist/api/transactionSubmission/submit.d.ts +136 -0
  147. package/dist/api/transactionSubmission/submit.d.ts.map +1 -0
  148. package/dist/api/transactionSubmission/submit.js +136 -0
  149. package/dist/api/transactionSubmission/submit.js.map +1 -0
  150. package/dist/api/utils.d.ts +39 -0
  151. package/dist/api/utils.d.ts.map +1 -0
  152. package/dist/api/utils.js +41 -0
  153. package/dist/api/utils.js.map +1 -0
  154. package/dist/bcs/consts.d.ts +20 -0
  155. package/dist/bcs/consts.d.ts.map +1 -0
  156. package/dist/bcs/consts.js +24 -0
  157. package/dist/bcs/consts.js.map +1 -0
  158. package/dist/bcs/deserializer.d.ts +365 -0
  159. package/dist/bcs/deserializer.d.ts.map +1 -0
  160. package/dist/bcs/deserializer.js +470 -0
  161. package/dist/bcs/deserializer.js.map +1 -0
  162. package/dist/bcs/index.d.ts +7 -0
  163. package/dist/bcs/index.d.ts.map +1 -0
  164. package/dist/bcs/index.js +9 -0
  165. package/dist/bcs/index.js.map +1 -0
  166. package/dist/bcs/serializable/entryFunctionBytes.d.ts +60 -0
  167. package/dist/bcs/serializable/entryFunctionBytes.d.ts.map +1 -0
  168. package/dist/bcs/serializable/entryFunctionBytes.js +82 -0
  169. package/dist/bcs/serializable/entryFunctionBytes.js.map +1 -0
  170. package/dist/bcs/serializable/fixedBytes.d.ts +86 -0
  171. package/dist/bcs/serializable/fixedBytes.d.ts.map +1 -0
  172. package/dist/bcs/serializable/fixedBytes.js +98 -0
  173. package/dist/bcs/serializable/fixedBytes.js.map +1 -0
  174. package/dist/bcs/serializable/movePrimitives.d.ts +267 -0
  175. package/dist/bcs/serializable/movePrimitives.d.ts.map +1 -0
  176. package/dist/bcs/serializable/movePrimitives.js +448 -0
  177. package/dist/bcs/serializable/movePrimitives.js.map +1 -0
  178. package/dist/bcs/serializable/moveStructs.d.ts +596 -0
  179. package/dist/bcs/serializable/moveStructs.d.ts.map +1 -0
  180. package/dist/bcs/serializable/moveStructs.js +748 -0
  181. package/dist/bcs/serializable/moveStructs.js.map +1 -0
  182. package/dist/bcs/serializer.d.ts +442 -0
  183. package/dist/bcs/serializer.d.ts.map +1 -0
  184. package/dist/bcs/serializer.js +747 -0
  185. package/dist/bcs/serializer.js.map +1 -0
  186. package/dist/cli/index.d.ts +3 -0
  187. package/dist/cli/index.d.ts.map +1 -0
  188. package/dist/cli/index.js +3 -0
  189. package/dist/cli/index.js.map +1 -0
  190. package/dist/cli/localNode.d.ts +65 -0
  191. package/dist/cli/localNode.d.ts.map +1 -0
  192. package/dist/cli/localNode.js +149 -0
  193. package/dist/cli/localNode.js.map +1 -0
  194. package/dist/cli/move.d.ts +250 -0
  195. package/dist/cli/move.d.ts.map +1 -0
  196. package/dist/cli/move.js +364 -0
  197. package/dist/cli/move.js.map +1 -0
  198. package/dist/client/core.d.ts +37 -0
  199. package/dist/client/core.d.ts.map +1 -0
  200. package/dist/client/core.js +116 -0
  201. package/dist/client/core.js.map +1 -0
  202. package/dist/client/get.d.ts +119 -0
  203. package/dist/client/get.d.ts.map +1 -0
  204. package/dist/client/get.js +165 -0
  205. package/dist/client/get.js.map +1 -0
  206. package/dist/client/index.d.ts +4 -0
  207. package/dist/client/index.d.ts.map +1 -0
  208. package/dist/client/index.js +6 -0
  209. package/dist/client/index.js.map +1 -0
  210. package/dist/client/post.d.ts +155 -0
  211. package/dist/client/post.d.ts.map +1 -0
  212. package/dist/client/post.js +151 -0
  213. package/dist/client/post.js.map +1 -0
  214. package/dist/core/account/index.d.ts +2 -0
  215. package/dist/core/account/index.d.ts.map +1 -0
  216. package/dist/core/account/index.js +2 -0
  217. package/dist/core/account/index.js.map +1 -0
  218. package/dist/core/account/utils/address.d.ts +47 -0
  219. package/dist/core/account/utils/address.d.ts.map +1 -0
  220. package/dist/core/account/utils/address.js +68 -0
  221. package/dist/core/account/utils/address.js.map +1 -0
  222. package/dist/core/account/utils/index.d.ts +2 -0
  223. package/dist/core/account/utils/index.d.ts.map +1 -0
  224. package/dist/core/account/utils/index.js +2 -0
  225. package/dist/core/account/utils/index.js.map +1 -0
  226. package/dist/core/accountAddress.d.ts +327 -0
  227. package/dist/core/accountAddress.d.ts.map +1 -0
  228. package/dist/core/accountAddress.js +457 -0
  229. package/dist/core/accountAddress.js.map +1 -0
  230. package/dist/core/authenticationKey.d.ts +129 -0
  231. package/dist/core/authenticationKey.d.ts.map +1 -0
  232. package/dist/core/authenticationKey.js +155 -0
  233. package/dist/core/authenticationKey.js.map +1 -0
  234. package/dist/core/common.d.ts +51 -0
  235. package/dist/core/common.d.ts.map +1 -0
  236. package/dist/core/common.js +30 -0
  237. package/dist/core/common.js.map +1 -0
  238. package/dist/core/crypto/abstraction.d.ts +21 -0
  239. package/dist/core/crypto/abstraction.d.ts.map +1 -0
  240. package/dist/core/crypto/abstraction.js +37 -0
  241. package/dist/core/crypto/abstraction.js.map +1 -0
  242. package/dist/core/crypto/anyKeyRegistry.d.ts +45 -0
  243. package/dist/core/crypto/anyKeyRegistry.d.ts.map +1 -0
  244. package/dist/core/crypto/anyKeyRegistry.js +59 -0
  245. package/dist/core/crypto/anyKeyRegistry.js.map +1 -0
  246. package/dist/core/crypto/deserializationUtils.d.ts +22 -0
  247. package/dist/core/crypto/deserializationUtils.d.ts.map +1 -0
  248. package/dist/core/crypto/deserializationUtils.js +89 -0
  249. package/dist/core/crypto/deserializationUtils.js.map +1 -0
  250. package/dist/core/crypto/ed25519.d.ts +330 -0
  251. package/dist/core/crypto/ed25519.d.ts.map +1 -0
  252. package/dist/core/crypto/ed25519.js +502 -0
  253. package/dist/core/crypto/ed25519.js.map +1 -0
  254. package/dist/core/crypto/encryption/ciphertext.d.ts +49 -0
  255. package/dist/core/crypto/encryption/ciphertext.d.ts.map +1 -0
  256. package/dist/core/crypto/encryption/ciphertext.js +166 -0
  257. package/dist/core/crypto/encryption/ciphertext.js.map +1 -0
  258. package/dist/core/crypto/encryption/curveSerialization.d.ts +17 -0
  259. package/dist/core/crypto/encryption/curveSerialization.d.ts.map +1 -0
  260. package/dist/core/crypto/encryption/curveSerialization.js +38 -0
  261. package/dist/core/crypto/encryption/curveSerialization.js.map +1 -0
  262. package/dist/core/crypto/encryption/fieldSerialization.d.ts +12 -0
  263. package/dist/core/crypto/encryption/fieldSerialization.d.ts.map +1 -0
  264. package/dist/core/crypto/encryption/fieldSerialization.js +70 -0
  265. package/dist/core/crypto/encryption/fieldSerialization.js.map +1 -0
  266. package/dist/core/crypto/encryption/index.d.ts +11 -0
  267. package/dist/core/crypto/encryption/index.d.ts.map +1 -0
  268. package/dist/core/crypto/encryption/index.js +13 -0
  269. package/dist/core/crypto/encryption/index.js.map +1 -0
  270. package/dist/core/crypto/encryption/symmetric.d.ts +38 -0
  271. package/dist/core/crypto/encryption/symmetric.d.ts.map +1 -0
  272. package/dist/core/crypto/encryption/symmetric.js +124 -0
  273. package/dist/core/crypto/encryption/symmetric.js.map +1 -0
  274. package/dist/core/crypto/ephemeral.d.ts +112 -0
  275. package/dist/core/crypto/ephemeral.d.ts.map +1 -0
  276. package/dist/core/crypto/ephemeral.js +170 -0
  277. package/dist/core/crypto/ephemeral.js.map +1 -0
  278. package/dist/core/crypto/federatedKeyless.d.ts +106 -0
  279. package/dist/core/crypto/federatedKeyless.d.ts.map +1 -0
  280. package/dist/core/crypto/federatedKeyless.js +125 -0
  281. package/dist/core/crypto/federatedKeyless.js.map +1 -0
  282. package/dist/core/crypto/hdKey.d.ts +90 -0
  283. package/dist/core/crypto/hdKey.d.ts.map +1 -0
  284. package/dist/core/crypto/hdKey.js +118 -0
  285. package/dist/core/crypto/hdKey.js.map +1 -0
  286. package/dist/core/crypto/index.d.ts +13 -0
  287. package/dist/core/crypto/index.d.ts.map +1 -0
  288. package/dist/core/crypto/index.js +26 -0
  289. package/dist/core/crypto/index.js.map +1 -0
  290. package/dist/core/crypto/keyless.d.ts +788 -0
  291. package/dist/core/crypto/keyless.d.ts.map +1 -0
  292. package/dist/core/crypto/keyless.js +1482 -0
  293. package/dist/core/crypto/keyless.js.map +1 -0
  294. package/dist/core/crypto/keylessRegistration.d.ts +2 -0
  295. package/dist/core/crypto/keylessRegistration.d.ts.map +1 -0
  296. package/dist/core/crypto/keylessRegistration.js +16 -0
  297. package/dist/core/crypto/keylessRegistration.js.map +1 -0
  298. package/dist/core/crypto/multiEd25519.d.ts +228 -0
  299. package/dist/core/crypto/multiEd25519.d.ts.map +1 -0
  300. package/dist/core/crypto/multiEd25519.js +361 -0
  301. package/dist/core/crypto/multiEd25519.js.map +1 -0
  302. package/dist/core/crypto/multiKey.d.ts +248 -0
  303. package/dist/core/crypto/multiKey.d.ts.map +1 -0
  304. package/dist/core/crypto/multiKey.js +417 -0
  305. package/dist/core/crypto/multiKey.js.map +1 -0
  306. package/dist/core/crypto/poseidon.d.ts +58 -0
  307. package/dist/core/crypto/poseidon.d.ts.map +1 -0
  308. package/dist/core/crypto/poseidon.js +196 -0
  309. package/dist/core/crypto/poseidon.js.map +1 -0
  310. package/dist/core/crypto/privateKey.d.ts +64 -0
  311. package/dist/core/crypto/privateKey.d.ts.map +1 -0
  312. package/dist/core/crypto/privateKey.js +74 -0
  313. package/dist/core/crypto/privateKey.js.map +1 -0
  314. package/dist/core/crypto/proof.d.ts +10 -0
  315. package/dist/core/crypto/proof.d.ts.map +1 -0
  316. package/dist/core/crypto/proof.js +10 -0
  317. package/dist/core/crypto/proof.js.map +1 -0
  318. package/dist/core/crypto/publicKey.d.ts +92 -0
  319. package/dist/core/crypto/publicKey.d.ts.map +1 -0
  320. package/dist/core/crypto/publicKey.js +54 -0
  321. package/dist/core/crypto/publicKey.js.map +1 -0
  322. package/dist/core/crypto/secp256k1.d.ts +303 -0
  323. package/dist/core/crypto/secp256k1.d.ts.map +1 -0
  324. package/dist/core/crypto/secp256k1.js +455 -0
  325. package/dist/core/crypto/secp256k1.js.map +1 -0
  326. package/dist/core/crypto/secp256r1.d.ts +304 -0
  327. package/dist/core/crypto/secp256r1.d.ts.map +1 -0
  328. package/dist/core/crypto/secp256r1.js +444 -0
  329. package/dist/core/crypto/secp256r1.js.map +1 -0
  330. package/dist/core/crypto/signature.d.ts +35 -0
  331. package/dist/core/crypto/signature.d.ts.map +1 -0
  332. package/dist/core/crypto/signature.js +55 -0
  333. package/dist/core/crypto/signature.js.map +1 -0
  334. package/dist/core/crypto/singleKey.d.ts +175 -0
  335. package/dist/core/crypto/singleKey.d.ts.map +1 -0
  336. package/dist/core/crypto/singleKey.js +324 -0
  337. package/dist/core/crypto/singleKey.js.map +1 -0
  338. package/dist/core/crypto/types.d.ts +6 -0
  339. package/dist/core/crypto/types.d.ts.map +1 -0
  340. package/dist/core/crypto/types.js +2 -0
  341. package/dist/core/crypto/types.js.map +1 -0
  342. package/dist/core/crypto/utils.d.ts +16 -0
  343. package/dist/core/crypto/utils.d.ts.map +1 -0
  344. package/dist/core/crypto/utils.js +64 -0
  345. package/dist/core/crypto/utils.js.map +1 -0
  346. package/dist/core/hex.d.ts +154 -0
  347. package/dist/core/hex.d.ts.map +1 -0
  348. package/dist/core/hex.js +219 -0
  349. package/dist/core/hex.js.map +1 -0
  350. package/dist/core/index.d.ts +7 -0
  351. package/dist/core/index.d.ts.map +1 -0
  352. package/dist/core/index.js +9 -0
  353. package/dist/core/index.js.map +1 -0
  354. package/dist/errors/index.d.ts +125 -0
  355. package/dist/errors/index.d.ts.map +1 -0
  356. package/dist/errors/index.js +367 -0
  357. package/dist/errors/index.js.map +1 -0
  358. package/dist/functions/abstraction.d.ts +4 -0
  359. package/dist/functions/abstraction.d.ts.map +1 -0
  360. package/dist/functions/abstraction.js +6 -0
  361. package/dist/functions/abstraction.js.map +1 -0
  362. package/dist/functions/account.d.ts +8 -0
  363. package/dist/functions/account.d.ts.map +1 -0
  364. package/dist/functions/account.js +10 -0
  365. package/dist/functions/account.js.map +1 -0
  366. package/dist/functions/ans.d.ts +4 -0
  367. package/dist/functions/ans.d.ts.map +1 -0
  368. package/dist/functions/ans.js +6 -0
  369. package/dist/functions/ans.js.map +1 -0
  370. package/dist/functions/coin.d.ts +4 -0
  371. package/dist/functions/coin.d.ts.map +1 -0
  372. package/dist/functions/coin.js +6 -0
  373. package/dist/functions/coin.js.map +1 -0
  374. package/dist/functions/digitalAsset.d.ts +4 -0
  375. package/dist/functions/digitalAsset.d.ts.map +1 -0
  376. package/dist/functions/digitalAsset.js +6 -0
  377. package/dist/functions/digitalAsset.js.map +1 -0
  378. package/dist/functions/faucet.d.ts +4 -0
  379. package/dist/functions/faucet.d.ts.map +1 -0
  380. package/dist/functions/faucet.js +6 -0
  381. package/dist/functions/faucet.js.map +1 -0
  382. package/dist/functions/fungibleAsset.d.ts +4 -0
  383. package/dist/functions/fungibleAsset.d.ts.map +1 -0
  384. package/dist/functions/fungibleAsset.js +6 -0
  385. package/dist/functions/fungibleAsset.js.map +1 -0
  386. package/dist/functions/general.d.ts +4 -0
  387. package/dist/functions/general.d.ts.map +1 -0
  388. package/dist/functions/general.js +6 -0
  389. package/dist/functions/general.js.map +1 -0
  390. package/dist/functions/index.d.ts +18 -0
  391. package/dist/functions/index.d.ts.map +1 -0
  392. package/dist/functions/index.js +20 -0
  393. package/dist/functions/index.js.map +1 -0
  394. package/dist/functions/keyless.d.ts +16 -0
  395. package/dist/functions/keyless.d.ts.map +1 -0
  396. package/dist/functions/keyless.js +23 -0
  397. package/dist/functions/keyless.js.map +1 -0
  398. package/dist/functions/object.d.ts +4 -0
  399. package/dist/functions/object.d.ts.map +1 -0
  400. package/dist/functions/object.js +6 -0
  401. package/dist/functions/object.js.map +1 -0
  402. package/dist/functions/staking.d.ts +4 -0
  403. package/dist/functions/staking.d.ts.map +1 -0
  404. package/dist/functions/staking.js +6 -0
  405. package/dist/functions/staking.js.map +1 -0
  406. package/dist/functions/table.d.ts +4 -0
  407. package/dist/functions/table.d.ts.map +1 -0
  408. package/dist/functions/table.js +6 -0
  409. package/dist/functions/table.js.map +1 -0
  410. package/dist/functions/transaction.d.ts +5 -0
  411. package/dist/functions/transaction.d.ts.map +1 -0
  412. package/dist/functions/transaction.js +7 -0
  413. package/dist/functions/transaction.js.map +1 -0
  414. package/dist/functions/view.d.ts +3 -0
  415. package/dist/functions/view.d.ts.map +1 -0
  416. package/dist/functions/view.js +5 -0
  417. package/dist/functions/view.js.map +1 -0
  418. package/dist/index.d.ts +12 -0
  419. package/dist/index.d.ts.map +1 -0
  420. package/dist/index.js +29 -0
  421. package/dist/index.js.map +1 -0
  422. package/dist/internal/abstraction.d.ts +22 -0
  423. package/dist/internal/abstraction.d.ts.map +1 -0
  424. package/dist/internal/abstraction.js +54 -0
  425. package/dist/internal/abstraction.js.map +1 -0
  426. package/dist/internal/account.d.ts +457 -0
  427. package/dist/internal/account.d.ts.map +1 -0
  428. package/dist/internal/account.js +1164 -0
  429. package/dist/internal/account.js.map +1 -0
  430. package/dist/internal/ans.d.ts +414 -0
  431. package/dist/internal/ans.d.ts.map +1 -0
  432. package/dist/internal/ans.js +769 -0
  433. package/dist/internal/ans.js.map +1 -0
  434. package/dist/internal/coin.d.ts +27 -0
  435. package/dist/internal/coin.d.ts.map +1 -0
  436. package/dist/internal/coin.js +36 -0
  437. package/dist/internal/coin.js.map +1 -0
  438. package/dist/internal/digitalAsset.d.ts +577 -0
  439. package/dist/internal/digitalAsset.d.ts.map +1 -0
  440. package/dist/internal/digitalAsset.js +900 -0
  441. package/dist/internal/digitalAsset.js.map +1 -0
  442. package/dist/internal/encryptionKey.d.ts +20 -0
  443. package/dist/internal/encryptionKey.d.ts.map +1 -0
  444. package/dist/internal/encryptionKey.js +33 -0
  445. package/dist/internal/encryptionKey.js.map +1 -0
  446. package/dist/internal/faucet.d.ts +35 -0
  447. package/dist/internal/faucet.d.ts.map +1 -0
  448. package/dist/internal/faucet.js +53 -0
  449. package/dist/internal/faucet.js.map +1 -0
  450. package/dist/internal/fungibleAsset.d.ts +108 -0
  451. package/dist/internal/fungibleAsset.d.ts.map +1 -0
  452. package/dist/internal/fungibleAsset.js +155 -0
  453. package/dist/internal/fungibleAsset.js.map +1 -0
  454. package/dist/internal/general.d.ts +87 -0
  455. package/dist/internal/general.d.ts.map +1 -0
  456. package/dist/internal/general.js +136 -0
  457. package/dist/internal/general.js.map +1 -0
  458. package/dist/internal/keyless.d.ts +101 -0
  459. package/dist/internal/keyless.d.ts.map +1 -0
  460. package/dist/internal/keyless.js +191 -0
  461. package/dist/internal/keyless.js.map +1 -0
  462. package/dist/internal/object.d.ts +37 -0
  463. package/dist/internal/object.d.ts.map +1 -0
  464. package/dist/internal/object.js +53 -0
  465. package/dist/internal/object.js.map +1 -0
  466. package/dist/internal/staking.d.ts +53 -0
  467. package/dist/internal/staking.d.ts.map +1 -0
  468. package/dist/internal/staking.js +71 -0
  469. package/dist/internal/staking.js.map +1 -0
  470. package/dist/internal/table.d.ts +60 -0
  471. package/dist/internal/table.d.ts.map +1 -0
  472. package/dist/internal/table.js +86 -0
  473. package/dist/internal/table.js.map +1 -0
  474. package/dist/internal/transaction.d.ts +192 -0
  475. package/dist/internal/transaction.d.ts.map +1 -0
  476. package/dist/internal/transaction.js +399 -0
  477. package/dist/internal/transaction.js.map +1 -0
  478. package/dist/internal/transactionSubmission.d.ts +177 -0
  479. package/dist/internal/transactionSubmission.d.ts.map +1 -0
  480. package/dist/internal/transactionSubmission.js +411 -0
  481. package/dist/internal/transactionSubmission.js.map +1 -0
  482. package/dist/internal/utils/index.d.ts +2 -0
  483. package/dist/internal/utils/index.d.ts.map +1 -0
  484. package/dist/internal/utils/index.js +4 -0
  485. package/dist/internal/utils/index.js.map +1 -0
  486. package/dist/internal/utils/utils.d.ts +35 -0
  487. package/dist/internal/utils/utils.d.ts.map +1 -0
  488. package/dist/internal/utils/utils.js +63 -0
  489. package/dist/internal/utils/utils.js.map +1 -0
  490. package/dist/internal/view.d.ts +14 -0
  491. package/dist/internal/view.d.ts.map +1 -0
  492. package/dist/internal/view.js +41 -0
  493. package/dist/internal/view.js.map +1 -0
  494. package/dist/transactions/authenticator/account.d.ts +193 -0
  495. package/dist/transactions/authenticator/account.d.ts.map +1 -0
  496. package/dist/transactions/authenticator/account.js +346 -0
  497. package/dist/transactions/authenticator/account.js.map +1 -0
  498. package/dist/transactions/authenticator/index.d.ts +3 -0
  499. package/dist/transactions/authenticator/index.d.ts.map +1 -0
  500. package/dist/transactions/authenticator/index.js +5 -0
  501. package/dist/transactions/authenticator/index.js.map +1 -0
  502. package/dist/transactions/authenticator/transaction.d.ts +148 -0
  503. package/dist/transactions/authenticator/transaction.d.ts.map +1 -0
  504. package/dist/transactions/authenticator/transaction.js +239 -0
  505. package/dist/transactions/authenticator/transaction.js.map +1 -0
  506. package/dist/transactions/index.d.ts +7 -0
  507. package/dist/transactions/index.d.ts.map +1 -0
  508. package/dist/transactions/index.js +9 -0
  509. package/dist/transactions/index.js.map +1 -0
  510. package/dist/transactions/instances/chainId.d.ts +39 -0
  511. package/dist/transactions/instances/chainId.d.ts.map +1 -0
  512. package/dist/transactions/instances/chainId.js +48 -0
  513. package/dist/transactions/instances/chainId.js.map +1 -0
  514. package/dist/transactions/instances/encryptedPayload.d.ts +65 -0
  515. package/dist/transactions/instances/encryptedPayload.d.ts.map +1 -0
  516. package/dist/transactions/instances/encryptedPayload.js +122 -0
  517. package/dist/transactions/instances/encryptedPayload.js.map +1 -0
  518. package/dist/transactions/instances/identifier.d.ts +40 -0
  519. package/dist/transactions/instances/identifier.d.ts.map +1 -0
  520. package/dist/transactions/instances/identifier.js +49 -0
  521. package/dist/transactions/instances/identifier.js.map +1 -0
  522. package/dist/transactions/instances/index.d.ts +12 -0
  523. package/dist/transactions/instances/index.d.ts.map +1 -0
  524. package/dist/transactions/instances/index.js +14 -0
  525. package/dist/transactions/instances/index.js.map +1 -0
  526. package/dist/transactions/instances/moduleId.d.ts +52 -0
  527. package/dist/transactions/instances/moduleId.d.ts.map +1 -0
  528. package/dist/transactions/instances/moduleId.js +69 -0
  529. package/dist/transactions/instances/moduleId.js.map +1 -0
  530. package/dist/transactions/instances/multiAgentTransaction.d.ts +50 -0
  531. package/dist/transactions/instances/multiAgentTransaction.d.ts.map +1 -0
  532. package/dist/transactions/instances/multiAgentTransaction.js +75 -0
  533. package/dist/transactions/instances/multiAgentTransaction.js.map +1 -0
  534. package/dist/transactions/instances/rawTransaction.d.ts +142 -0
  535. package/dist/transactions/instances/rawTransaction.d.ts.map +1 -0
  536. package/dist/transactions/instances/rawTransaction.js +202 -0
  537. package/dist/transactions/instances/rawTransaction.js.map +1 -0
  538. package/dist/transactions/instances/rotationProofChallenge.d.ts +54 -0
  539. package/dist/transactions/instances/rotationProofChallenge.d.ts.map +1 -0
  540. package/dist/transactions/instances/rotationProofChallenge.js +70 -0
  541. package/dist/transactions/instances/rotationProofChallenge.js.map +1 -0
  542. package/dist/transactions/instances/signedTransaction.d.ts +53 -0
  543. package/dist/transactions/instances/signedTransaction.d.ts.map +1 -0
  544. package/dist/transactions/instances/signedTransaction.js +65 -0
  545. package/dist/transactions/instances/signedTransaction.js.map +1 -0
  546. package/dist/transactions/instances/simpleTransaction.d.ts +49 -0
  547. package/dist/transactions/instances/simpleTransaction.d.ts.map +1 -0
  548. package/dist/transactions/instances/simpleTransaction.js +73 -0
  549. package/dist/transactions/instances/simpleTransaction.js.map +1 -0
  550. package/dist/transactions/instances/transactionArgument.d.ts +71 -0
  551. package/dist/transactions/instances/transactionArgument.d.ts.map +1 -0
  552. package/dist/transactions/instances/transactionArgument.js +4 -0
  553. package/dist/transactions/instances/transactionArgument.js.map +1 -0
  554. package/dist/transactions/instances/transactionPayload.d.ts +369 -0
  555. package/dist/transactions/instances/transactionPayload.d.ts.map +1 -0
  556. package/dist/transactions/instances/transactionPayload.js +668 -0
  557. package/dist/transactions/instances/transactionPayload.js.map +1 -0
  558. package/dist/transactions/management/accountSequenceNumber.d.ts +114 -0
  559. package/dist/transactions/management/accountSequenceNumber.d.ts.map +1 -0
  560. package/dist/transactions/management/accountSequenceNumber.js +197 -0
  561. package/dist/transactions/management/accountSequenceNumber.js.map +1 -0
  562. package/dist/transactions/management/asyncQueue.d.ts +76 -0
  563. package/dist/transactions/management/asyncQueue.d.ts.map +1 -0
  564. package/dist/transactions/management/asyncQueue.js +105 -0
  565. package/dist/transactions/management/asyncQueue.js.map +1 -0
  566. package/dist/transactions/management/index.d.ts +3 -0
  567. package/dist/transactions/management/index.d.ts.map +1 -0
  568. package/dist/transactions/management/index.js +3 -0
  569. package/dist/transactions/management/index.js.map +1 -0
  570. package/dist/transactions/management/transactionWorker.d.ts +213 -0
  571. package/dist/transactions/management/transactionWorker.d.ts.map +1 -0
  572. package/dist/transactions/management/transactionWorker.js +347 -0
  573. package/dist/transactions/management/transactionWorker.js.map +1 -0
  574. package/dist/transactions/transactionBuilder/encryptPayload.d.ts +21 -0
  575. package/dist/transactions/transactionBuilder/encryptPayload.d.ts.map +1 -0
  576. package/dist/transactions/transactionBuilder/encryptPayload.js +157 -0
  577. package/dist/transactions/transactionBuilder/encryptPayload.js.map +1 -0
  578. package/dist/transactions/transactionBuilder/helpers.d.ts +184 -0
  579. package/dist/transactions/transactionBuilder/helpers.d.ts.map +1 -0
  580. package/dist/transactions/transactionBuilder/helpers.js +344 -0
  581. package/dist/transactions/transactionBuilder/helpers.js.map +1 -0
  582. package/dist/transactions/transactionBuilder/index.d.ts +6 -0
  583. package/dist/transactions/transactionBuilder/index.d.ts.map +1 -0
  584. package/dist/transactions/transactionBuilder/index.js +8 -0
  585. package/dist/transactions/transactionBuilder/index.js.map +1 -0
  586. package/dist/transactions/transactionBuilder/remoteAbi.d.ts +167 -0
  587. package/dist/transactions/transactionBuilder/remoteAbi.d.ts.map +1 -0
  588. package/dist/transactions/transactionBuilder/remoteAbi.js +1088 -0
  589. package/dist/transactions/transactionBuilder/remoteAbi.js.map +1 -0
  590. package/dist/transactions/transactionBuilder/signingMessage.d.ts +55 -0
  591. package/dist/transactions/transactionBuilder/signingMessage.d.ts.map +1 -0
  592. package/dist/transactions/transactionBuilder/signingMessage.js +94 -0
  593. package/dist/transactions/transactionBuilder/signingMessage.js.map +1 -0
  594. package/dist/transactions/transactionBuilder/structEnumParser.d.ts +225 -0
  595. package/dist/transactions/transactionBuilder/structEnumParser.d.ts.map +1 -0
  596. package/dist/transactions/transactionBuilder/structEnumParser.js +690 -0
  597. package/dist/transactions/transactionBuilder/structEnumParser.js.map +1 -0
  598. package/dist/transactions/transactionBuilder/transactionBuilder.d.ts +198 -0
  599. package/dist/transactions/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  600. package/dist/transactions/transactionBuilder/transactionBuilder.js +586 -0
  601. package/dist/transactions/transactionBuilder/transactionBuilder.js.map +1 -0
  602. package/dist/transactions/typeTag/index.d.ts +544 -0
  603. package/dist/transactions/typeTag/index.d.ts.map +1 -0
  604. package/dist/transactions/typeTag/index.js +826 -0
  605. package/dist/transactions/typeTag/index.js.map +1 -0
  606. package/dist/transactions/typeTag/parser.d.ts +73 -0
  607. package/dist/transactions/typeTag/parser.d.ts.map +1 -0
  608. package/dist/transactions/typeTag/parser.js +368 -0
  609. package/dist/transactions/typeTag/parser.js.map +1 -0
  610. package/dist/transactions/types.d.ts +477 -0
  611. package/dist/transactions/types.d.ts.map +1 -0
  612. package/dist/transactions/types.js +4 -0
  613. package/dist/transactions/types.js.map +1 -0
  614. package/dist/types/abstraction.d.ts +14 -0
  615. package/dist/types/abstraction.d.ts.map +1 -0
  616. package/dist/types/abstraction.js +16 -0
  617. package/dist/types/abstraction.js.map +1 -0
  618. package/dist/types/ans.d.ts +113 -0
  619. package/dist/types/ans.d.ts.map +1 -0
  620. package/dist/types/ans.js +36 -0
  621. package/dist/types/ans.js.map +1 -0
  622. package/dist/types/generated/operations.d.ts +702 -0
  623. package/dist/types/generated/operations.d.ts.map +1 -0
  624. package/dist/types/generated/operations.js +2 -0
  625. package/dist/types/generated/operations.js.map +1 -0
  626. package/dist/types/generated/queries.d.ts +64 -0
  627. package/dist/types/generated/queries.d.ts.map +1 -0
  628. package/dist/types/generated/queries.js +729 -0
  629. package/dist/types/generated/queries.js.map +1 -0
  630. package/dist/types/generated/types.d.ts +9678 -0
  631. package/dist/types/generated/types.d.ts.map +1 -0
  632. package/dist/types/generated/types.js +1265 -0
  633. package/dist/types/generated/types.js.map +1 -0
  634. package/dist/types/index.d.ts +4 -0
  635. package/dist/types/index.d.ts.map +1 -0
  636. package/dist/types/index.js +4 -0
  637. package/dist/types/index.js.map +1 -0
  638. package/dist/types/indexer.d.ts +182 -0
  639. package/dist/types/indexer.d.ts.map +1 -0
  640. package/dist/types/indexer.js +4 -0
  641. package/dist/types/indexer.js.map +1 -0
  642. package/dist/types/keyless.d.ts +101 -0
  643. package/dist/types/keyless.d.ts.map +1 -0
  644. package/dist/types/keyless.js +2 -0
  645. package/dist/types/keyless.js.map +1 -0
  646. package/dist/types/types.d.ts +1572 -0
  647. package/dist/types/types.d.ts.map +1 -0
  648. package/dist/types/types.js +464 -0
  649. package/dist/types/types.js.map +1 -0
  650. package/dist/utils/apiEndpoints.d.ts +50 -0
  651. package/dist/utils/apiEndpoints.d.ts.map +1 -0
  652. package/dist/utils/apiEndpoints.js +100 -0
  653. package/dist/utils/apiEndpoints.js.map +1 -0
  654. package/dist/utils/const.d.ts +117 -0
  655. package/dist/utils/const.d.ts.map +1 -0
  656. package/dist/utils/const.js +121 -0
  657. package/dist/utils/const.js.map +1 -0
  658. package/dist/utils/helpers.d.ts +203 -0
  659. package/dist/utils/helpers.d.ts.map +1 -0
  660. package/dist/utils/helpers.js +330 -0
  661. package/dist/utils/helpers.js.map +1 -0
  662. package/dist/utils/index.d.ts +5 -0
  663. package/dist/utils/index.d.ts.map +1 -0
  664. package/dist/utils/index.js +5 -0
  665. package/dist/utils/index.js.map +1 -0
  666. package/dist/utils/memoize.d.ts +47 -0
  667. package/dist/utils/memoize.d.ts.map +1 -0
  668. package/dist/utils/memoize.js +195 -0
  669. package/dist/utils/memoize.js.map +1 -0
  670. package/dist/utils/normalizeBundle.d.ts +27 -0
  671. package/dist/utils/normalizeBundle.d.ts.map +1 -0
  672. package/dist/utils/normalizeBundle.js +18 -0
  673. package/dist/utils/normalizeBundle.js.map +1 -0
  674. package/dist/utils/runtime.d.ts +44 -0
  675. package/dist/utils/runtime.d.ts.map +1 -0
  676. package/dist/utils/runtime.js +71 -0
  677. package/dist/utils/runtime.js.map +1 -0
  678. package/dist/version.d.ts +7 -0
  679. package/dist/version.d.ts.map +1 -0
  680. package/dist/version.js +9 -0
  681. package/dist/version.js.map +1 -0
  682. package/package.json +107 -47
  683. package/src/account/AbstractKeylessAccount.ts +24 -30
  684. package/src/account/AbstractedAccount.ts +18 -16
  685. package/src/account/Account.ts +12 -9
  686. package/src/account/AccountUtils.ts +17 -20
  687. package/src/account/DerivableAbstractedAccount.ts +12 -10
  688. package/src/account/Ed25519Account.ts +8 -8
  689. package/src/account/EphemeralKeyPair.ts +9 -14
  690. package/src/account/FederatedKeylessAccount.ts +7 -7
  691. package/src/account/KeylessAccount.ts +12 -7
  692. package/src/account/MultiEd25519Account.ts +9 -9
  693. package/src/account/MultiKeyAccount.ts +15 -16
  694. package/src/account/SingleKeyAccount.ts +10 -13
  695. package/src/account/index.ts +17 -12
  696. package/src/account/keylessSigner.ts +34 -0
  697. package/src/account/utils.ts +3 -3
  698. package/src/api/account/abstraction.ts +12 -12
  699. package/src/api/account.ts +12 -12
  700. package/src/api/ans.ts +6 -6
  701. package/src/api/aptos.ts +115 -88
  702. package/src/api/aptosConfig.ts +6 -4
  703. package/src/api/coin.ts +6 -6
  704. package/src/api/digitalAsset.ts +9 -9
  705. package/src/api/faucet.ts +6 -6
  706. package/src/api/fungibleAsset.ts +10 -10
  707. package/src/api/general.ts +7 -7
  708. package/src/api/index.ts +2 -2
  709. package/src/api/keyless.ts +11 -7
  710. package/src/api/object.ts +6 -6
  711. package/src/api/staking.ts +11 -6
  712. package/src/api/table.ts +6 -6
  713. package/src/api/transaction.ts +13 -13
  714. package/src/api/transactionSubmission/build.ts +6 -6
  715. package/src/api/transactionSubmission/helpers.ts +2 -2
  716. package/src/api/transactionSubmission/management.ts +9 -5
  717. package/src/api/transactionSubmission/sign.ts +4 -4
  718. package/src/api/transactionSubmission/simulate.ts +6 -6
  719. package/src/api/transactionSubmission/submit.ts +5 -5
  720. package/src/api/utils.ts +4 -4
  721. package/src/bcs/consts.ts +14 -1
  722. package/src/bcs/deserializer.ts +3 -3
  723. package/src/bcs/index.ts +6 -6
  724. package/src/bcs/serializable/entryFunctionBytes.ts +5 -5
  725. package/src/bcs/serializable/fixedBytes.ts +5 -5
  726. package/src/bcs/serializable/movePrimitives.ts +34 -19
  727. package/src/bcs/serializable/moveStructs.ts +12 -12
  728. package/src/bcs/serializer.ts +24 -5
  729. package/src/cli/index.ts +2 -2
  730. package/src/cli/localNode.ts +1 -1
  731. package/src/cli/move.ts +6 -10
  732. package/src/client/core.ts +30 -15
  733. package/src/client/get.ts +6 -8
  734. package/src/client/index.ts +3 -3
  735. package/src/client/post.ts +4 -4
  736. package/src/core/account/index.ts +1 -1
  737. package/src/core/account/utils/address.ts +4 -4
  738. package/src/core/account/utils/index.ts +1 -1
  739. package/src/core/accountAddress.ts +8 -8
  740. package/src/core/authenticationKey.ts +22 -10
  741. package/src/core/crypto/abstraction.ts +7 -7
  742. package/src/core/crypto/anyKeyRegistry.ts +90 -0
  743. package/src/core/crypto/deserializationUtils.ts +11 -19
  744. package/src/core/crypto/ed25519.ts +22 -13
  745. package/src/core/crypto/encryption/ciphertext.ts +210 -0
  746. package/src/core/crypto/encryption/curveSerialization.ts +46 -0
  747. package/src/core/crypto/encryption/fieldSerialization.ts +82 -0
  748. package/src/core/crypto/encryption/index.ts +14 -0
  749. package/src/core/crypto/encryption/symmetric.ts +148 -0
  750. package/src/core/crypto/ephemeral.ts +7 -7
  751. package/src/core/crypto/federatedKeyless.ts +8 -8
  752. package/src/core/crypto/hdKey.ts +7 -3
  753. package/src/core/crypto/index.ts +24 -17
  754. package/src/core/crypto/keyless.ts +33 -33
  755. package/src/core/crypto/keylessRegistration.ts +34 -0
  756. package/src/core/crypto/multiEd25519.ts +7 -7
  757. package/src/core/crypto/multiKey.ts +8 -8
  758. package/src/core/crypto/poseidon.ts +2 -2
  759. package/src/core/crypto/privateKey.ts +5 -5
  760. package/src/core/crypto/proof.ts +1 -1
  761. package/src/core/crypto/publicKey.ts +6 -6
  762. package/src/core/crypto/secp256k1.ts +26 -19
  763. package/src/core/crypto/secp256r1.ts +26 -19
  764. package/src/core/crypto/signature.ts +2 -2
  765. package/src/core/crypto/singleKey.ts +58 -39
  766. package/src/core/crypto/types.ts +4 -4
  767. package/src/core/crypto/utils.ts +16 -12
  768. package/src/core/hex.ts +3 -3
  769. package/src/core/index.ts +6 -6
  770. package/src/errors/index.ts +3 -3
  771. package/src/functions/abstraction.ts +11 -0
  772. package/src/functions/account.ts +38 -0
  773. package/src/functions/ans.ts +26 -0
  774. package/src/functions/coin.ts +7 -0
  775. package/src/functions/digitalAsset.ts +32 -0
  776. package/src/functions/faucet.ts +7 -0
  777. package/src/functions/fungibleAsset.ts +13 -0
  778. package/src/functions/general.ts +14 -0
  779. package/src/functions/index.ts +21 -0
  780. package/src/functions/keyless.ts +42 -0
  781. package/src/functions/object.ts +10 -0
  782. package/src/functions/staking.ts +11 -0
  783. package/src/functions/table.ts +11 -0
  784. package/src/functions/transaction.ts +32 -0
  785. package/src/functions/view.ts +6 -0
  786. package/src/index.ts +36 -10
  787. package/src/internal/abstraction.ts +10 -10
  788. package/src/internal/account.ts +79 -51
  789. package/src/internal/ans.ts +31 -24
  790. package/src/internal/coin.ts +8 -8
  791. package/src/internal/digitalAsset.ts +14 -15
  792. package/src/internal/encryptionKey.ts +53 -0
  793. package/src/internal/faucet.ts +6 -6
  794. package/src/internal/fungibleAsset.ts +11 -11
  795. package/src/internal/general.ts +12 -7
  796. package/src/internal/keyless.ts +21 -18
  797. package/src/internal/object.ts +7 -7
  798. package/src/internal/staking.ts +6 -6
  799. package/src/internal/table.ts +7 -7
  800. package/src/internal/transaction.ts +11 -10
  801. package/src/internal/transactionSubmission.ts +92 -32
  802. package/src/internal/utils/index.ts +1 -1
  803. package/src/internal/utils/utils.ts +5 -5
  804. package/src/internal/view.ts +5 -5
  805. package/src/transactions/authenticator/account.ts +12 -12
  806. package/src/transactions/authenticator/index.ts +2 -2
  807. package/src/transactions/authenticator/transaction.ts +6 -6
  808. package/src/transactions/index.ts +6 -6
  809. package/src/transactions/instances/chainId.ts +2 -2
  810. package/src/transactions/instances/encryptedPayload.ts +149 -0
  811. package/src/transactions/instances/identifier.ts +2 -2
  812. package/src/transactions/instances/index.ts +11 -10
  813. package/src/transactions/instances/moduleId.ts +5 -5
  814. package/src/transactions/instances/multiAgentTransaction.ts +4 -4
  815. package/src/transactions/instances/rawTransaction.ts +6 -6
  816. package/src/transactions/instances/rotationProofChallenge.ts +5 -5
  817. package/src/transactions/instances/signedTransaction.ts +4 -4
  818. package/src/transactions/instances/simpleTransaction.ts +4 -4
  819. package/src/transactions/instances/transactionArgument.ts +2 -2
  820. package/src/transactions/instances/transactionPayload.ts +127 -28
  821. package/src/transactions/management/accountSequenceNumber.ts +13 -14
  822. package/src/transactions/management/index.ts +2 -2
  823. package/src/transactions/management/transactionWorker.ts +10 -10
  824. package/src/transactions/transactionBuilder/encryptPayload.ts +235 -0
  825. package/src/transactions/transactionBuilder/helpers.ts +8 -5
  826. package/src/transactions/transactionBuilder/index.ts +5 -4
  827. package/src/transactions/transactionBuilder/remoteAbi.ts +664 -25
  828. package/src/transactions/transactionBuilder/signingMessage.ts +6 -6
  829. package/src/transactions/transactionBuilder/structEnumParser.ts +848 -0
  830. package/src/transactions/transactionBuilder/transactionBuilder.ts +130 -72
  831. package/src/transactions/typeTag/index.ts +5 -5
  832. package/src/transactions/typeTag/parser.ts +3 -3
  833. package/src/transactions/types.ts +103 -19
  834. package/src/types/ans.ts +13 -5
  835. package/src/types/generated/operations.ts +4 -3
  836. package/src/types/generated/queries.ts +1 -1
  837. package/src/types/index.ts +3 -3
  838. package/src/types/indexer.ts +1 -1
  839. package/src/types/types.ts +74 -6
  840. package/src/utils/const.ts +14 -1
  841. package/src/utils/helpers.ts +58 -18
  842. package/src/utils/index.ts +4 -4
  843. package/src/utils/normalizeBundle.ts +1 -1
  844. package/src/utils/runtime.ts +86 -0
  845. package/src/version.ts +1 -1
  846. package/dist/common/account-DGpxrkAn.d.ts +0 -8156
  847. package/dist/common/chunk-2VR6ONNW.js +0 -4
  848. package/dist/common/chunk-2VR6ONNW.js.map +0 -1
  849. package/dist/common/cli/index.d.ts +0 -316
  850. package/dist/common/cli/index.js +0 -2
  851. package/dist/common/cli/index.js.map +0 -1
  852. package/dist/common/index.d.ts +0 -10912
  853. package/dist/common/index.js +0 -476
  854. package/dist/common/index.js.map +0 -1
  855. package/dist/esm/Ed25519Account-BCt2cu_M.d.mts +0 -628
  856. package/dist/esm/account/AbstractKeylessAccount.d.mts +0 -336
  857. package/dist/esm/account/AbstractKeylessAccount.mjs +0 -2
  858. package/dist/esm/account/AbstractKeylessAccount.mjs.map +0 -1
  859. package/dist/esm/account/AbstractedAccount.d.mts +0 -64
  860. package/dist/esm/account/AbstractedAccount.mjs +0 -2
  861. package/dist/esm/account/AbstractedAccount.mjs.map +0 -1
  862. package/dist/esm/account/Account.d.mts +0 -8
  863. package/dist/esm/account/Account.mjs +0 -2
  864. package/dist/esm/account/Account.mjs.map +0 -1
  865. package/dist/esm/account/AccountUtils.d.mts +0 -38
  866. package/dist/esm/account/AccountUtils.mjs +0 -2
  867. package/dist/esm/account/AccountUtils.mjs.map +0 -1
  868. package/dist/esm/account/DerivableAbstractedAccount.d.mts +0 -59
  869. package/dist/esm/account/DerivableAbstractedAccount.mjs +0 -2
  870. package/dist/esm/account/DerivableAbstractedAccount.mjs.map +0 -1
  871. package/dist/esm/account/Ed25519Account.d.mts +0 -8
  872. package/dist/esm/account/Ed25519Account.mjs +0 -2
  873. package/dist/esm/account/Ed25519Account.mjs.map +0 -1
  874. package/dist/esm/account/EphemeralKeyPair.d.mts +0 -165
  875. package/dist/esm/account/EphemeralKeyPair.mjs +0 -2
  876. package/dist/esm/account/EphemeralKeyPair.mjs.map +0 -1
  877. package/dist/esm/account/FederatedKeylessAccount.d.mts +0 -118
  878. package/dist/esm/account/FederatedKeylessAccount.mjs +0 -2
  879. package/dist/esm/account/FederatedKeylessAccount.mjs.map +0 -1
  880. package/dist/esm/account/KeylessAccount.d.mts +0 -124
  881. package/dist/esm/account/KeylessAccount.mjs +0 -2
  882. package/dist/esm/account/KeylessAccount.mjs.map +0 -1
  883. package/dist/esm/account/MultiEd25519Account.d.mts +0 -102
  884. package/dist/esm/account/MultiEd25519Account.mjs +0 -2
  885. package/dist/esm/account/MultiEd25519Account.mjs.map +0 -1
  886. package/dist/esm/account/MultiKeyAccount.d.mts +0 -206
  887. package/dist/esm/account/MultiKeyAccount.mjs +0 -2
  888. package/dist/esm/account/MultiKeyAccount.mjs.map +0 -1
  889. package/dist/esm/account/SingleKeyAccount.d.mts +0 -8
  890. package/dist/esm/account/SingleKeyAccount.mjs +0 -2
  891. package/dist/esm/account/SingleKeyAccount.mjs.map +0 -1
  892. package/dist/esm/account/index.d.mts +0 -24
  893. package/dist/esm/account/index.mjs +0 -2
  894. package/dist/esm/account/index.mjs.map +0 -1
  895. package/dist/esm/account/utils.d.mts +0 -14
  896. package/dist/esm/account/utils.mjs +0 -2
  897. package/dist/esm/account/utils.mjs.map +0 -1
  898. package/dist/esm/account-Dg0ejXHy.d.mts +0 -7358
  899. package/dist/esm/api/account/abstraction.d.mts +0 -181
  900. package/dist/esm/api/account/abstraction.mjs +0 -2
  901. package/dist/esm/api/account/abstraction.mjs.map +0 -1
  902. package/dist/esm/api/account.d.mts +0 -852
  903. package/dist/esm/api/account.mjs +0 -2
  904. package/dist/esm/api/account.mjs.map +0 -1
  905. package/dist/esm/api/ans.d.mts +0 -570
  906. package/dist/esm/api/ans.mjs +0 -2
  907. package/dist/esm/api/ans.mjs.map +0 -1
  908. package/dist/esm/api/aptos.d.mts +0 -114
  909. package/dist/esm/api/aptos.mjs +0 -2
  910. package/dist/esm/api/aptos.mjs.map +0 -1
  911. package/dist/esm/api/aptosConfig.d.mts +0 -7
  912. package/dist/esm/api/aptosConfig.mjs +0 -2
  913. package/dist/esm/api/aptosConfig.mjs.map +0 -1
  914. package/dist/esm/api/coin.d.mts +0 -81
  915. package/dist/esm/api/coin.mjs +0 -2
  916. package/dist/esm/api/coin.mjs.map +0 -1
  917. package/dist/esm/api/digitalAsset.d.mts +0 -1030
  918. package/dist/esm/api/digitalAsset.mjs +0 -2
  919. package/dist/esm/api/digitalAsset.mjs.map +0 -1
  920. package/dist/esm/api/faucet.d.mts +0 -80
  921. package/dist/esm/api/faucet.mjs +0 -2
  922. package/dist/esm/api/faucet.mjs.map +0 -1
  923. package/dist/esm/api/fungibleAsset.d.mts +0 -288
  924. package/dist/esm/api/fungibleAsset.mjs +0 -2
  925. package/dist/esm/api/fungibleAsset.mjs.map +0 -1
  926. package/dist/esm/api/general.d.mts +0 -303
  927. package/dist/esm/api/general.mjs +0 -2
  928. package/dist/esm/api/general.mjs.map +0 -1
  929. package/dist/esm/api/index.d.mts +0 -47
  930. package/dist/esm/api/index.mjs +0 -2
  931. package/dist/esm/api/index.mjs.map +0 -1
  932. package/dist/esm/api/keyless.d.mts +0 -170
  933. package/dist/esm/api/keyless.mjs +0 -2
  934. package/dist/esm/api/keyless.mjs.map +0 -1
  935. package/dist/esm/api/object.d.mts +0 -80
  936. package/dist/esm/api/object.mjs +0 -2
  937. package/dist/esm/api/object.mjs.map +0 -1
  938. package/dist/esm/api/staking.d.mts +0 -134
  939. package/dist/esm/api/staking.mjs +0 -2
  940. package/dist/esm/api/staking.mjs.map +0 -1
  941. package/dist/esm/api/table.d.mts +0 -169
  942. package/dist/esm/api/table.mjs +0 -2
  943. package/dist/esm/api/table.mjs.map +0 -1
  944. package/dist/esm/api/transaction.d.mts +0 -681
  945. package/dist/esm/api/transaction.mjs +0 -2
  946. package/dist/esm/api/transaction.mjs.map +0 -1
  947. package/dist/esm/api/transactionSubmission/build.d.mts +0 -141
  948. package/dist/esm/api/transactionSubmission/build.mjs +0 -2
  949. package/dist/esm/api/transactionSubmission/build.mjs.map +0 -1
  950. package/dist/esm/api/transactionSubmission/helpers.d.mts +0 -98
  951. package/dist/esm/api/transactionSubmission/helpers.mjs +0 -2
  952. package/dist/esm/api/transactionSubmission/helpers.mjs.map +0 -1
  953. package/dist/esm/api/transactionSubmission/management.d.mts +0 -168
  954. package/dist/esm/api/transactionSubmission/management.mjs +0 -2
  955. package/dist/esm/api/transactionSubmission/management.mjs.map +0 -1
  956. package/dist/esm/api/transactionSubmission/sign.d.mts +0 -124
  957. package/dist/esm/api/transactionSubmission/sign.mjs +0 -2
  958. package/dist/esm/api/transactionSubmission/sign.mjs.map +0 -1
  959. package/dist/esm/api/transactionSubmission/simulate.d.mts +0 -181
  960. package/dist/esm/api/transactionSubmission/simulate.mjs +0 -2
  961. package/dist/esm/api/transactionSubmission/simulate.mjs.map +0 -1
  962. package/dist/esm/api/transactionSubmission/submit.d.mts +0 -142
  963. package/dist/esm/api/transactionSubmission/submit.mjs +0 -2
  964. package/dist/esm/api/transactionSubmission/submit.mjs.map +0 -1
  965. package/dist/esm/api/utils.d.mts +0 -45
  966. package/dist/esm/api/utils.mjs +0 -2
  967. package/dist/esm/api/utils.mjs.map +0 -1
  968. package/dist/esm/bcs/consts.d.mts +0 -28
  969. package/dist/esm/bcs/consts.mjs +0 -2
  970. package/dist/esm/bcs/consts.mjs.map +0 -1
  971. package/dist/esm/bcs/deserializer.d.mts +0 -7
  972. package/dist/esm/bcs/deserializer.mjs +0 -2
  973. package/dist/esm/bcs/deserializer.mjs.map +0 -1
  974. package/dist/esm/bcs/index.d.mts +0 -8
  975. package/dist/esm/bcs/index.mjs +0 -2
  976. package/dist/esm/bcs/index.mjs.map +0 -1
  977. package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +0 -65
  978. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +0 -2
  979. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs.map +0 -1
  980. package/dist/esm/bcs/serializable/fixedBytes.d.mts +0 -7
  981. package/dist/esm/bcs/serializable/fixedBytes.mjs +0 -2
  982. package/dist/esm/bcs/serializable/fixedBytes.mjs.map +0 -1
  983. package/dist/esm/bcs/serializable/movePrimitives.d.mts +0 -7
  984. package/dist/esm/bcs/serializable/movePrimitives.mjs +0 -2
  985. package/dist/esm/bcs/serializable/movePrimitives.mjs.map +0 -1
  986. package/dist/esm/bcs/serializable/moveStructs.d.mts +0 -7
  987. package/dist/esm/bcs/serializable/moveStructs.mjs +0 -2
  988. package/dist/esm/bcs/serializable/moveStructs.mjs.map +0 -1
  989. package/dist/esm/bcs/serializer.d.mts +0 -7
  990. package/dist/esm/bcs/serializer.mjs +0 -2
  991. package/dist/esm/bcs/serializer.mjs.map +0 -1
  992. package/dist/esm/chunk-2CH5QB7U.mjs +0 -4
  993. package/dist/esm/chunk-2CH5QB7U.mjs.map +0 -1
  994. package/dist/esm/chunk-2VBY2V4Z.mjs +0 -2
  995. package/dist/esm/chunk-2VBY2V4Z.mjs.map +0 -1
  996. package/dist/esm/chunk-44MMFX5F.mjs +0 -2
  997. package/dist/esm/chunk-44MMFX5F.mjs.map +0 -1
  998. package/dist/esm/chunk-4QMXOWHP.mjs +0 -1
  999. package/dist/esm/chunk-4QMXOWHP.mjs.map +0 -1
  1000. package/dist/esm/chunk-4WPQQPUF.mjs +0 -1
  1001. package/dist/esm/chunk-4WPQQPUF.mjs.map +0 -1
  1002. package/dist/esm/chunk-5HHC2YG4.mjs +0 -2
  1003. package/dist/esm/chunk-5HHC2YG4.mjs.map +0 -1
  1004. package/dist/esm/chunk-5HXLZHDW.mjs +0 -1
  1005. package/dist/esm/chunk-5HXLZHDW.mjs.map +0 -1
  1006. package/dist/esm/chunk-5LMLIRGK.mjs +0 -2
  1007. package/dist/esm/chunk-5LMLIRGK.mjs.map +0 -1
  1008. package/dist/esm/chunk-66F7RP7K.mjs +0 -2
  1009. package/dist/esm/chunk-66F7RP7K.mjs.map +0 -1
  1010. package/dist/esm/chunk-7ECCT6PK.mjs +0 -1
  1011. package/dist/esm/chunk-7ECCT6PK.mjs.map +0 -1
  1012. package/dist/esm/chunk-A5L76YP7.mjs +0 -2
  1013. package/dist/esm/chunk-A5L76YP7.mjs.map +0 -1
  1014. package/dist/esm/chunk-A7SQEK23.mjs +0 -2
  1015. package/dist/esm/chunk-A7SQEK23.mjs.map +0 -1
  1016. package/dist/esm/chunk-ASFFADWS.mjs +0 -7
  1017. package/dist/esm/chunk-ASFFADWS.mjs.map +0 -1
  1018. package/dist/esm/chunk-BT742BFQ.mjs +0 -2
  1019. package/dist/esm/chunk-BT742BFQ.mjs.map +0 -1
  1020. package/dist/esm/chunk-C2KVLMPH.mjs +0 -2
  1021. package/dist/esm/chunk-C2KVLMPH.mjs.map +0 -1
  1022. package/dist/esm/chunk-C3Q23D22.mjs +0 -2
  1023. package/dist/esm/chunk-C3Q23D22.mjs.map +0 -1
  1024. package/dist/esm/chunk-CD3EZCI5.mjs +0 -2
  1025. package/dist/esm/chunk-CD3EZCI5.mjs.map +0 -1
  1026. package/dist/esm/chunk-DE5K76I2.mjs +0 -1
  1027. package/dist/esm/chunk-DE5K76I2.mjs.map +0 -1
  1028. package/dist/esm/chunk-E3DHFXN4.mjs +0 -2
  1029. package/dist/esm/chunk-E3DHFXN4.mjs.map +0 -1
  1030. package/dist/esm/chunk-EIWPAECI.mjs +0 -2
  1031. package/dist/esm/chunk-EIWPAECI.mjs.map +0 -1
  1032. package/dist/esm/chunk-F45HI7LU.mjs +0 -2
  1033. package/dist/esm/chunk-F45HI7LU.mjs.map +0 -1
  1034. package/dist/esm/chunk-F4LHBGG2.mjs +0 -2
  1035. package/dist/esm/chunk-F4LHBGG2.mjs.map +0 -1
  1036. package/dist/esm/chunk-F5KAWYF5.mjs +0 -2
  1037. package/dist/esm/chunk-F5KAWYF5.mjs.map +0 -1
  1038. package/dist/esm/chunk-FDHHQUS3.mjs +0 -4
  1039. package/dist/esm/chunk-FDHHQUS3.mjs.map +0 -1
  1040. package/dist/esm/chunk-FZY4PMEE.mjs +0 -1
  1041. package/dist/esm/chunk-FZY4PMEE.mjs.map +0 -1
  1042. package/dist/esm/chunk-G3MHXDYA.mjs +0 -1
  1043. package/dist/esm/chunk-G3MHXDYA.mjs.map +0 -1
  1044. package/dist/esm/chunk-G5OONGWS.mjs +0 -488
  1045. package/dist/esm/chunk-G5OONGWS.mjs.map +0 -1
  1046. package/dist/esm/chunk-HGLO5LDS.mjs +0 -1
  1047. package/dist/esm/chunk-HGLO5LDS.mjs.map +0 -1
  1048. package/dist/esm/chunk-IF4UU2MT.mjs +0 -2
  1049. package/dist/esm/chunk-IF4UU2MT.mjs.map +0 -1
  1050. package/dist/esm/chunk-ITZN23GU.mjs +0 -2
  1051. package/dist/esm/chunk-ITZN23GU.mjs.map +0 -1
  1052. package/dist/esm/chunk-J73MMLF7.mjs +0 -2
  1053. package/dist/esm/chunk-J73MMLF7.mjs.map +0 -1
  1054. package/dist/esm/chunk-KDMSOCZY.mjs +0 -2
  1055. package/dist/esm/chunk-KDMSOCZY.mjs.map +0 -1
  1056. package/dist/esm/chunk-LTZRUAGD.mjs +0 -2
  1057. package/dist/esm/chunk-LTZRUAGD.mjs.map +0 -1
  1058. package/dist/esm/chunk-M65PXVDO.mjs +0 -2
  1059. package/dist/esm/chunk-M65PXVDO.mjs.map +0 -1
  1060. package/dist/esm/chunk-NECL5FCQ.mjs +0 -1
  1061. package/dist/esm/chunk-NECL5FCQ.mjs.map +0 -1
  1062. package/dist/esm/chunk-NP2IAUME.mjs +0 -2
  1063. package/dist/esm/chunk-NP2IAUME.mjs.map +0 -1
  1064. package/dist/esm/chunk-NTREJSOS.mjs +0 -2
  1065. package/dist/esm/chunk-NTREJSOS.mjs.map +0 -1
  1066. package/dist/esm/chunk-OAK2V35A.mjs +0 -2
  1067. package/dist/esm/chunk-OAK2V35A.mjs.map +0 -1
  1068. package/dist/esm/chunk-ODNZJSOC.mjs +0 -2
  1069. package/dist/esm/chunk-ODNZJSOC.mjs.map +0 -1
  1070. package/dist/esm/chunk-P5HCJN3A.mjs +0 -2
  1071. package/dist/esm/chunk-P5HCJN3A.mjs.map +0 -1
  1072. package/dist/esm/chunk-POQ4FT4E.mjs +0 -2
  1073. package/dist/esm/chunk-POQ4FT4E.mjs.map +0 -1
  1074. package/dist/esm/chunk-Q5ESW36C.mjs +0 -2
  1075. package/dist/esm/chunk-Q5ESW36C.mjs.map +0 -1
  1076. package/dist/esm/chunk-QFUXOL34.mjs +0 -2
  1077. package/dist/esm/chunk-QFUXOL34.mjs.map +0 -1
  1078. package/dist/esm/chunk-QRW7MQDA.mjs +0 -2
  1079. package/dist/esm/chunk-QRW7MQDA.mjs.map +0 -1
  1080. package/dist/esm/chunk-R7PCBRRT.mjs +0 -2
  1081. package/dist/esm/chunk-R7PCBRRT.mjs.map +0 -1
  1082. package/dist/esm/chunk-STY74NUA.mjs +0 -2
  1083. package/dist/esm/chunk-STY74NUA.mjs.map +0 -1
  1084. package/dist/esm/chunk-TAHLOBRG.mjs +0 -2
  1085. package/dist/esm/chunk-TAHLOBRG.mjs.map +0 -1
  1086. package/dist/esm/chunk-TEI33TO7.mjs +0 -2
  1087. package/dist/esm/chunk-TEI33TO7.mjs.map +0 -1
  1088. package/dist/esm/chunk-TSPG5VED.mjs +0 -2
  1089. package/dist/esm/chunk-TSPG5VED.mjs.map +0 -1
  1090. package/dist/esm/chunk-UBPX6GOS.mjs +0 -2
  1091. package/dist/esm/chunk-UBPX6GOS.mjs.map +0 -1
  1092. package/dist/esm/chunk-UPHD2B4I.mjs +0 -2
  1093. package/dist/esm/chunk-UPHD2B4I.mjs.map +0 -1
  1094. package/dist/esm/chunk-UVJW4DPP.mjs +0 -2
  1095. package/dist/esm/chunk-UVJW4DPP.mjs.map +0 -1
  1096. package/dist/esm/chunk-UYG4XVVO.mjs +0 -2
  1097. package/dist/esm/chunk-UYG4XVVO.mjs.map +0 -1
  1098. package/dist/esm/chunk-UYVPNUH3.mjs +0 -1
  1099. package/dist/esm/chunk-UYVPNUH3.mjs.map +0 -1
  1100. package/dist/esm/chunk-V3MBJJTL.mjs +0 -1
  1101. package/dist/esm/chunk-V3MBJJTL.mjs.map +0 -1
  1102. package/dist/esm/chunk-WD3SPNH7.mjs +0 -2
  1103. package/dist/esm/chunk-WD3SPNH7.mjs.map +0 -1
  1104. package/dist/esm/chunk-WFZFTRRS.mjs +0 -2
  1105. package/dist/esm/chunk-WFZFTRRS.mjs.map +0 -1
  1106. package/dist/esm/chunk-WVKZFOPV.mjs +0 -2
  1107. package/dist/esm/chunk-WVKZFOPV.mjs.map +0 -1
  1108. package/dist/esm/chunk-X2TPNKLV.mjs +0 -2
  1109. package/dist/esm/chunk-X2TPNKLV.mjs.map +0 -1
  1110. package/dist/esm/chunk-YJVBGKWM.mjs +0 -2
  1111. package/dist/esm/chunk-YJVBGKWM.mjs.map +0 -1
  1112. package/dist/esm/chunk-ZP4DWSQA.mjs +0 -2
  1113. package/dist/esm/chunk-ZP4DWSQA.mjs.map +0 -1
  1114. package/dist/esm/cli/index.d.mts +0 -10
  1115. package/dist/esm/cli/index.mjs +0 -2
  1116. package/dist/esm/cli/index.mjs.map +0 -1
  1117. package/dist/esm/cli/localNode.d.mts +0 -67
  1118. package/dist/esm/cli/localNode.mjs +0 -2
  1119. package/dist/esm/cli/localNode.mjs.map +0 -1
  1120. package/dist/esm/cli/move.d.mts +0 -257
  1121. package/dist/esm/cli/move.mjs +0 -2
  1122. package/dist/esm/cli/move.mjs.map +0 -1
  1123. package/dist/esm/client/core.d.mts +0 -43
  1124. package/dist/esm/client/core.mjs +0 -2
  1125. package/dist/esm/client/core.mjs.map +0 -1
  1126. package/dist/esm/client/get.d.mts +0 -125
  1127. package/dist/esm/client/get.mjs +0 -2
  1128. package/dist/esm/client/get.mjs.map +0 -1
  1129. package/dist/esm/client/index.d.mts +0 -10
  1130. package/dist/esm/client/index.mjs +0 -2
  1131. package/dist/esm/client/index.mjs.map +0 -1
  1132. package/dist/esm/client/post.d.mts +0 -161
  1133. package/dist/esm/client/post.mjs +0 -2
  1134. package/dist/esm/client/post.mjs.map +0 -1
  1135. package/dist/esm/core/account/index.d.mts +0 -8
  1136. package/dist/esm/core/account/index.mjs +0 -2
  1137. package/dist/esm/core/account/index.mjs.map +0 -1
  1138. package/dist/esm/core/account/utils/address.d.mts +0 -55
  1139. package/dist/esm/core/account/utils/address.mjs +0 -2
  1140. package/dist/esm/core/account/utils/address.mjs.map +0 -1
  1141. package/dist/esm/core/account/utils/index.d.mts +0 -8
  1142. package/dist/esm/core/account/utils/index.mjs +0 -2
  1143. package/dist/esm/core/account/utils/index.mjs.map +0 -1
  1144. package/dist/esm/core/accountAddress.d.mts +0 -7
  1145. package/dist/esm/core/accountAddress.mjs +0 -2
  1146. package/dist/esm/core/accountAddress.mjs.map +0 -1
  1147. package/dist/esm/core/authenticationKey.d.mts +0 -7
  1148. package/dist/esm/core/authenticationKey.mjs +0 -2
  1149. package/dist/esm/core/authenticationKey.mjs.map +0 -1
  1150. package/dist/esm/core/common.d.mts +0 -52
  1151. package/dist/esm/core/common.mjs +0 -2
  1152. package/dist/esm/core/common.mjs.map +0 -1
  1153. package/dist/esm/core/crypto/abstraction.d.mts +0 -24
  1154. package/dist/esm/core/crypto/abstraction.mjs +0 -2
  1155. package/dist/esm/core/crypto/abstraction.mjs.map +0 -1
  1156. package/dist/esm/core/crypto/deserializationUtils.d.mts +0 -28
  1157. package/dist/esm/core/crypto/deserializationUtils.mjs +0 -2
  1158. package/dist/esm/core/crypto/deserializationUtils.mjs.map +0 -1
  1159. package/dist/esm/core/crypto/ed25519.d.mts +0 -7
  1160. package/dist/esm/core/crypto/ed25519.mjs +0 -2
  1161. package/dist/esm/core/crypto/ed25519.mjs.map +0 -1
  1162. package/dist/esm/core/crypto/ephemeral.d.mts +0 -116
  1163. package/dist/esm/core/crypto/ephemeral.mjs +0 -2
  1164. package/dist/esm/core/crypto/ephemeral.mjs.map +0 -1
  1165. package/dist/esm/core/crypto/federatedKeyless.d.mts +0 -13
  1166. package/dist/esm/core/crypto/federatedKeyless.mjs +0 -2
  1167. package/dist/esm/core/crypto/federatedKeyless.mjs.map +0 -1
  1168. package/dist/esm/core/crypto/hdKey.d.mts +0 -95
  1169. package/dist/esm/core/crypto/hdKey.mjs +0 -2
  1170. package/dist/esm/core/crypto/hdKey.mjs.map +0 -1
  1171. package/dist/esm/core/crypto/index.d.mts +0 -19
  1172. package/dist/esm/core/crypto/index.mjs +0 -2
  1173. package/dist/esm/core/crypto/index.mjs.map +0 -1
  1174. package/dist/esm/core/crypto/keyless.d.mts +0 -13
  1175. package/dist/esm/core/crypto/keyless.mjs +0 -2
  1176. package/dist/esm/core/crypto/keyless.mjs.map +0 -1
  1177. package/dist/esm/core/crypto/multiEd25519.d.mts +0 -7
  1178. package/dist/esm/core/crypto/multiEd25519.mjs +0 -2
  1179. package/dist/esm/core/crypto/multiEd25519.mjs.map +0 -1
  1180. package/dist/esm/core/crypto/multiKey.d.mts +0 -7
  1181. package/dist/esm/core/crypto/multiKey.mjs +0 -2
  1182. package/dist/esm/core/crypto/multiKey.mjs.map +0 -1
  1183. package/dist/esm/core/crypto/poseidon.d.mts +0 -59
  1184. package/dist/esm/core/crypto/poseidon.mjs +0 -2
  1185. package/dist/esm/core/crypto/poseidon.mjs.map +0 -1
  1186. package/dist/esm/core/crypto/privateKey.d.mts +0 -7
  1187. package/dist/esm/core/crypto/privateKey.mjs +0 -2
  1188. package/dist/esm/core/crypto/privateKey.mjs.map +0 -1
  1189. package/dist/esm/core/crypto/proof.d.mts +0 -18
  1190. package/dist/esm/core/crypto/proof.mjs +0 -2
  1191. package/dist/esm/core/crypto/proof.mjs.map +0 -1
  1192. package/dist/esm/core/crypto/publicKey.d.mts +0 -7
  1193. package/dist/esm/core/crypto/publicKey.mjs +0 -2
  1194. package/dist/esm/core/crypto/publicKey.mjs.map +0 -1
  1195. package/dist/esm/core/crypto/secp256k1.d.mts +0 -7
  1196. package/dist/esm/core/crypto/secp256k1.mjs +0 -2
  1197. package/dist/esm/core/crypto/secp256k1.mjs.map +0 -1
  1198. package/dist/esm/core/crypto/secp256r1.d.mts +0 -306
  1199. package/dist/esm/core/crypto/secp256r1.mjs +0 -2
  1200. package/dist/esm/core/crypto/secp256r1.mjs.map +0 -1
  1201. package/dist/esm/core/crypto/signature.d.mts +0 -7
  1202. package/dist/esm/core/crypto/signature.mjs +0 -2
  1203. package/dist/esm/core/crypto/signature.mjs.map +0 -1
  1204. package/dist/esm/core/crypto/singleKey.d.mts +0 -7
  1205. package/dist/esm/core/crypto/singleKey.mjs +0 -2
  1206. package/dist/esm/core/crypto/singleKey.mjs.map +0 -1
  1207. package/dist/esm/core/crypto/types.d.mts +0 -11
  1208. package/dist/esm/core/crypto/types.mjs +0 -2
  1209. package/dist/esm/core/crypto/types.mjs.map +0 -1
  1210. package/dist/esm/core/crypto/utils.d.mts +0 -23
  1211. package/dist/esm/core/crypto/utils.mjs +0 -2
  1212. package/dist/esm/core/crypto/utils.mjs.map +0 -1
  1213. package/dist/esm/core/hex.d.mts +0 -7
  1214. package/dist/esm/core/hex.mjs +0 -2
  1215. package/dist/esm/core/hex.mjs.map +0 -1
  1216. package/dist/esm/core/index.d.mts +0 -20
  1217. package/dist/esm/core/index.mjs +0 -2
  1218. package/dist/esm/core/index.mjs.map +0 -1
  1219. package/dist/esm/errors/index.d.mts +0 -131
  1220. package/dist/esm/errors/index.mjs +0 -2
  1221. package/dist/esm/errors/index.mjs.map +0 -1
  1222. package/dist/esm/federatedKeyless-BYLu31Sa.d.mts +0 -880
  1223. package/dist/esm/index.d.mts +0 -72
  1224. package/dist/esm/index.mjs +0 -2
  1225. package/dist/esm/index.mjs.map +0 -1
  1226. package/dist/esm/internal/abstraction.d.mts +0 -27
  1227. package/dist/esm/internal/abstraction.mjs +0 -2
  1228. package/dist/esm/internal/abstraction.mjs.map +0 -1
  1229. package/dist/esm/internal/account.d.mts +0 -453
  1230. package/dist/esm/internal/account.mjs +0 -2
  1231. package/dist/esm/internal/account.mjs.map +0 -1
  1232. package/dist/esm/internal/ans.d.mts +0 -417
  1233. package/dist/esm/internal/ans.mjs +0 -2
  1234. package/dist/esm/internal/ans.mjs.map +0 -1
  1235. package/dist/esm/internal/coin.d.mts +0 -31
  1236. package/dist/esm/internal/coin.mjs +0 -2
  1237. package/dist/esm/internal/coin.mjs.map +0 -1
  1238. package/dist/esm/internal/digitalAsset.d.mts +0 -580
  1239. package/dist/esm/internal/digitalAsset.mjs +0 -2
  1240. package/dist/esm/internal/digitalAsset.mjs.map +0 -1
  1241. package/dist/esm/internal/faucet.d.mts +0 -42
  1242. package/dist/esm/internal/faucet.mjs +0 -2
  1243. package/dist/esm/internal/faucet.mjs.map +0 -1
  1244. package/dist/esm/internal/fungibleAsset.d.mts +0 -112
  1245. package/dist/esm/internal/fungibleAsset.mjs +0 -2
  1246. package/dist/esm/internal/fungibleAsset.mjs.map +0 -1
  1247. package/dist/esm/internal/general.d.mts +0 -94
  1248. package/dist/esm/internal/general.mjs +0 -2
  1249. package/dist/esm/internal/general.mjs.map +0 -1
  1250. package/dist/esm/internal/keyless.d.mts +0 -111
  1251. package/dist/esm/internal/keyless.mjs +0 -2
  1252. package/dist/esm/internal/keyless.mjs.map +0 -1
  1253. package/dist/esm/internal/object.d.mts +0 -42
  1254. package/dist/esm/internal/object.mjs +0 -2
  1255. package/dist/esm/internal/object.mjs.map +0 -1
  1256. package/dist/esm/internal/staking.d.mts +0 -60
  1257. package/dist/esm/internal/staking.mjs +0 -2
  1258. package/dist/esm/internal/staking.mjs.map +0 -1
  1259. package/dist/esm/internal/table.d.mts +0 -66
  1260. package/dist/esm/internal/table.mjs +0 -2
  1261. package/dist/esm/internal/table.mjs.map +0 -1
  1262. package/dist/esm/internal/transaction.d.mts +0 -199
  1263. package/dist/esm/internal/transaction.mjs +0 -2
  1264. package/dist/esm/internal/transaction.mjs.map +0 -1
  1265. package/dist/esm/internal/transactionSubmission.d.mts +0 -165
  1266. package/dist/esm/internal/transactionSubmission.mjs +0 -2
  1267. package/dist/esm/internal/transactionSubmission.mjs.map +0 -1
  1268. package/dist/esm/internal/utils/index.d.mts +0 -8
  1269. package/dist/esm/internal/utils/index.mjs +0 -2
  1270. package/dist/esm/internal/utils/index.mjs.map +0 -1
  1271. package/dist/esm/internal/utils/utils.d.mts +0 -41
  1272. package/dist/esm/internal/utils/utils.mjs +0 -2
  1273. package/dist/esm/internal/utils/utils.mjs.map +0 -1
  1274. package/dist/esm/internal/view.d.mts +0 -20
  1275. package/dist/esm/internal/view.mjs +0 -2
  1276. package/dist/esm/internal/view.mjs.map +0 -1
  1277. package/dist/esm/transactions/authenticator/account.d.mts +0 -7
  1278. package/dist/esm/transactions/authenticator/account.mjs +0 -2
  1279. package/dist/esm/transactions/authenticator/account.mjs.map +0 -1
  1280. package/dist/esm/transactions/authenticator/index.d.mts +0 -8
  1281. package/dist/esm/transactions/authenticator/index.mjs +0 -2
  1282. package/dist/esm/transactions/authenticator/index.mjs.map +0 -1
  1283. package/dist/esm/transactions/authenticator/transaction.d.mts +0 -152
  1284. package/dist/esm/transactions/authenticator/transaction.mjs +0 -2
  1285. package/dist/esm/transactions/authenticator/transaction.mjs.map +0 -1
  1286. package/dist/esm/transactions/index.d.mts +0 -15
  1287. package/dist/esm/transactions/index.mjs +0 -2
  1288. package/dist/esm/transactions/index.mjs.map +0 -1
  1289. package/dist/esm/transactions/instances/chainId.d.mts +0 -7
  1290. package/dist/esm/transactions/instances/chainId.mjs +0 -2
  1291. package/dist/esm/transactions/instances/chainId.mjs.map +0 -1
  1292. package/dist/esm/transactions/instances/identifier.d.mts +0 -7
  1293. package/dist/esm/transactions/instances/identifier.mjs +0 -2
  1294. package/dist/esm/transactions/instances/identifier.mjs.map +0 -1
  1295. package/dist/esm/transactions/instances/index.d.mts +0 -10
  1296. package/dist/esm/transactions/instances/index.mjs +0 -2
  1297. package/dist/esm/transactions/instances/index.mjs.map +0 -1
  1298. package/dist/esm/transactions/instances/moduleId.d.mts +0 -7
  1299. package/dist/esm/transactions/instances/moduleId.mjs +0 -2
  1300. package/dist/esm/transactions/instances/moduleId.mjs.map +0 -1
  1301. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +0 -7
  1302. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +0 -2
  1303. package/dist/esm/transactions/instances/multiAgentTransaction.mjs.map +0 -1
  1304. package/dist/esm/transactions/instances/rawTransaction.d.mts +0 -7
  1305. package/dist/esm/transactions/instances/rawTransaction.mjs +0 -2
  1306. package/dist/esm/transactions/instances/rawTransaction.mjs.map +0 -1
  1307. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +0 -58
  1308. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +0 -2
  1309. package/dist/esm/transactions/instances/rotationProofChallenge.mjs.map +0 -1
  1310. package/dist/esm/transactions/instances/signedTransaction.d.mts +0 -59
  1311. package/dist/esm/transactions/instances/signedTransaction.mjs +0 -2
  1312. package/dist/esm/transactions/instances/signedTransaction.mjs.map +0 -1
  1313. package/dist/esm/transactions/instances/simpleTransaction.d.mts +0 -7
  1314. package/dist/esm/transactions/instances/simpleTransaction.mjs +0 -2
  1315. package/dist/esm/transactions/instances/simpleTransaction.mjs.map +0 -1
  1316. package/dist/esm/transactions/instances/transactionArgument.d.mts +0 -7
  1317. package/dist/esm/transactions/instances/transactionArgument.mjs +0 -2
  1318. package/dist/esm/transactions/instances/transactionArgument.mjs.map +0 -1
  1319. package/dist/esm/transactions/instances/transactionPayload.d.mts +0 -7
  1320. package/dist/esm/transactions/instances/transactionPayload.mjs +0 -2
  1321. package/dist/esm/transactions/instances/transactionPayload.mjs.map +0 -1
  1322. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +0 -123
  1323. package/dist/esm/transactions/management/accountSequenceNumber.mjs +0 -2
  1324. package/dist/esm/transactions/management/accountSequenceNumber.mjs.map +0 -1
  1325. package/dist/esm/transactions/management/asyncQueue.d.mts +0 -77
  1326. package/dist/esm/transactions/management/asyncQueue.mjs +0 -2
  1327. package/dist/esm/transactions/management/asyncQueue.mjs.map +0 -1
  1328. package/dist/esm/transactions/management/index.d.mts +0 -12
  1329. package/dist/esm/transactions/management/index.mjs +0 -2
  1330. package/dist/esm/transactions/management/index.mjs.map +0 -1
  1331. package/dist/esm/transactions/management/transactionWorker.d.mts +0 -218
  1332. package/dist/esm/transactions/management/transactionWorker.mjs +0 -2
  1333. package/dist/esm/transactions/management/transactionWorker.mjs.map +0 -1
  1334. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +0 -189
  1335. package/dist/esm/transactions/transactionBuilder/helpers.mjs +0 -2
  1336. package/dist/esm/transactions/transactionBuilder/helpers.mjs.map +0 -1
  1337. package/dist/esm/transactions/transactionBuilder/index.d.mts +0 -11
  1338. package/dist/esm/transactions/transactionBuilder/index.mjs +0 -2
  1339. package/dist/esm/transactions/transactionBuilder/index.mjs.map +0 -1
  1340. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +0 -105
  1341. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +0 -2
  1342. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs.map +0 -1
  1343. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +0 -62
  1344. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +0 -2
  1345. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +0 -1
  1346. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +0 -192
  1347. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +0 -2
  1348. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs.map +0 -1
  1349. package/dist/esm/transactions/typeTag/index.d.mts +0 -7
  1350. package/dist/esm/transactions/typeTag/index.mjs +0 -2
  1351. package/dist/esm/transactions/typeTag/index.mjs.map +0 -1
  1352. package/dist/esm/transactions/typeTag/parser.d.mts +0 -81
  1353. package/dist/esm/transactions/typeTag/parser.mjs +0 -2
  1354. package/dist/esm/transactions/typeTag/parser.mjs.map +0 -1
  1355. package/dist/esm/transactions/types.d.mts +0 -7
  1356. package/dist/esm/transactions/types.mjs +0 -2
  1357. package/dist/esm/transactions/types.mjs.map +0 -1
  1358. package/dist/esm/types/abstraction.d.mts +0 -15
  1359. package/dist/esm/types/abstraction.mjs +0 -2
  1360. package/dist/esm/types/abstraction.mjs.map +0 -1
  1361. package/dist/esm/types/ans.d.mts +0 -109
  1362. package/dist/esm/types/ans.mjs +0 -2
  1363. package/dist/esm/types/ans.mjs.map +0 -1
  1364. package/dist/esm/types/generated/operations.d.mts +0 -703
  1365. package/dist/esm/types/generated/operations.mjs +0 -1
  1366. package/dist/esm/types/generated/operations.mjs.map +0 -1
  1367. package/dist/esm/types/generated/queries.d.mts +0 -66
  1368. package/dist/esm/types/generated/queries.mjs +0 -2
  1369. package/dist/esm/types/generated/queries.mjs.map +0 -1
  1370. package/dist/esm/types/generated/types.d.mts +0 -9679
  1371. package/dist/esm/types/generated/types.mjs +0 -2
  1372. package/dist/esm/types/generated/types.mjs.map +0 -1
  1373. package/dist/esm/types/index.d.mts +0 -8
  1374. package/dist/esm/types/index.mjs +0 -2
  1375. package/dist/esm/types/index.mjs.map +0 -1
  1376. package/dist/esm/types/indexer.d.mts +0 -186
  1377. package/dist/esm/types/indexer.mjs +0 -2
  1378. package/dist/esm/types/indexer.mjs.map +0 -1
  1379. package/dist/esm/types/keyless.d.mts +0 -102
  1380. package/dist/esm/types/keyless.mjs +0 -1
  1381. package/dist/esm/types/keyless.mjs.map +0 -1
  1382. package/dist/esm/types/types.d.mts +0 -7
  1383. package/dist/esm/types/types.mjs +0 -2
  1384. package/dist/esm/types/types.mjs.map +0 -1
  1385. package/dist/esm/utils/apiEndpoints.d.mts +0 -51
  1386. package/dist/esm/utils/apiEndpoints.mjs +0 -2
  1387. package/dist/esm/utils/apiEndpoints.mjs.map +0 -1
  1388. package/dist/esm/utils/const.d.mts +0 -104
  1389. package/dist/esm/utils/const.mjs +0 -2
  1390. package/dist/esm/utils/const.mjs.map +0 -1
  1391. package/dist/esm/utils/helpers.d.mts +0 -193
  1392. package/dist/esm/utils/helpers.mjs +0 -2
  1393. package/dist/esm/utils/helpers.mjs.map +0 -1
  1394. package/dist/esm/utils/index.d.mts +0 -9
  1395. package/dist/esm/utils/index.mjs +0 -2
  1396. package/dist/esm/utils/index.mjs.map +0 -1
  1397. package/dist/esm/utils/memoize.d.mts +0 -48
  1398. package/dist/esm/utils/memoize.mjs +0 -2
  1399. package/dist/esm/utils/memoize.mjs.map +0 -1
  1400. package/dist/esm/utils/normalizeBundle.d.mts +0 -35
  1401. package/dist/esm/utils/normalizeBundle.mjs +0 -2
  1402. package/dist/esm/utils/normalizeBundle.mjs.map +0 -1
  1403. package/dist/esm/version.d.mts +0 -8
  1404. package/dist/esm/version.mjs +0 -2
  1405. package/dist/esm/version.mjs.map +0 -1
@@ -0,0 +1,848 @@
1
+ // Copyright © Aptos Foundation
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * Parser for public copy structs and enums as transaction arguments.
6
+ *
7
+ * This module enables the TypeScript SDK to accept public copy structs and enums
8
+ * as transaction arguments in JSON format, automatically encoding them to BCS.
9
+ *
10
+ * Key features:
11
+ * - Queries on-chain metadata for struct/enum definitions
12
+ * - Parses JSON input matching Move struct/enum types
13
+ * - Encodes arguments to BCS format
14
+ * - Supports nested structs/enums with depth limits
15
+ * - Handles Option<T> in both vector and enum formats
16
+ *
17
+ * @group Implementation
18
+ * @category Transactions
19
+ */
20
+
21
+ import { AccountAddress } from "../../core/accountAddress.js";
22
+ import { Serializer, Serializable } from "../../bcs/serializer.js";
23
+ import { EntryFunctionArgument } from "../instances/transactionArgument.js";
24
+ import {
25
+ TypeTag,
26
+ TypeTagBool,
27
+ TypeTagU8,
28
+ TypeTagU16,
29
+ TypeTagU32,
30
+ TypeTagU64,
31
+ TypeTagU128,
32
+ TypeTagU256,
33
+ TypeTagI8,
34
+ TypeTagI16,
35
+ TypeTagI32,
36
+ TypeTagI64,
37
+ TypeTagI128,
38
+ TypeTagI256,
39
+ TypeTagAddress,
40
+ TypeTagStruct,
41
+ TypeTagVector,
42
+ TypeTagGeneric,
43
+ StructTag,
44
+ } from "../typeTag/index.js";
45
+ import { parseTypeTag } from "../typeTag/parser.js";
46
+ import { AptosConfig } from "../../api/aptosConfig.js";
47
+ import { getModule } from "../../internal/account.js";
48
+ import { MoveModuleBytecode } from "../../types/index.js";
49
+ import {
50
+ Bool,
51
+ U8,
52
+ U16,
53
+ U32,
54
+ U64,
55
+ U128,
56
+ U256,
57
+ I8,
58
+ I16,
59
+ I32,
60
+ I64,
61
+ I128,
62
+ I256,
63
+ } from "../../bcs/serializable/movePrimitives.js";
64
+ import { MoveString, MoveOption } from "../../bcs/serializable/moveStructs.js";
65
+
66
+ /**
67
+ * Maximum nesting depth for structs, enums, and vectors.
68
+ * Prevents stack overflow and excessively complex arguments.
69
+ * Matches the limit in the Rust CLI implementation.
70
+ */
71
+ const MAX_NESTING_DEPTH = 7;
72
+
73
+ /**
74
+ * Module path separator used in fully-qualified type names.
75
+ * Matches MODULE_SEPARATOR constant from Rust implementation.
76
+ */
77
+ const MODULE_SEPARATOR = "::";
78
+
79
+ /**
80
+ * Represents a BCS-serializable struct argument.
81
+ * Encodes struct fields in declaration order.
82
+ */
83
+ export class MoveStructArgument extends Serializable implements EntryFunctionArgument {
84
+ /**
85
+ * The encoded BCS bytes for this struct.
86
+ */
87
+ private readonly bcsBytes: Uint8Array;
88
+
89
+ /**
90
+ * Creates a new struct argument from pre-encoded BCS bytes.
91
+ *
92
+ * @param bcsBytes - The BCS-encoded struct bytes
93
+ */
94
+ constructor(bcsBytes: Uint8Array) {
95
+ super();
96
+ this.bcsBytes = bcsBytes;
97
+ }
98
+
99
+ serialize(serializer: Serializer): void {
100
+ serializer.serializeFixedBytes(this.bcsBytes);
101
+ }
102
+
103
+ serializeForEntryFunction(serializer: Serializer): void {
104
+ // For entry functions, we need to prefix with the byte length
105
+ serializer.serializeU32AsUleb128(this.bcsBytes.length);
106
+ serializer.serializeFixedBytes(this.bcsBytes);
107
+ }
108
+
109
+ bcsToBytes(): Uint8Array {
110
+ // Return raw struct bytes without additional wrapping
111
+ return this.bcsBytes;
112
+ }
113
+ }
114
+
115
+ /**
116
+ * Represents a BCS-serializable enum argument.
117
+ * Encodes variant tag (ULEB128) followed by variant fields.
118
+ */
119
+ export class MoveEnumArgument extends Serializable implements EntryFunctionArgument {
120
+ /**
121
+ * The encoded BCS bytes for this enum.
122
+ */
123
+ private readonly bcsBytes: Uint8Array;
124
+
125
+ /**
126
+ * Creates a new enum argument from pre-encoded BCS bytes.
127
+ *
128
+ * @param bcsBytes - The BCS-encoded enum bytes
129
+ */
130
+ constructor(bcsBytes: Uint8Array) {
131
+ super();
132
+ this.bcsBytes = bcsBytes;
133
+ }
134
+
135
+ serialize(serializer: Serializer): void {
136
+ serializer.serializeFixedBytes(this.bcsBytes);
137
+ }
138
+
139
+ serializeForEntryFunction(serializer: Serializer): void {
140
+ // For entry functions, we need to prefix with the byte length
141
+ serializer.serializeU32AsUleb128(this.bcsBytes.length);
142
+ serializer.serializeFixedBytes(this.bcsBytes);
143
+ }
144
+
145
+ bcsToBytes(): Uint8Array {
146
+ // Return raw enum bytes without additional wrapping
147
+ return this.bcsBytes;
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Parser for struct and enum transaction arguments.
153
+ *
154
+ * This class enables passing public copy structs and enums as transaction arguments
155
+ * by automatically fetching module ABIs and encoding values to BCS format.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * // Example 1: Encode a simple struct
160
+ * const parser = new StructEnumArgumentParser(config);
161
+ * const structTag = parseTypeTag("0x1::test::Point") as TypeTagStruct;
162
+ * const value = { x: "10", y: "20" };
163
+ * const encoded = await parser.encodeStructArgument(structTag, value);
164
+ * ```
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // Example 2: Encode an enum variant
169
+ * const parser = new StructEnumArgumentParser(config);
170
+ * const enumTag = parseTypeTag("0x1::test::Color") as TypeTagStruct;
171
+ * const value = { Red: {} }; // No fields
172
+ * const encoded = await parser.encodeEnumArgument(enumTag, value);
173
+ * ```
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * // Example 3: Use in transaction builder
178
+ * const txn = await aptos.transaction.build.simple({
179
+ * sender: alice.accountAddress,
180
+ * data: {
181
+ * function: "0x1::test::draw_line",
182
+ * functionArguments: [
183
+ * { start: { x: "0", y: "0" }, end: { x: "10", y: "10" } }, // Line struct
184
+ * ],
185
+ * },
186
+ * });
187
+ * ```
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * // Example 4: Generic structs with type substitution
192
+ * const parser = new StructEnumArgumentParser(config);
193
+ * const boxTag = parseTypeTag("0x1::test::Box<u64>") as TypeTagStruct;
194
+ * const value = { value: "42" };
195
+ * const encoded = await parser.encodeStructArgument(boxTag, value);
196
+ * // Generic parameter T0 is automatically substituted with u64
197
+ * ```
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * // Example 5: Option enum (dual format support)
202
+ * // Vector format (backward compatible):
203
+ * functionArguments: [[]]; // None
204
+ * functionArguments: [[42]]; // Some(42)
205
+ *
206
+ * // Enum format (new standard):
207
+ * functionArguments: [{ None: {} }];
208
+ * functionArguments: [{ Some: { "0": "42" } }];
209
+ * ```
210
+ *
211
+ * Features:
212
+ * - Automatic module ABI fetching and caching
213
+ * - Recursive encoding for nested structs/enums
214
+ * - Generic type parameter substitution (T0, T1, etc.)
215
+ * - Depth limit enforcement (max 7 levels)
216
+ * - Support for all Move primitive types
217
+ * - Vector encoding with element recursion
218
+ * - Special handling for String, Object<T>, Option<T>
219
+ *
220
+ * @group Implementation
221
+ * @category Transactions
222
+ */
223
+ export class StructEnumArgumentParser {
224
+ private aptosConfig: AptosConfig;
225
+
226
+ /**
227
+ * Cache of module bytecode to avoid repeated fetches.
228
+ * Key: "address::module_name"
229
+ */
230
+ private moduleCache: Map<string, MoveModuleBytecode> = new Map();
231
+
232
+ constructor(aptosConfig: AptosConfig) {
233
+ this.aptosConfig = aptosConfig;
234
+ }
235
+
236
+ /**
237
+ * Pre-populates the module cache with modules from a ModuleAbiBundle.
238
+ * This optimization eliminates nested network calls by providing all necessary
239
+ * struct definitions upfront.
240
+ *
241
+ * @param modules - Map of module ID (address::name) to MoveModule
242
+ */
243
+ preloadModules(modules: Map<string, MoveModuleBytecode>): void {
244
+ for (const [moduleId, moduleBytecode] of modules.entries()) {
245
+ this.moduleCache.set(moduleId, moduleBytecode);
246
+ }
247
+ }
248
+
249
+ /**
250
+ * Parses a struct tag string into components.
251
+ *
252
+ * @param typeStr - Type string like "0x1::option::Option<u64>"
253
+ * @returns Parsed TypeTag
254
+ */
255
+ parseTypeString(typeStr: string): TypeTag {
256
+ // Use the SDK's built-in TypeTag parsing with generics support
257
+ return parseTypeTag(typeStr, { allowGenerics: true });
258
+ }
259
+
260
+ /**
261
+ * Checks if the nesting depth exceeds the maximum allowed.
262
+ *
263
+ * @param depth - Current nesting depth
264
+ * @param typeName - Type name for error messages
265
+ */
266
+ private checkDepth(depth: number, typeName: string): void {
267
+ if (depth > MAX_NESTING_DEPTH) {
268
+ throw new Error(`${typeName} nesting depth ${depth} exceeds maximum allowed depth of ${MAX_NESTING_DEPTH}`);
269
+ }
270
+ }
271
+
272
+ /**
273
+ * Fetches module bytecode from the chain.
274
+ * Results are cached to avoid repeated fetches.
275
+ *
276
+ * @param moduleAddress - Module address
277
+ * @param moduleName - Module name
278
+ * @returns Module bytecode
279
+ */
280
+ private async fetchModule(moduleAddress: AccountAddress, moduleName: string): Promise<MoveModuleBytecode> {
281
+ const cacheKey = `${moduleAddress.toString()}${MODULE_SEPARATOR}${moduleName}`;
282
+
283
+ // Check cache first
284
+ if (this.moduleCache.has(cacheKey)) {
285
+ return this.moduleCache.get(cacheKey)!;
286
+ }
287
+
288
+ // Fetch from chain
289
+ try {
290
+ const accountModules = await getModule({
291
+ aptosConfig: this.aptosConfig,
292
+ accountAddress: moduleAddress,
293
+ moduleName,
294
+ });
295
+
296
+ this.moduleCache.set(cacheKey, accountModules);
297
+ return accountModules;
298
+ } catch (error) {
299
+ const errorMessage = error instanceof Error ? error.message : String(error);
300
+ throw new Error(`Failed to fetch module ${moduleAddress}${MODULE_SEPARATOR}${moduleName}: ${errorMessage}`);
301
+ }
302
+ }
303
+
304
+ /**
305
+ * Determines if a type is a struct or enum that requires special handling.
306
+ *
307
+ * @param typeTag - The type tag to check
308
+ * @returns true if this is a struct/enum requiring special parsing
309
+ */
310
+ isStructOrEnum(typeTag: TypeTag): boolean {
311
+ if (!(typeTag instanceof TypeTagStruct)) {
312
+ return false;
313
+ }
314
+
315
+ const qualifiedName = `${typeTag.value.address.toString()}${MODULE_SEPARATOR}${typeTag.value.moduleName.identifier}${MODULE_SEPARATOR}${typeTag.value.name.identifier}`;
316
+
317
+ // Special built-in types that are already handled
318
+ const builtinTypes = ["0x1::string::String", "0x1::object::Object", "0x1::option::Option"];
319
+
320
+ // If it's a built-in type, don't treat as custom struct/enum
321
+ for (const builtinType of builtinTypes) {
322
+ if (qualifiedName.startsWith(builtinType)) {
323
+ return false;
324
+ }
325
+ }
326
+
327
+ return true;
328
+ }
329
+
330
+ /**
331
+ * Encodes a struct argument to BCS bytes.
332
+ *
333
+ * @param structTag - The struct type tag
334
+ * @param value - JSON object with field values
335
+ * @param depth - Current nesting depth
336
+ * @returns BCS-encoded struct argument
337
+ */
338
+ async encodeStructArgument(structTag: TypeTagStruct, value: any, depth: number = 0): Promise<MoveStructArgument> {
339
+ this.checkDepth(depth, "Struct");
340
+
341
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
342
+ throw new Error(`Expected object for struct argument, got ${typeof value}`);
343
+ }
344
+
345
+ // Fetch module to get struct definition
346
+ const module = await this.fetchModule(structTag.value.address, structTag.value.moduleName.identifier);
347
+
348
+ if (!module.abi) {
349
+ throw new Error(
350
+ `Module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier} has no ABI`,
351
+ );
352
+ }
353
+
354
+ // Find the struct definition
355
+ const structDef = module.abi.structs.find((s) => s.name === structTag.value.name.identifier);
356
+
357
+ if (!structDef) {
358
+ throw new Error(
359
+ `Struct ${structTag.value.name.identifier} not found in module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier}`,
360
+ );
361
+ }
362
+
363
+ if (structDef.is_enum) {
364
+ throw new Error(
365
+ `Type ${structTag.value.name.identifier} is an enum. Use enum variant syntax instead (e.g., {"VariantName": {...}})`,
366
+ );
367
+ }
368
+
369
+ if (structDef.is_native) {
370
+ throw new Error(`Struct ${structTag.value.name.identifier} is a native struct and cannot be used as an argument`);
371
+ }
372
+
373
+ // Encode each field in order
374
+ const serializer = new Serializer();
375
+
376
+ for (const field of structDef.fields) {
377
+ const fieldValue = value[field.name];
378
+ if (fieldValue === undefined) {
379
+ throw new Error(`Missing field '${field.name}' for struct ${structTag.value.name.identifier}`);
380
+ }
381
+
382
+ // Parse field type and substitute generics
383
+ const fieldTypeTag = this.parseTypeString(field.type);
384
+ const substitutedType = this.substituteTypeParams(fieldTypeTag, structTag);
385
+
386
+ // Encode field value
387
+ const encoded = await this.encodeValueByType(substitutedType, fieldValue, depth + 1);
388
+ serializer.serializeFixedBytes(encoded);
389
+ }
390
+
391
+ return new MoveStructArgument(serializer.toUint8Array());
392
+ }
393
+
394
+ /**
395
+ * Encodes an enum argument to BCS bytes.
396
+ *
397
+ * @param structTag - The enum type tag
398
+ * @param value - JSON object with variant name and fields
399
+ * @param depth - Current nesting depth
400
+ * @returns BCS-encoded enum argument
401
+ */
402
+ async encodeEnumArgument(structTag: TypeTagStruct, value: any, depth: number = 0): Promise<MoveEnumArgument> {
403
+ this.checkDepth(depth, "Enum");
404
+
405
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
406
+ throw new Error(`Expected object for enum argument, got ${typeof value}`);
407
+ }
408
+
409
+ // Enum format: { "VariantName": { "field1": value1, ... } }
410
+ const variantNames = Object.keys(value);
411
+ if (variantNames.length !== 1) {
412
+ throw new Error(`Enum value must have exactly one variant, got ${variantNames.length}`);
413
+ }
414
+
415
+ const variantName = variantNames[0];
416
+ const variantFields = value[variantName];
417
+
418
+ // Special handling for Option<T> - uses vector encoding for backward compatibility
419
+ if (this.isOptionType(structTag)) {
420
+ return this.encodeOptionArgument(structTag, variantName, variantFields, depth);
421
+ }
422
+
423
+ // Fetch module to get enum definition
424
+ const module = await this.fetchModule(structTag.value.address, structTag.value.moduleName.identifier);
425
+
426
+ if (!module.abi) {
427
+ throw new Error(
428
+ `Module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier} has no ABI`,
429
+ );
430
+ }
431
+
432
+ // Find the enum definition
433
+ const enumDef = module.abi.structs.find((s) => s.name === structTag.value.name.identifier);
434
+
435
+ if (!enumDef) {
436
+ throw new Error(
437
+ `Enum ${structTag.value.name.identifier} not found in module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier}`,
438
+ );
439
+ }
440
+
441
+ if (!enumDef.is_enum) {
442
+ throw new Error(
443
+ `Type ${structTag.value.name.identifier} is a struct, not an enum. Provide field values directly as an object.`,
444
+ );
445
+ }
446
+
447
+ // For enums, fields array represents variants
448
+ // Find variant index by name
449
+ const variantIndex = enumDef.fields.findIndex((f) => f.name === variantName);
450
+
451
+ if (variantIndex === -1) {
452
+ const availableVariants = enumDef.fields.map((f) => f.name).join(", ");
453
+ throw new Error(
454
+ `Variant '${variantName}' not found in enum ${structTag.value.name.identifier}. Available variants: ${availableVariants}`,
455
+ );
456
+ }
457
+
458
+ const serializer = new Serializer();
459
+
460
+ // Encode variant index as ULEB128
461
+ serializer.serializeU32AsUleb128(variantIndex);
462
+
463
+ // Note: For enum variants with fields, the field information is in the variant's type string
464
+ // E.g., for "Some" variant of Option<T>, the type might be "T"
465
+ // However, the REST API may not provide complete field metadata for enum variants
466
+ // We need to handle the variantFields based on the type string
467
+
468
+ const variantDef = enumDef.fields[variantIndex];
469
+ // Substitute generic type parameters for the variant payload type so that
470
+ // generic enums (e.g. `Some(T0)`) are encoded against the instantiated type.
471
+ const variantType = this.substituteTypeParams(this.parseTypeString(variantDef.type), structTag);
472
+
473
+ // If variant has fields, encode them
474
+ if (typeof variantFields === "object" && variantFields !== null && !Array.isArray(variantFields)) {
475
+ // Variant has fields as an object
476
+ const fieldKeys = Object.keys(variantFields);
477
+
478
+ // Sort keys to ensure correct field order
479
+ // Enum variants with multiple fields should use numbered keys: {"0": val1, "1": val2, ...}
480
+ const sortedKeys = fieldKeys.sort((a, b) => {
481
+ const numA = parseInt(a, 10);
482
+ const numB = parseInt(b, 10);
483
+
484
+ // If keys are not numeric, maintain object key order (which may be wrong)
485
+ if (Number.isNaN(numA) || Number.isNaN(numB)) {
486
+ return 0;
487
+ }
488
+
489
+ return numA - numB;
490
+ });
491
+
492
+ // Validate that multi-field variants use sequential numeric keys
493
+ if (sortedKeys.length > 1) {
494
+ for (let i = 0; i < sortedKeys.length; i++) {
495
+ const expectedKey = i.toString();
496
+ if (sortedKeys[i] !== expectedKey) {
497
+ throw new Error(
498
+ `Enum variant with multiple fields must use sequential numeric keys starting from "0". ` +
499
+ `Expected key "${expectedKey}" at position ${i}, got "${sortedKeys[i]}". ` +
500
+ `Use format: { ${variantName}: { "0": value1, "1": value2, ... } }`,
501
+ );
502
+ }
503
+ }
504
+
505
+ // Note: The REST API doesn't provide individual field type information for enum variants.
506
+ // For multi-field variants, we use the variant's type for all fields (limitation).
507
+ // This may not work for variants with fields of different types.
508
+ // TODO: Use bytecode parsing to get exact field types when available
509
+ }
510
+
511
+ // Encode each field in order
512
+ for (const key of sortedKeys) {
513
+ const fieldValue = variantFields[key];
514
+ // Use the variant's type as the field type (simplified approach)
515
+ const encoded = await this.encodeValueByType(variantType, fieldValue, depth + 1);
516
+ serializer.serializeFixedBytes(encoded);
517
+ }
518
+ } else if (variantFields !== undefined && variantFields !== null) {
519
+ // Single value variant (not an object)
520
+ const encoded = await this.encodeValueByType(variantType, variantFields, depth + 1);
521
+ serializer.serializeFixedBytes(encoded);
522
+ }
523
+
524
+ return new MoveEnumArgument(serializer.toUint8Array());
525
+ }
526
+
527
+ /**
528
+ * Encodes Option<T> enum using vector encoding for backward compatibility.
529
+ */
530
+ private async encodeOptionArgument(
531
+ structTag: TypeTagStruct,
532
+ variant: string,
533
+ fieldValue: any,
534
+ depth: number,
535
+ ): Promise<MoveEnumArgument> {
536
+ if (structTag.value.typeArgs.length === 0) {
537
+ throw new Error("Option must have a type parameter");
538
+ }
539
+
540
+ const innerType = structTag.value.typeArgs[0];
541
+ const serializer = new Serializer();
542
+
543
+ if (variant === "None") {
544
+ // None: empty vector (length = 0)
545
+ serializer.serializeU32AsUleb128(0);
546
+ } else if (variant === "Some") {
547
+ // Some: vector with one element (length = 1)
548
+ serializer.serializeU32AsUleb128(1);
549
+
550
+ // Extract the value from the field
551
+ let value: any;
552
+ if (typeof fieldValue === "object" && fieldValue !== null && !Array.isArray(fieldValue)) {
553
+ // Handle {"0": value} format
554
+ value = fieldValue["0"] !== undefined ? fieldValue["0"] : fieldValue;
555
+ } else {
556
+ value = fieldValue;
557
+ }
558
+
559
+ const encoded = await this.encodeValueByType(innerType, value, depth + 1);
560
+ serializer.serializeFixedBytes(encoded);
561
+ } else {
562
+ throw new Error(`Unknown Option variant '${variant}'. Expected 'None' or 'Some'`);
563
+ }
564
+
565
+ return new MoveEnumArgument(serializer.toUint8Array());
566
+ }
567
+
568
+ /**
569
+ * Checks if a struct tag represents std::option::Option
570
+ */
571
+ private isOptionType(structTag: TypeTagStruct): boolean {
572
+ return (
573
+ structTag.value.address.toString() === "0x1" &&
574
+ structTag.value.moduleName.identifier === "option" &&
575
+ structTag.value.name.identifier === "Option"
576
+ );
577
+ }
578
+
579
+ /**
580
+ * Substitute generic type parameters with concrete types.
581
+ *
582
+ * Replaces generic type parameters (T0, T1, T2, etc.) with their concrete
583
+ * instantiations from the struct/enum type arguments.
584
+ *
585
+ * @example
586
+ * // Struct: Box<T0> { value: T0 }
587
+ * // Instantiation: Box<u64>
588
+ * // Field type T0 → u64
589
+ *
590
+ * @param fieldType - The type tag that may contain generic parameters
591
+ * @param structTag - The instantiated struct/enum with concrete type arguments
592
+ * @returns Type tag with all generic parameters replaced
593
+ */
594
+ private substituteTypeParams(fieldType: TypeTag, structTag: TypeTagStruct): TypeTag {
595
+ // Handle generic type parameter (T0, T1, T2, etc.)
596
+ if (fieldType instanceof TypeTagGeneric) {
597
+ const index = fieldType.value;
598
+ if (index >= structTag.value.typeArgs.length) {
599
+ throw new Error(
600
+ `Generic type parameter T${index} out of bounds. ${structTag.value.name.identifier} has ${structTag.value.typeArgs.length} type arguments.`,
601
+ );
602
+ }
603
+ return structTag.value.typeArgs[index];
604
+ }
605
+
606
+ // Handle vector types - recursively substitute inner type
607
+ if (fieldType instanceof TypeTagVector) {
608
+ const substitutedInner = this.substituteTypeParams(fieldType.value, structTag);
609
+ return new TypeTagVector(substitutedInner);
610
+ }
611
+
612
+ // Handle struct types - recursively substitute type arguments
613
+ if (fieldType instanceof TypeTagStruct) {
614
+ if (fieldType.value.typeArgs.length === 0) {
615
+ // No type arguments, return as-is
616
+ return fieldType;
617
+ }
618
+
619
+ // Substitute each type argument
620
+ const substitutedTypeArgs = fieldType.value.typeArgs.map((typeArg) =>
621
+ this.substituteTypeParams(typeArg, structTag),
622
+ );
623
+
624
+ // Create new struct tag with substituted type arguments
625
+ const newStructTag = new StructTag(
626
+ fieldType.value.address,
627
+ fieldType.value.moduleName,
628
+ fieldType.value.name,
629
+ substitutedTypeArgs,
630
+ );
631
+ return new TypeTagStruct(newStructTag);
632
+ }
633
+
634
+ // Primitive types and other non-generic types remain unchanged
635
+ return fieldType;
636
+ }
637
+
638
+ /**
639
+ * Encode a value based on its Move type.
640
+ */
641
+ private async encodeValueByType(typeTag: TypeTag, value: any, depth: number): Promise<Uint8Array> {
642
+ this.checkDepth(depth, "Type");
643
+
644
+ // Primitive types - use instanceof to avoid TypeScript control flow issues
645
+ if (typeTag instanceof TypeTagBool) {
646
+ if (typeof value !== "boolean") {
647
+ throw new Error(`Expected boolean for bool type, got ${typeof value}`);
648
+ }
649
+ return new Bool(value).bcsToBytes();
650
+ }
651
+ if (typeTag instanceof TypeTagU8) {
652
+ return new U8(this.parseNumber(value, "u8")).bcsToBytes();
653
+ }
654
+ if (typeTag instanceof TypeTagU16) {
655
+ return new U16(this.parseNumber(value, "u16")).bcsToBytes();
656
+ }
657
+ if (typeTag instanceof TypeTagU32) {
658
+ return new U32(this.parseNumber(value, "u32")).bcsToBytes();
659
+ }
660
+ if (typeTag instanceof TypeTagU64) {
661
+ return new U64(this.parseNumberBigInt(value, "u64")).bcsToBytes();
662
+ }
663
+ if (typeTag instanceof TypeTagU128) {
664
+ return new U128(this.parseNumberBigInt(value, "u128")).bcsToBytes();
665
+ }
666
+ if (typeTag instanceof TypeTagU256) {
667
+ return new U256(this.parseNumberBigInt(value, "u256")).bcsToBytes();
668
+ }
669
+ if (typeTag instanceof TypeTagI8) {
670
+ return new I8(this.parseNumber(value, "i8")).bcsToBytes();
671
+ }
672
+ if (typeTag instanceof TypeTagI16) {
673
+ return new I16(this.parseNumber(value, "i16")).bcsToBytes();
674
+ }
675
+ if (typeTag instanceof TypeTagI32) {
676
+ return new I32(this.parseNumber(value, "i32")).bcsToBytes();
677
+ }
678
+ if (typeTag instanceof TypeTagI64) {
679
+ return new I64(this.parseNumberBigInt(value, "i64")).bcsToBytes();
680
+ }
681
+ if (typeTag instanceof TypeTagI128) {
682
+ return new I128(this.parseNumberBigInt(value, "i128")).bcsToBytes();
683
+ }
684
+ if (typeTag instanceof TypeTagI256) {
685
+ return new I256(this.parseNumberBigInt(value, "i256")).bcsToBytes();
686
+ }
687
+ if (typeTag instanceof TypeTagAddress) {
688
+ const addr = AccountAddress.from(value);
689
+ return addr.bcsToBytes();
690
+ }
691
+ if (typeTag instanceof TypeTagVector) {
692
+ return this.encodeVector(typeTag, value, depth);
693
+ }
694
+ if (typeTag instanceof TypeTagStruct) {
695
+ return this.encodeStruct(typeTag, value, depth);
696
+ }
697
+
698
+ throw new Error(`Unsupported type: ${typeTag.toString()}`);
699
+ }
700
+
701
+ /**
702
+ * Encode a vector value.
703
+ */
704
+ private async encodeVector(vectorType: TypeTagVector, value: any, depth: number): Promise<Uint8Array> {
705
+ if (!Array.isArray(value)) {
706
+ // Special case: vector<u8> can be a string
707
+ if (vectorType.value instanceof TypeTagU8 && typeof value === "string") {
708
+ // Treat as UTF-8 encoded string. `serializeBytes` already writes the
709
+ // ULEB128 length prefix, so we must not write the length explicitly.
710
+ const encoder = new TextEncoder();
711
+ const bytes = encoder.encode(value);
712
+ const serializer = new Serializer();
713
+ serializer.serializeBytes(bytes);
714
+ return serializer.toUint8Array();
715
+ }
716
+
717
+ throw new Error(`Expected array for vector type, got ${typeof value}`);
718
+ }
719
+
720
+ const serializer = new Serializer();
721
+ serializer.serializeU32AsUleb128(value.length);
722
+
723
+ for (const item of value) {
724
+ const encoded = await this.encodeValueByType(vectorType.value, item, depth + 1);
725
+ serializer.serializeFixedBytes(encoded);
726
+ }
727
+
728
+ return serializer.toUint8Array();
729
+ }
730
+
731
+ /**
732
+ * Encode a struct value.
733
+ */
734
+ private async encodeStruct(structTag: TypeTagStruct, value: any, depth: number): Promise<Uint8Array> {
735
+ const qualifiedName = `${structTag.value.address.toString()}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier}${MODULE_SEPARATOR}${structTag.value.name.identifier}`;
736
+
737
+ // Handle special framework types
738
+ if (qualifiedName === "0x1::string::String") {
739
+ if (typeof value !== "string") {
740
+ throw new Error(`Expected string for String type, got ${typeof value}`);
741
+ }
742
+ return new MoveString(value).bcsToBytes();
743
+ }
744
+
745
+ if (qualifiedName === "0x1::object::Object") {
746
+ const addr = AccountAddress.from(value);
747
+ return addr.bcsToBytes();
748
+ }
749
+
750
+ if (qualifiedName === "0x1::option::Option") {
751
+ // Handle Option<T> in both formats
752
+ if (Array.isArray(value)) {
753
+ // Vector format: [] or [value]
754
+ if (value.length === 0) {
755
+ return new MoveOption(null).bcsToBytes();
756
+ }
757
+ if (value.length === 1) {
758
+ // Encode the inner value
759
+ if (structTag.value.typeArgs.length === 0) {
760
+ throw new Error("Option must have a type parameter");
761
+ }
762
+ const innerType = structTag.value.typeArgs[0];
763
+ const encodedInner = await this.encodeValueByType(innerType, value[0], depth + 1);
764
+ const serializer = new Serializer();
765
+ serializer.serializeU32AsUleb128(1); // Some
766
+ serializer.serializeFixedBytes(encodedInner);
767
+ return serializer.toUint8Array();
768
+ }
769
+ throw new Error(`Option as vector must have 0 or 1 elements, got ${value.length}`);
770
+ }
771
+
772
+ if (typeof value === "object" && value !== null) {
773
+ // Enum format: {"None": {}} or {"Some": {"0": value}}
774
+ const variantNames = Object.keys(value);
775
+ if (variantNames.length === 1) {
776
+ const result = await this.encodeEnumArgument(structTag, value, depth);
777
+ return result.bcsToBytes();
778
+ }
779
+ }
780
+
781
+ throw new Error(`Invalid Option format. Expected array [] or [value], or enum {"None": {}} or {"Some": {...}}`);
782
+ }
783
+
784
+ // Check if this is an enum (single key = variant name)
785
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
786
+ const keys = Object.keys(value);
787
+ if (keys.length === 1) {
788
+ // Might be an enum variant
789
+ // Try to fetch the struct and check is_enum flag
790
+ try {
791
+ const module = await this.fetchModule(structTag.value.address, structTag.value.moduleName.identifier);
792
+ if (module.abi) {
793
+ const structDef = module.abi.structs.find((s) => s.name === structTag.value.name.identifier);
794
+ if (structDef?.is_enum) {
795
+ const result = await this.encodeEnumArgument(structTag, value, depth);
796
+ return result.bcsToBytes();
797
+ }
798
+ }
799
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
800
+ } catch (_e) {
801
+ // If we can't determine, treat as struct
802
+ }
803
+ }
804
+ }
805
+
806
+ // Regular struct
807
+ const result = await this.encodeStructArgument(structTag, value, depth);
808
+ return result.bcsToBytes();
809
+ }
810
+
811
+ /**
812
+ * Parse a number from JSON value.
813
+ */
814
+ private parseNumber(value: any, typeName: string): number {
815
+ if (typeof value === "number") {
816
+ return value;
817
+ }
818
+ if (typeof value === "string") {
819
+ const parsed = parseInt(value, 10);
820
+ if (Number.isNaN(parsed)) {
821
+ throw new Error(`Invalid ${typeName} value: ${value}`);
822
+ }
823
+ return parsed;
824
+ }
825
+ throw new Error(`Expected number or string for ${typeName}, got ${typeof value}`);
826
+ }
827
+
828
+ /**
829
+ * Parse a BigInt from JSON value.
830
+ */
831
+ private parseNumberBigInt(value: any, typeName: string): bigint {
832
+ if (typeof value === "bigint") {
833
+ return value;
834
+ }
835
+ if (typeof value === "number") {
836
+ return BigInt(value);
837
+ }
838
+ if (typeof value === "string") {
839
+ try {
840
+ return BigInt(value);
841
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
842
+ } catch (_e) {
843
+ throw new Error(`Invalid ${typeName} value: ${value}`);
844
+ }
845
+ }
846
+ throw new Error(`Expected number, bigint, or string for ${typeName}, got ${typeof value}`);
847
+ }
848
+ }