@aptos-labs/ts-sdk 1.24.0 → 1.26.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 (254) hide show
  1. package/dist/common/cli/index.d.ts +53 -1
  2. package/dist/common/cli/index.js +1 -1
  3. package/dist/common/cli/index.js.map +1 -1
  4. package/dist/common/index.js +2 -2
  5. package/dist/common/index.js.map +1 -1
  6. package/dist/esm/account/Account.mjs +1 -1
  7. package/dist/esm/account/Ed25519Account.mjs +1 -1
  8. package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
  9. package/dist/esm/account/KeylessAccount.mjs +1 -1
  10. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  11. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  12. package/dist/esm/account/index.mjs +1 -1
  13. package/dist/esm/api/account.mjs +1 -1
  14. package/dist/esm/api/ans.mjs +1 -1
  15. package/dist/esm/api/aptos.mjs +1 -1
  16. package/dist/esm/api/coin.mjs +1 -1
  17. package/dist/esm/api/digitalAsset.mjs +1 -1
  18. package/dist/esm/api/event.mjs +1 -1
  19. package/dist/esm/api/faucet.mjs +1 -1
  20. package/dist/esm/api/fungibleAsset.mjs +1 -1
  21. package/dist/esm/api/general.mjs +1 -1
  22. package/dist/esm/api/index.mjs +1 -1
  23. package/dist/esm/api/keyless.mjs +1 -1
  24. package/dist/esm/api/object.mjs +1 -1
  25. package/dist/esm/api/staking.mjs +1 -1
  26. package/dist/esm/api/table.mjs +1 -1
  27. package/dist/esm/api/transaction.mjs +1 -1
  28. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  29. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  30. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  31. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  32. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  33. package/dist/esm/api/utils.mjs +1 -1
  34. package/dist/esm/bcs/index.mjs +1 -1
  35. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  36. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  37. package/dist/esm/{chunk-BTLHVOIC.mjs → chunk-2RCCHNYU.mjs} +2 -2
  38. package/dist/esm/{chunk-3XFAQ6KR.mjs → chunk-2RO27Y23.mjs} +2 -2
  39. package/dist/esm/{chunk-TBJ7W5NC.mjs → chunk-36KSOGK4.mjs} +2 -2
  40. package/dist/esm/{chunk-5JTED2JJ.mjs → chunk-3NRBTP3S.mjs} +2 -2
  41. package/dist/esm/{chunk-375GMLWG.mjs → chunk-3O7OEDTT.mjs} +2 -2
  42. package/dist/esm/{chunk-HLXD3KWO.mjs → chunk-3UV2Z2A4.mjs} +2 -2
  43. package/dist/esm/{chunk-IG7R65TF.mjs → chunk-4MDBWSPX.mjs} +2 -2
  44. package/dist/esm/{chunk-4YR6QO63.mjs → chunk-5BSAUHMZ.mjs} +2 -2
  45. package/dist/esm/{chunk-GJWCKVN5.mjs → chunk-6MNATRA3.mjs} +2 -2
  46. package/dist/esm/{chunk-ISUHNAU4.mjs → chunk-76HTG7Z7.mjs} +2 -2
  47. package/dist/esm/chunk-7MYVC7NY.mjs +2 -0
  48. package/dist/esm/chunk-7MYVC7NY.mjs.map +1 -0
  49. package/dist/esm/{chunk-BSAYHZ2R.mjs → chunk-A2SMIFMN.mjs} +2 -2
  50. package/dist/esm/{chunk-GLUCMQZK.mjs → chunk-AW2ARPK4.mjs} +2 -2
  51. package/dist/esm/{chunk-NV5YQZ3R.mjs → chunk-BTUJC43M.mjs} +2 -2
  52. package/dist/esm/{chunk-AVNNYI7R.mjs → chunk-C3DUPBSO.mjs} +2 -2
  53. package/dist/esm/{chunk-UC5BZJ23.mjs → chunk-C7HIUK23.mjs} +2 -2
  54. package/dist/esm/{chunk-G23ZPQCJ.mjs → chunk-CTRLWMAG.mjs} +2 -2
  55. package/dist/esm/{chunk-XVJI5XXW.mjs → chunk-D3M72WFO.mjs} +2 -2
  56. package/dist/esm/{chunk-X27JKATG.mjs → chunk-D7RK6FAB.mjs} +2 -2
  57. package/dist/esm/chunk-DDKAXJOY.mjs +2 -0
  58. package/dist/esm/{chunk-C6VIBT2D.mjs.map → chunk-DDKAXJOY.mjs.map} +1 -1
  59. package/dist/esm/{chunk-D3PBEHCP.mjs → chunk-DLLNBXLZ.mjs} +2 -2
  60. package/dist/esm/{chunk-ETWZV5XK.mjs → chunk-EC3JEZIB.mjs} +2 -2
  61. package/dist/esm/{chunk-O2M3QKKS.mjs → chunk-FETZGNB3.mjs} +2 -2
  62. package/dist/esm/{chunk-V3OYNKY5.mjs → chunk-G7UNU5GI.mjs} +2 -2
  63. package/dist/esm/{chunk-HWYAQTV3.mjs → chunk-GG2DBDJT.mjs} +2 -2
  64. package/dist/esm/chunk-GIKRKT5B.mjs +2 -0
  65. package/dist/esm/{chunk-VTPF7AYM.mjs.map → chunk-GIKRKT5B.mjs.map} +1 -1
  66. package/dist/esm/{chunk-TX2IYMFV.mjs → chunk-GP4FRPJQ.mjs} +2 -2
  67. package/dist/esm/{chunk-ZW2R6VQE.mjs → chunk-GTFAH6VB.mjs} +2 -2
  68. package/dist/esm/{chunk-WMHYIP3S.mjs → chunk-GXTEJ7NO.mjs} +2 -2
  69. package/dist/esm/{chunk-25ZFJIIK.mjs → chunk-H2QJOKSW.mjs} +2 -2
  70. package/dist/esm/{chunk-S36XP4IE.mjs → chunk-IEGY7WEL.mjs} +2 -2
  71. package/dist/esm/{chunk-QQWBR4SK.mjs → chunk-ITADRWJI.mjs} +2 -2
  72. package/dist/esm/{chunk-CSW2QEVU.mjs → chunk-ITMW7GWH.mjs} +2 -2
  73. package/dist/esm/{chunk-URCQOJ55.mjs → chunk-IWBYKVXH.mjs} +2 -2
  74. package/dist/esm/{chunk-VTTT2G7F.mjs → chunk-JCPI7D7I.mjs} +2 -2
  75. package/dist/esm/{chunk-LKLHNQF5.mjs → chunk-KZY3TZVR.mjs} +2 -2
  76. package/dist/esm/{chunk-INZXND6M.mjs → chunk-LDTF3ABK.mjs} +2 -2
  77. package/dist/esm/{chunk-FAHN3AZI.mjs → chunk-LHJBQVU4.mjs} +2 -2
  78. package/dist/esm/{chunk-J2YQTDZL.mjs → chunk-LN2AM5IU.mjs} +2 -2
  79. package/dist/esm/chunk-MLL54PYO.mjs +2 -0
  80. package/dist/esm/chunk-MLL54PYO.mjs.map +1 -0
  81. package/dist/esm/{chunk-RP5444TL.mjs → chunk-MRT63YLE.mjs} +2 -2
  82. package/dist/esm/{chunk-4TXG2LSP.mjs → chunk-N3PNKHCQ.mjs} +2 -2
  83. package/dist/esm/{chunk-4GETVCGY.mjs → chunk-O4BBULNE.mjs} +2 -2
  84. package/dist/esm/{chunk-YMVD7Z7Z.mjs → chunk-OMIBMVDW.mjs} +2 -2
  85. package/dist/esm/{chunk-CDLMUY5H.mjs → chunk-Q7MD4V7H.mjs} +2 -2
  86. package/dist/esm/{chunk-GK7TQDBN.mjs → chunk-QEIKAT6S.mjs} +2 -2
  87. package/dist/esm/{chunk-GYIYUBYT.mjs → chunk-R3IDASOF.mjs} +2 -2
  88. package/dist/esm/{chunk-HBECYNQ6.mjs → chunk-R5Y36IYW.mjs} +2 -2
  89. package/dist/esm/{chunk-PSCDBITI.mjs → chunk-RXK5BSD6.mjs} +2 -2
  90. package/dist/esm/{chunk-DAZTLM55.mjs → chunk-T4BJCVCN.mjs} +2 -2
  91. package/dist/esm/{chunk-QVJV46XS.mjs → chunk-T6VJAACM.mjs} +2 -2
  92. package/dist/esm/{chunk-2BJ23DXY.mjs → chunk-THRXIXIO.mjs} +1 -1
  93. package/dist/esm/{chunk-2BJ23DXY.mjs.map → chunk-THRXIXIO.mjs.map} +1 -1
  94. package/dist/esm/{chunk-PR6363Y6.mjs → chunk-UWPO7WWS.mjs} +2 -2
  95. package/dist/esm/{chunk-CQPJZUKQ.mjs → chunk-VHKT63N7.mjs} +2 -2
  96. package/dist/esm/{chunk-CNNDK6OL.mjs → chunk-VWGU7IB6.mjs} +2 -2
  97. package/dist/esm/{chunk-7X67Z6NJ.mjs → chunk-WGZZQQDK.mjs} +2 -2
  98. package/dist/esm/{chunk-QITCB4PW.mjs → chunk-WS2XAD7R.mjs} +2 -2
  99. package/dist/esm/{chunk-3A6HUKXW.mjs → chunk-WYG7CP3N.mjs} +2 -2
  100. package/dist/esm/chunk-XCBLFSY5.mjs +2 -0
  101. package/dist/esm/chunk-XCBLFSY5.mjs.map +1 -0
  102. package/dist/esm/{chunk-ALRQRVDX.mjs → chunk-XDDQWRYI.mjs} +2 -2
  103. package/dist/esm/{chunk-JDTU6Z6C.mjs → chunk-XUT73RUR.mjs} +2 -2
  104. package/dist/esm/{chunk-75U3LEBF.mjs → chunk-YY7NLCQK.mjs} +2 -2
  105. package/dist/esm/{chunk-QFORDQCU.mjs → chunk-YZWR7OV5.mjs} +2 -2
  106. package/dist/esm/{chunk-WUJ7XNQD.mjs → chunk-ZBOD65DP.mjs} +2 -2
  107. package/dist/esm/{chunk-FFF7M7E4.mjs → chunk-ZDRXYQEE.mjs} +2 -2
  108. package/dist/esm/{chunk-MULJ2GLJ.mjs → chunk-ZXPBRVOA.mjs} +2 -2
  109. package/dist/esm/{chunk-QNTQPWLK.mjs → chunk-ZXSNAEPE.mjs} +2 -2
  110. package/dist/esm/cli/index.mjs +1 -1
  111. package/dist/esm/cli/localNode.d.mts +1 -1
  112. package/dist/esm/cli/localNode.mjs +1 -1
  113. package/dist/esm/cli/move.d.mts +52 -0
  114. package/dist/esm/cli/move.mjs +1 -1
  115. package/dist/esm/client/core.mjs +1 -1
  116. package/dist/esm/client/get.mjs +1 -1
  117. package/dist/esm/client/index.mjs +1 -1
  118. package/dist/esm/client/post.mjs +1 -1
  119. package/dist/esm/core/account/index.mjs +1 -1
  120. package/dist/esm/core/account/utils/address.mjs +1 -1
  121. package/dist/esm/core/account/utils/index.mjs +1 -1
  122. package/dist/esm/core/accountAddress.mjs +1 -1
  123. package/dist/esm/core/authenticationKey.mjs +1 -1
  124. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  125. package/dist/esm/core/crypto/ephemeral.mjs +1 -1
  126. package/dist/esm/core/crypto/index.mjs +1 -1
  127. package/dist/esm/core/crypto/keyless.mjs +1 -1
  128. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  129. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  130. package/dist/esm/core/crypto/proof.mjs +1 -1
  131. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  132. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  133. package/dist/esm/core/crypto/signature.mjs +1 -1
  134. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  135. package/dist/esm/core/index.mjs +1 -1
  136. package/dist/esm/index.mjs +1 -1
  137. package/dist/esm/internal/account.mjs +1 -1
  138. package/dist/esm/internal/ans.mjs +1 -1
  139. package/dist/esm/internal/coin.mjs +1 -1
  140. package/dist/esm/internal/digitalAsset.mjs +1 -1
  141. package/dist/esm/internal/event.mjs +1 -1
  142. package/dist/esm/internal/faucet.mjs +1 -1
  143. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  144. package/dist/esm/internal/general.mjs +1 -1
  145. package/dist/esm/internal/keyless.mjs +1 -1
  146. package/dist/esm/internal/object.mjs +1 -1
  147. package/dist/esm/internal/staking.mjs +1 -1
  148. package/dist/esm/internal/table.mjs +1 -1
  149. package/dist/esm/internal/transaction.mjs +1 -1
  150. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  151. package/dist/esm/internal/view.mjs +1 -1
  152. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  153. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  154. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  155. package/dist/esm/transactions/index.mjs +1 -1
  156. package/dist/esm/transactions/instances/index.mjs +1 -1
  157. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  158. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  159. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  160. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  161. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  162. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  163. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  164. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  165. package/dist/esm/transactions/management/index.mjs +1 -1
  166. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  167. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  168. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  169. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  170. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  171. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  172. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  173. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  174. package/dist/esm/types/index.mjs +1 -1
  175. package/dist/esm/utils/index.mjs +1 -1
  176. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  177. package/dist/esm/version.d.mts +1 -1
  178. package/dist/esm/version.mjs +1 -1
  179. package/package.json +1 -1
  180. package/src/api/faucet.ts +3 -1
  181. package/src/cli/localNode.ts +12 -4
  182. package/src/cli/move.ts +115 -9
  183. package/src/transactions/transactionBuilder/transactionBuilder.ts +4 -1
  184. package/src/types/index.ts +1 -0
  185. package/src/version.ts +1 -1
  186. package/dist/esm/chunk-4LQKLXHW.mjs +0 -2
  187. package/dist/esm/chunk-4LQKLXHW.mjs.map +0 -1
  188. package/dist/esm/chunk-C6VIBT2D.mjs +0 -2
  189. package/dist/esm/chunk-FNFQA7NS.mjs +0 -2
  190. package/dist/esm/chunk-FNFQA7NS.mjs.map +0 -1
  191. package/dist/esm/chunk-VTPF7AYM.mjs +0 -2
  192. package/dist/esm/chunk-Y5VJSCVY.mjs +0 -2
  193. package/dist/esm/chunk-Y5VJSCVY.mjs.map +0 -1
  194. /package/dist/esm/{chunk-BTLHVOIC.mjs.map → chunk-2RCCHNYU.mjs.map} +0 -0
  195. /package/dist/esm/{chunk-3XFAQ6KR.mjs.map → chunk-2RO27Y23.mjs.map} +0 -0
  196. /package/dist/esm/{chunk-TBJ7W5NC.mjs.map → chunk-36KSOGK4.mjs.map} +0 -0
  197. /package/dist/esm/{chunk-5JTED2JJ.mjs.map → chunk-3NRBTP3S.mjs.map} +0 -0
  198. /package/dist/esm/{chunk-375GMLWG.mjs.map → chunk-3O7OEDTT.mjs.map} +0 -0
  199. /package/dist/esm/{chunk-HLXD3KWO.mjs.map → chunk-3UV2Z2A4.mjs.map} +0 -0
  200. /package/dist/esm/{chunk-IG7R65TF.mjs.map → chunk-4MDBWSPX.mjs.map} +0 -0
  201. /package/dist/esm/{chunk-4YR6QO63.mjs.map → chunk-5BSAUHMZ.mjs.map} +0 -0
  202. /package/dist/esm/{chunk-GJWCKVN5.mjs.map → chunk-6MNATRA3.mjs.map} +0 -0
  203. /package/dist/esm/{chunk-ISUHNAU4.mjs.map → chunk-76HTG7Z7.mjs.map} +0 -0
  204. /package/dist/esm/{chunk-BSAYHZ2R.mjs.map → chunk-A2SMIFMN.mjs.map} +0 -0
  205. /package/dist/esm/{chunk-GLUCMQZK.mjs.map → chunk-AW2ARPK4.mjs.map} +0 -0
  206. /package/dist/esm/{chunk-NV5YQZ3R.mjs.map → chunk-BTUJC43M.mjs.map} +0 -0
  207. /package/dist/esm/{chunk-AVNNYI7R.mjs.map → chunk-C3DUPBSO.mjs.map} +0 -0
  208. /package/dist/esm/{chunk-UC5BZJ23.mjs.map → chunk-C7HIUK23.mjs.map} +0 -0
  209. /package/dist/esm/{chunk-G23ZPQCJ.mjs.map → chunk-CTRLWMAG.mjs.map} +0 -0
  210. /package/dist/esm/{chunk-XVJI5XXW.mjs.map → chunk-D3M72WFO.mjs.map} +0 -0
  211. /package/dist/esm/{chunk-X27JKATG.mjs.map → chunk-D7RK6FAB.mjs.map} +0 -0
  212. /package/dist/esm/{chunk-D3PBEHCP.mjs.map → chunk-DLLNBXLZ.mjs.map} +0 -0
  213. /package/dist/esm/{chunk-ETWZV5XK.mjs.map → chunk-EC3JEZIB.mjs.map} +0 -0
  214. /package/dist/esm/{chunk-O2M3QKKS.mjs.map → chunk-FETZGNB3.mjs.map} +0 -0
  215. /package/dist/esm/{chunk-V3OYNKY5.mjs.map → chunk-G7UNU5GI.mjs.map} +0 -0
  216. /package/dist/esm/{chunk-HWYAQTV3.mjs.map → chunk-GG2DBDJT.mjs.map} +0 -0
  217. /package/dist/esm/{chunk-TX2IYMFV.mjs.map → chunk-GP4FRPJQ.mjs.map} +0 -0
  218. /package/dist/esm/{chunk-ZW2R6VQE.mjs.map → chunk-GTFAH6VB.mjs.map} +0 -0
  219. /package/dist/esm/{chunk-WMHYIP3S.mjs.map → chunk-GXTEJ7NO.mjs.map} +0 -0
  220. /package/dist/esm/{chunk-25ZFJIIK.mjs.map → chunk-H2QJOKSW.mjs.map} +0 -0
  221. /package/dist/esm/{chunk-S36XP4IE.mjs.map → chunk-IEGY7WEL.mjs.map} +0 -0
  222. /package/dist/esm/{chunk-QQWBR4SK.mjs.map → chunk-ITADRWJI.mjs.map} +0 -0
  223. /package/dist/esm/{chunk-CSW2QEVU.mjs.map → chunk-ITMW7GWH.mjs.map} +0 -0
  224. /package/dist/esm/{chunk-URCQOJ55.mjs.map → chunk-IWBYKVXH.mjs.map} +0 -0
  225. /package/dist/esm/{chunk-VTTT2G7F.mjs.map → chunk-JCPI7D7I.mjs.map} +0 -0
  226. /package/dist/esm/{chunk-LKLHNQF5.mjs.map → chunk-KZY3TZVR.mjs.map} +0 -0
  227. /package/dist/esm/{chunk-INZXND6M.mjs.map → chunk-LDTF3ABK.mjs.map} +0 -0
  228. /package/dist/esm/{chunk-FAHN3AZI.mjs.map → chunk-LHJBQVU4.mjs.map} +0 -0
  229. /package/dist/esm/{chunk-J2YQTDZL.mjs.map → chunk-LN2AM5IU.mjs.map} +0 -0
  230. /package/dist/esm/{chunk-RP5444TL.mjs.map → chunk-MRT63YLE.mjs.map} +0 -0
  231. /package/dist/esm/{chunk-4TXG2LSP.mjs.map → chunk-N3PNKHCQ.mjs.map} +0 -0
  232. /package/dist/esm/{chunk-4GETVCGY.mjs.map → chunk-O4BBULNE.mjs.map} +0 -0
  233. /package/dist/esm/{chunk-YMVD7Z7Z.mjs.map → chunk-OMIBMVDW.mjs.map} +0 -0
  234. /package/dist/esm/{chunk-CDLMUY5H.mjs.map → chunk-Q7MD4V7H.mjs.map} +0 -0
  235. /package/dist/esm/{chunk-GK7TQDBN.mjs.map → chunk-QEIKAT6S.mjs.map} +0 -0
  236. /package/dist/esm/{chunk-GYIYUBYT.mjs.map → chunk-R3IDASOF.mjs.map} +0 -0
  237. /package/dist/esm/{chunk-HBECYNQ6.mjs.map → chunk-R5Y36IYW.mjs.map} +0 -0
  238. /package/dist/esm/{chunk-PSCDBITI.mjs.map → chunk-RXK5BSD6.mjs.map} +0 -0
  239. /package/dist/esm/{chunk-DAZTLM55.mjs.map → chunk-T4BJCVCN.mjs.map} +0 -0
  240. /package/dist/esm/{chunk-QVJV46XS.mjs.map → chunk-T6VJAACM.mjs.map} +0 -0
  241. /package/dist/esm/{chunk-PR6363Y6.mjs.map → chunk-UWPO7WWS.mjs.map} +0 -0
  242. /package/dist/esm/{chunk-CQPJZUKQ.mjs.map → chunk-VHKT63N7.mjs.map} +0 -0
  243. /package/dist/esm/{chunk-CNNDK6OL.mjs.map → chunk-VWGU7IB6.mjs.map} +0 -0
  244. /package/dist/esm/{chunk-7X67Z6NJ.mjs.map → chunk-WGZZQQDK.mjs.map} +0 -0
  245. /package/dist/esm/{chunk-QITCB4PW.mjs.map → chunk-WS2XAD7R.mjs.map} +0 -0
  246. /package/dist/esm/{chunk-3A6HUKXW.mjs.map → chunk-WYG7CP3N.mjs.map} +0 -0
  247. /package/dist/esm/{chunk-ALRQRVDX.mjs.map → chunk-XDDQWRYI.mjs.map} +0 -0
  248. /package/dist/esm/{chunk-JDTU6Z6C.mjs.map → chunk-XUT73RUR.mjs.map} +0 -0
  249. /package/dist/esm/{chunk-75U3LEBF.mjs.map → chunk-YY7NLCQK.mjs.map} +0 -0
  250. /package/dist/esm/{chunk-QFORDQCU.mjs.map → chunk-YZWR7OV5.mjs.map} +0 -0
  251. /package/dist/esm/{chunk-WUJ7XNQD.mjs.map → chunk-ZBOD65DP.mjs.map} +0 -0
  252. /package/dist/esm/{chunk-FFF7M7E4.mjs.map → chunk-ZDRXYQEE.mjs.map} +0 -0
  253. /package/dist/esm/{chunk-MULJ2GLJ.mjs.map → chunk-ZXPBRVOA.mjs.map} +0 -0
  254. /package/dist/esm/{chunk-QNTQPWLK.mjs.map → chunk-ZXSNAEPE.mjs.map} +0 -0
package/src/cli/move.ts CHANGED
@@ -12,13 +12,24 @@ export class Move {
12
12
  * @param args.network optional Network type argument to use for default settings, default is local
13
13
  * @param args.profile optional Profile to use from the config file, default is 'default'
14
14
  * This will be used to override associated settings such as the REST URL, the Faucet URL, and the private key arguments.
15
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
16
+ * @example
17
+ * ["--assume-yes","--gas-unit-price=10"]
15
18
  *
16
19
  * @returns stdout
17
20
  */
18
- async init(args: { network?: Network; profile?: string }): Promise<{ output: string }> {
19
- const { network, profile } = args;
21
+ async init(args: {
22
+ network?: Network;
23
+ profile?: string;
24
+ extraArguments?: Array<string>;
25
+ }): Promise<{ output: string }> {
26
+ const { network, profile, extraArguments } = args;
20
27
  const cliArgs = ["aptos", "init", `--network=${network ?? "local"}`, `--profile=${profile ?? "default"}`];
21
28
 
29
+ if (extraArguments) {
30
+ cliArgs.push(...extraArguments);
31
+ }
32
+
22
33
  return this.runCommand(cliArgs);
23
34
  }
24
35
 
@@ -27,6 +38,9 @@ export class Move {
27
38
  *
28
39
  * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)
29
40
  * @param args.namedAddresses Named addresses for the move binary
41
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
42
+ * @example
43
+ * ["--assume-yes","--gas-unit-price=10"]
30
44
  * @example
31
45
  * {
32
46
  * alice:0x1234, bob:0x5678
@@ -37,14 +51,19 @@ export class Move {
37
51
  async compile(args: {
38
52
  packageDirectoryPath: string;
39
53
  namedAddresses: Record<string, AccountAddress>;
54
+ extraArguments?: Array<string>;
40
55
  }): Promise<{ output: string }> {
41
- const { packageDirectoryPath, namedAddresses } = args;
56
+ const { packageDirectoryPath, namedAddresses, extraArguments } = args;
42
57
  const cliArgs = ["aptos", "move", "compile", "--package-dir", packageDirectoryPath];
43
58
 
44
59
  const addressesMap = this.parseNamedAddresses(namedAddresses);
45
60
 
46
61
  cliArgs.push(...this.prepareNamedAddresses(addressesMap));
47
62
 
63
+ if (extraArguments) {
64
+ cliArgs.push(...extraArguments);
65
+ }
66
+
48
67
  return this.runCommand(cliArgs);
49
68
  }
50
69
 
@@ -57,20 +76,28 @@ export class Move {
57
76
  * {
58
77
  * alice:0x1234, bob:0x5678
59
78
  * }
79
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
80
+ * @example
81
+ * ["--assume-yes","--gas-unit-price=10"]
60
82
  *
61
83
  * @returns stdout
62
84
  */
63
85
  async test(args: {
64
86
  packageDirectoryPath: string;
65
87
  namedAddresses: Record<string, AccountAddress>;
88
+ extraArguments?: Array<string>;
66
89
  }): Promise<{ output: string }> {
67
- const { packageDirectoryPath, namedAddresses } = args;
90
+ const { packageDirectoryPath, namedAddresses, extraArguments } = args;
68
91
  const cliArgs = ["aptos", "move", "test", "--package-dir", packageDirectoryPath];
69
92
 
70
93
  const addressesMap = this.parseNamedAddresses(namedAddresses);
71
94
 
72
95
  cliArgs.push(...this.prepareNamedAddresses(addressesMap));
73
96
 
97
+ if (extraArguments) {
98
+ cliArgs.push(...extraArguments);
99
+ }
100
+
74
101
  return this.runCommand(cliArgs);
75
102
  }
76
103
 
@@ -84,6 +111,9 @@ export class Move {
84
111
  * alice:0x1234, bob:0x5678
85
112
  * }
86
113
  * @param args.profile optional Profile to use from the config file.
114
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
115
+ * @example
116
+ * ["--assume-yes","--gas-unit-price=10"]
87
117
  *
88
118
  * @returns stdout
89
119
  */
@@ -91,8 +121,9 @@ export class Move {
91
121
  packageDirectoryPath: string;
92
122
  namedAddresses: Record<string, AccountAddress>;
93
123
  profile?: string;
124
+ extraArguments?: Array<string>;
94
125
  }): Promise<{ output: string }> {
95
- const { packageDirectoryPath, namedAddresses, profile } = args;
126
+ const { packageDirectoryPath, namedAddresses, profile, extraArguments } = args;
96
127
  const cliArgs = [
97
128
  "aptos",
98
129
  "move",
@@ -106,6 +137,10 @@ export class Move {
106
137
 
107
138
  cliArgs.push(...this.prepareNamedAddresses(addressesMap));
108
139
 
140
+ if (extraArguments) {
141
+ cliArgs.push(...extraArguments);
142
+ }
143
+
109
144
  return this.runCommand(cliArgs);
110
145
  }
111
146
 
@@ -122,6 +157,9 @@ export class Move {
122
157
  * alice:0x1234, bob:0x5678
123
158
  * }
124
159
  * @param args.profile optional Profile to use from the config file.
160
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
161
+ * @example
162
+ * ["--assume-yes","--gas-unit-price=10"]
125
163
  *
126
164
  * A complete example in cli
127
165
  * aptos move create-object-and-publish-package \
@@ -137,8 +175,9 @@ export class Move {
137
175
  addressName: string;
138
176
  namedAddresses: Record<string, AccountAddress>;
139
177
  profile?: string;
178
+ extraArguments?: Array<string>;
140
179
  }): Promise<{ objectAddress: string }> {
141
- const { packageDirectoryPath, addressName, namedAddresses, profile } = args;
180
+ const { packageDirectoryPath, addressName, namedAddresses, profile, extraArguments } = args;
142
181
  const cliArgs = [
143
182
  "aptos",
144
183
  "move",
@@ -154,6 +193,10 @@ export class Move {
154
193
 
155
194
  cliArgs.push(...this.prepareNamedAddresses(addressesMap));
156
195
 
196
+ if (extraArguments) {
197
+ cliArgs.push(...extraArguments);
198
+ }
199
+
157
200
  const result = await this.runCommand(cliArgs);
158
201
  return { objectAddress: this.extractAddressFromOutput(result.output) };
159
202
  }
@@ -172,6 +215,9 @@ export class Move {
172
215
  * alice:0x1234, bob:0x5678
173
216
  * }
174
217
  * @param args.profile optional Profile to use from the config file.
218
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
219
+ * @example
220
+ * ["--assume-yes","--gas-unit-price=10"]
175
221
  *
176
222
  * @returns stdout
177
223
  */
@@ -180,8 +226,9 @@ export class Move {
180
226
  objectAddress: string;
181
227
  namedAddresses: Record<string, AccountAddress>;
182
228
  profile?: string;
229
+ extraArguments?: Array<string>;
183
230
  }): Promise<{ output: string }> {
184
- const { packageDirectoryPath, objectAddress, namedAddresses, profile } = args;
231
+ const { packageDirectoryPath, objectAddress, namedAddresses, profile, extraArguments } = args;
185
232
  const cliArgs = [
186
233
  "aptos",
187
234
  "move",
@@ -197,6 +244,54 @@ export class Move {
197
244
 
198
245
  cliArgs.push(...this.prepareNamedAddresses(addressesMap));
199
246
 
247
+ if (extraArguments) {
248
+ cliArgs.push(...extraArguments);
249
+ }
250
+
251
+ return this.runCommand(cliArgs);
252
+ }
253
+
254
+ /**
255
+ * Build a publication transaction payload and store it in a JSON output file
256
+ *
257
+ * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)
258
+ * @param args.outputFile Output file to write publication transaction to
259
+ * @param args.namedAddresses Named addresses for the move binary
260
+ * @example
261
+ * {
262
+ * alice:0x1234, bob:0x5678
263
+ * }
264
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
265
+ * @example
266
+ * ["--assume-yes","--gas-unit-price=10"]
267
+ *
268
+ * @returns stdout
269
+ */
270
+ async buildPublishPayload(args: {
271
+ packageDirectoryPath: string;
272
+ outputFile: string;
273
+ namedAddresses: Record<string, AccountAddress>;
274
+ extraArguments?: Array<string>;
275
+ }) {
276
+ const { outputFile, packageDirectoryPath, namedAddresses, extraArguments } = args;
277
+ const cliArgs = [
278
+ "aptos",
279
+ "move",
280
+ "build-publish-payload",
281
+ "--json-output-file",
282
+ outputFile,
283
+ "--package-dir",
284
+ packageDirectoryPath,
285
+ ];
286
+
287
+ const addressesMap = this.parseNamedAddresses(namedAddresses);
288
+
289
+ cliArgs.push(...this.prepareNamedAddresses(addressesMap));
290
+
291
+ if (extraArguments) {
292
+ cliArgs.push(...extraArguments);
293
+ }
294
+
200
295
  return this.runCommand(cliArgs);
201
296
  }
202
297
 
@@ -208,11 +303,18 @@ export class Move {
208
303
  * @example
209
304
  * build/my_package/bytecode_scripts/my_move_script.mv
210
305
  * @param args.profile optional Profile to use from the config file.
306
+ * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings
307
+ * @example
308
+ * ["--assume-yes","--gas-unit-price=10"]
211
309
  *
212
310
  * @returns stdout
213
311
  */
214
- async runScript(args: { compiledScriptPath: string; profile?: string }): Promise<{ output: string }> {
215
- const { compiledScriptPath, profile } = args;
312
+ async runScript(args: {
313
+ compiledScriptPath: string;
314
+ profile?: string;
315
+ extraArguments?: Array<string>;
316
+ }): Promise<{ output: string }> {
317
+ const { compiledScriptPath, profile, extraArguments } = args;
216
318
  const cliArgs = [
217
319
  "aptos",
218
320
  "move",
@@ -222,6 +324,10 @@ export class Move {
222
324
  `--profile=${profile ?? "default"}`,
223
325
  ];
224
326
 
327
+ if (extraArguments) {
328
+ cliArgs.push(...extraArguments);
329
+ }
330
+
225
331
  return this.runCommand(cliArgs);
226
332
  }
227
333
 
@@ -9,7 +9,7 @@
9
9
  import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
10
10
  import { AptosConfig } from "../../api/aptosConfig";
11
11
  import { AccountAddress, AccountAddressInput, Hex, PublicKey } from "../../core";
12
- import { AnyPublicKey, AnySignature, KeylessPublicKey, Secp256k1PublicKey } from "../../core/crypto";
12
+ import { AnyPublicKey, AnySignature, KeylessPublicKey, KeylessSignature, Secp256k1PublicKey } from "../../core/crypto";
13
13
  import { Ed25519PublicKey, Ed25519Signature } from "../../core/crypto/ed25519";
14
14
  import { getInfo } from "../../internal/account";
15
15
  import { getLedgerInfo } from "../../internal/general";
@@ -453,6 +453,9 @@ export function getAuthenticatorForSimulation(publicKey: PublicKey) {
453
453
  }
454
454
 
455
455
  if (AnyPublicKey.isInstance(publicKey)) {
456
+ if (KeylessPublicKey.isInstance(publicKey.publicKey)) {
457
+ return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(KeylessSignature.getSimulationSignature()));
458
+ }
456
459
  return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(invalidSignature));
457
460
  }
458
461
 
@@ -1174,6 +1174,7 @@ export enum DeriveScheme {
1174
1174
  export type WaitForTransactionOptions = {
1175
1175
  timeoutSecs?: number;
1176
1176
  checkSuccess?: boolean;
1177
+ // Default behavior is to wait for the indexer. Set this to false to disable waiting.
1177
1178
  waitForIndexer?: boolean;
1178
1179
  };
1179
1180
 
package/src/version.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * hardcoded for now, we would want to have it injected dynamically
8
8
  */
9
- export const VERSION = "1.24.0";
9
+ export const VERSION = "1.26.0";
@@ -1,2 +0,0 @@
1
- import{a as l,c as tn,d as en,e as D}from"./chunk-BTLHVOIC.mjs";import{r as nn,u as y}from"./chunk-V3OYNKY5.mjs";import{a as Q}from"./chunk-ALRQRVDX.mjs";import{a as j}from"./chunk-ISUHNAU4.mjs";import{a as A}from"./chunk-4TXG2LSP.mjs";import{a as Z}from"./chunk-MULJ2GLJ.mjs";import{a as X,c as z,d as L}from"./chunk-WMHYIP3S.mjs";import{c as v,d as K,e as O,f as b,g as V,h as q,i as H}from"./chunk-INZXND6M.mjs";import{b as x,d as E,e as B,f as F}from"./chunk-CSW2QEVU.mjs";import{a as _,b as p,d as g}from"./chunk-QNTQPWLK.mjs";import{a as k}from"./chunk-BOYYQAB4.mjs";import{b as Y}from"./chunk-O2M3QKKS.mjs";import{a as P,b as S}from"./chunk-UC5BZJ23.mjs";import{a as M}from"./chunk-4GETVCGY.mjs";import{i as C}from"./chunk-75U3LEBF.mjs";import{b as R,d as $}from"./chunk-CDLMUY5H.mjs";import{b as u}from"./chunk-OHRL766V.mjs";import{a as J}from"./chunk-QVJV46XS.mjs";import{a as U}from"./chunk-AH44UPM4.mjs";import{a as G}from"./chunk-WV5AD4IE.mjs";import{b as w}from"./chunk-BCUSI3N6.mjs";import{g as I}from"./chunk-SCHZ67F3.mjs";import{b as N,c as W}from"./chunk-L36ZHC7J.mjs";import{sha3_256 as un}from"@noble/hashes/sha3";async function kn(n){if(nn(n))return An(n);let{moduleAddress:t,moduleName:e,functionName:i}=y(n.function),a=await rn({key:"entry-function",moduleAddress:t,moduleName:e,functionName:i,aptosConfig:n.aptosConfig,abi:n.abi,fetch:tn});return dn({...n,abi:a})}function dn(n){let t=n.abi,{moduleAddress:e,moduleName:i,functionName:a}=y(n.function),r=l(n.typeArguments);if(r.length!==t.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${t.typeParameters.length}, received ${r.length}`);let o=n.functionArguments.map((s,d)=>D(n.function,t,s,d,r));if(o.length!==t.parameters.length)throw new Error(`Too few arguments for '${e}::${i}::${a}', expected ${t.parameters.length} but got ${o.length}`);let c=b.build(`${e}::${i}`,a,r,o);if("multisigAddress"in n){let s=u.from(n.multisigAddress);return new O(new q(s,new H(c)))}return new K(c)}async function vn(n){let{moduleAddress:t,moduleName:e,functionName:i}=y(n.function),a=await rn({key:"view-function",moduleAddress:t,moduleName:e,functionName:i,aptosConfig:n.aptosConfig,abi:n.abi,fetch:en});return mn({abi:a,...n})}function mn(n){let t=n.abi,{moduleAddress:e,moduleName:i,functionName:a}=y(n.function),r=l(n.typeArguments);if(r.length!==t.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${t.typeParameters.length}, received ${r.length}`);let o=n?.functionArguments?.map((c,s)=>D(n.function,t,c,s,r))??[];if(o.length!==t.parameters.length)throw new Error(`Too few arguments for '${e}::${i}::${a}', expected ${t.parameters.length} but got ${o.length}`);return b.build(`${e}::${i}`,a,r,o)}function An(n){return new v(new V(w.fromHexInput(n.bytecode).toUint8Array(),l(n.typeArguments),n.functionArguments))}async function yn(n){let{aptosConfig:t,sender:e,payload:i,options:a,feePayerAddress:r}=n,o=async()=>I[t.network]?{chainId:I[t.network]}:{chainId:(await J({aptosConfig:t})).chain_id},c=async()=>a?.gasUnitPrice?{gasEstimate:a.gasUnitPrice}:{gasEstimate:(await Y({aptosConfig:t})).gas_estimate},s=async()=>{let f=async()=>a?.accountSequenceNumber!==void 0?a.accountSequenceNumber:(await Q({aptosConfig:t,accountAddress:e})).sequence_number;if(r&&u.from(r).equals(u.ZERO))try{return await f()}catch{return 0}else return f()},[{chainId:d},{gasEstimate:m},h]=await Promise.all([o(),c(),s()]),{maxGasAmount:on,gasUnitPrice:sn,expireTimestamp:cn}={maxGasAmount:a?.maxGasAmount?BigInt(a.maxGasAmount):BigInt(2e5),gasUnitPrice:a?.gasUnitPrice??BigInt(m),expireTimestamp:a?.expireTimestamp??BigInt(Math.floor(Date.now()/1e3)+20)};return new X(u.from(e),BigInt(h),i,BigInt(on),BigInt(sn),BigInt(cn),new k(d))}async function Kn(n){let{aptosConfig:t,sender:e,payload:i,options:a,feePayerAddress:r}=n,o=await yn({aptosConfig:t,sender:e,payload:i,options:a,feePayerAddress:r});if("secondarySignerAddresses"in n){let c=n.secondarySignerAddresses?.map(s=>u.from(s))??[];return new j(o,c,n.feePayerAddress?u.from(n.feePayerAddress):void 0)}return new Z(o,n.feePayerAddress?u.from(n.feePayerAddress):void 0)}function On(n){let{signerPublicKey:t,transaction:e,secondarySignersPublicKeys:i,feePayerPublicKey:a}=n,r=T(t);if(e.feePayerAddress){let c=new L(e.rawTransaction,e.secondarySignerAddresses??[],e.feePayerAddress),s=[];i&&(s=i.map(h=>T(h)));let d=T(a),m=new B(r,e.secondarySignerAddresses??[],s,{address:e.feePayerAddress,authenticator:d});return new A(c.raw_txn,m).bcsToBytes()}if(e.secondarySignerAddresses){let c=new z(e.rawTransaction,e.secondarySignerAddresses),s=[];s=i.map(m=>T(m));let d=new E(r,e.secondarySignerAddresses,s);return new A(c.raw_txn,d).bcsToBytes()}let o;if(r instanceof p)o=new x(r.public_key,r.signature);else if(r instanceof g)o=new F(r);else throw new Error("Invalid public key");return new A(e.rawTransaction,o).bcsToBytes()}function T(n){let t=new $(new Uint8Array(64));if(R.isInstance(n))return new p(n,t);if(P.isInstance(n))return new g(n,new S(t));if(C.isInstance(n)||M.isInstance(n))return console.warn("Expected AccountPublicKey, but got PublicKey. Please wrap your public key with AnyPublicKey."),new g(new P(n),new S(t));throw new Error("Unsupported public key")}function fn(n){let{transaction:t,feePayerAuthenticator:e,additionalSignersAuthenticators:i}=n,a=G(_,n.senderAuthenticator),r;if(t.feePayerAddress){if(!e)throw new Error("Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction");r=new B(a,t.secondarySignerAddresses??[],i??[],{address:t.feePayerAddress,authenticator:e})}else if(t.secondarySignerAddresses){if(!i)throw new Error("Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction");r=new E(a,t.secondarySignerAddresses,i)}else a instanceof p?r=new x(a.public_key,a.signature):r=new F(a);return new A(t.rawTransaction,r).bcsToBytes()}function an(n){let t=un.create();for(let e of n)t.update(e);return t.digest()}var pn=an(["APTOS::Transaction"]);function Vn(n){let t=fn(n);return new w(an([pn,new Uint8Array([0]),t])).toString()}async function rn({key:n,moduleAddress:t,moduleName:e,functionName:i,aptosConfig:a,abi:r,fetch:o}){return r!==void 0?r:U(async()=>o(t,e,i,a),`${n}-${a.network}-${t}-${e}-${i}`,1e3*60*5)()}export{kn as a,dn as b,vn as c,mn as d,yn as e,Kn as f,On as g,T as h,fn as i,an as j,Vn as k};
2
- //# sourceMappingURL=chunk-4LQKLXHW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/transactions/transactionBuilder/transactionBuilder.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the transaction creation lifecycle.\n * It holds different operations to generate a transaction payload, a raw transaction,\n * and a signed transaction that can be simulated, signed and submitted to chain.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { AccountAddress, AccountAddressInput, Hex, PublicKey } from \"../../core\";\nimport { AnyPublicKey, AnySignature, KeylessPublicKey, Secp256k1PublicKey } from \"../../core/crypto\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"../../core/crypto/ed25519\";\nimport { getInfo } from \"../../internal/account\";\nimport { getLedgerInfo } from \"../../internal/general\";\nimport { getGasPriceEstimation } from \"../../internal/transaction\";\nimport { NetworkToChainId } from \"../../utils/apiEndpoints\";\nimport { DEFAULT_MAX_GAS_AMOUNT, DEFAULT_TXN_EXP_SEC_FROM_NOW } from \"../../utils/const\";\nimport { normalizeBundle } from \"../../utils/normalizeBundle\";\nimport {\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n AccountAuthenticatorSingleKey,\n} from \"../authenticator/account\";\nimport {\n TransactionAuthenticator,\n TransactionAuthenticatorEd25519,\n TransactionAuthenticatorFeePayer,\n TransactionAuthenticatorMultiAgent,\n TransactionAuthenticatorSingleSender,\n} from \"../authenticator/transaction\";\nimport {\n ChainId,\n EntryFunction,\n FeePayerRawTransaction,\n MultiAgentRawTransaction,\n MultiSig,\n MultiSigTransactionPayload,\n RawTransaction,\n Script,\n TransactionPayloadEntryFunction,\n TransactionPayloadMultiSig,\n TransactionPayloadScript,\n} from \"../instances\";\nimport { SignedTransaction } from \"../instances/signedTransaction\";\nimport {\n AnyRawTransaction,\n AnyTransactionPayloadInstance,\n EntryFunctionArgumentTypes,\n InputGenerateMultiAgentRawTransactionArgs,\n InputGenerateRawTransactionArgs,\n InputGenerateSingleSignerRawTransactionArgs,\n InputGenerateTransactionOptions,\n InputScriptData,\n InputSimulateTransactionData,\n InputMultiSigDataWithRemoteABI,\n InputEntryFunctionDataWithRemoteABI,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n InputGenerateTransactionPayloadDataWithABI,\n InputEntryFunctionDataWithABI,\n InputMultiSigDataWithABI,\n InputViewFunctionDataWithRemoteABI,\n InputViewFunctionDataWithABI,\n FunctionABI,\n} from \"../types\";\nimport { convertArgument, fetchEntryFunctionAbi, fetchViewFunctionAbi, standardizeTypeTags } from \"./remoteAbi\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { getFunctionParts, isScriptDataInput } from \"./helpers\";\nimport { SimpleTransaction } from \"../instances/simpleTransaction\";\nimport { MultiAgentTransaction } from \"../instances/multiAgentTransaction\";\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransactionPayload` function.\n * When we call our `generateTransactionPayload` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function generateTransactionPayload(args: InputScriptData): Promise<TransactionPayloadScript>;\nexport async function generateTransactionPayload(\n args: InputEntryFunctionDataWithRemoteABI,\n): Promise<TransactionPayloadEntryFunction>;\nexport async function generateTransactionPayload(\n args: InputMultiSigDataWithRemoteABI,\n): Promise<TransactionPayloadMultiSig>;\n\n/**\n * Builds a transaction payload based on the data argument and returns\n * a transaction payload - TransactionPayloadScript | TransactionPayloadMultiSig | TransactionPayloadEntryFunction\n *\n * This uses the RemoteABI by default, and the remote ABI can be skipped by using generateTransactionPayloadWithABI\n *\n * @param args.data GenerateTransactionPayloadData\n *\n * @return TransactionPayload\n */\nexport async function generateTransactionPayload(\n args: InputGenerateTransactionPayloadDataWithRemoteABI,\n): Promise<AnyTransactionPayloadInstance> {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n const functionAbi = await fetchAbi({\n key: \"entry-function\",\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig: args.aptosConfig,\n abi: args.abi,\n fetch: fetchEntryFunctionAbi,\n });\n\n // Fill in the ABI\n return generateTransactionPayloadWithABI({ ...args, abi: functionAbi });\n}\n\nexport function generateTransactionPayloadWithABI(args: InputEntryFunctionDataWithABI): TransactionPayloadEntryFunction;\nexport function generateTransactionPayloadWithABI(args: InputMultiSigDataWithABI): TransactionPayloadMultiSig;\nexport function generateTransactionPayloadWithABI(\n args: InputGenerateTransactionPayloadDataWithABI,\n): AnyTransactionPayloadInstance {\n const functionAbi = args.abi;\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> = args.functionArguments.map((arg, i) =>\n convertArgument(args.function, functionAbi, arg, i, typeArguments),\n );\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n const entryFunctionPayload = EntryFunction.build(\n `${moduleAddress}::${moduleName}`,\n functionName,\n typeArguments,\n functionArguments,\n );\n\n // Send it as multi sig if it's a multisig payload\n if (\"multisigAddress\" in args) {\n const multisigAddress = AccountAddress.from(args.multisigAddress);\n return new TransactionPayloadMultiSig(\n new MultiSig(multisigAddress, new MultiSigTransactionPayload(entryFunctionPayload)),\n );\n }\n\n // Otherwise send as an entry function\n return new TransactionPayloadEntryFunction(entryFunctionPayload);\n}\n\nexport async function generateViewFunctionPayload(args: InputViewFunctionDataWithRemoteABI): Promise<EntryFunction> {\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n const functionAbi = await fetchAbi({\n key: \"view-function\",\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig: args.aptosConfig,\n abi: args.abi,\n fetch: fetchViewFunctionAbi,\n });\n\n // Fill in the ABI\n return generateViewFunctionPayloadWithABI({ abi: functionAbi, ...args });\n}\n\nexport function generateViewFunctionPayloadWithABI(args: InputViewFunctionDataWithABI): EntryFunction {\n const functionAbi = args.abi;\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> =\n args?.functionArguments?.map((arg, i) => convertArgument(args.function, functionAbi, arg, i, typeArguments)) ?? [];\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n return EntryFunction.build(`${moduleAddress}::${moduleName}`, functionName, typeArguments, functionArguments);\n}\n\nfunction generateTransactionPayloadScript(args: InputScriptData) {\n return new TransactionPayloadScript(\n new Script(\n Hex.fromHexInput(args.bytecode).toUint8Array(),\n standardizeTypeTags(args.typeArguments),\n args.functionArguments,\n ),\n );\n}\n\n/**\n * Generates a raw transaction\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n *\n * @returns RawTransaction\n */\nexport async function generateRawTransaction(args: {\n aptosConfig: AptosConfig;\n sender: AccountAddressInput;\n payload: AnyTransactionPayloadInstance;\n options?: InputGenerateTransactionOptions;\n feePayerAddress?: AccountAddressInput;\n}): Promise<RawTransaction> {\n const { aptosConfig, sender, payload, options, feePayerAddress } = args;\n\n const getChainId = async () => {\n if (NetworkToChainId[aptosConfig.network]) {\n return { chainId: NetworkToChainId[aptosConfig.network] };\n }\n const info = await getLedgerInfo({ aptosConfig });\n return { chainId: info.chain_id };\n };\n\n const getGasUnitPrice = async () => {\n if (options?.gasUnitPrice) {\n return { gasEstimate: options.gasUnitPrice };\n }\n const estimation = await getGasPriceEstimation({ aptosConfig });\n return { gasEstimate: estimation.gas_estimate };\n };\n\n const getSequenceNumberForAny = async () => {\n const getSequenceNumber = async () => {\n if (options?.accountSequenceNumber !== undefined) {\n return options.accountSequenceNumber;\n }\n\n return (await getInfo({ aptosConfig, accountAddress: sender })).sequence_number;\n };\n\n /**\n * Check if is sponsored transaction to honor AIP-52\n * {@link https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-52.md}\n */\n if (feePayerAddress && AccountAddress.from(feePayerAddress).equals(AccountAddress.ZERO)) {\n // Handle sponsored transaction generation with the option that\n // the main signer has not been created on chain\n try {\n // Check if main signer has been created on chain, if not assign sequence number 0\n return await getSequenceNumber();\n } catch (e: any) {\n return 0;\n }\n } else {\n return getSequenceNumber();\n }\n };\n const [{ chainId }, { gasEstimate }, sequenceNumber] = await Promise.all([\n getChainId(),\n getGasUnitPrice(),\n getSequenceNumberForAny(),\n ]);\n\n const { maxGasAmount, gasUnitPrice, expireTimestamp } = {\n maxGasAmount: options?.maxGasAmount ? BigInt(options.maxGasAmount) : BigInt(DEFAULT_MAX_GAS_AMOUNT),\n gasUnitPrice: options?.gasUnitPrice ?? BigInt(gasEstimate),\n expireTimestamp: options?.expireTimestamp ?? BigInt(Math.floor(Date.now() / 1000) + DEFAULT_TXN_EXP_SEC_FROM_NOW),\n };\n\n return new RawTransaction(\n AccountAddress.from(sender),\n BigInt(sequenceNumber),\n payload,\n BigInt(maxGasAmount),\n BigInt(gasUnitPrice),\n BigInt(expireTimestamp),\n new ChainId(chainId),\n );\n}\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransaction` function.\n * When we call our `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function buildTransaction(args: InputGenerateSingleSignerRawTransactionArgs): Promise<SimpleTransaction>;\nexport async function buildTransaction(args: InputGenerateMultiAgentRawTransactionArgs): Promise<MultiAgentTransaction>;\n\n/**\n * Generates a transaction based on the provided arguments\n *\n * Note: we can start with one function to support all different payload/transaction types,\n * and if to complex to use, we could have function for each type\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n * @param args.options optional. Transaction options object\n * @param args.secondarySignerAddresses optional. For when want to create a multi signers transaction\n * @param args.feePayerAddress optional. For when want to create a fee payer (aka sponsored) transaction\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function buildTransaction(args: InputGenerateRawTransactionArgs): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, payload, options, feePayerAddress } = args;\n // generate raw transaction\n const rawTxn = await generateRawTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n feePayerAddress,\n });\n\n // if multi agent transaction\n if (\"secondarySignerAddresses\" in args) {\n const signers: Array<AccountAddress> =\n args.secondarySignerAddresses?.map((signer) => AccountAddress.from(signer)) ?? [];\n\n return new MultiAgentTransaction(\n rawTxn,\n signers,\n args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined,\n );\n }\n // return the raw transaction\n return new SimpleTransaction(rawTxn, args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined);\n}\n\n/**\n * Simulate a transaction before signing and submit to chain\n *\n * @param args.transaction A aptos transaction type to sign\n * @param args.signerPublicKey The signer public key\n * @param args.secondarySignersPublicKeys optional. The secondary signers public keys if multi signers transaction\n * @param args.feePayerPublicKey optional. The fee payer public key is a fee payer (aka sponsored) transaction\n * @param args.options optional. SimulateTransactionOptions\n *\n * @returns A signed serialized transaction that can be simulated\n */\nexport function generateSignedTransactionForSimulation(args: InputSimulateTransactionData): Uint8Array {\n const { signerPublicKey, transaction, secondarySignersPublicKeys, feePayerPublicKey } = args;\n\n const accountAuthenticator = getAuthenticatorForSimulation(signerPublicKey);\n\n // fee payer transaction\n if (transaction.feePayerAddress) {\n const transactionToSign = new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n if (secondarySignersPublicKeys) {\n secondaryAccountAuthenticators = secondarySignersPublicKeys.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n }\n const feePayerAuthenticator = getAuthenticatorForSimulation(feePayerPublicKey!);\n\n const transactionAuthenticator = new TransactionAuthenticatorFeePayer(\n accountAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n secondaryAccountAuthenticators,\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // multi agent transaction\n if (transaction.secondarySignerAddresses) {\n const transactionToSign = new MultiAgentRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses,\n );\n\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n\n secondaryAccountAuthenticators = secondarySignersPublicKeys!.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n\n const transactionAuthenticator = new TransactionAuthenticatorMultiAgent(\n accountAuthenticator,\n transaction.secondarySignerAddresses,\n secondaryAccountAuthenticators,\n );\n\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // single signer raw transaction\n let transactionAuthenticator;\n if (accountAuthenticator instanceof AccountAuthenticatorEd25519) {\n transactionAuthenticator = new TransactionAuthenticatorEd25519(\n accountAuthenticator.public_key,\n accountAuthenticator.signature,\n );\n } else if (accountAuthenticator instanceof AccountAuthenticatorSingleKey) {\n transactionAuthenticator = new TransactionAuthenticatorSingleSender(accountAuthenticator);\n } else {\n throw new Error(\"Invalid public key\");\n }\n return new SignedTransaction(transaction.rawTransaction, transactionAuthenticator).bcsToBytes();\n}\n\nexport function getAuthenticatorForSimulation(publicKey: PublicKey) {\n // No need to for the signature to be matching in scheme. All that matters for simulations is that it's not valid\n const invalidSignature = new Ed25519Signature(new Uint8Array(64));\n\n if (Ed25519PublicKey.isInstance(publicKey)) {\n return new AccountAuthenticatorEd25519(publicKey, invalidSignature);\n }\n\n if (AnyPublicKey.isInstance(publicKey)) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(invalidSignature));\n }\n\n // TODO: remove this, non-account public keys should never make it here\n if (KeylessPublicKey.isInstance(publicKey) || Secp256k1PublicKey.isInstance(publicKey)) {\n // eslint-disable-next-line no-console\n console.warn(\"Expected AccountPublicKey, but got PublicKey. Please wrap your public key with AnyPublicKey.\");\n return new AccountAuthenticatorSingleKey(new AnyPublicKey(publicKey), new AnySignature(invalidSignature));\n }\n\n // TODO add support for AnyMultiKey\n throw new Error(\"Unsupported public key\");\n}\n\n/**\n * Prepare a transaction to be submitted to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @returns A SignedTransaction\n */\nexport function generateSignedTransaction(args: InputSubmitTransactionData): Uint8Array {\n const { transaction, feePayerAuthenticator, additionalSignersAuthenticators } = args;\n const senderAuthenticator = normalizeBundle(AccountAuthenticator, args.senderAuthenticator);\n\n let txnAuthenticator: TransactionAuthenticator;\n if (transaction.feePayerAddress) {\n if (!feePayerAuthenticator) {\n throw new Error(\"Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction\");\n }\n txnAuthenticator = new TransactionAuthenticatorFeePayer(\n senderAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n additionalSignersAuthenticators ?? [],\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n } else if (transaction.secondarySignerAddresses) {\n if (!additionalSignersAuthenticators) {\n throw new Error(\n \"Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction\",\n );\n }\n txnAuthenticator = new TransactionAuthenticatorMultiAgent(\n senderAuthenticator,\n transaction.secondarySignerAddresses,\n additionalSignersAuthenticators,\n );\n } else if (senderAuthenticator instanceof AccountAuthenticatorEd25519) {\n txnAuthenticator = new TransactionAuthenticatorEd25519(\n senderAuthenticator.public_key,\n senderAuthenticator.signature,\n );\n } else {\n txnAuthenticator = new TransactionAuthenticatorSingleSender(senderAuthenticator);\n }\n\n return new SignedTransaction(transaction.rawTransaction, txnAuthenticator).bcsToBytes();\n}\n\n/**\n * Hashes the set of values with a SHA-3 256 hash\n * @param input array of UTF-8 strings or Uint8array byte arrays\n */\nexport function hashValues(input: (Uint8Array | string)[]): Uint8Array {\n const hash = sha3Hash.create();\n for (const item of input) {\n hash.update(item);\n }\n return hash.digest();\n}\n\n/**\n * The domain separated prefix for hashing transacitons\n */\nconst TRANSACTION_PREFIX = hashValues([\"APTOS::Transaction\"]);\n\n/**\n * Generates a user transaction hash for the given transaction payload. It must already have an authenticator\n * @param args InputSubmitTransactionData\n */\nexport function generateUserTransactionHash(args: InputSubmitTransactionData): string {\n const signedTransaction = generateSignedTransaction(args);\n\n // Transaction signature is defined as, the domain separated prefix based on struct (Transaction)\n // Then followed by the type of the transaction for the enum, UserTransaction is 0\n // Then followed by BCS encoded bytes of the signed transaction\n return new Hex(hashValues([TRANSACTION_PREFIX, new Uint8Array([0]), signedTransaction])).toString();\n}\n\n/**\n * Fetches and caches ABIs with allowing for pass-through on provided ABIs\n * @param key\n * @param moduleAddress\n * @param moduleName\n * @param functionName\n * @param aptosConfig\n * @param abi\n * @param fetch\n */\nasync function fetchAbi<T extends FunctionABI>({\n key,\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig,\n abi,\n fetch,\n}: {\n key: string;\n moduleAddress: string;\n moduleName: string;\n functionName: string;\n aptosConfig: AptosConfig;\n abi?: T;\n fetch: (moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig) => Promise<T>;\n}): Promise<T> {\n if (abi !== undefined) {\n return abi;\n }\n\n // We fetch the entry function ABI, and then pretend that we already had the ABI\n return memoizeAsync(\n async () => fetch(moduleAddress, moduleName, functionName, aptosConfig),\n `${key}-${aptosConfig.network}-${moduleAddress}-${moduleName}-${functionName}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n}\n"],"mappings":"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","names":["sha3Hash","generateTransactionPayload","args","isScriptDataInput","generateTransactionPayloadScript","moduleAddress","moduleName","functionName","getFunctionParts","functionAbi","fetchAbi","fetchEntryFunctionAbi","generateTransactionPayloadWithABI","typeArguments","standardizeTypeTags","functionArguments","arg","i","convertArgument","entryFunctionPayload","EntryFunction","multisigAddress","AccountAddress","TransactionPayloadMultiSig","MultiSig","MultiSigTransactionPayload","TransactionPayloadEntryFunction","generateViewFunctionPayload","fetchViewFunctionAbi","generateViewFunctionPayloadWithABI","TransactionPayloadScript","Script","Hex","generateRawTransaction","aptosConfig","sender","payload","options","feePayerAddress","getChainId","NetworkToChainId","getLedgerInfo","getGasUnitPrice","getGasPriceEstimation","getSequenceNumberForAny","getSequenceNumber","getInfo","chainId","gasEstimate","sequenceNumber","maxGasAmount","gasUnitPrice","expireTimestamp","RawTransaction","ChainId","buildTransaction","rawTxn","signers","signer","MultiAgentTransaction","SimpleTransaction","generateSignedTransactionForSimulation","signerPublicKey","transaction","secondarySignersPublicKeys","feePayerPublicKey","accountAuthenticator","getAuthenticatorForSimulation","transactionToSign","FeePayerRawTransaction","secondaryAccountAuthenticators","publicKey","feePayerAuthenticator","transactionAuthenticator","TransactionAuthenticatorFeePayer","SignedTransaction","MultiAgentRawTransaction","TransactionAuthenticatorMultiAgent","AccountAuthenticatorEd25519","TransactionAuthenticatorEd25519","AccountAuthenticatorSingleKey","TransactionAuthenticatorSingleSender","invalidSignature","Ed25519Signature","Ed25519PublicKey","AnyPublicKey","AnySignature","KeylessPublicKey","Secp256k1PublicKey","generateSignedTransaction","additionalSignersAuthenticators","senderAuthenticator","normalizeBundle","AccountAuthenticator","txnAuthenticator","hashValues","input","hash","sha3Hash","item","TRANSACTION_PREFIX","generateUserTransactionHash","signedTransaction","key","abi","fetch","memoizeAsync"]}
@@ -1,2 +0,0 @@
1
- var o="1.24.0";export{o as a};
2
- //# sourceMappingURL=chunk-C6VIBT2D.mjs.map
@@ -1,2 +0,0 @@
1
- import{a as i}from"./chunk-YTQVMLFD.mjs";import{spawn as n}from"child_process";import l from"tree-kill";import{platform as p}from"os";var c=class{constructor(){this.MAXIMUM_WAIT_TIME_SEC=75;this.READINESS_ENDPOINT="http://127.0.0.1:8070/";this.process=null}stop(){this.process?.pid&&l(this.process.pid)}async run(){await this.checkIfProcessIsUp()||(this.start(),await this.waitUntilProcessIsUp())}start(){let t="npx",s=["aptos","node","run-local-testnet","--force-restart","--assume-yes","--with-indexer-api"],e=p(),r;e==="win32"?r=n(t,s,{shell:!0}):r=n(t,s),this.process=r,r.stderr?.on("data",o=>{let a=o.toString();console.log(a)}),r.stdout?.on("data",o=>{let a=o.toString();console.log(a)})}async waitUntilProcessIsUp(){let t=await this.checkIfProcessIsUp(),s=Date.now()/1e3,e=s;for(;!t&&s+this.MAXIMUM_WAIT_TIME_SEC>e;)await i(1e3),t=await this.checkIfProcessIsUp(),e=Date.now()/1e3;if(!t)throw new Error("Process failed to start");return!0}async checkIfProcessIsUp(){try{return(await fetch(this.READINESS_ENDPOINT)).status===200}catch{return!1}}};export{c as a};
2
- //# sourceMappingURL=chunk-FNFQA7NS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cli/localNode.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from \"child_process\";\nimport kill from \"tree-kill\";\nimport { platform } from \"os\";\n\nimport { sleep } from \"../utils/helpers\";\n\nexport class LocalNode {\n readonly MAXIMUM_WAIT_TIME_SEC = 75;\n\n readonly READINESS_ENDPOINT = \"http://127.0.0.1:8070/\";\n\n process: ChildProcessWithoutNullStreams | null = null;\n\n /**\n * kills all the descendent processes\n * of the node process, including the node process itself\n */\n stop() {\n if (!this.process?.pid) return;\n kill(this.process.pid);\n }\n\n /**\n * Runs a local testnet and waits for process to be up.\n *\n * If local node process is already up it returns and does\n * not start the process\n */\n async run() {\n const nodeIsUp = await this.checkIfProcessIsUp();\n if (nodeIsUp) {\n return;\n }\n this.start();\n await this.waitUntilProcessIsUp();\n }\n\n /**\n * Starts the local testnet by running the aptos node run-local-testnet command\n */\n start() {\n const cliCommand = \"npx\";\n const cliArgs = [\"aptos\", \"node\", \"run-local-testnet\", \"--force-restart\", \"--assume-yes\", \"--with-indexer-api\"];\n\n const currentPlatform = platform();\n let childProcess;\n // Check if current OS is windows\n if (currentPlatform === \"win32\") {\n childProcess = spawn(cliCommand, cliArgs, { shell: true });\n } else {\n childProcess = spawn(cliCommand, cliArgs);\n }\n\n this.process = childProcess;\n\n childProcess.stderr?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n\n childProcess.stdout?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n }\n\n /**\n * Waits for the local testnet process to be up\n *\n * @returns Promise<boolean>\n */\n async waitUntilProcessIsUp(): Promise<boolean> {\n let operational = await this.checkIfProcessIsUp();\n const start = Date.now() / 1000;\n let last = start;\n\n while (!operational && start + this.MAXIMUM_WAIT_TIME_SEC > last) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(1000);\n // eslint-disable-next-line no-await-in-loop\n operational = await this.checkIfProcessIsUp();\n last = Date.now() / 1000;\n }\n\n // If we are here it means something blocks the process to start.\n // Might worth checking if another process is running on port 8080\n if (!operational) {\n throw new Error(\"Process failed to start\");\n }\n\n return true;\n }\n\n /**\n * Checks if the local testnet is up\n *\n * @returns Promise<boolean>\n */\n async checkIfProcessIsUp(): Promise<boolean> {\n try {\n // Query readiness endpoint\n const data = await fetch(this.READINESS_ENDPOINT);\n if (data.status === 200) {\n return true;\n }\n return false;\n } catch (err: any) {\n return false;\n }\n }\n}\n"],"mappings":"yCAAA,OAAyC,SAAAA,MAAa,gBACtD,OAAOC,MAAU,YACjB,OAAS,YAAAC,MAAgB,KAIlB,IAAMC,EAAN,KAAgB,CAAhB,cACL,KAAS,sBAAwB,GAEjC,KAAS,mBAAqB,yBAE9B,aAAiD,KAMjD,MAAO,CACA,KAAK,SAAS,KACnBC,EAAK,KAAK,QAAQ,GAAG,CACvB,CAQA,MAAM,KAAM,CACO,MAAM,KAAK,mBAAmB,IAI/C,KAAK,MAAM,EACX,MAAM,KAAK,qBAAqB,EAClC,CAKA,OAAQ,CACN,IAAMC,EAAa,MACbC,EAAU,CAAC,QAAS,OAAQ,oBAAqB,kBAAmB,eAAgB,oBAAoB,EAExGC,EAAkBC,EAAS,EAC7BC,EAEAF,IAAoB,QACtBE,EAAeC,EAAML,EAAYC,EAAS,CAAE,MAAO,EAAK,CAAC,EAEzDG,EAAeC,EAAML,EAAYC,CAAO,EAG1C,KAAK,QAAUG,EAEfA,EAAa,QAAQ,GAAG,OAASE,GAAc,CAC7C,IAAMC,EAAMD,EAAK,SAAS,EAG1B,QAAQ,IAAIC,CAAG,CACjB,CAAC,EAEDH,EAAa,QAAQ,GAAG,OAASE,GAAc,CAC7C,IAAMC,EAAMD,EAAK,SAAS,EAG1B,QAAQ,IAAIC,CAAG,CACjB,CAAC,CACH,CAOA,MAAM,sBAAyC,CAC7C,IAAIC,EAAc,MAAM,KAAK,mBAAmB,EAC1CC,EAAQ,KAAK,IAAI,EAAI,IACvBC,EAAOD,EAEX,KAAO,CAACD,GAAeC,EAAQ,KAAK,sBAAwBC,GAE1D,MAAMC,EAAM,GAAI,EAEhBH,EAAc,MAAM,KAAK,mBAAmB,EAC5CE,EAAO,KAAK,IAAI,EAAI,IAKtB,GAAI,CAACF,EACH,MAAM,IAAI,MAAM,yBAAyB,EAG3C,MAAO,EACT,CAOA,MAAM,oBAAuC,CAC3C,GAAI,CAGF,OADa,MAAM,MAAM,KAAK,kBAAkB,GACvC,SAAW,GAItB,MAAmB,CACjB,MAAO,EACT,CACF,CACF","names":["spawn","kill","platform","LocalNode","kill","cliCommand","cliArgs","currentPlatform","platform","childProcess","spawn","data","str","operational","start","last","sleep"]}
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-ZW2R6VQE.mjs";import{h as r}from"./chunk-O2M3QKKS.mjs";var s=class{constructor(o){this.config=o}async fundAccount(o){let n=await t({aptosConfig:this.config,...o});return o.options?.waitForIndexer!==!1&&await r({aptosConfig:this.config,minimumLedgerVersion:BigInt(n.version),processorType:"fungible_asset_processor"}),n}};export{s as a};
2
- //# sourceMappingURL=chunk-VTPF7AYM.mjs.map
@@ -1,2 +0,0 @@
1
- import{spawn as n}from"child_process";import{platform as p}from"os";var i=class{async init(s){let{network:e,profile:r}=s,t=["aptos","init",`--network=${e??"local"}`,`--profile=${r??"default"}`];return this.runCommand(t)}async compile(s){let{packageDirectoryPath:e,namedAddresses:r}=s,t=["aptos","move","compile","--package-dir",e],a=this.parseNamedAddresses(r);return t.push(...this.prepareNamedAddresses(a)),this.runCommand(t)}async test(s){let{packageDirectoryPath:e,namedAddresses:r}=s,t=["aptos","move","test","--package-dir",e],a=this.parseNamedAddresses(r);return t.push(...this.prepareNamedAddresses(a)),this.runCommand(t)}async publish(s){let{packageDirectoryPath:e,namedAddresses:r,profile:t}=s,a=["aptos","move","publish","--package-dir",e,`--profile=${t??"default"}`],d=this.parseNamedAddresses(r);return a.push(...this.prepareNamedAddresses(d)),this.runCommand(a)}async createObjectAndPublishPackage(s){let{packageDirectoryPath:e,addressName:r,namedAddresses:t,profile:a}=s,d=["aptos","move","create-object-and-publish-package","--package-dir",e,"--address-name",r,`--profile=${a??"default"}`],o=this.parseNamedAddresses(t);d.push(...this.prepareNamedAddresses(o));let c=await this.runCommand(d);return{objectAddress:this.extractAddressFromOutput(c.output)}}async upgradeObjectPackage(s){let{packageDirectoryPath:e,objectAddress:r,namedAddresses:t,profile:a}=s,d=["aptos","move","upgrade-object-package","--package-dir",e,"--object-address",r,`--profile=${a??"default"}`],o=this.parseNamedAddresses(t);return d.push(...this.prepareNamedAddresses(o)),this.runCommand(d)}async runScript(s){let{compiledScriptPath:e,profile:r}=s,t=["aptos","move","run-script","--compiled-script-path",e,`--profile=${r??"default"}`];return this.runCommand(t)}async runCommand(s){return new Promise((e,r)=>{let t=p(),a,d="";t==="win32"?a=n("npx",s,{shell:!0}):a=n("npx",s),a.stdout.on("data",o=>{d+=o.toString()}),a.stdout.pipe(process.stdout),a.stderr.pipe(process.stderr),process.stdin.pipe(a.stdin),a.on("close",o=>{o===0?e({output:d}):r(new Error(`Child process exited with code ${o}`))})})}prepareNamedAddresses(s){let e=s.size,r=[];if(e===0)return r;r.push("--named-addresses");let t=[];return s.forEach((a,d)=>{let o=`${d}=${a.toString()}`;t.push(o)}),r.push(t.join(",")),r}parseNamedAddresses(s){let e=new Map;return Object.keys(s).forEach(r=>{let t=s[r];e.set(r,t)}),e}extractAddressFromOutput(s){let e=s.match("Code was successfully deployed to object address (0x[0-9a-fA-F]+)\\.");if(e)return e[1];throw new Error("Failed to extract object address from output")}};export{i as a};
2
- //# sourceMappingURL=chunk-Y5VJSCVY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cli/move.ts"],"sourcesContent":["import { spawn } from \"child_process\";\nimport { platform } from \"os\";\n\nimport { AccountAddress } from \"../core\";\nimport { Network } from \"../utils\";\n\nexport class Move {\n /**\n * Function to initialize current directory for Aptos\n *\n * Configuration will be pushed into .aptos/config.yaml\n * @param args.network optional Network type argument to use for default settings, default is local\n * @param args.profile optional Profile to use from the config file, default is 'default'\n * This will be used to override associated settings such as the REST URL, the Faucet URL, and the private key arguments.\n *\n * @returns stdout\n */\n async init(args: { network?: Network; profile?: string }): Promise<{ output: string }> {\n const { network, profile } = args;\n const cliArgs = [\"aptos\", \"init\", `--network=${network ?? \"local\"}`, `--profile=${profile ?? \"default\"}`];\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to compile a package\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n *\n * @returns stdout\n */\n async compile(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses } = args;\n const cliArgs = [\"aptos\", \"move\", \"compile\", \"--package-dir\", packageDirectoryPath];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to run Move unit tests for a package\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n *\n * @returns stdout\n */\n async test(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses } = args;\n const cliArgs = [\"aptos\", \"move\", \"test\", \"--package-dir\", packageDirectoryPath];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to publish the modules to the publisher account on the Aptos blockchain\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n *\n * @returns stdout\n */\n async publish(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, profile } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"publish\",\n \"--package-dir\",\n packageDirectoryPath,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to create a new object and publish the Move package to it on the Aptos blockchain\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.addressName Address name for the Move package\n * @example\n * MoonCoin, please find the actual address name in Move.toml\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n *\n * A complete example in cli\n * aptos move create-object-and-publish-package \\\n * --package-dir path_to_directory_that_has_move.toml \\\n * --address-name launchpad_addr \\\n * --named-addresses \"launchpad_addr=0x123,initial_creator_addr=0x456\"\\\n * --profile my_profile \\\n * --assume-yes\n * @returns object address\n */\n async createObjectAndPublishPackage(args: {\n packageDirectoryPath: string;\n addressName: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n }): Promise<{ objectAddress: string }> {\n const { packageDirectoryPath, addressName, namedAddresses, profile } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"create-object-and-publish-package\",\n \"--package-dir\",\n packageDirectoryPath,\n \"--address-name\",\n addressName,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n const result = await this.runCommand(cliArgs);\n return { objectAddress: this.extractAddressFromOutput(result.output) };\n }\n\n /**\n * Function to upgrade a Move package previously published to an object on the Aptos blockchain\n * Caller must be the object owner to call this function\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.objectAddress Address of the object that the Move package published to\n * @example\n * 0x1000\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n *\n * @returns stdout\n */\n async upgradeObjectPackage(args: {\n packageDirectoryPath: string;\n objectAddress: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, objectAddress, namedAddresses, profile } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"upgrade-object-package\",\n \"--package-dir\",\n packageDirectoryPath,\n \"--object-address\",\n objectAddress,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to run a Move script, please run compile before running this\n *\n * @param args.compiledScriptPath Path to a compiled Move script bytecode file\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * build/my_package/bytecode_scripts/my_move_script.mv\n * @param args.profile optional Profile to use from the config file.\n *\n * @returns stdout\n */\n async runScript(args: { compiledScriptPath: string; profile?: string }): Promise<{ output: string }> {\n const { compiledScriptPath, profile } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"run-script\",\n \"--compiled-script-path\",\n compiledScriptPath,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Run a move command\n *\n * @param args\n * @returns stdout\n */\n // eslint-disable-next-line class-methods-use-this\n private async runCommand(args: Array<string>): Promise<{ output: string }> {\n return new Promise((resolve, reject) => {\n const currentPlatform = platform();\n let childProcess;\n let stdout = \"\";\n\n // Check if current OS is windows\n if (currentPlatform === \"win32\") {\n childProcess = spawn(\"npx\", args, { shell: true });\n } else {\n childProcess = spawn(\"npx\", args);\n }\n\n childProcess.stdout.on(\"data\", (data) => {\n stdout += data.toString();\n });\n\n childProcess.stdout.pipe(process.stdout);\n childProcess.stderr.pipe(process.stderr);\n process.stdin.pipe(childProcess.stdin);\n\n childProcess.on(\"close\", (code) => {\n if (code === 0) {\n resolve({ output: stdout }); // Resolve with stdout if the child process exits successfully\n } else {\n reject(new Error(`Child process exited with code ${code}`)); // Reject with an error if the child process exits with an error code\n }\n });\n });\n }\n\n /**\n * Convert named addresses from a Map into an array seperated by a comma\n *\n * @example\n * input: {'alice' => '0x123', 'bob' => '0x456'}\n * output: \"alice=0x123,bob=0x456\"\n *\n * @param namedAddresses\n * @returns An array of names addresses seperated by a comma\n */\n // eslint-disable-next-line class-methods-use-this\n private prepareNamedAddresses(namedAddresses: Map<string, AccountAddress>): Array<string> {\n const totalNames = namedAddresses.size;\n const newArgs: Array<string> = [];\n\n if (totalNames === 0) {\n return newArgs;\n }\n\n newArgs.push(\"--named-addresses\");\n\n const names: Array<string> = [];\n namedAddresses.forEach((value, key) => {\n const toAppend = `${key}=${value.toString()}`;\n names.push(toAppend);\n });\n newArgs.push(names.join(\",\"));\n return newArgs;\n }\n\n /**\n * Parse named addresses from a Record type into a Map\n *\n * @param namedAddresses\n * @returns Map<name,address>\n */\n // eslint-disable-next-line class-methods-use-this\n private parseNamedAddresses(namedAddresses: Record<string, AccountAddress>): Map<string, AccountAddress> {\n const addressesMap = new Map();\n\n Object.keys(namedAddresses).forEach((key) => {\n const address = namedAddresses[key];\n addressesMap.set(key, address);\n });\n\n return addressesMap;\n }\n\n /**\n * Extract object address from the output\n *\n * @param output\n * @returns object address\n */\n // eslint-disable-next-line class-methods-use-this\n private extractAddressFromOutput(output: string): string {\n const match = output.match(\"Code was successfully deployed to object address (0x[0-9a-fA-F]+)\\\\.\");\n if (match) {\n return match[1];\n }\n throw new Error(\"Failed to extract object address from output\");\n }\n}\n"],"mappings":"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","names":["spawn","platform","Move","args","network","profile","cliArgs","packageDirectoryPath","namedAddresses","addressesMap","addressName","result","objectAddress","compiledScriptPath","resolve","reject","currentPlatform","childProcess","stdout","data","code","totalNames","newArgs","names","value","key","toAppend","address","output","match"]}