@aptos-labs/ts-sdk 1.33.2 → 1.35.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 (563) hide show
  1. package/README.md +15 -9
  2. package/dist/common/{accountAddress-Cf1amU98.d.ts → accountAddress-CuHovHdK.d.ts} +22 -2
  3. package/dist/common/chunk-RX5UBAME.js +4 -0
  4. package/dist/common/chunk-RX5UBAME.js.map +1 -0
  5. package/dist/common/cli/index.d.ts +1 -1
  6. package/dist/common/cli/index.js +1 -1
  7. package/dist/common/cli/index.js.map +1 -1
  8. package/dist/common/index.d.ts +3139 -2533
  9. package/dist/common/index.js +33 -35
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/esm/account/AbstractKeylessAccount.d.mts +1 -0
  12. package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
  13. package/dist/esm/account/AbstractedAccount.d.mts +91 -0
  14. package/dist/esm/account/AbstractedAccount.mjs +2 -0
  15. package/dist/esm/account/Account.d.mts +2 -1
  16. package/dist/esm/account/Account.mjs +1 -1
  17. package/dist/esm/account/AccountUtils.d.mts +17 -16
  18. package/dist/esm/account/AccountUtils.mjs +1 -1
  19. package/dist/esm/account/Ed25519Account.d.mts +3 -2
  20. package/dist/esm/account/Ed25519Account.mjs +1 -1
  21. package/dist/esm/account/EphemeralKeyPair.d.mts +1 -0
  22. package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
  23. package/dist/esm/account/FederatedKeylessAccount.d.mts +1 -0
  24. package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
  25. package/dist/esm/account/KeylessAccount.d.mts +1 -0
  26. package/dist/esm/account/KeylessAccount.mjs +1 -1
  27. package/dist/esm/account/MultiEd25519Account.d.mts +108 -0
  28. package/dist/esm/account/MultiEd25519Account.mjs +2 -0
  29. package/dist/esm/account/MultiKeyAccount.d.mts +2 -2
  30. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  31. package/dist/esm/account/SingleKeyAccount.d.mts +1 -0
  32. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  33. package/dist/esm/account/index.d.mts +4 -0
  34. package/dist/esm/account/index.mjs +1 -1
  35. package/dist/esm/account/utils.d.mts +1 -0
  36. package/dist/esm/account/utils.mjs +1 -1
  37. package/dist/esm/api/account/abstraction.d.mts +209 -0
  38. package/dist/esm/api/account/abstraction.mjs +2 -0
  39. package/dist/esm/api/account.d.mts +4 -1
  40. package/dist/esm/api/account.mjs +1 -1
  41. package/dist/esm/api/ans.d.mts +1 -0
  42. package/dist/esm/api/ans.mjs +1 -1
  43. package/dist/esm/api/aptos.d.mts +6 -1
  44. package/dist/esm/api/aptos.mjs +1 -1
  45. package/dist/esm/api/aptosConfig.d.mts +1 -0
  46. package/dist/esm/api/aptosConfig.mjs +1 -1
  47. package/dist/esm/api/coin.d.mts +3 -2
  48. package/dist/esm/api/coin.mjs +1 -1
  49. package/dist/esm/api/digitalAsset.d.mts +1 -0
  50. package/dist/esm/api/digitalAsset.mjs +1 -1
  51. package/dist/esm/api/event.d.mts +1 -0
  52. package/dist/esm/api/event.mjs +1 -1
  53. package/dist/esm/api/experimental.d.mts +83 -0
  54. package/dist/esm/api/experimental.mjs +2 -0
  55. package/dist/esm/api/experimental.mjs.map +1 -0
  56. package/dist/esm/api/faucet.d.mts +1 -0
  57. package/dist/esm/api/faucet.mjs +1 -1
  58. package/dist/esm/api/fungibleAsset.d.mts +1 -0
  59. package/dist/esm/api/fungibleAsset.mjs +1 -1
  60. package/dist/esm/api/general.d.mts +1 -0
  61. package/dist/esm/api/general.mjs +1 -1
  62. package/dist/esm/api/index.d.mts +4 -0
  63. package/dist/esm/api/index.mjs +1 -1
  64. package/dist/esm/api/keyless.d.mts +2 -1
  65. package/dist/esm/api/keyless.mjs +1 -1
  66. package/dist/esm/api/object.d.mts +1 -0
  67. package/dist/esm/api/object.mjs +1 -1
  68. package/dist/esm/api/staking.d.mts +1 -0
  69. package/dist/esm/api/staking.mjs +1 -1
  70. package/dist/esm/api/table.d.mts +1 -0
  71. package/dist/esm/api/table.mjs +1 -1
  72. package/dist/esm/api/transaction.d.mts +2 -0
  73. package/dist/esm/api/transaction.mjs +1 -1
  74. package/dist/esm/api/transactionSubmission/build.d.mts +66 -0
  75. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  76. package/dist/esm/api/transactionSubmission/management.d.mts +1 -0
  77. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  78. package/dist/esm/api/transactionSubmission/sign.d.mts +1 -0
  79. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  80. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  81. package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -0
  82. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  83. package/dist/esm/api/transactionSubmission/submit.d.mts +1 -0
  84. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  85. package/dist/esm/api/utils.d.mts +1 -0
  86. package/dist/esm/api/utils.mjs +1 -1
  87. package/dist/esm/bcs/consts.d.mts +1 -0
  88. package/dist/esm/bcs/deserializer.d.mts +1 -0
  89. package/dist/esm/bcs/deserializer.mjs +1 -1
  90. package/dist/esm/bcs/index.d.mts +1 -0
  91. package/dist/esm/bcs/index.mjs +1 -1
  92. package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +1 -0
  93. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  94. package/dist/esm/bcs/serializable/fixedBytes.d.mts +1 -0
  95. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  96. package/dist/esm/bcs/serializable/movePrimitives.d.mts +1 -0
  97. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  98. package/dist/esm/bcs/serializable/moveStructs.d.mts +1 -0
  99. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  100. package/dist/esm/bcs/serializer.d.mts +1 -0
  101. package/dist/esm/bcs/serializer.mjs +1 -1
  102. package/dist/esm/{chunk-7IY3DTEF.mjs → chunk-27ESCVVC.mjs} +2 -2
  103. package/dist/esm/chunk-2SAYQUUX.mjs +2 -0
  104. package/dist/esm/chunk-2SAYQUUX.mjs.map +1 -0
  105. package/dist/esm/{chunk-VUIHJIMX.mjs → chunk-2TRQERBL.mjs} +2 -2
  106. package/dist/esm/chunk-2V636AYW.mjs +2 -0
  107. package/dist/esm/{chunk-XTJOA5QN.mjs → chunk-2YKERRHD.mjs} +2 -2
  108. package/dist/esm/chunk-2ZLFQBT2.mjs +2 -0
  109. package/dist/esm/chunk-2ZLFQBT2.mjs.map +1 -0
  110. package/dist/esm/{chunk-5YWH3XPN.mjs → chunk-3LDVJ2YK.mjs} +2 -2
  111. package/dist/esm/chunk-3OLFJ65O.mjs +2 -0
  112. package/dist/esm/chunk-3OLFJ65O.mjs.map +1 -0
  113. package/dist/esm/{chunk-ONTWK5FU.mjs → chunk-44EHAKKW.mjs} +2 -2
  114. package/dist/esm/{chunk-OEQ2U7GK.mjs → chunk-53IBOHXB.mjs} +2 -2
  115. package/dist/esm/{chunk-YCQUYDZI.mjs → chunk-5H5D6QVX.mjs} +2 -2
  116. package/dist/esm/{chunk-G4O6FXCF.mjs → chunk-5W2ERBGY.mjs} +2 -2
  117. package/dist/esm/{chunk-NYETBDSR.mjs → chunk-67A5U2X6.mjs} +2 -2
  118. package/dist/esm/{chunk-AXYARCYT.mjs → chunk-6IJZRG3U.mjs} +2 -2
  119. package/dist/esm/{chunk-N4DM5FYH.mjs → chunk-6KZT3KFZ.mjs} +2 -2
  120. package/dist/esm/chunk-752TOOCA.mjs +2 -0
  121. package/dist/esm/chunk-752TOOCA.mjs.map +1 -0
  122. package/dist/esm/{chunk-2WCATZVL.mjs → chunk-7A2KHJ3D.mjs} +2 -2
  123. package/dist/esm/{chunk-ROT6S6BM.mjs → chunk-7CRQNXR5.mjs} +2 -2
  124. package/dist/esm/{chunk-FZD5RWSZ.mjs → chunk-7OUPEQRN.mjs} +2 -2
  125. package/dist/esm/chunk-A3VO773Q.mjs +2 -0
  126. package/dist/esm/{chunk-OHZURQPY.mjs → chunk-AEGA5N2W.mjs} +2 -2
  127. package/dist/esm/{chunk-BI3BTSUB.mjs → chunk-AIPHJFJL.mjs} +2 -2
  128. package/dist/esm/chunk-AQWKKSRN.mjs +2 -0
  129. package/dist/esm/chunk-AQWKKSRN.mjs.map +1 -0
  130. package/dist/esm/{chunk-4EUS4E6S.mjs → chunk-B23VO5TB.mjs} +2 -2
  131. package/dist/esm/chunk-BHVSIRNF.mjs +2 -0
  132. package/dist/esm/chunk-BHVSIRNF.mjs.map +1 -0
  133. package/dist/esm/chunk-BMPHQ3E7.mjs +2 -0
  134. package/dist/esm/chunk-BPHCRTHD.mjs +2 -0
  135. package/dist/esm/chunk-BPHCRTHD.mjs.map +1 -0
  136. package/dist/esm/{chunk-DYATTONT.mjs → chunk-BQYKFATL.mjs} +2 -2
  137. package/dist/esm/chunk-BY3XFRUM.mjs +2 -0
  138. package/dist/esm/{chunk-77AEKF7K.mjs.map → chunk-BY3XFRUM.mjs.map} +1 -1
  139. package/dist/esm/chunk-CGTMSLVZ.mjs +2 -0
  140. package/dist/esm/chunk-CGTMSLVZ.mjs.map +1 -0
  141. package/dist/esm/{chunk-QQEK7WVP.mjs → chunk-CPAAEEF4.mjs} +2 -2
  142. package/dist/esm/{chunk-ZAIVZDOL.mjs → chunk-CPFQUFVD.mjs} +2 -2
  143. package/dist/esm/chunk-CXLNTATW.mjs +2 -0
  144. package/dist/esm/chunk-CXLNTATW.mjs.map +1 -0
  145. package/dist/esm/{chunk-ZPV7HPA4.mjs → chunk-DAJFOJ3L.mjs} +2 -2
  146. package/dist/esm/chunk-DOVH6HPL.mjs +2 -0
  147. package/dist/esm/{chunk-KOORZTHC.mjs → chunk-E5PAUR4N.mjs} +2 -2
  148. package/dist/esm/{chunk-E7JDVKFY.mjs → chunk-EGCL6KA6.mjs} +2 -2
  149. package/dist/esm/{chunk-TOBQ5UE6.mjs → chunk-ERLDXTIY.mjs} +2 -2
  150. package/dist/esm/chunk-FJ5J7CVW.mjs +2 -0
  151. package/dist/esm/chunk-FJ5J7CVW.mjs.map +1 -0
  152. package/dist/esm/{chunk-X6UNY6YM.mjs → chunk-FOEPRHAC.mjs} +2 -2
  153. package/dist/esm/{chunk-XYB6KYKW.mjs → chunk-G5F5ZOH5.mjs} +2 -2
  154. package/dist/esm/chunk-GFPEB22G.mjs +1 -0
  155. package/dist/esm/chunk-GFPEB22G.mjs.map +1 -0
  156. package/dist/esm/{chunk-AZWVCBK2.mjs → chunk-GI4AR6DQ.mjs} +2 -2
  157. package/dist/esm/{chunk-3RCAJICY.mjs → chunk-GRRBXHVG.mjs} +2 -2
  158. package/dist/esm/{chunk-5EYTHMRZ.mjs → chunk-GTVMJJQQ.mjs} +2 -2
  159. package/dist/esm/{chunk-2TJ6OTVD.mjs → chunk-GU4MD5ST.mjs} +2 -2
  160. package/dist/esm/chunk-H4YAL2IL.mjs +2 -0
  161. package/dist/esm/{chunk-ZGVNZE7J.mjs → chunk-HBTJN4RJ.mjs} +2 -2
  162. package/dist/esm/{chunk-IDTLNF4M.mjs → chunk-HHWJHOFZ.mjs} +2 -2
  163. package/dist/esm/{chunk-XZ4JRYCE.mjs → chunk-HKL4MFNL.mjs} +2 -2
  164. package/dist/esm/{chunk-IEUEMBFD.mjs → chunk-HVIF6DW6.mjs} +2 -2
  165. package/dist/esm/{chunk-MWBRD43V.mjs → chunk-HYJQHVDZ.mjs} +2 -2
  166. package/dist/esm/chunk-HYJQHVDZ.mjs.map +1 -0
  167. package/dist/esm/{chunk-JJM6ELMS.mjs → chunk-ILUFGYLO.mjs} +2 -2
  168. package/dist/esm/chunk-IMTC3J2M.mjs +2 -0
  169. package/dist/esm/chunk-IMTC3J2M.mjs.map +1 -0
  170. package/dist/esm/chunk-IMYNN4TW.mjs +2 -0
  171. package/dist/esm/chunk-IMYNN4TW.mjs.map +1 -0
  172. package/dist/esm/{chunk-DOQV5BSA.mjs → chunk-IOHESHLR.mjs} +2 -2
  173. package/dist/esm/{chunk-NBNZ53ZV.mjs → chunk-JNNFNYDO.mjs} +2 -2
  174. package/dist/esm/{chunk-2UXW3EB7.mjs → chunk-K233I26C.mjs} +2 -2
  175. package/dist/esm/{chunk-VV4HCOJQ.mjs → chunk-KK5HUWF6.mjs} +2 -2
  176. package/dist/esm/chunk-KSLLV3ZC.mjs +2 -0
  177. package/dist/esm/chunk-KSLLV3ZC.mjs.map +1 -0
  178. package/dist/esm/{chunk-67ZVDKJF.mjs → chunk-L6KVC7CJ.mjs} +2 -2
  179. package/dist/esm/{chunk-Q4C4U6I4.mjs → chunk-LQOSHBB7.mjs} +2 -2
  180. package/dist/esm/{chunk-XKUIMGKU.mjs → chunk-LS3IDL2N.mjs} +2 -2
  181. package/dist/esm/{chunk-2N5KYALM.mjs → chunk-MAWGZICD.mjs} +2 -2
  182. package/dist/esm/{chunk-S7RZGC56.mjs → chunk-MFLHAVIW.mjs} +2 -2
  183. package/dist/esm/chunk-OLGEN23M.mjs +2 -0
  184. package/dist/esm/chunk-OLGEN23M.mjs.map +1 -0
  185. package/dist/esm/{chunk-MCLYDS3O.mjs → chunk-ONGH5DXZ.mjs} +2 -2
  186. package/dist/esm/chunk-OPD5EKOA.mjs +2 -0
  187. package/dist/esm/chunk-OPD5EKOA.mjs.map +1 -0
  188. package/dist/esm/{chunk-4ZYPDCSP.mjs → chunk-P5CM4C2G.mjs} +2 -2
  189. package/dist/esm/chunk-PC25RPDV.mjs +2 -0
  190. package/dist/esm/chunk-PC25RPDV.mjs.map +1 -0
  191. package/dist/esm/{chunk-N6YTF76Q.mjs → chunk-PDAWVDI7.mjs} +2 -2
  192. package/dist/esm/chunk-PIPDQFL2.mjs +2 -0
  193. package/dist/esm/chunk-PIPDQFL2.mjs.map +1 -0
  194. package/dist/esm/{chunk-43GCGE6C.mjs → chunk-PWGTRRSJ.mjs} +2 -2
  195. package/dist/esm/{chunk-P7A5RILV.mjs → chunk-PYY2RXFP.mjs} +2 -2
  196. package/dist/esm/chunk-PYY2RXFP.mjs.map +1 -0
  197. package/dist/esm/chunk-QUJM5W4L.mjs +2 -0
  198. package/dist/esm/chunk-QUJM5W4L.mjs.map +1 -0
  199. package/dist/esm/{chunk-2FBJWTJD.mjs → chunk-QYJKCRVA.mjs} +2 -2
  200. package/dist/esm/chunk-R6QCPXQG.mjs +2 -0
  201. package/dist/esm/chunk-R6QCPXQG.mjs.map +1 -0
  202. package/dist/esm/{chunk-6YHDZLRN.mjs → chunk-RDPWCN4B.mjs} +2 -2
  203. package/dist/esm/{chunk-MT2RJ7H3.mjs → chunk-RIINVEZA.mjs} +2 -2
  204. package/dist/esm/{chunk-EBMEXURY.mjs → chunk-RXHER6EA.mjs} +2 -2
  205. package/dist/esm/chunk-SJDHW55X.mjs +2 -0
  206. package/dist/esm/chunk-SJDHW55X.mjs.map +1 -0
  207. package/dist/esm/{chunk-UC23V7PU.mjs → chunk-T7X4GZDU.mjs} +2 -2
  208. package/dist/esm/{chunk-QHEKBHNU.mjs → chunk-TH5JCPN2.mjs} +2 -2
  209. package/dist/esm/{chunk-ORMOQWWH.mjs → chunk-TKXEVD7A.mjs} +2 -2
  210. package/dist/esm/{chunk-FN4C3CKC.mjs → chunk-TTY5GFMN.mjs} +2 -2
  211. package/dist/esm/chunk-TWETGZ3W.mjs +2 -0
  212. package/dist/esm/chunk-TWETGZ3W.mjs.map +1 -0
  213. package/dist/esm/{chunk-E5HGSOG2.mjs → chunk-U4DEYWFT.mjs} +2 -2
  214. package/dist/esm/chunk-UIRAXHDH.mjs +1 -0
  215. package/dist/esm/chunk-UIRAXHDH.mjs.map +1 -0
  216. package/dist/esm/{chunk-OROPNHRY.mjs → chunk-UJJGIPOA.mjs} +2 -2
  217. package/dist/esm/{chunk-CWKNJZB6.mjs → chunk-US2HZFOM.mjs} +2 -2
  218. package/dist/esm/{chunk-XY43TPRH.mjs → chunk-VDYUMBOT.mjs} +2 -2
  219. package/dist/esm/chunk-VHY6ZATX.mjs +2 -0
  220. package/dist/esm/chunk-VHY6ZATX.mjs.map +1 -0
  221. package/dist/esm/chunk-VWZEJTGP.mjs +4 -0
  222. package/dist/esm/chunk-VWZEJTGP.mjs.map +1 -0
  223. package/dist/esm/{chunk-WUWPN7XV.mjs → chunk-W2C5KRUQ.mjs} +2 -2
  224. package/dist/esm/{chunk-OR6GFWLG.mjs → chunk-W4SMZ6IW.mjs} +2 -2
  225. package/dist/esm/chunk-WFKPVKU3.mjs +2 -0
  226. package/dist/esm/chunk-WFKPVKU3.mjs.map +1 -0
  227. package/dist/esm/{chunk-5VMAJTTV.mjs → chunk-WHVCUVZP.mjs} +2 -2
  228. package/dist/esm/{chunk-WQRGDSPD.mjs → chunk-WLDYBSOG.mjs} +2 -2
  229. package/dist/esm/chunk-XRVZAEQO.mjs +2 -0
  230. package/dist/esm/chunk-XRVZAEQO.mjs.map +1 -0
  231. package/dist/esm/chunk-XSBUL2WP.mjs +2 -0
  232. package/dist/esm/chunk-XSBUL2WP.mjs.map +1 -0
  233. package/dist/esm/{chunk-BGSEBFFC.mjs → chunk-XW3BXTCZ.mjs} +2 -2
  234. package/dist/esm/{chunk-6CXMDJQR.mjs → chunk-Y65PKZLK.mjs} +2 -2
  235. package/dist/esm/{chunk-NWLJ6RW7.mjs → chunk-YAGIE4GN.mjs} +2 -2
  236. package/dist/esm/{chunk-M77M6NSB.mjs → chunk-YLUULY6G.mjs} +2 -2
  237. package/dist/esm/{chunk-5EBUWO2M.mjs → chunk-YWSDONJJ.mjs} +2 -2
  238. package/dist/esm/{chunk-V6VPMNWJ.mjs → chunk-YXYYII5S.mjs} +2 -2
  239. package/dist/esm/{chunk-XTOIL6MB.mjs → chunk-ZD2TY5N3.mjs} +2 -2
  240. package/dist/esm/{chunk-FIEMUPXF.mjs → chunk-ZS2IVRHT.mjs} +2 -2
  241. package/dist/esm/cli/index.d.mts +1 -0
  242. package/dist/esm/cli/index.mjs +1 -1
  243. package/dist/esm/cli/localNode.mjs +1 -1
  244. package/dist/esm/cli/move.d.mts +1 -0
  245. package/dist/esm/client/core.d.mts +37 -1
  246. package/dist/esm/client/core.mjs +1 -1
  247. package/dist/esm/client/get.d.mts +36 -1
  248. package/dist/esm/client/get.mjs +1 -1
  249. package/dist/esm/client/index.d.mts +4 -3
  250. package/dist/esm/client/index.mjs +1 -1
  251. package/dist/esm/client/post.d.mts +35 -1
  252. package/dist/esm/client/post.mjs +1 -1
  253. package/dist/esm/core/account/index.d.mts +1 -0
  254. package/dist/esm/core/account/index.mjs +1 -1
  255. package/dist/esm/core/account/utils/address.d.mts +1 -0
  256. package/dist/esm/core/account/utils/address.mjs +1 -1
  257. package/dist/esm/core/account/utils/index.d.mts +1 -0
  258. package/dist/esm/core/account/utils/index.mjs +1 -1
  259. package/dist/esm/core/accountAddress.d.mts +1 -0
  260. package/dist/esm/core/accountAddress.mjs +1 -1
  261. package/dist/esm/core/authenticationKey.d.mts +1 -0
  262. package/dist/esm/core/authenticationKey.mjs +1 -1
  263. package/dist/esm/core/crypto/abstraction.d.mts +30 -0
  264. package/dist/esm/core/crypto/abstraction.mjs +2 -0
  265. package/dist/esm/core/crypto/abstraction.mjs.map +1 -0
  266. package/dist/esm/core/crypto/ed25519.d.mts +1 -0
  267. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  268. package/dist/esm/core/crypto/ephemeral.d.mts +1 -0
  269. package/dist/esm/core/crypto/ephemeral.mjs +1 -1
  270. package/dist/esm/core/crypto/federatedKeyless.d.mts +1 -0
  271. package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
  272. package/dist/esm/core/crypto/index.d.mts +2 -1
  273. package/dist/esm/core/crypto/index.mjs +1 -1
  274. package/dist/esm/core/crypto/keyless.d.mts +1 -0
  275. package/dist/esm/core/crypto/keyless.mjs +1 -1
  276. package/dist/esm/core/crypto/multiEd25519.d.mts +18 -2
  277. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  278. package/dist/esm/core/crypto/multiKey.d.mts +34 -15
  279. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  280. package/dist/esm/core/crypto/privateKey.d.mts +1 -0
  281. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  282. package/dist/esm/core/crypto/proof.d.mts +1 -0
  283. package/dist/esm/core/crypto/proof.mjs +1 -1
  284. package/dist/esm/core/crypto/publicKey.d.mts +1 -0
  285. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  286. package/dist/esm/core/crypto/secp256k1.d.mts +1 -0
  287. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  288. package/dist/esm/core/crypto/signature.d.mts +1 -0
  289. package/dist/esm/core/crypto/signature.mjs +1 -1
  290. package/dist/esm/core/crypto/singleKey.d.mts +1 -0
  291. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  292. package/dist/esm/core/crypto/utils.d.mts +1 -0
  293. package/dist/esm/core/crypto/utils.mjs +1 -1
  294. package/dist/esm/core/hex.d.mts +1 -0
  295. package/dist/esm/core/hex.mjs +1 -1
  296. package/dist/esm/core/index.d.mts +2 -1
  297. package/dist/esm/core/index.mjs +1 -1
  298. package/dist/esm/errors/index.d.mts +1 -0
  299. package/dist/esm/errors/index.mjs +1 -1
  300. package/dist/esm/index.d.mts +16 -9
  301. package/dist/esm/index.mjs +1 -1
  302. package/dist/esm/internal/abstraction.d.mts +55 -0
  303. package/dist/esm/internal/abstraction.mjs +2 -0
  304. package/dist/esm/internal/abstraction.mjs.map +1 -0
  305. package/dist/esm/internal/account.d.mts +1 -0
  306. package/dist/esm/internal/account.mjs +1 -1
  307. package/dist/esm/internal/ans.d.mts +1 -0
  308. package/dist/esm/internal/ans.mjs +1 -1
  309. package/dist/esm/internal/coin.d.mts +1 -0
  310. package/dist/esm/internal/coin.mjs +1 -1
  311. package/dist/esm/internal/digitalAsset.d.mts +1 -0
  312. package/dist/esm/internal/digitalAsset.mjs +1 -1
  313. package/dist/esm/internal/event.d.mts +1 -0
  314. package/dist/esm/internal/event.mjs +1 -1
  315. package/dist/esm/internal/experimental.d.mts +52 -0
  316. package/dist/esm/internal/experimental.mjs +2 -0
  317. package/dist/esm/internal/experimental.mjs.map +1 -0
  318. package/dist/esm/internal/faucet.d.mts +1 -0
  319. package/dist/esm/internal/faucet.mjs +1 -1
  320. package/dist/esm/internal/fungibleAsset.d.mts +1 -0
  321. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  322. package/dist/esm/internal/general.d.mts +1 -0
  323. package/dist/esm/internal/general.mjs +1 -1
  324. package/dist/esm/internal/keyless.d.mts +1 -0
  325. package/dist/esm/internal/keyless.mjs +1 -1
  326. package/dist/esm/internal/object.d.mts +1 -0
  327. package/dist/esm/internal/object.mjs +1 -1
  328. package/dist/esm/internal/staking.d.mts +1 -0
  329. package/dist/esm/internal/staking.mjs +1 -1
  330. package/dist/esm/internal/table.d.mts +1 -0
  331. package/dist/esm/internal/table.mjs +1 -1
  332. package/dist/esm/internal/transaction.d.mts +1 -0
  333. package/dist/esm/internal/transaction.mjs +1 -1
  334. package/dist/esm/internal/transactionSubmission.d.mts +1 -0
  335. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  336. package/dist/esm/internal/view.d.mts +1 -0
  337. package/dist/esm/internal/view.mjs +1 -1
  338. package/dist/esm/transactions/authenticator/account.d.mts +12 -3
  339. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  340. package/dist/esm/transactions/authenticator/index.d.mts +2 -1
  341. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  342. package/dist/esm/transactions/authenticator/transaction.d.mts +3 -2
  343. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  344. package/dist/esm/transactions/index.d.mts +6 -4
  345. package/dist/esm/transactions/index.mjs +1 -1
  346. package/dist/esm/transactions/instances/chainId.d.mts +1 -0
  347. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  348. package/dist/esm/transactions/instances/identifier.d.mts +1 -0
  349. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  350. package/dist/esm/transactions/instances/index.d.mts +1 -0
  351. package/dist/esm/transactions/instances/index.mjs +1 -1
  352. package/dist/esm/transactions/instances/moduleId.d.mts +1 -0
  353. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  354. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +1 -0
  355. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  356. package/dist/esm/transactions/instances/rawTransaction.d.mts +1 -0
  357. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  358. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -0
  359. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  360. package/dist/esm/transactions/instances/signedTransaction.d.mts +5 -4
  361. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  362. package/dist/esm/transactions/instances/simpleTransaction.d.mts +1 -0
  363. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  364. package/dist/esm/transactions/instances/transactionArgument.d.mts +1 -0
  365. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -0
  366. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  367. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +1 -0
  368. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  369. package/dist/esm/transactions/management/index.d.mts +1 -0
  370. package/dist/esm/transactions/management/index.mjs +1 -1
  371. package/dist/esm/transactions/management/transactionWorker.d.mts +1 -0
  372. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  373. package/dist/esm/transactions/scriptComposer/index.d.mts +53 -0
  374. package/dist/esm/transactions/scriptComposer/index.mjs +2 -0
  375. package/dist/esm/transactions/scriptComposer/index.mjs.map +1 -0
  376. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +3 -17
  377. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  378. package/dist/esm/transactions/transactionBuilder/index.d.mts +3 -2
  379. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  380. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +23 -2
  381. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  382. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -0
  383. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  384. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -0
  385. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  386. package/dist/esm/transactions/typeTag/index.d.mts +1 -0
  387. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  388. package/dist/esm/transactions/typeTag/parser.d.mts +1 -0
  389. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  390. package/dist/esm/transactions/types.d.mts +10 -1
  391. package/dist/esm/types/abstraction.d.mts +8 -0
  392. package/dist/esm/types/abstraction.mjs +2 -0
  393. package/dist/esm/types/abstraction.mjs.map +1 -0
  394. package/dist/esm/types/index.d.mts +1 -0
  395. package/dist/esm/types/index.mjs +1 -1
  396. package/dist/esm/types/types.d.mts +22 -1
  397. package/dist/esm/types/types.mjs +1 -1
  398. package/dist/esm/utils/helpers.d.mts +19 -2
  399. package/dist/esm/utils/helpers.mjs +1 -1
  400. package/dist/esm/utils/index.d.mts +2 -1
  401. package/dist/esm/utils/index.mjs +1 -1
  402. package/dist/esm/utils/normalizeBundle.d.mts +1 -0
  403. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  404. package/dist/esm/version.d.mts +1 -1
  405. package/dist/esm/version.mjs +1 -1
  406. package/package.json +21 -19
  407. package/src/account/AbstractedAccount.ts +111 -0
  408. package/src/account/MultiEd25519Account.ts +154 -0
  409. package/src/account/MultiKeyAccount.ts +1 -2
  410. package/src/account/index.ts +2 -0
  411. package/src/api/account/abstraction.ts +239 -0
  412. package/src/api/account.ts +7 -2
  413. package/src/api/aptos.ts +9 -0
  414. package/src/api/aptosConfig.ts +2 -2
  415. package/src/api/experimental.ts +64 -0
  416. package/src/api/transactionSubmission/build.ts +85 -2
  417. package/src/client/core.ts +120 -0
  418. package/src/client/get.ts +73 -1
  419. package/src/client/post.ts +70 -1
  420. package/src/core/crypto/abstraction.ts +47 -0
  421. package/src/core/crypto/multiEd25519.ts +19 -3
  422. package/src/core/crypto/multiKey.ts +76 -52
  423. package/src/core/hex.ts +3 -1
  424. package/src/internal/abstraction.ts +79 -0
  425. package/src/internal/experimental.ts +55 -0
  426. package/src/internal/view.ts +4 -4
  427. package/src/transactions/authenticator/account.ts +52 -1
  428. package/src/transactions/index.ts +1 -0
  429. package/src/transactions/scriptComposer/index.ts +87 -0
  430. package/src/transactions/transactionBuilder/helpers.ts +1 -22
  431. package/src/transactions/transactionBuilder/remoteAbi.ts +62 -1
  432. package/src/transactions/transactionBuilder/transactionBuilder.ts +9 -1
  433. package/src/transactions/types.ts +11 -0
  434. package/src/types/abstraction.ts +6 -0
  435. package/src/types/index.ts +1 -0
  436. package/src/types/types.ts +21 -0
  437. package/src/utils/helpers.ts +28 -1
  438. package/src/version.ts +1 -1
  439. package/dist/common/chunk-IHUCZKG2.js +0 -2
  440. package/dist/common/chunk-IHUCZKG2.js.map +0 -1
  441. package/dist/esm/chunk-4YLUM62M.mjs +0 -2
  442. package/dist/esm/chunk-5PXDPMF2.mjs +0 -4
  443. package/dist/esm/chunk-5PXDPMF2.mjs.map +0 -1
  444. package/dist/esm/chunk-6IEZPA4H.mjs +0 -2
  445. package/dist/esm/chunk-6IEZPA4H.mjs.map +0 -1
  446. package/dist/esm/chunk-6YWYAVFS.mjs +0 -2
  447. package/dist/esm/chunk-6YWYAVFS.mjs.map +0 -1
  448. package/dist/esm/chunk-77AEKF7K.mjs +0 -2
  449. package/dist/esm/chunk-AFEHO5PP.mjs +0 -2
  450. package/dist/esm/chunk-AFEHO5PP.mjs.map +0 -1
  451. package/dist/esm/chunk-DAFSKSZ5.mjs +0 -2
  452. package/dist/esm/chunk-DAFSKSZ5.mjs.map +0 -1
  453. package/dist/esm/chunk-DPW6ELCQ.mjs +0 -2
  454. package/dist/esm/chunk-EMURYYVO.mjs +0 -2
  455. package/dist/esm/chunk-F2ZTBAJJ.mjs +0 -2
  456. package/dist/esm/chunk-F2ZTBAJJ.mjs.map +0 -1
  457. package/dist/esm/chunk-FD6FGKYY.mjs +0 -1
  458. package/dist/esm/chunk-GP4TLDVZ.mjs +0 -1
  459. package/dist/esm/chunk-HBH2NQKU.mjs +0 -2
  460. package/dist/esm/chunk-HBH2NQKU.mjs.map +0 -1
  461. package/dist/esm/chunk-I5OYNCZS.mjs +0 -1
  462. package/dist/esm/chunk-JBEUUULP.mjs +0 -2
  463. package/dist/esm/chunk-JBEUUULP.mjs.map +0 -1
  464. package/dist/esm/chunk-KVM2SGSF.mjs +0 -2
  465. package/dist/esm/chunk-KVM2SGSF.mjs.map +0 -1
  466. package/dist/esm/chunk-MLSAZJZK.mjs +0 -2
  467. package/dist/esm/chunk-MLSAZJZK.mjs.map +0 -1
  468. package/dist/esm/chunk-MWBRD43V.mjs.map +0 -1
  469. package/dist/esm/chunk-OSBRPVVI.mjs +0 -2
  470. package/dist/esm/chunk-OSBRPVVI.mjs.map +0 -1
  471. package/dist/esm/chunk-P7A5RILV.mjs.map +0 -1
  472. package/dist/esm/chunk-QHC5DKVZ.mjs +0 -2
  473. package/dist/esm/chunk-QHC5DKVZ.mjs.map +0 -1
  474. package/dist/esm/chunk-S4LZMY2L.mjs +0 -2
  475. package/dist/esm/chunk-S4LZMY2L.mjs.map +0 -1
  476. package/dist/esm/chunk-STY74NUA.mjs +0 -2
  477. package/dist/esm/chunk-STY74NUA.mjs.map +0 -1
  478. package/dist/esm/chunk-U2PRGW4O.mjs +0 -2
  479. package/dist/esm/chunk-U2PRGW4O.mjs.map +0 -1
  480. package/dist/esm/chunk-VVXBVJXD.mjs +0 -2
  481. package/dist/esm/chunk-VVXBVJXD.mjs.map +0 -1
  482. package/dist/esm/chunk-WCMW2L3P.mjs +0 -2
  483. package/dist/esm/chunk-XJJVJOX5.mjs +0 -2
  484. /package/dist/esm/{chunk-FD6FGKYY.mjs.map → account/AbstractedAccount.mjs.map} +0 -0
  485. /package/dist/esm/{chunk-GP4TLDVZ.mjs.map → account/MultiEd25519Account.mjs.map} +0 -0
  486. /package/dist/esm/{chunk-I5OYNCZS.mjs.map → api/account/abstraction.mjs.map} +0 -0
  487. /package/dist/esm/{chunk-7IY3DTEF.mjs.map → chunk-27ESCVVC.mjs.map} +0 -0
  488. /package/dist/esm/{chunk-VUIHJIMX.mjs.map → chunk-2TRQERBL.mjs.map} +0 -0
  489. /package/dist/esm/{chunk-XJJVJOX5.mjs.map → chunk-2V636AYW.mjs.map} +0 -0
  490. /package/dist/esm/{chunk-XTJOA5QN.mjs.map → chunk-2YKERRHD.mjs.map} +0 -0
  491. /package/dist/esm/{chunk-5YWH3XPN.mjs.map → chunk-3LDVJ2YK.mjs.map} +0 -0
  492. /package/dist/esm/{chunk-ONTWK5FU.mjs.map → chunk-44EHAKKW.mjs.map} +0 -0
  493. /package/dist/esm/{chunk-OEQ2U7GK.mjs.map → chunk-53IBOHXB.mjs.map} +0 -0
  494. /package/dist/esm/{chunk-YCQUYDZI.mjs.map → chunk-5H5D6QVX.mjs.map} +0 -0
  495. /package/dist/esm/{chunk-G4O6FXCF.mjs.map → chunk-5W2ERBGY.mjs.map} +0 -0
  496. /package/dist/esm/{chunk-NYETBDSR.mjs.map → chunk-67A5U2X6.mjs.map} +0 -0
  497. /package/dist/esm/{chunk-AXYARCYT.mjs.map → chunk-6IJZRG3U.mjs.map} +0 -0
  498. /package/dist/esm/{chunk-N4DM5FYH.mjs.map → chunk-6KZT3KFZ.mjs.map} +0 -0
  499. /package/dist/esm/{chunk-2WCATZVL.mjs.map → chunk-7A2KHJ3D.mjs.map} +0 -0
  500. /package/dist/esm/{chunk-ROT6S6BM.mjs.map → chunk-7CRQNXR5.mjs.map} +0 -0
  501. /package/dist/esm/{chunk-FZD5RWSZ.mjs.map → chunk-7OUPEQRN.mjs.map} +0 -0
  502. /package/dist/esm/{chunk-WCMW2L3P.mjs.map → chunk-A3VO773Q.mjs.map} +0 -0
  503. /package/dist/esm/{chunk-OHZURQPY.mjs.map → chunk-AEGA5N2W.mjs.map} +0 -0
  504. /package/dist/esm/{chunk-BI3BTSUB.mjs.map → chunk-AIPHJFJL.mjs.map} +0 -0
  505. /package/dist/esm/{chunk-4EUS4E6S.mjs.map → chunk-B23VO5TB.mjs.map} +0 -0
  506. /package/dist/esm/{chunk-4YLUM62M.mjs.map → chunk-BMPHQ3E7.mjs.map} +0 -0
  507. /package/dist/esm/{chunk-DYATTONT.mjs.map → chunk-BQYKFATL.mjs.map} +0 -0
  508. /package/dist/esm/{chunk-QQEK7WVP.mjs.map → chunk-CPAAEEF4.mjs.map} +0 -0
  509. /package/dist/esm/{chunk-ZAIVZDOL.mjs.map → chunk-CPFQUFVD.mjs.map} +0 -0
  510. /package/dist/esm/{chunk-ZPV7HPA4.mjs.map → chunk-DAJFOJ3L.mjs.map} +0 -0
  511. /package/dist/esm/{chunk-DPW6ELCQ.mjs.map → chunk-DOVH6HPL.mjs.map} +0 -0
  512. /package/dist/esm/{chunk-KOORZTHC.mjs.map → chunk-E5PAUR4N.mjs.map} +0 -0
  513. /package/dist/esm/{chunk-E7JDVKFY.mjs.map → chunk-EGCL6KA6.mjs.map} +0 -0
  514. /package/dist/esm/{chunk-TOBQ5UE6.mjs.map → chunk-ERLDXTIY.mjs.map} +0 -0
  515. /package/dist/esm/{chunk-X6UNY6YM.mjs.map → chunk-FOEPRHAC.mjs.map} +0 -0
  516. /package/dist/esm/{chunk-XYB6KYKW.mjs.map → chunk-G5F5ZOH5.mjs.map} +0 -0
  517. /package/dist/esm/{chunk-AZWVCBK2.mjs.map → chunk-GI4AR6DQ.mjs.map} +0 -0
  518. /package/dist/esm/{chunk-3RCAJICY.mjs.map → chunk-GRRBXHVG.mjs.map} +0 -0
  519. /package/dist/esm/{chunk-5EYTHMRZ.mjs.map → chunk-GTVMJJQQ.mjs.map} +0 -0
  520. /package/dist/esm/{chunk-2TJ6OTVD.mjs.map → chunk-GU4MD5ST.mjs.map} +0 -0
  521. /package/dist/esm/{chunk-EMURYYVO.mjs.map → chunk-H4YAL2IL.mjs.map} +0 -0
  522. /package/dist/esm/{chunk-ZGVNZE7J.mjs.map → chunk-HBTJN4RJ.mjs.map} +0 -0
  523. /package/dist/esm/{chunk-IDTLNF4M.mjs.map → chunk-HHWJHOFZ.mjs.map} +0 -0
  524. /package/dist/esm/{chunk-XZ4JRYCE.mjs.map → chunk-HKL4MFNL.mjs.map} +0 -0
  525. /package/dist/esm/{chunk-IEUEMBFD.mjs.map → chunk-HVIF6DW6.mjs.map} +0 -0
  526. /package/dist/esm/{chunk-JJM6ELMS.mjs.map → chunk-ILUFGYLO.mjs.map} +0 -0
  527. /package/dist/esm/{chunk-DOQV5BSA.mjs.map → chunk-IOHESHLR.mjs.map} +0 -0
  528. /package/dist/esm/{chunk-NBNZ53ZV.mjs.map → chunk-JNNFNYDO.mjs.map} +0 -0
  529. /package/dist/esm/{chunk-2UXW3EB7.mjs.map → chunk-K233I26C.mjs.map} +0 -0
  530. /package/dist/esm/{chunk-VV4HCOJQ.mjs.map → chunk-KK5HUWF6.mjs.map} +0 -0
  531. /package/dist/esm/{chunk-67ZVDKJF.mjs.map → chunk-L6KVC7CJ.mjs.map} +0 -0
  532. /package/dist/esm/{chunk-Q4C4U6I4.mjs.map → chunk-LQOSHBB7.mjs.map} +0 -0
  533. /package/dist/esm/{chunk-XKUIMGKU.mjs.map → chunk-LS3IDL2N.mjs.map} +0 -0
  534. /package/dist/esm/{chunk-2N5KYALM.mjs.map → chunk-MAWGZICD.mjs.map} +0 -0
  535. /package/dist/esm/{chunk-S7RZGC56.mjs.map → chunk-MFLHAVIW.mjs.map} +0 -0
  536. /package/dist/esm/{chunk-MCLYDS3O.mjs.map → chunk-ONGH5DXZ.mjs.map} +0 -0
  537. /package/dist/esm/{chunk-4ZYPDCSP.mjs.map → chunk-P5CM4C2G.mjs.map} +0 -0
  538. /package/dist/esm/{chunk-N6YTF76Q.mjs.map → chunk-PDAWVDI7.mjs.map} +0 -0
  539. /package/dist/esm/{chunk-43GCGE6C.mjs.map → chunk-PWGTRRSJ.mjs.map} +0 -0
  540. /package/dist/esm/{chunk-2FBJWTJD.mjs.map → chunk-QYJKCRVA.mjs.map} +0 -0
  541. /package/dist/esm/{chunk-6YHDZLRN.mjs.map → chunk-RDPWCN4B.mjs.map} +0 -0
  542. /package/dist/esm/{chunk-MT2RJ7H3.mjs.map → chunk-RIINVEZA.mjs.map} +0 -0
  543. /package/dist/esm/{chunk-EBMEXURY.mjs.map → chunk-RXHER6EA.mjs.map} +0 -0
  544. /package/dist/esm/{chunk-UC23V7PU.mjs.map → chunk-T7X4GZDU.mjs.map} +0 -0
  545. /package/dist/esm/{chunk-QHEKBHNU.mjs.map → chunk-TH5JCPN2.mjs.map} +0 -0
  546. /package/dist/esm/{chunk-ORMOQWWH.mjs.map → chunk-TKXEVD7A.mjs.map} +0 -0
  547. /package/dist/esm/{chunk-FN4C3CKC.mjs.map → chunk-TTY5GFMN.mjs.map} +0 -0
  548. /package/dist/esm/{chunk-E5HGSOG2.mjs.map → chunk-U4DEYWFT.mjs.map} +0 -0
  549. /package/dist/esm/{chunk-OROPNHRY.mjs.map → chunk-UJJGIPOA.mjs.map} +0 -0
  550. /package/dist/esm/{chunk-CWKNJZB6.mjs.map → chunk-US2HZFOM.mjs.map} +0 -0
  551. /package/dist/esm/{chunk-XY43TPRH.mjs.map → chunk-VDYUMBOT.mjs.map} +0 -0
  552. /package/dist/esm/{chunk-WUWPN7XV.mjs.map → chunk-W2C5KRUQ.mjs.map} +0 -0
  553. /package/dist/esm/{chunk-OR6GFWLG.mjs.map → chunk-W4SMZ6IW.mjs.map} +0 -0
  554. /package/dist/esm/{chunk-5VMAJTTV.mjs.map → chunk-WHVCUVZP.mjs.map} +0 -0
  555. /package/dist/esm/{chunk-WQRGDSPD.mjs.map → chunk-WLDYBSOG.mjs.map} +0 -0
  556. /package/dist/esm/{chunk-BGSEBFFC.mjs.map → chunk-XW3BXTCZ.mjs.map} +0 -0
  557. /package/dist/esm/{chunk-6CXMDJQR.mjs.map → chunk-Y65PKZLK.mjs.map} +0 -0
  558. /package/dist/esm/{chunk-NWLJ6RW7.mjs.map → chunk-YAGIE4GN.mjs.map} +0 -0
  559. /package/dist/esm/{chunk-M77M6NSB.mjs.map → chunk-YLUULY6G.mjs.map} +0 -0
  560. /package/dist/esm/{chunk-5EBUWO2M.mjs.map → chunk-YWSDONJJ.mjs.map} +0 -0
  561. /package/dist/esm/{chunk-V6VPMNWJ.mjs.map → chunk-YXYYII5S.mjs.map} +0 -0
  562. /package/dist/esm/{chunk-XTOIL6MB.mjs.map → chunk-ZD2TY5N3.mjs.map} +0 -0
  563. /package/dist/esm/{chunk-FIEMUPXF.mjs.map → chunk-ZS2IVRHT.mjs.map} +0 -0
@@ -23,6 +23,79 @@ function bitCount(byte: number) {
23
23
  }
24
24
  /* eslint-enable no-bitwise */
25
25
 
26
+ export abstract class AbstractMultiKey extends AccountPublicKey {
27
+ publicKeys: PublicKey[];
28
+
29
+ constructor(args: { publicKeys: PublicKey[] }) {
30
+ super();
31
+ this.publicKeys = args.publicKeys;
32
+ }
33
+
34
+ /**
35
+ * Create a bitmap that holds the mapping from the original public keys
36
+ * to the signatures passed in
37
+ *
38
+ * @param args.bits array of the index mapping to the matching public keys
39
+ * @returns Uint8array bit map
40
+ * @group Implementation
41
+ * @category Serialization
42
+ */
43
+ createBitmap(args: { bits: number[] }): Uint8Array {
44
+ const { bits } = args;
45
+ // Bits are read from left to right. e.g. 0b10000000 represents the first bit is set in one byte.
46
+ // The decimal value of 0b10000000 is 128.
47
+ const firstBitInByte = 128;
48
+ const bitmap = new Uint8Array([0, 0, 0, 0]);
49
+
50
+ // Check if duplicates exist in bits
51
+ const dupCheckSet = new Set();
52
+
53
+ bits.forEach((bit: number, idx: number) => {
54
+ if (idx + 1 > this.publicKeys.length) {
55
+ throw new Error(`Signature index ${idx + 1} is out of public keys range, ${this.publicKeys.length}.`);
56
+ }
57
+
58
+ if (dupCheckSet.has(bit)) {
59
+ throw new Error(`Duplicate bit ${bit} detected.`);
60
+ }
61
+
62
+ dupCheckSet.add(bit);
63
+
64
+ const byteOffset = Math.floor(bit / 8);
65
+
66
+ let byte = bitmap[byteOffset];
67
+
68
+ // eslint-disable-next-line no-bitwise
69
+ byte |= firstBitInByte >> bit % 8;
70
+
71
+ bitmap[byteOffset] = byte;
72
+ });
73
+
74
+ return bitmap;
75
+ }
76
+
77
+ /**
78
+ * Get the index of the provided public key.
79
+ *
80
+ * This function retrieves the index of a specified public key within the MultiKey.
81
+ * If the public key does not exist, it throws an error.
82
+ *
83
+ * @param publicKey - The public key to find the index for.
84
+ * @returns The corresponding index of the public key, if it exists.
85
+ * @throws Error - If the public key is not found in the MultiKey.
86
+ * @group Implementation
87
+ * @category Serialization
88
+ */
89
+ getIndex(publicKey: PublicKey): number {
90
+ const index = this.publicKeys.findIndex((pk) => pk.toString() === publicKey.toString());
91
+
92
+ if (index !== -1) {
93
+ return index;
94
+ }
95
+ throw new Error(`Public key ${publicKey} not found in multi key set ${this.publicKeys}`);
96
+ }
97
+ }
98
+
26
99
  /**
27
100
  * Represents a multi-key authentication scheme for accounts, allowing multiple public keys
28
101
  * to be associated with a single account. This class enforces a minimum number of valid signatures
@@ -34,7 +107,7 @@ function bitCount(byte: number) {
34
107
  * @group Implementation
35
108
  * @category Serialization
36
109
  */
37
- export class MultiKey extends AccountPublicKey {
110
+ export class MultiKey extends AbstractMultiKey {
38
111
  /**
39
112
  * List of any public keys
40
113
  * @group Implementation
@@ -65,8 +138,8 @@ export class MultiKey extends AccountPublicKey {
65
138
  */
66
139
  // region Constructors
67
140
  constructor(args: { publicKeys: Array<PublicKey>; signaturesRequired: number }) {
68
- super();
69
141
  const { publicKeys, signaturesRequired } = args;
142
+ super({ publicKeys });
70
143
 
71
144
  // Validate number of public keys is greater than signature required
72
145
  if (signaturesRequired < 1) {
@@ -156,49 +229,6 @@ export class MultiKey extends AccountPublicKey {
156
229
 
157
230
  // endregion
158
231
 
159
- /**
160
- * Create a bitmap that holds the mapping from the original public keys
161
- * to the signatures passed in
162
- *
163
- * @param args.bits array of the index mapping to the matching public keys
164
- * @returns Uint8array bit map
165
- * @group Implementation
166
- * @category Serialization
167
- */
168
- createBitmap(args: { bits: number[] }): Uint8Array {
169
- const { bits } = args;
170
- // Bits are read from left to right. e.g. 0b10000000 represents the first bit is set in one byte.
171
- // The decimal value of 0b10000000 is 128.
172
- const firstBitInByte = 128;
173
- const bitmap = new Uint8Array([0, 0, 0, 0]);
174
-
175
- // Check if duplicates exist in bits
176
- const dupCheckSet = new Set();
177
-
178
- bits.forEach((bit: number, idx: number) => {
179
- if (idx + 1 > this.publicKeys.length) {
180
- throw new Error(`Signature index ${idx + 1} is out of public keys range, ${this.publicKeys.length}.`);
181
- }
182
-
183
- if (dupCheckSet.has(bit)) {
184
- throw new Error(`Duplicate bit ${bit} detected.`);
185
- }
186
-
187
- dupCheckSet.add(bit);
188
-
189
- const byteOffset = Math.floor(bit / 8);
190
-
191
- let byte = bitmap[byteOffset];
192
-
193
- // eslint-disable-next-line no-bitwise
194
- byte |= firstBitInByte >> bit % 8;
195
-
196
- bitmap[byteOffset] = byte;
197
- });
198
-
199
- return bitmap;
200
- }
201
-
202
232
  /**
203
233
  * Get the index of the provided public key.
204
234
  *
@@ -209,16 +239,10 @@ export class MultiKey extends AccountPublicKey {
209
239
  * @returns The corresponding index of the public key, if it exists.
210
240
  * @throws Error - If the public key is not found in the MultiKey.
211
241
  * @group Implementation
212
- * @category Serialization
213
242
  */
214
243
  getIndex(publicKey: PublicKey): number {
215
244
  const anyPublicKey = publicKey instanceof AnyPublicKey ? publicKey : new AnyPublicKey(publicKey);
216
- const index = this.publicKeys.findIndex((pk) => pk.toString() === anyPublicKey.toString());
217
-
218
- if (index !== -1) {
219
- return index;
220
- }
221
- throw new Error(`Public key ${publicKey} not found in MultiKey ${this.publicKeys}`);
245
+ return super.getIndex(anyPublicKey);
222
246
  }
223
247
 
224
248
  public static isInstance(value: PublicKey): value is MultiKey {
package/src/core/hex.ts CHANGED
@@ -146,8 +146,10 @@ export class Hex {
146
146
  * @category Serialization
147
147
  */
148
148
  static fromHexInput(hexInput: HexInput): Hex {
149
+ if (hexInput instanceof Buffer) return new Hex(new Uint8Array(hexInput));
149
150
  if (hexInput instanceof Uint8Array) return new Hex(hexInput);
150
- return Hex.fromHexString(hexInput);
151
+ if (typeof hexInput === "string") return Hex.fromHexString(hexInput);
152
+ throw new Error(`Invalid hex input type: ${typeof hexInput}`);
151
153
  }
152
154
 
153
155
  /**
@@ -0,0 +1,79 @@
1
+ import {
2
+ SimpleTransaction,
3
+ InputGenerateTransactionOptions,
4
+ TypeTagAddress,
5
+ TypeTagStruct,
6
+ stringStructTag,
7
+ } from "../transactions";
8
+ import { AccountAddressInput } from "../core";
9
+ import { generateTransaction } from "./transactionSubmission";
10
+ import { MoveFunctionId } from "../types";
11
+ import { AptosConfig } from "../api/aptosConfig";
12
+ import { getFunctionParts } from "../utils/helpers";
13
+
14
+ export async function addAuthenticationFunctionTransaction(args: {
15
+ aptosConfig: AptosConfig;
16
+ sender: AccountAddressInput;
17
+ authenticationFunction: string;
18
+ options?: InputGenerateTransactionOptions;
19
+ }): Promise<SimpleTransaction> {
20
+ const { aptosConfig, sender, authenticationFunction, options } = args;
21
+ const { moduleAddress, moduleName, functionName } = getFunctionParts(authenticationFunction as MoveFunctionId);
22
+ return generateTransaction({
23
+ aptosConfig,
24
+ sender,
25
+ data: {
26
+ function: "0x1::account_abstraction::add_authentication_function",
27
+ typeArguments: [],
28
+ functionArguments: [moduleAddress, moduleName, functionName],
29
+ abi: {
30
+ typeParameters: [],
31
+ parameters: [new TypeTagAddress(), new TypeTagStruct(stringStructTag()), new TypeTagStruct(stringStructTag())],
32
+ },
33
+ },
34
+ options,
35
+ });
36
+ }
37
+
38
+ export async function removeAuthenticationFunctionTransaction(args: {
39
+ aptosConfig: AptosConfig;
40
+ sender: AccountAddressInput;
41
+ authenticationFunction: string;
42
+ options?: InputGenerateTransactionOptions;
43
+ }) {
44
+ const { aptosConfig, sender, authenticationFunction, options } = args;
45
+ const { moduleAddress, moduleName, functionName } = getFunctionParts(authenticationFunction as MoveFunctionId);
46
+ return generateTransaction({
47
+ aptosConfig,
48
+ sender,
49
+ data: {
50
+ function: "0x1::account_abstraction::remove_authentication_function",
51
+ typeArguments: [],
52
+ functionArguments: [moduleAddress, moduleName, functionName],
53
+ abi: {
54
+ typeParameters: [],
55
+ parameters: [new TypeTagAddress(), new TypeTagStruct(stringStructTag()), new TypeTagStruct(stringStructTag())],
56
+ },
57
+ },
58
+ options,
59
+ });
60
+ }
61
+
62
+ export async function removeDispatchableAuthenticatorTransaction(args: {
63
+ aptosConfig: AptosConfig;
64
+ sender: AccountAddressInput;
65
+ options?: InputGenerateTransactionOptions;
66
+ }) {
67
+ const { aptosConfig, sender, options } = args;
68
+ return generateTransaction({
69
+ aptosConfig,
70
+ sender,
71
+ data: {
72
+ function: "0x1::account_abstraction::remove_authenticator",
73
+ typeArguments: [],
74
+ functionArguments: [],
75
+ abi: { typeParameters: [], parameters: [] },
76
+ },
77
+ options,
78
+ });
79
+ }
@@ -0,0 +1,55 @@
1
+ import { AptosConfig } from "../api/aptosConfig";
2
+ import { generateViewFunctionPayload, InputViewFunctionData } from "../transactions";
3
+ import { LedgerVersionArg, MimeType } from "../types";
4
+ import { Serializer } from "../bcs";
5
+ import { postBinaryAptosFullNode } from "../client";
6
+
7
+ export async function viewBinary(args: {
8
+ aptosConfig: AptosConfig;
9
+ payload: InputViewFunctionData;
10
+ options?: LedgerVersionArg & { convert?: undefined };
11
+ }): Promise<Uint8Array>;
12
+
13
+ export async function viewBinary<T extends {}>(args: {
14
+ aptosConfig: AptosConfig;
15
+ payload: InputViewFunctionData;
16
+ options?: LedgerVersionArg & { convert?: (input: Uint8Array) => T };
17
+ }): Promise<T>;
18
+
19
+ /**
20
+ * Reads a binary view function, and converts into the appropriate type if a converter is provided.
21
+ * @experimental
22
+ * @param args
23
+ */
24
+ export async function viewBinary<T extends {} = Uint8Array>(args: {
25
+ aptosConfig: AptosConfig;
26
+ payload: InputViewFunctionData;
27
+ options?: LedgerVersionArg & { convert?: (input: Uint8Array) => T };
28
+ }): Promise<Uint8Array | T> {
29
+ const { aptosConfig, payload, options } = args;
30
+ const viewFunctionPayload = await generateViewFunctionPayload({
31
+ ...payload,
32
+ aptosConfig,
33
+ });
34
+
35
+ const serializer = new Serializer();
36
+ viewFunctionPayload.serialize(serializer);
37
+ const bytes = serializer.toUint8Array();
38
+
39
+ const { data } = await postBinaryAptosFullNode<Uint8Array>({
40
+ aptosConfig,
41
+ path: "view",
42
+ originMethod: "view",
43
+ contentType: MimeType.BCS_VIEW_FUNCTION,
44
+ acceptType: MimeType.BCS,
45
+ params: { ledger_version: options?.ledgerVersion },
46
+ body: bytes,
47
+ });
48
+
49
+ const array = new Uint8Array(data);
50
+ if (options?.convert) {
51
+ return options.convert(array);
52
+ }
53
+
54
+ return array;
55
+ }
@@ -27,7 +27,7 @@ export async function view<T extends Array<MoveValue> = Array<MoveValue>>(args:
27
27
  viewFunctionPayload.serialize(serializer);
28
28
  const bytes = serializer.toUint8Array();
29
29
 
30
- const { data } = await postAptosFullNode<Uint8Array, MoveValue[]>({
30
+ const { data } = await postAptosFullNode<Uint8Array, T>({
31
31
  aptosConfig,
32
32
  path: "view",
33
33
  originMethod: "view",
@@ -36,7 +36,7 @@ export async function view<T extends Array<MoveValue> = Array<MoveValue>>(args:
36
36
  body: bytes,
37
37
  });
38
38
 
39
- return data as T;
39
+ return data;
40
40
  }
41
41
 
42
42
  export async function viewJson<T extends Array<MoveValue> = Array<MoveValue>>(args: {
@@ -45,7 +45,7 @@ export async function viewJson<T extends Array<MoveValue> = Array<MoveValue>>(ar
45
45
  options?: LedgerVersionArg;
46
46
  }): Promise<T> {
47
47
  const { aptosConfig, payload, options } = args;
48
- const { data } = await postAptosFullNode<ViewFunctionJsonPayload, MoveValue[]>({
48
+ const { data } = await postAptosFullNode<ViewFunctionJsonPayload, T>({
49
49
  aptosConfig,
50
50
  originMethod: "viewJson",
51
51
  path: "view",
@@ -57,5 +57,5 @@ export async function viewJson<T extends Array<MoveValue> = Array<MoveValue>>(ar
57
57
  },
58
58
  });
59
59
 
60
- return data as T;
60
+ return data;
61
61
  }
@@ -8,7 +8,10 @@ import { AnyPublicKey, AnySignature } from "../../core/crypto";
8
8
  import { Ed25519PublicKey, Ed25519Signature } from "../../core/crypto/ed25519";
9
9
  import { MultiEd25519PublicKey, MultiEd25519Signature } from "../../core/crypto/multiEd25519";
10
10
  import { MultiKey, MultiKeySignature } from "../../core/crypto/multiKey";
11
- import { AccountAuthenticatorVariant } from "../../types";
11
+ import { AccountAuthenticatorVariant, HexInput, MoveFunctionId } from "../../types";
12
+ import { AbstractionAuthDataVariant } from "../../types/abstraction";
13
+ import { AccountAddress, Hex } from "../../core";
14
+ import { getFunctionParts, isValidFunctionInfo } from "../../utils/helpers";
12
15
 
13
16
  /**
14
17
  * Represents an account authenticator that can handle multiple authentication variants.
@@ -43,6 +46,8 @@ export abstract class AccountAuthenticator extends Serializable {
43
46
  return AccountAuthenticatorMultiKey.load(deserializer);
44
47
  case AccountAuthenticatorVariant.NoAccountAuthenticator:
45
48
  return AccountAuthenticatorNoAccountAuthenticator.load(deserializer);
49
+ case AccountAuthenticatorVariant.Abstraction:
50
+ return AccountAuthenticatorAbstraction.load(deserializer);
46
51
  default:
47
52
  throw new Error(`Unknown variant index for AccountAuthenticator: ${index}`);
48
53
  }
@@ -263,3 +268,49 @@ export class AccountAuthenticatorNoAccountAuthenticator extends AccountAuthentic
263
268
  return new AccountAuthenticatorNoAccountAuthenticator();
264
269
  }
265
270
  }
271
+
272
+ export class AccountAuthenticatorAbstraction extends AccountAuthenticator {
273
+ public readonly functionInfo: string;
274
+
275
+ public readonly signingMessageDigest: Hex;
276
+
277
+ public readonly authenticator: Hex;
278
+
279
+ constructor(functionInfo: string, signingMessageDigest: HexInput, authenticator: HexInput) {
280
+ super();
281
+ if (!isValidFunctionInfo(functionInfo)) {
282
+ throw new Error(`Invalid function info ${functionInfo} passed into AccountAuthenticatorAbstraction`);
283
+ }
284
+ this.functionInfo = functionInfo;
285
+ this.authenticator = Hex.fromHexInput(authenticator);
286
+ this.signingMessageDigest = Hex.fromHexInput(Hex.fromHexInput(signingMessageDigest).toUint8Array());
287
+ }
288
+
289
+ serialize(serializer: Serializer): void {
290
+ serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.Abstraction);
291
+ const { moduleAddress, moduleName, functionName } = getFunctionParts(this.functionInfo as MoveFunctionId);
292
+ AccountAddress.fromString(moduleAddress).serialize(serializer);
293
+ serializer.serializeStr(moduleName);
294
+ serializer.serializeStr(functionName);
295
+ serializer.serializeU32AsUleb128(AbstractionAuthDataVariant.V1);
296
+ serializer.serializeBytes(this.signingMessageDigest.toUint8Array());
297
+ serializer.serializeFixedBytes(this.authenticator.toUint8Array());
298
+ }
299
+
300
+ static load(deserializer: Deserializer): AccountAuthenticatorAbstraction {
301
+ const moduleAddress = AccountAddress.deserialize(deserializer);
302
+ const moduleName = deserializer.deserializeStr();
303
+ const functionName = deserializer.deserializeStr();
304
+ const variant = deserializer.deserializeUleb128AsU32();
305
+ if (variant === AbstractionAuthDataVariant.V1) {
306
+ const signingMessageDigest = deserializer.deserializeBytes();
307
+ const authenticator = deserializer.deserializeFixedBytes(deserializer.remaining());
308
+ return new AccountAuthenticatorAbstraction(
309
+ `${moduleAddress}::${moduleName}::${functionName}`,
310
+ signingMessageDigest,
311
+ authenticator,
312
+ );
313
+ }
314
+ throw new Error(`Unknown variant index for AccountAuthenticatorAbstraction: ${variant}`);
315
+ }
316
+ }
@@ -7,3 +7,4 @@ export * from "./transactionBuilder";
7
7
  export * from "./typeTag";
8
8
  export * from "./typeTag/parser";
9
9
  export * from "./types";
10
+ export * from "./scriptComposer";
@@ -0,0 +1,87 @@
1
+ // Copyright © Aptos Foundation
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { ScriptComposerWasm } from "@aptos-labs/script-composer-pack";
5
+ import { AptosApiType, getFunctionParts } from "../../utils";
6
+ import { AptosConfig } from "../../api/aptosConfig";
7
+ import { InputBatchedFunctionData } from "../types";
8
+ import { fetchMoveFunctionAbi, standardizeTypeTags } from "../transactionBuilder";
9
+ import { CallArgument } from "../../types";
10
+ import { convertCallArgument } from "../transactionBuilder/remoteAbi";
11
+
12
+ /**
13
+ * A wrapper class around TransactionComposer, which is a WASM library compiled
14
+ * from aptos-core/aptos-move/script-composer.
15
+ * This class allows the SDK caller to build a transaction that invokes multiple Move functions
16
+ * and allow for arguments to be passed around.
17
+ * */
18
+ export class AptosScriptComposer {
19
+ private config: AptosConfig;
20
+
21
+ private builder?: any;
22
+
23
+ private static transactionComposer?: any;
24
+
25
+ constructor(aptosConfig: AptosConfig) {
26
+ this.config = aptosConfig;
27
+ this.builder = undefined;
28
+ }
29
+
30
+ // Initializing the wasm needed for the script composer, must be called
31
+ // before using the composer.
32
+ async init() {
33
+ if (!AptosScriptComposer.transactionComposer) {
34
+ const module = await import("@aptos-labs/script-composer-pack");
35
+ const { TransactionComposer, initSync } = module;
36
+ if (!ScriptComposerWasm.isInitialized) {
37
+ ScriptComposerWasm.init();
38
+ }
39
+ initSync({ module: ScriptComposerWasm.wasm });
40
+ AptosScriptComposer.transactionComposer = TransactionComposer;
41
+ }
42
+ this.builder = AptosScriptComposer.transactionComposer.single_signer();
43
+ }
44
+
45
+ // Add a move function invocation to the TransactionComposer.
46
+ //
47
+ // Similar to how to create an entry function, the difference is that input arguments could
48
+ // either be a `CallArgument` which represents an abstract value returned from a previous Move call
49
+ // or the regular entry function arguments.
50
+ //
51
+ // The function would also return a list of `CallArgument` that can be passed on to future calls.
52
+ async addBatchedCalls(input: InputBatchedFunctionData): Promise<CallArgument[]> {
53
+ const { moduleAddress, moduleName, functionName } = getFunctionParts(input.function);
54
+ const nodeUrl = this.config.getRequestUrl(AptosApiType.FULLNODE);
55
+
56
+ // Load the calling module into the builder.
57
+ await this.builder.load_module(nodeUrl, `${moduleAddress}::${moduleName}`);
58
+
59
+ // Load the calling type arguments into the loader.
60
+ if (input.typeArguments !== undefined) {
61
+ await Promise.all(input.typeArguments.map((typeTag) => this.builder.load_type_tag(nodeUrl, typeTag.toString())));
62
+ }
63
+ const typeArguments = standardizeTypeTags(input.typeArguments);
64
+ const functionAbi = await fetchMoveFunctionAbi(moduleAddress, moduleName, functionName, this.config);
65
+ // Check the type argument count against the ABI
66
+ if (typeArguments.length !== functionAbi.typeParameters.length) {
67
+ throw new Error(
68
+ `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,
69
+ );
70
+ }
71
+
72
+ const functionArguments: CallArgument[] = input.functionArguments.map((arg, i) =>
73
+ convertCallArgument(arg, functionName, functionAbi, i, typeArguments),
74
+ );
75
+
76
+ return this.builder.add_batched_call(
77
+ `${moduleAddress}::${moduleName}`,
78
+ functionName,
79
+ typeArguments.map((arg) => arg.toString()),
80
+ functionArguments,
81
+ );
82
+ }
83
+
84
+ build(): Uint8Array {
85
+ return this.builder.generate_batched_calls(true);
86
+ }
87
+ }
@@ -10,7 +10,7 @@ import {
10
10
  } from "../types";
11
11
  import { Bool, FixedBytes, MoveOption, MoveString, MoveVector, U128, U16, U256, U32, U64, U8 } from "../../bcs";
12
12
  import { AccountAddress } from "../../core";
13
- import { MoveFunction, MoveFunctionId } from "../../types";
13
+ import { MoveFunction } from "../../types";
14
14
 
15
15
  /**
16
16
  * Determines if the provided argument is of type boolean.
@@ -317,24 +317,3 @@ export function findFirstNonSignerArg(functionAbi: MoveFunction): number {
317
317
  }
318
318
  return index;
319
319
  }
320
-
321
- /**
322
- * Splits a function identifier into its constituent parts: module address, module name, and function name.
323
- * This function helps in validating and extracting details from a function identifier string.
324
- *
325
- * @param functionArg - The function identifier string in the format "moduleAddress::moduleName::functionName".
326
- * @returns An object containing the module address, module name, and function name.
327
- * @throws Error if the function identifier does not contain exactly three parts.
328
- * @group Implementation
329
- * @category Transactions
330
- */
331
- export function getFunctionParts(functionArg: MoveFunctionId) {
332
- const funcNameParts = functionArg.split("::");
333
- if (funcNameParts.length !== 3) {
334
- throw new Error(`Invalid function ${functionArg}`);
335
- }
336
- const moduleAddress = funcNameParts[0];
337
- const moduleName = funcNameParts[1];
338
- const functionName = funcNameParts[2];
339
- return { moduleAddress, moduleName, functionName };
340
- }
@@ -45,7 +45,7 @@ import {
45
45
  throwTypeMismatch,
46
46
  convertNumber,
47
47
  } from "./helpers";
48
- import { MoveFunction } from "../../types";
48
+ import { CallArgument, MoveFunction } from "../../types";
49
49
 
50
50
  const TEXT_ENCODER = new TextEncoder();
51
51
 
@@ -96,6 +96,34 @@ export async function fetchFunctionAbi(
96
96
  return undefined;
97
97
  }
98
98
 
99
+ /**
100
+ * Fetches a function ABI from the on-chain module ABI. It doesn't validate whether it's a view or entry function.
101
+ * @param moduleAddress
102
+ * @param moduleName
103
+ * @param functionName
104
+ * @param aptosConfig
105
+ */
106
+ export async function fetchMoveFunctionAbi(
107
+ moduleAddress: string,
108
+ moduleName: string,
109
+ functionName: string,
110
+ aptosConfig: AptosConfig,
111
+ ): Promise<FunctionABI> {
112
+ const functionAbi = await fetchFunctionAbi(moduleAddress, moduleName, functionName, aptosConfig);
113
+ if (!functionAbi) {
114
+ throw new Error(`Could not find function ABI for '${moduleAddress}::${moduleName}::${functionName}'`);
115
+ }
116
+ const params: TypeTag[] = [];
117
+ for (let i = 0; i < functionAbi.params.length; i += 1) {
118
+ params.push(parseTypeTag(functionAbi.params[i], { allowGenerics: true }));
119
+ }
120
+
121
+ return {
122
+ typeParameters: functionAbi.generic_type_params,
123
+ parameters: params,
124
+ };
125
+ }
126
+
99
127
  /**
100
128
  * Fetches the ABI for an entry function from the specified module address.
101
129
  * This function validates if the ABI corresponds to an entry function and retrieves its parameters.
@@ -191,6 +219,32 @@ export async function fetchViewFunctionAbi(
191
219
  };
192
220
  }
193
221
 
222
+ /**
223
+ * Converts a entry function argument into CallArgument, if necessary.
224
+ * This function checks the provided argument against the expected parameter type and converts it accordingly.
225
+ *
226
+ * @param functionName - The name of the function for which the argument is being converted.
227
+ * @param functionAbi - The ABI (Application Binary Interface) of the function, which defines its parameters.
228
+ * @param argument - The argument to be converted, which can be of various types. If the argument is already
229
+ * CallArgument returned from TransactionComposer it would be returned immediately.
230
+ * @param position - The index of the argument in the function's parameter list.
231
+ * @param genericTypeParams - An array of type tags for any generic type parameters.
232
+ */
233
+ export function convertCallArgument(
234
+ argument: CallArgument | EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes,
235
+ functionName: string,
236
+ functionAbi: FunctionABI,
237
+ position: number,
238
+ genericTypeParams: Array<TypeTag>,
239
+ ): CallArgument {
240
+ if (argument instanceof CallArgument) {
241
+ return argument;
242
+ }
243
+ return CallArgument.newBytes(
244
+ convertArgument(functionName, functionAbi, argument, position, genericTypeParams).bcsToBytes(),
245
+ );
246
+ }
247
+
194
248
  /**
195
249
  * Converts a non-BCS encoded argument into BCS encoded, if necessary.
196
250
  * This function checks the provided argument against the expected parameter type and converts it accordingly.
@@ -369,6 +423,13 @@ function parseArg(
369
423
  }
370
424
  }
371
425
 
426
+ if (isString(arg)) {
427
+ // In a web env, arguments are passing as strings
428
+ if (arg.startsWith("[")) {
429
+ return checkOrConvertArgument(JSON.parse(arg), param, position, genericTypeParams);
430
+ }
431
+ }
432
+
372
433
  // TODO: Support Uint16Array, Uint32Array, BigUint64Array?
373
434
 
374
435
  if (Array.isArray(arg)) {
@@ -29,6 +29,7 @@ import { normalizeBundle } from "../../utils/normalizeBundle";
29
29
  import {
30
30
  AccountAuthenticator,
31
31
  AccountAuthenticatorEd25519,
32
+ AccountAuthenticatorMultiEd25519,
32
33
  AccountAuthenticatorMultiKey,
33
34
  AccountAuthenticatorNoAccountAuthenticator,
34
35
  AccountAuthenticatorSingleKey,
@@ -38,6 +39,7 @@ import {
38
39
  TransactionAuthenticatorEd25519,
39
40
  TransactionAuthenticatorFeePayer,
40
41
  TransactionAuthenticatorMultiAgent,
42
+ TransactionAuthenticatorMultiEd25519,
41
43
  TransactionAuthenticatorSingleSender,
42
44
  } from "../authenticator/transaction";
43
45
  import {
@@ -77,9 +79,10 @@ import {
77
79
  } from "../types";
78
80
  import { convertArgument, fetchEntryFunctionAbi, fetchViewFunctionAbi, standardizeTypeTags } from "./remoteAbi";
79
81
  import { memoizeAsync } from "../../utils/memoize";
80
- import { getFunctionParts, isScriptDataInput } from "./helpers";
82
+ import { isScriptDataInput } from "./helpers";
81
83
  import { SimpleTransaction } from "../instances/simpleTransaction";
82
84
  import { MultiAgentTransaction } from "../instances/multiAgentTransaction";
85
+ import { getFunctionParts } from "../../utils/helpers";
83
86
 
84
87
  /**
85
88
  * Builds a transaction payload based on the provided arguments and returns a transaction payload.
@@ -699,6 +702,11 @@ export function generateSignedTransaction(args: InputSubmitTransactionData): Uin
699
702
  senderAuthenticator.public_key,
700
703
  senderAuthenticator.signature,
701
704
  );
705
+ } else if (senderAuthenticator instanceof AccountAuthenticatorMultiEd25519) {
706
+ txnAuthenticator = new TransactionAuthenticatorMultiEd25519(
707
+ senderAuthenticator.public_key,
708
+ senderAuthenticator.signature,
709
+ );
702
710
  } else {
703
711
  txnAuthenticator = new TransactionAuthenticatorSingleSender(senderAuthenticator);
704
712
  }