@aptos-labs/ts-sdk 0.0.8 → 1.1.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 (296) hide show
  1. package/README.md +17 -17
  2. package/dist/browser/index.d.ts +528 -209
  3. package/dist/browser/index.global.js +25 -25
  4. package/dist/browser/index.global.js.map +1 -1
  5. package/dist/common/index.d.ts +528 -209
  6. package/dist/common/index.js +26 -26
  7. package/dist/common/index.js.map +1 -1
  8. package/dist/esm/api/account.mjs +1 -1
  9. package/dist/esm/api/ans.d.mts +9 -9
  10. package/dist/esm/api/ans.mjs +1 -1
  11. package/dist/esm/api/aptos.d.mts +4 -11
  12. package/dist/esm/api/aptos.mjs +1 -1
  13. package/dist/esm/api/coin.d.mts +3 -3
  14. package/dist/esm/api/coin.mjs +1 -1
  15. package/dist/esm/api/digitalAsset.d.mts +317 -73
  16. package/dist/esm/api/digitalAsset.mjs +1 -1
  17. package/dist/esm/api/event.mjs +1 -1
  18. package/dist/esm/api/faucet.mjs +1 -1
  19. package/dist/esm/api/fungibleAsset.d.mts +3 -3
  20. package/dist/esm/api/fungibleAsset.mjs +1 -1
  21. package/dist/esm/api/general.mjs +1 -1
  22. package/dist/esm/api/index.d.mts +0 -2
  23. package/dist/esm/api/index.mjs +1 -1
  24. package/dist/esm/api/staking.mjs +1 -1
  25. package/dist/esm/api/transaction.d.mts +118 -13
  26. package/dist/esm/api/transaction.mjs +1 -1
  27. package/dist/esm/api/transactionSubmission/build.d.mts +25 -4
  28. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  29. package/dist/esm/api/transactionSubmission/helpers.d.mts +4 -0
  30. package/dist/esm/api/transactionSubmission/helpers.mjs +2 -0
  31. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  32. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  33. package/dist/esm/api/transactionSubmission/simulate.d.mts +23 -2
  34. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  35. package/dist/esm/api/transactionSubmission/submit.d.mts +21 -2
  36. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  37. package/dist/esm/api/utils.mjs +1 -1
  38. package/dist/esm/bcs/index.mjs +1 -1
  39. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  40. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  41. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  42. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  43. package/dist/esm/bcs/serializer.mjs +1 -1
  44. package/dist/esm/{chunk-ZJUDDSWN.mjs → chunk-2HBIGMDV.mjs} +2 -2
  45. package/dist/esm/{chunk-GIZLK7M7.mjs → chunk-3O4GKLXA.mjs} +2 -2
  46. package/dist/esm/chunk-3O4GKLXA.mjs.map +1 -0
  47. package/dist/esm/{chunk-CJPCOS4R.mjs → chunk-3QS3MFWJ.mjs} +2 -2
  48. package/dist/esm/{chunk-AZUWHKN5.mjs → chunk-4K252UDE.mjs} +2 -2
  49. package/dist/esm/{chunk-MWAMLQ25.mjs → chunk-4TIQQKXV.mjs} +2 -2
  50. package/dist/esm/{chunk-GMG4VR3K.mjs → chunk-4VG7DV6F.mjs} +2 -2
  51. package/dist/esm/{chunk-CCXMVVXD.mjs → chunk-4ZYW3BPF.mjs} +2 -2
  52. package/dist/esm/chunk-4ZYW3BPF.mjs.map +1 -0
  53. package/dist/esm/{chunk-UW6HQ643.mjs → chunk-5HZKDT5C.mjs} +2 -2
  54. package/dist/esm/{chunk-73VWOS4Z.mjs → chunk-6DYNAFAP.mjs} +2 -2
  55. package/dist/esm/chunk-6EMN3BOV.mjs +2 -0
  56. package/dist/esm/chunk-6EMN3BOV.mjs.map +1 -0
  57. package/dist/esm/{chunk-HTI5LEST.mjs → chunk-6F4ACCCZ.mjs} +2 -2
  58. package/dist/esm/chunk-6MKBROIC.mjs +2 -0
  59. package/dist/esm/chunk-6MKBROIC.mjs.map +1 -0
  60. package/dist/esm/{chunk-53DS6NBQ.mjs → chunk-7B3VSBCX.mjs} +2 -2
  61. package/dist/esm/{chunk-F7EWDYTE.mjs → chunk-7QJYTQSU.mjs} +2 -2
  62. package/dist/esm/{chunk-OZZDXS26.mjs → chunk-AS7RX4RK.mjs} +2 -2
  63. package/dist/esm/chunk-AS7RX4RK.mjs.map +1 -0
  64. package/dist/esm/{chunk-GEZSEAL5.mjs → chunk-BUM2FIHF.mjs} +2 -2
  65. package/dist/esm/chunk-BV6SCEXY.mjs +2 -0
  66. package/dist/esm/chunk-BV6SCEXY.mjs.map +1 -0
  67. package/dist/esm/chunk-C3Y52GHM.mjs +2 -0
  68. package/dist/esm/chunk-C3Y52GHM.mjs.map +1 -0
  69. package/dist/esm/{chunk-OBOOY2QD.mjs → chunk-D2XLC3KK.mjs} +2 -2
  70. package/dist/esm/chunk-EHJEK7FU.mjs +2 -0
  71. package/dist/esm/chunk-EMQWD6KP.mjs +2 -0
  72. package/dist/esm/chunk-EMQWD6KP.mjs.map +1 -0
  73. package/dist/esm/{chunk-PL2VA73L.mjs → chunk-F2GFSFPW.mjs} +2 -2
  74. package/dist/esm/{chunk-GXPGRCSW.mjs → chunk-F52GIFKT.mjs} +2 -2
  75. package/dist/esm/{chunk-QNTV5NMH.mjs → chunk-FGTQT7Q5.mjs} +2 -2
  76. package/dist/esm/{chunk-RCM3K5JL.mjs → chunk-GQI3HWOB.mjs} +2 -2
  77. package/dist/esm/chunk-HDNJ4JK4.mjs +2 -0
  78. package/dist/esm/chunk-HDNJ4JK4.mjs.map +1 -0
  79. package/dist/esm/{chunk-2SAKPC5Q.mjs → chunk-HQ4DGB7L.mjs} +2 -2
  80. package/dist/esm/{chunk-KNMWDGP4.mjs → chunk-IEL6J6Z3.mjs} +2 -2
  81. package/dist/esm/{chunk-NZSGGL25.mjs → chunk-IPW2YTRD.mjs} +2 -2
  82. package/dist/esm/{chunk-F6K26WV5.mjs → chunk-IU5JZNH4.mjs} +2 -2
  83. package/dist/esm/{chunk-Y6PVFMBS.mjs → chunk-KH3M3YPI.mjs} +2 -2
  84. package/dist/esm/chunk-KSWQZKMQ.mjs +2 -0
  85. package/dist/esm/chunk-KSWQZKMQ.mjs.map +1 -0
  86. package/dist/esm/{chunk-5OPOJ43H.mjs → chunk-KVJ2KGMW.mjs} +2 -2
  87. package/dist/esm/{chunk-TZ623H2V.mjs → chunk-LUCDRB52.mjs} +2 -2
  88. package/dist/esm/chunk-LUCDRB52.mjs.map +1 -0
  89. package/dist/esm/{chunk-WTGGCH34.mjs → chunk-N25GOEVL.mjs} +2 -2
  90. package/dist/esm/{chunk-CU2DINU4.mjs → chunk-NLONZHYT.mjs} +2 -2
  91. package/dist/esm/{chunk-FZ56IS3E.mjs → chunk-NMFS5KAE.mjs} +2 -2
  92. package/dist/esm/chunk-NZ6RYGJQ.mjs +2 -0
  93. package/dist/esm/chunk-NZ6RYGJQ.mjs.map +1 -0
  94. package/dist/esm/chunk-OU4MEM5F.mjs +2 -0
  95. package/dist/esm/chunk-OU4MEM5F.mjs.map +1 -0
  96. package/dist/esm/{chunk-KZSJ5MFF.mjs → chunk-OWP2MKTX.mjs} +2 -2
  97. package/dist/esm/{chunk-QCBIJCU4.mjs → chunk-OXO3Z2MF.mjs} +2 -2
  98. package/dist/esm/{chunk-CL5B2QNS.mjs → chunk-PANYJULW.mjs} +2 -2
  99. package/dist/esm/{chunk-QEXAMHPU.mjs → chunk-PJMRQLJ5.mjs} +2 -2
  100. package/dist/esm/chunk-PJMRQLJ5.mjs.map +1 -0
  101. package/dist/esm/{chunk-XMUUI6HG.mjs → chunk-PRKZ2KJ4.mjs} +2 -2
  102. package/dist/esm/{chunk-SGTFMSOG.mjs → chunk-R3SAAJ2N.mjs} +2 -2
  103. package/dist/esm/{chunk-VQ7LYNMD.mjs → chunk-R4APGSSC.mjs} +2 -2
  104. package/dist/esm/{chunk-3F5WV6US.mjs → chunk-RCYWJZR4.mjs} +2 -2
  105. package/dist/esm/chunk-SI6QMT4N.mjs +2 -0
  106. package/dist/esm/chunk-SI6QMT4N.mjs.map +1 -0
  107. package/dist/esm/{chunk-SSJQOXEP.mjs → chunk-SMN2QQ4Q.mjs} +2 -2
  108. package/dist/esm/chunk-SMN2QQ4Q.mjs.map +1 -0
  109. package/dist/esm/chunk-SODP7NAK.mjs +2 -0
  110. package/dist/esm/{chunk-SDPICQ5B.mjs.map → chunk-SODP7NAK.mjs.map} +1 -1
  111. package/dist/esm/{chunk-OT2UDMUU.mjs → chunk-SR7XLV76.mjs} +2 -2
  112. package/dist/esm/{chunk-APSQ4M23.mjs → chunk-T3ID6KFN.mjs} +2 -2
  113. package/dist/esm/{chunk-5UY5OKXR.mjs → chunk-TCSN7PYL.mjs} +2 -2
  114. package/dist/esm/chunk-TCSN7PYL.mjs.map +1 -0
  115. package/dist/esm/chunk-TTDCRLRD.mjs +2 -0
  116. package/dist/esm/chunk-TTDCRLRD.mjs.map +1 -0
  117. package/dist/esm/{chunk-G36AY4R7.mjs → chunk-UR5E2UDO.mjs} +2 -2
  118. package/dist/esm/{chunk-JI2BBZ2W.mjs → chunk-UZB7CTLX.mjs} +2 -2
  119. package/dist/esm/chunk-VA4K6DEK.mjs +2 -0
  120. package/dist/esm/chunk-VA4K6DEK.mjs.map +1 -0
  121. package/dist/esm/{chunk-CLJLQXFQ.mjs → chunk-VBUKPN4Q.mjs} +2 -2
  122. package/dist/esm/chunk-VBUKPN4Q.mjs.map +1 -0
  123. package/dist/esm/{chunk-XITLXPBK.mjs → chunk-VMCFN5CT.mjs} +2 -2
  124. package/dist/esm/{chunk-SRGPSANH.mjs → chunk-YLI6J47P.mjs} +2 -2
  125. package/dist/esm/chunk-YLPG6XMH.mjs +2 -0
  126. package/dist/esm/chunk-YLPG6XMH.mjs.map +1 -0
  127. package/dist/esm/{chunk-HC5VMNXA.mjs → chunk-ZLYSA7JR.mjs} +2 -2
  128. package/dist/esm/client/core.mjs +1 -1
  129. package/dist/esm/client/get.mjs +1 -1
  130. package/dist/esm/client/index.mjs +1 -1
  131. package/dist/esm/client/post.mjs +1 -1
  132. package/dist/esm/core/account.d.mts +2 -2
  133. package/dist/esm/core/account.mjs +1 -1
  134. package/dist/esm/core/accountAddress.mjs +1 -1
  135. package/dist/esm/core/authenticationKey.mjs +1 -1
  136. package/dist/esm/core/crypto/anyPublicKey.mjs +1 -1
  137. package/dist/esm/core/crypto/anySignature.mjs +1 -1
  138. package/dist/esm/core/crypto/asymmetricCrypto.mjs +1 -1
  139. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  140. package/dist/esm/core/crypto/index.mjs +1 -1
  141. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  142. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  143. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  144. package/dist/esm/core/index.mjs +1 -1
  145. package/dist/esm/index.d.mts +1 -3
  146. package/dist/esm/index.mjs +1 -1
  147. package/dist/esm/internal/account.d.mts +1 -1
  148. package/dist/esm/internal/account.mjs +1 -1
  149. package/dist/esm/internal/ans.d.mts +5 -5
  150. package/dist/esm/internal/ans.mjs +1 -1
  151. package/dist/esm/internal/coin.d.mts +2 -2
  152. package/dist/esm/internal/coin.mjs +1 -1
  153. package/dist/esm/internal/digitalAsset.d.mts +151 -26
  154. package/dist/esm/internal/digitalAsset.mjs +1 -1
  155. package/dist/esm/internal/event.mjs +1 -1
  156. package/dist/esm/internal/faucet.mjs +1 -1
  157. package/dist/esm/internal/fungibleAsset.d.mts +12 -5
  158. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  159. package/dist/esm/internal/general.mjs +1 -1
  160. package/dist/esm/internal/staking.mjs +1 -1
  161. package/dist/esm/internal/transaction.mjs +1 -1
  162. package/dist/esm/internal/transactionSubmission.d.mts +6 -6
  163. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  164. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  165. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  166. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  167. package/dist/esm/transactions/index.d.mts +1 -1
  168. package/dist/esm/transactions/index.mjs +1 -1
  169. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  170. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  171. package/dist/esm/transactions/instances/index.mjs +1 -1
  172. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  173. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  174. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  175. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  176. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  177. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  178. package/dist/esm/transactions/management/index.mjs +1 -1
  179. package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
  180. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  181. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  182. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  183. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  184. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +2 -2
  185. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  186. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  187. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  188. package/dist/esm/transactions/types.d.mts +3 -3
  189. package/dist/esm/version.d.mts +1 -1
  190. package/dist/esm/version.mjs +1 -1
  191. package/package.json +4 -2
  192. package/src/api/ans.ts +9 -9
  193. package/src/api/aptos.ts +3 -28
  194. package/src/api/coin.ts +3 -3
  195. package/src/api/digitalAsset.ts +387 -88
  196. package/src/api/fungibleAsset.ts +3 -3
  197. package/src/api/transaction.ts +172 -2
  198. package/src/api/transactionSubmission/build.ts +25 -4
  199. package/src/api/transactionSubmission/helpers.ts +31 -0
  200. package/src/api/transactionSubmission/simulate.ts +26 -20
  201. package/src/api/transactionSubmission/submit.ts +24 -20
  202. package/src/client/core.ts +1 -1
  203. package/src/core/account.ts +2 -2
  204. package/src/internal/ans.ts +5 -5
  205. package/src/internal/coin.ts +2 -2
  206. package/src/internal/digitalAsset.ts +482 -58
  207. package/src/internal/fungibleAsset.ts +2 -2
  208. package/src/internal/transactionSubmission.ts +6 -6
  209. package/src/transactions/management/transactionWorker.ts +2 -9
  210. package/src/transactions/transactionBuilder/remoteAbi.ts +13 -5
  211. package/src/transactions/transactionBuilder/transactionBuilder.ts +2 -4
  212. package/src/transactions/typeTag/index.ts +1 -0
  213. package/src/transactions/types.ts +2 -2
  214. package/src/version.ts +1 -1
  215. package/dist/esm/api/transactionSubmission.d.mts +0 -113
  216. package/dist/esm/api/transactionSubmission.mjs +0 -2
  217. package/dist/esm/chunk-2YQXX64E.mjs +0 -2
  218. package/dist/esm/chunk-2YQXX64E.mjs.map +0 -1
  219. package/dist/esm/chunk-5CUNY7X2.mjs +0 -2
  220. package/dist/esm/chunk-5CUNY7X2.mjs.map +0 -1
  221. package/dist/esm/chunk-5UY5OKXR.mjs.map +0 -1
  222. package/dist/esm/chunk-5ZVCSKFX.mjs +0 -2
  223. package/dist/esm/chunk-5ZVCSKFX.mjs.map +0 -1
  224. package/dist/esm/chunk-CCXMVVXD.mjs.map +0 -1
  225. package/dist/esm/chunk-CLJLQXFQ.mjs.map +0 -1
  226. package/dist/esm/chunk-EFRFDFS4.mjs +0 -2
  227. package/dist/esm/chunk-EFRFDFS4.mjs.map +0 -1
  228. package/dist/esm/chunk-GIZLK7M7.mjs.map +0 -1
  229. package/dist/esm/chunk-IELTCGLP.mjs +0 -2
  230. package/dist/esm/chunk-IELTCGLP.mjs.map +0 -1
  231. package/dist/esm/chunk-KKER5KL4.mjs +0 -2
  232. package/dist/esm/chunk-KKER5KL4.mjs.map +0 -1
  233. package/dist/esm/chunk-OZZDXS26.mjs.map +0 -1
  234. package/dist/esm/chunk-P5747ZYC.mjs +0 -2
  235. package/dist/esm/chunk-P5747ZYC.mjs.map +0 -1
  236. package/dist/esm/chunk-PXTMLJKO.mjs +0 -2
  237. package/dist/esm/chunk-QEXAMHPU.mjs.map +0 -1
  238. package/dist/esm/chunk-RLG3WOTH.mjs +0 -2
  239. package/dist/esm/chunk-RLG3WOTH.mjs.map +0 -1
  240. package/dist/esm/chunk-SDPICQ5B.mjs +0 -2
  241. package/dist/esm/chunk-SO6EE5DX.mjs +0 -2
  242. package/dist/esm/chunk-SO6EE5DX.mjs.map +0 -1
  243. package/dist/esm/chunk-SSJQOXEP.mjs.map +0 -1
  244. package/dist/esm/chunk-TZ623H2V.mjs.map +0 -1
  245. package/dist/esm/chunk-UKSA4H2O.mjs +0 -2
  246. package/dist/esm/chunk-UKSA4H2O.mjs.map +0 -1
  247. package/dist/esm/chunk-UWXDXOFK.mjs +0 -2
  248. package/dist/esm/chunk-UWXDXOFK.mjs.map +0 -1
  249. package/dist/esm/chunk-XX2Z26FH.mjs +0 -2
  250. package/dist/esm/chunk-XX2Z26FH.mjs.map +0 -1
  251. package/dist/esm/chunk-YN6UIVFB.mjs +0 -2
  252. package/dist/esm/chunk-YN6UIVFB.mjs.map +0 -1
  253. package/dist/esm/chunk-ZFK7QD3B.mjs +0 -2
  254. package/dist/esm/chunk-ZFK7QD3B.mjs.map +0 -1
  255. package/src/api/transactionSubmission.ts +0 -121
  256. /package/dist/esm/api/{transactionSubmission.mjs.map → transactionSubmission/helpers.mjs.map} +0 -0
  257. /package/dist/esm/{chunk-ZJUDDSWN.mjs.map → chunk-2HBIGMDV.mjs.map} +0 -0
  258. /package/dist/esm/{chunk-CJPCOS4R.mjs.map → chunk-3QS3MFWJ.mjs.map} +0 -0
  259. /package/dist/esm/{chunk-AZUWHKN5.mjs.map → chunk-4K252UDE.mjs.map} +0 -0
  260. /package/dist/esm/{chunk-MWAMLQ25.mjs.map → chunk-4TIQQKXV.mjs.map} +0 -0
  261. /package/dist/esm/{chunk-GMG4VR3K.mjs.map → chunk-4VG7DV6F.mjs.map} +0 -0
  262. /package/dist/esm/{chunk-UW6HQ643.mjs.map → chunk-5HZKDT5C.mjs.map} +0 -0
  263. /package/dist/esm/{chunk-73VWOS4Z.mjs.map → chunk-6DYNAFAP.mjs.map} +0 -0
  264. /package/dist/esm/{chunk-HTI5LEST.mjs.map → chunk-6F4ACCCZ.mjs.map} +0 -0
  265. /package/dist/esm/{chunk-53DS6NBQ.mjs.map → chunk-7B3VSBCX.mjs.map} +0 -0
  266. /package/dist/esm/{chunk-F7EWDYTE.mjs.map → chunk-7QJYTQSU.mjs.map} +0 -0
  267. /package/dist/esm/{chunk-GEZSEAL5.mjs.map → chunk-BUM2FIHF.mjs.map} +0 -0
  268. /package/dist/esm/{chunk-OBOOY2QD.mjs.map → chunk-D2XLC3KK.mjs.map} +0 -0
  269. /package/dist/esm/{chunk-PXTMLJKO.mjs.map → chunk-EHJEK7FU.mjs.map} +0 -0
  270. /package/dist/esm/{chunk-PL2VA73L.mjs.map → chunk-F2GFSFPW.mjs.map} +0 -0
  271. /package/dist/esm/{chunk-GXPGRCSW.mjs.map → chunk-F52GIFKT.mjs.map} +0 -0
  272. /package/dist/esm/{chunk-QNTV5NMH.mjs.map → chunk-FGTQT7Q5.mjs.map} +0 -0
  273. /package/dist/esm/{chunk-RCM3K5JL.mjs.map → chunk-GQI3HWOB.mjs.map} +0 -0
  274. /package/dist/esm/{chunk-2SAKPC5Q.mjs.map → chunk-HQ4DGB7L.mjs.map} +0 -0
  275. /package/dist/esm/{chunk-KNMWDGP4.mjs.map → chunk-IEL6J6Z3.mjs.map} +0 -0
  276. /package/dist/esm/{chunk-NZSGGL25.mjs.map → chunk-IPW2YTRD.mjs.map} +0 -0
  277. /package/dist/esm/{chunk-F6K26WV5.mjs.map → chunk-IU5JZNH4.mjs.map} +0 -0
  278. /package/dist/esm/{chunk-Y6PVFMBS.mjs.map → chunk-KH3M3YPI.mjs.map} +0 -0
  279. /package/dist/esm/{chunk-5OPOJ43H.mjs.map → chunk-KVJ2KGMW.mjs.map} +0 -0
  280. /package/dist/esm/{chunk-WTGGCH34.mjs.map → chunk-N25GOEVL.mjs.map} +0 -0
  281. /package/dist/esm/{chunk-CU2DINU4.mjs.map → chunk-NLONZHYT.mjs.map} +0 -0
  282. /package/dist/esm/{chunk-FZ56IS3E.mjs.map → chunk-NMFS5KAE.mjs.map} +0 -0
  283. /package/dist/esm/{chunk-KZSJ5MFF.mjs.map → chunk-OWP2MKTX.mjs.map} +0 -0
  284. /package/dist/esm/{chunk-QCBIJCU4.mjs.map → chunk-OXO3Z2MF.mjs.map} +0 -0
  285. /package/dist/esm/{chunk-CL5B2QNS.mjs.map → chunk-PANYJULW.mjs.map} +0 -0
  286. /package/dist/esm/{chunk-XMUUI6HG.mjs.map → chunk-PRKZ2KJ4.mjs.map} +0 -0
  287. /package/dist/esm/{chunk-SGTFMSOG.mjs.map → chunk-R3SAAJ2N.mjs.map} +0 -0
  288. /package/dist/esm/{chunk-VQ7LYNMD.mjs.map → chunk-R4APGSSC.mjs.map} +0 -0
  289. /package/dist/esm/{chunk-3F5WV6US.mjs.map → chunk-RCYWJZR4.mjs.map} +0 -0
  290. /package/dist/esm/{chunk-OT2UDMUU.mjs.map → chunk-SR7XLV76.mjs.map} +0 -0
  291. /package/dist/esm/{chunk-APSQ4M23.mjs.map → chunk-T3ID6KFN.mjs.map} +0 -0
  292. /package/dist/esm/{chunk-G36AY4R7.mjs.map → chunk-UR5E2UDO.mjs.map} +0 -0
  293. /package/dist/esm/{chunk-JI2BBZ2W.mjs.map → chunk-UZB7CTLX.mjs.map} +0 -0
  294. /package/dist/esm/{chunk-XITLXPBK.mjs.map → chunk-VMCFN5CT.mjs.map} +0 -0
  295. /package/dist/esm/{chunk-SRGPSANH.mjs.map → chunk-YLI6J47P.mjs.map} +0 -0
  296. /package/dist/esm/{chunk-HC5VMNXA.mjs.map → chunk-ZLYSA7JR.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internal/ans.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/name}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * name namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { Account, AccountAddress, AccountAddressInput } from \"../core\";\nimport { InputGenerateTransactionOptions, SingleSignerTransaction } from \"../transactions/types\";\nimport { GetANSNameResponse, MoveAddressType, MoveValue, OrderByArg, PaginationArgs, WhereArg } from \"../types\";\nimport { GetNamesQuery } from \"../types/generated/operations\";\nimport { GetNames } from \"../types/generated/queries\";\nimport { CurrentAptosNamesBoolExp } from \"../types/generated/types\";\nimport { Network } from \"../utils/apiEndpoints\";\nimport { queryIndexer, view } from \"./general\";\nimport { generateTransaction } from \"./transactionSubmission\";\n\nexport const VALIDATION_RULES_DESCRIPTION = [\n \"A name must be between 3 and 63 characters long,\",\n \"and can only contain lowercase a-z, 0-9, and hyphens.\",\n \"A name may not start or end with a hyphen.\",\n].join(\" \");\n\n/**\n *\n * @param fragment A fragment of a name, either the domain or subdomain\n * @returns boolean indicating if the fragment is a valid fragment\n */\nexport function isValidANSSegment(fragment: string): boolean {\n if (!fragment) return false;\n if (fragment.length < 3) return false;\n if (fragment.length > 63) return false;\n // only lowercase a-z and 0-9 are allowed, along with -. a domain may not start or end with a hyphen\n if (!/^[a-z\\d][a-z\\d-]{1,61}[a-z\\d]$/.test(fragment)) return false;\n return true;\n}\n\n/**\n * Checks if an ANS name is valid or not\n *\n * @param name A string of the domain name, can include or exclude the .apt suffix\n */\nexport function isValidANSName(name: string): { domainName: string; subdomainName?: string } {\n const [first, second, ...rest] = name.replace(/\\.apt$/, \"\").split(\".\");\n\n if (rest.length > 0) {\n throw new Error(`${name} is invalid. A name can only have two parts, a domain and a subdomain separated by a \".\"`);\n }\n\n if (!isValidANSSegment(first)) {\n throw new Error(`${first} is not valid. ${VALIDATION_RULES_DESCRIPTION}`);\n }\n\n if (second && !isValidANSSegment(second)) {\n throw new Error(`${second} is not valid. ${VALIDATION_RULES_DESCRIPTION}`);\n }\n\n return {\n domainName: second || first,\n subdomainName: second ? first : undefined,\n };\n}\n\nexport const LOCAL_ANS_ACCOUNT_PK =\n process.env.ANS_TEST_ACCOUNT_PRIVATE_KEY ?? \"0x37368b46ce665362562c6d1d4ec01a08c8644c488690df5a17e13ba163e20221\";\nexport const LOCAL_ANS_ACCOUNT_ADDRESS =\n process.env.ANS_TEST_ACCOUNT_ADDRESS ?? \"0x585fc9f0f0c54183b039ffc770ca282ebd87307916c215a3e692f2f8e4305e82\";\n\nconst NetworkToAnsContract: Record<Network, string | null> = {\n [Network.TESTNET]: \"0x5f8fd2347449685cf41d4db97926ec3a096eaf381332be4f1318ad4d16a8497c\",\n [Network.MAINNET]: \"0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c\",\n [Network.LOCAL]: LOCAL_ANS_ACCOUNT_ADDRESS,\n [Network.CUSTOM]: null,\n [Network.DEVNET]: null,\n};\n\nfunction getRouterAddress(aptosConfig: AptosConfig): string {\n const address = NetworkToAnsContract[aptosConfig.network];\n if (!address) throw new Error(`The ANS contract is not deployed to ${aptosConfig.network}`);\n return address;\n}\n\nconst Some = <T>(value: T): MoveValue => ({ vec: [value] });\nconst None = (): MoveValue => ({ vec: [] });\n// != here is intentional, we want to check for null and undefined\n// eslint-disable-next-line eqeqeq\nconst Option = <T>(value: T | undefined | null): MoveValue => (value != undefined ? Some(value) : None());\n\nconst unwrapOption = <T>(option: any): T | undefined => {\n if (!!option && typeof option === \"object\" && \"vec\" in option && Array.isArray(option.vec)) {\n return option.vec[0];\n }\n\n return undefined;\n};\n\nexport async function getOwnerAddress(args: { aptosConfig: AptosConfig; name: string }): Promise<string | undefined> {\n const { aptosConfig, name } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n const { domainName, subdomainName } = isValidANSName(name);\n\n const res = await view({\n aptosConfig,\n payload: {\n function: `${routerAddress}::router::get_owner_addr`,\n functionArguments: [domainName, Option(subdomainName)],\n },\n });\n\n const owner = unwrapOption<MoveAddressType>(res[0]);\n\n return owner ? AccountAddress.from(owner).toString() : undefined;\n}\n\nexport interface RegisterNameParameters {\n aptosConfig: AptosConfig;\n sender: Account;\n name: string;\n expiration:\n | { policy: \"domain\"; years?: 1 }\n | { policy: \"subdomain:follow-domain\" }\n | { policy: \"subdomain:independent\"; expirationDate: number };\n transferable?: boolean;\n toAddress?: AccountAddressInput;\n targetAddress?: AccountAddressInput;\n options?: InputGenerateTransactionOptions;\n}\n\nexport async function registerName(args: RegisterNameParameters): Promise<SingleSignerTransaction> {\n const { aptosConfig, expiration, name, sender, targetAddress, toAddress, options, transferable } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n const { domainName, subdomainName } = isValidANSName(name);\n\n const hasSubdomainPolicy =\n expiration.policy === \"subdomain:independent\" || expiration.policy === \"subdomain:follow-domain\";\n\n if (subdomainName && !hasSubdomainPolicy) {\n throw new Error(\n \"Subdomains must have an expiration policy of either 'subdomain:independent' or 'subdomain:follow-domain'\",\n );\n }\n\n if (hasSubdomainPolicy && !subdomainName) {\n throw new Error(`Policy is set to ${expiration.policy} but no subdomain was provided`);\n }\n\n if (expiration.policy === \"domain\") {\n const years = expiration.years ?? 1;\n if (years !== 1) {\n throw new Error(\"For now, names can only be registered for 1 year at a time\");\n }\n\n const secondsInYear = 31536000;\n const registrationDuration = years * secondsInYear;\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress.toString(),\n data: {\n function: `${routerAddress}::router::register_domain`,\n functionArguments: [domainName, registrationDuration, targetAddress, toAddress],\n },\n options,\n });\n\n return transaction;\n }\n\n // We are a subdomain\n if (!subdomainName) {\n throw new Error(`${expiration.policy} requires a subdomain to be provided.`);\n }\n\n const tldExpiration = await getExpiration({ aptosConfig, name: domainName });\n if (!tldExpiration) {\n throw new Error(\"The domain does not exist\");\n }\n\n const expirationDateInMillisecondsSinceEpoch =\n expiration.policy === \"subdomain:independent\" ? expiration.expirationDate : tldExpiration;\n\n if (expirationDateInMillisecondsSinceEpoch > tldExpiration) {\n throw new Error(\"The subdomain expiration time cannot be greater than the domain expiration time\");\n }\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress.toString(),\n data: {\n function: `${routerAddress}::router::register_subdomain`,\n functionArguments: [\n domainName,\n subdomainName,\n Math.round(expirationDateInMillisecondsSinceEpoch / 1000),\n expiration.policy === \"subdomain:follow-domain\" ? 1 : 0,\n !!transferable,\n targetAddress,\n toAddress,\n ],\n },\n options,\n });\n\n return transaction;\n}\n\nexport async function getExpiration(args: { aptosConfig: AptosConfig; name: string }): Promise<number | undefined> {\n const { aptosConfig, name } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n const { domainName, subdomainName } = isValidANSName(name);\n\n try {\n const res = await view({\n aptosConfig,\n payload: {\n function: `${routerAddress}::router::get_expiration`,\n functionArguments: [domainName, Option(subdomainName)],\n },\n });\n\n // Normalize expiration time from epoch seconds to epoch milliseconds\n return Number(res[0]) * 1000;\n } catch (e) {\n return undefined;\n }\n}\n\nexport async function getPrimaryName(args: {\n aptosConfig: AptosConfig;\n address: AccountAddressInput;\n}): Promise<string | undefined> {\n const { aptosConfig, address } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n\n const res = await view({\n aptosConfig,\n payload: {\n function: `${routerAddress}::router::get_primary_name`,\n functionArguments: [AccountAddress.from(address).toString()],\n },\n });\n\n const domainName = unwrapOption<MoveAddressType>(res[1]);\n const subdomainName = unwrapOption<MoveAddressType>(res[0]);\n\n if (!domainName) return undefined;\n\n return [subdomainName, domainName].filter(Boolean).join(\".\");\n}\n\nexport async function setPrimaryName(args: {\n aptosConfig: AptosConfig;\n sender: Account;\n name?: string;\n options?: InputGenerateTransactionOptions;\n}): Promise<SingleSignerTransaction> {\n const { aptosConfig, sender, name, options } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n\n if (!name) {\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress.toString(),\n data: {\n function: `${routerAddress}::router::clear_primary_name`,\n functionArguments: [],\n },\n options,\n });\n\n return transaction;\n }\n\n const { domainName, subdomainName } = isValidANSName(name);\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress.toString(),\n data: {\n function: `${routerAddress}::router::set_primary_name`,\n functionArguments: [domainName, subdomainName],\n },\n options,\n });\n\n return transaction;\n}\n\nexport async function getTargetAddress(args: {\n aptosConfig: AptosConfig;\n name: string;\n}): Promise<MoveAddressType | undefined> {\n const { aptosConfig, name } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n const { domainName, subdomainName } = isValidANSName(name);\n\n const res = await view({\n aptosConfig,\n payload: {\n function: `${routerAddress}::router::get_target_addr`,\n functionArguments: [domainName, Option(subdomainName)],\n },\n });\n\n const target = unwrapOption<MoveAddressType>(res[0]);\n return target ? AccountAddress.from(target).toString() : undefined;\n}\n\nexport async function setTargetAddress(args: {\n aptosConfig: AptosConfig;\n sender: Account;\n name: string;\n address: AccountAddressInput;\n options?: InputGenerateTransactionOptions;\n}): Promise<SingleSignerTransaction> {\n const { aptosConfig, sender, name, address, options } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n const { domainName, subdomainName } = isValidANSName(name);\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress.toString(),\n data: {\n function: `${routerAddress}::router::set_target_addr`,\n functionArguments: [domainName, subdomainName, address],\n },\n options,\n });\n\n return transaction;\n}\n\nexport async function getName(args: {\n aptosConfig: AptosConfig;\n name: string;\n}): Promise<GetANSNameResponse[0] | undefined> {\n const { aptosConfig, name } = args;\n const { domainName, subdomainName = \"\" } = isValidANSName(name);\n\n const where: CurrentAptosNamesBoolExp = {\n domain: { _eq: domainName },\n subdomain: { _eq: subdomainName },\n };\n\n const data = await queryIndexer<GetNamesQuery>({\n aptosConfig,\n query: {\n query: GetNames,\n variables: {\n where_condition: where,\n limit: 1,\n },\n },\n originMethod: \"getName\",\n });\n\n // Convert the expiration_timestamp from an ISO string to milliseconds since epoch\n let res = data.current_aptos_names[0];\n if (res) {\n res = sanitizeANSName(res);\n }\n\n return res;\n}\n\ninterface QueryNamesOptions {\n options?: PaginationArgs & OrderByArg<GetANSNameResponse[0]> & WhereArg<CurrentAptosNamesBoolExp>;\n}\n\nexport interface GetAccountNamesArgs extends QueryNamesOptions {\n accountAddress: AccountAddressInput;\n}\n\nexport async function getAccountNames(\n args: { aptosConfig: AptosConfig } & GetAccountNamesArgs,\n): Promise<GetANSNameResponse> {\n const { aptosConfig, options, accountAddress } = args;\n\n const expirationDate = await getANSExpirationDate({ aptosConfig });\n\n const data = await queryIndexer<GetNamesQuery>({\n aptosConfig,\n originMethod: \"getAccountNames\",\n query: {\n query: GetNames,\n variables: {\n limit: options?.limit,\n offset: options?.offset,\n order_by: options?.orderBy,\n where_condition: {\n ...(args.options?.where ?? {}),\n owner_address: { _eq: accountAddress.toString() },\n expiration_timestamp: { _gte: expirationDate },\n },\n },\n },\n });\n\n return data.current_aptos_names.map(sanitizeANSName);\n}\n\nexport interface GetAccountDomainsArgs extends QueryNamesOptions {\n accountAddress: AccountAddressInput;\n}\n\nexport async function getAccountDomains(\n args: { aptosConfig: AptosConfig } & GetAccountDomainsArgs,\n): Promise<GetANSNameResponse> {\n const { aptosConfig, options, accountAddress } = args;\n\n const expirationDate = await getANSExpirationDate({ aptosConfig });\n\n const data = await queryIndexer<GetNamesQuery>({\n aptosConfig,\n originMethod: \"getAccountDomains\",\n query: {\n query: GetNames,\n variables: {\n limit: options?.limit,\n offset: options?.offset,\n order_by: options?.orderBy,\n where_condition: {\n ...(args.options?.where ?? {}),\n owner_address: { _eq: accountAddress.toString() },\n expiration_timestamp: { _gte: expirationDate },\n subdomain: { _eq: \"\" },\n },\n },\n },\n });\n\n return data.current_aptos_names.map(sanitizeANSName);\n}\n\nexport interface GetAccountSubdomainsArgs extends QueryNamesOptions {\n accountAddress: AccountAddressInput;\n}\n\nexport async function getAccountSubdomains(\n args: { aptosConfig: AptosConfig } & GetAccountSubdomainsArgs,\n): Promise<GetANSNameResponse> {\n const { aptosConfig, options, accountAddress } = args;\n\n const expirationDate = await getANSExpirationDate({ aptosConfig });\n\n const data = await queryIndexer<GetNamesQuery>({\n aptosConfig,\n originMethod: \"getAccountSubdomains\",\n query: {\n query: GetNames,\n variables: {\n limit: options?.limit,\n offset: options?.offset,\n order_by: options?.orderBy,\n where_condition: {\n ...(args.options?.where ?? {}),\n owner_address: { _eq: accountAddress.toString() },\n expiration_timestamp: { _gte: expirationDate },\n subdomain: { _neq: \"\" },\n },\n },\n },\n });\n\n return data.current_aptos_names.map(sanitizeANSName);\n}\n\nexport interface GetDomainSubdomainsArgs extends QueryNamesOptions {\n domain: string;\n}\n\nexport async function getDomainSubdomains(\n args: { aptosConfig: AptosConfig } & GetDomainSubdomainsArgs,\n): Promise<GetANSNameResponse> {\n const { aptosConfig, options, domain } = args;\n\n const data = await queryIndexer<GetNamesQuery>({\n aptosConfig,\n originMethod: \"getDomainSubdomains\",\n query: {\n query: GetNames,\n variables: {\n limit: options?.limit,\n offset: options?.offset,\n order_by: options?.orderBy,\n where_condition: {\n ...(args.options?.where ?? {}),\n domain: { _eq: domain },\n subdomain: { _neq: \"\" },\n },\n },\n },\n });\n\n return data.current_aptos_names.map(sanitizeANSName);\n}\n\n/**\n * This function returns the expiration date in which a name is fully expired as\n * defined by the contract. The grace period allows for names to be past\n * expiration for a certain amount of time before they are released to the\n * public. The names will not function as normal, but the owner can renew\n * without others taking ownership of the name. At the time of writing, the\n * contract specified 30 days.\n *\n * @param args.aptosConfig an AptosConfig object\n * @returns\n */\nasync function getANSExpirationDate(args: { aptosConfig: AptosConfig }): Promise<string> {\n const { aptosConfig } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n\n const [gracePeriodInSeconds] = await view<[number]>({\n aptosConfig,\n payload: {\n function: `${routerAddress}::config::reregistration_grace_sec`,\n functionArguments: [],\n },\n });\n\n const gracePeriodInDays = gracePeriodInSeconds / 60 / 60 / 24;\n const now = () => new Date();\n return new Date(now().setDate(now().getDate() - gracePeriodInDays)).toISOString();\n}\n\nexport async function renewDomain(args: {\n aptosConfig: AptosConfig;\n sender: Account;\n name: string;\n years?: 1;\n options?: InputGenerateTransactionOptions;\n}): Promise<SingleSignerTransaction> {\n const { aptosConfig, sender, name, years = 1, options } = args;\n const routerAddress = getRouterAddress(aptosConfig);\n const renewalDuration = years * 31536000;\n const { domainName, subdomainName } = isValidANSName(name);\n\n if (subdomainName) {\n throw new Error(\"Subdomains cannot be renewed\");\n }\n\n if (years !== 1) {\n throw new Error(\"Currently, only 1 year renewals are supported\");\n }\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress.toString(),\n data: {\n function: `${routerAddress}::router::renew_domain`,\n functionArguments: [domainName, renewalDuration],\n },\n options,\n });\n\n return transaction;\n}\n\n/**\n * The indexer returns ISO strings for expiration, however the contract works in\n * epoch milliseconds. This function converts the ISO string to epoch\n * milliseconds. In the future, if other properties need sanitization, this can\n * be extended.\n */\nfunction sanitizeANSName(name: GetANSNameResponse[0]): GetANSNameResponse[0] {\n return {\n ...name,\n expiration_timestamp: new Date(name.expiration_timestamp).valueOf(),\n };\n}\n"],"mappings":"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","names":["VALIDATION_RULES_DESCRIPTION","isValidANSSegment","fragment","isValidANSName","name","first","second","rest","LOCAL_ANS_ACCOUNT_PK","LOCAL_ANS_ACCOUNT_ADDRESS","NetworkToAnsContract","getRouterAddress","aptosConfig","address","Some","value","None","Option","unwrapOption","option","getOwnerAddress","args","routerAddress","domainName","subdomainName","res","view","owner","AccountAddress","registerName","expiration","sender","targetAddress","toAddress","options","transferable","hasSubdomainPolicy","years","registrationDuration","generateTransaction","tldExpiration","getExpiration","expirationDateInMillisecondsSinceEpoch","getPrimaryName","setPrimaryName","getTargetAddress","target","setTargetAddress","getName","queryIndexer","GetNames","sanitizeANSName","getAccountNames","accountAddress","expirationDate","getANSExpirationDate","getAccountDomains","getAccountSubdomains","getDomainSubdomains","domain","gracePeriodInSeconds","gracePeriodInDays","now","renewDomain","renewalDuration"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/transactions/management/transactionWorker.ts"],"sourcesContent":["/* eslint-disable no-await-in-loop */\n\n/**\n * TransactionWorker provides a simple framework for receiving payloads to be processed.\n *\n * Once one `start()` the process and pushes a new transaction, the worker acquires\n * the current account's next sequence number (by using the AccountSequenceNumber class),\n * generates a signed transaction and pushes an async submission process into the `outstandingTransactions` queue.\n * At the same time, the worker processes transactions by reading the `outstandingTransactions` queue\n * and submits the next transaction to chain, it\n * 1) waits for resolution of the submission process or get pre-execution validation error\n * and 2) waits for the resolution of the execution process or get an execution error.\n * The worker fires events for any submission and/or execution success and/or failure.\n */\n\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { Account } from \"../../core\";\nimport { waitForTransaction } from \"../../internal/transaction\";\nimport { generateTransaction, signAndSubmitTransaction } from \"../../internal/transactionSubmission\";\nimport { PendingTransactionResponse, TransactionResponse } from \"../../types\";\nimport {\n InputGenerateTransactionOptions,\n InputGenerateTransactionPayloadData,\n SingleSignerTransaction,\n} from \"../types\";\nimport { AccountSequenceNumber } from \"./accountSequenceNumber\";\nimport { AsyncQueue, AsyncQueueCancelledError } from \"./asyncQueue\";\n\nconst promiseFulfilledStatus = \"fulfilled\";\n\nexport class TransactionWorker {\n readonly aptosConfig: AptosConfig;\n\n readonly account: Account;\n\n // current account sequence number\n readonly accountSequnceNumber: AccountSequenceNumber;\n\n readonly taskQueue: AsyncQueue<() => Promise<void>> = new AsyncQueue<() => Promise<void>>();\n\n // process has started\n started: boolean;\n\n /**\n * transactions payloads waiting to be generated and signed\n *\n * TODO support entry function payload from ABI builder\n */\n transactionsQueue = new AsyncQueue<\n [InputGenerateTransactionPayloadData, InputGenerateTransactionOptions | undefined]\n >();\n\n /**\n * signed transactions waiting to be submitted\n */\n outstandingTransactions = new AsyncQueue<[Promise<PendingTransactionResponse>, bigint]>();\n\n /**\n * transactions that have been submitted to chain\n */\n sentTransactions: Array<[string, bigint, any]> = [];\n\n /**\n * transactions that have been committed to chain\n */\n executedTransactions: Array<[string, bigint, any]> = [];\n\n /**\n * Provides a simple framework for receiving payloads to be processed.\n *\n * @param aptosConfig - a config object\n * @param sender - a sender as Account\n * @param maxWaitTime - the max wait time to wait before resyncing the sequence number\n * to the current on-chain state, default to 30\n * @param maximumInFlight - submit up to `maximumInFlight` transactions per account.\n * Mempool limits the number of transactions per account to 100, hence why we default to 100.\n * @param sleepTime - If `maximumInFlight` are in flight, wait `sleepTime` seconds before re-evaluating, default to 10\n */\n constructor(\n aptosConfig: AptosConfig,\n account: Account,\n maxWaitTime: number = 30,\n maximumInFlight: number = 100,\n sleepTime: number = 10,\n ) {\n this.aptosConfig = aptosConfig;\n this.account = account;\n this.started = false;\n this.accountSequnceNumber = new AccountSequenceNumber(\n aptosConfig,\n account,\n maxWaitTime,\n maximumInFlight,\n sleepTime,\n );\n }\n\n /**\n * Gets the current account sequence number,\n * generates the transaction with the account sequence number,\n * adds the transaction to the outstanding transaction queue\n * to be processed later.\n */\n async submitNextTransaction() {\n try {\n /* eslint-disable no-constant-condition */\n while (true) {\n if (this.transactionsQueue.isEmpty()) return;\n const sequenceNumber = await this.accountSequnceNumber.nextSequenceNumber();\n if (sequenceNumber === null) return;\n const transaction = await this.generateNextTransaction(this.account, sequenceNumber);\n if (!transaction) return;\n const pendingTransaction = signAndSubmitTransaction({\n aptosConfig: this.aptosConfig,\n transaction,\n signer: this.account,\n });\n await this.outstandingTransactions.enqueue([pendingTransaction, sequenceNumber]);\n }\n } catch (error: any) {\n if (error instanceof AsyncQueueCancelledError) {\n return;\n }\n throw new Error(`Submit transaction failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Reads the outstanding transaction queue and submits the transaction to chain.\n *\n * If the transaction has fulfilled, it pushes the transaction to the processed\n * transactions queue and fires a transactionsFulfilled event.\n *\n * If the transaction has failed, it pushes the transaction to the processed\n * transactions queue with the failure reason and fires a transactionsFailed event.\n */\n async processTransactions() {\n try {\n /* eslint-disable no-constant-condition */\n while (true) {\n const awaitingTransactions = [];\n const sequenceNumbers = [];\n let [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n awaitingTransactions.push(pendingTransaction);\n sequenceNumbers.push(sequenceNumber);\n\n while (!this.outstandingTransactions.isEmpty()) {\n [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n awaitingTransactions.push(pendingTransaction);\n sequenceNumbers.push(sequenceNumber);\n }\n // send awaiting transactions to chain\n const sentTransactions = await Promise.allSettled(awaitingTransactions);\n for (let i = 0; i < sentTransactions.length && i < sequenceNumbers.length; i += 1) {\n // check sent transaction status\n const sentTransaction = sentTransactions[i];\n sequenceNumber = sequenceNumbers[i];\n if (sentTransaction.status === promiseFulfilledStatus) {\n // transaction sent to chain\n this.sentTransactions.push([sentTransaction.value.hash, sequenceNumber, null]);\n // check sent transaction execution\n await this.checkTransaction(sentTransaction, sequenceNumber);\n } else {\n // send transaction failed\n this.sentTransactions.push([sentTransaction.status, sequenceNumber, sentTransaction.reason]);\n }\n }\n }\n } catch (error: any) {\n if (error instanceof AsyncQueueCancelledError) {\n return;\n }\n throw new Error(`Process execution failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Once transaction has been sent to chain, we check for its execution status.\n * @param sentTransaction transactions that were sent to chain and are now waiting to be executed\n * @param sequenceNumber the account's sequence number that was sent with the transaction\n */\n async checkTransaction(sentTransaction: PromiseFulfilledResult<PendingTransactionResponse>, sequenceNumber: bigint) {\n try {\n const waitFor: Array<Promise<TransactionResponse>> = [];\n waitFor.push(waitForTransaction({ aptosConfig: this.aptosConfig, transactionHash: sentTransaction.value.hash }));\n const sentTransactions = await Promise.allSettled(waitFor);\n\n for (let i = 0; i < sentTransactions.length; i += 1) {\n const executedTransaction = sentTransactions[i];\n if (executedTransaction.status === promiseFulfilledStatus) {\n // transaction executed to chain\n this.executedTransactions.push([executedTransaction.value.hash, sequenceNumber, null]);\n } else {\n // transaction execution failed\n this.executedTransactions.push([executedTransaction.status, sequenceNumber, executedTransaction.reason]);\n }\n }\n } catch (error: any) {\n throw new Error(`Check transaction failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Push transaction to the transactions queue\n * @param payload Transaction payload\n */\n async push(\n transactionData: InputGenerateTransactionPayloadData,\n options?: InputGenerateTransactionOptions,\n ): Promise<void> {\n await this.transactionsQueue.enqueue([transactionData, options]);\n }\n\n /**\n * Generates a signed transaction that can be submitted to chain\n * @param account an Aptos account\n * @param sequenceNumber a sequence number the transaction will be generated with\n * @returns\n */\n async generateNextTransaction(\n account: Account,\n sequenceNumber: bigint,\n ): Promise<SingleSignerTransaction | undefined> {\n if (this.transactionsQueue.isEmpty()) return undefined;\n const [transactionData, options] = await this.transactionsQueue.dequeue();\n const transaction = await generateTransaction({\n aptosConfig: this.aptosConfig,\n sender: account.accountAddress,\n data: transactionData,\n options: { ...options, accountSequenceNumber: sequenceNumber },\n });\n\n return transaction;\n }\n\n /**\n * Starts transaction submission and transaction processing.\n */\n async run() {\n try {\n while (!this.taskQueue.isCancelled()) {\n const task = await this.taskQueue.dequeue();\n await task();\n }\n } catch (error: any) {\n throw new Error(`Unable to start transaction batching: ${error}`);\n }\n }\n\n /**\n * Starts the transaction management process.\n */\n start() {\n if (this.started) {\n throw new Error(\"worker has already started\");\n }\n this.started = true;\n this.taskQueue.enqueue(() => this.submitNextTransaction());\n this.taskQueue.enqueue(() => this.processTransactions());\n this.run();\n }\n\n /**\n * Stops the the transaction management process.\n */\n stop() {\n if (this.taskQueue.isCancelled()) {\n throw new Error(\"worker has already stopped\");\n }\n this.started = false;\n this.taskQueue.cancel();\n }\n}\n"],"mappings":"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","names":["promiseFulfilledStatus","TransactionWorker","aptosConfig","account","maxWaitTime","maximumInFlight","sleepTime","AsyncQueue","AccountSequenceNumber","sequenceNumber","transaction","pendingTransaction","signAndSubmitTransaction","error","AsyncQueueCancelledError","awaitingTransactions","sequenceNumbers","sentTransactions","i","sentTransaction","waitFor","waitForTransaction","executedTransaction","transactionData","options","generateTransaction"]}
@@ -1,2 +0,0 @@
1
- import{f as o}from"./chunk-CLJLQXFQ.mjs";import{a as i}from"./chunk-ZWH2ESXT.mjs";var r=class{constructor(n){this.config=n}async transaction(n){return o({aptosConfig:this.config,...n})}async multiAgentTransaction(n){return o({aptosConfig:this.config,...n})}};i([s],r.prototype,"transaction",1),i([s],r.prototype,"multiAgentTransaction",1);function s(c,n,e){let y=e.value;return e.value=async function(...t){let[a]=t;if(a.transaction.feePayerAddress&&!a.feePayerPublicKey)throw new Error("You are simulating a Fee Payer transaction but missing the feePayerPublicKey");return y.apply(this,t)},e}export{r as a};
2
- //# sourceMappingURL=chunk-P5747ZYC.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/transactionSubmission/simulate.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { PublicKey } from \"../../core\";\nimport { simulateTransaction } from \"../../internal/transactionSubmission\";\nimport { AnyRawTransaction, InputSimulateTransactionOptions } from \"../../transactions\";\nimport { UserTransactionResponse } from \"../../types\";\nimport { AptosConfig } from \"../aptosConfig\";\n\n/**\n * A class to handle all `Simulate` transaction operations\n */\nexport class Simulate {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n @ValidateFeePayerData\n async transaction(args: {\n signerPublicKey: PublicKey;\n transaction: AnyRawTransaction;\n feePayerPublicKey?: PublicKey;\n options?: InputSimulateTransactionOptions;\n }): Promise<Array<UserTransactionResponse>> {\n return simulateTransaction({ aptosConfig: this.config, ...args });\n }\n\n @ValidateFeePayerData\n async multiAgentTransaction(args: {\n signerPublicKey: PublicKey;\n transaction: AnyRawTransaction;\n secondarySignersPublicKeys: Array<PublicKey>;\n feePayerPublicKey?: PublicKey;\n options?: InputSimulateTransactionOptions;\n }): Promise<Array<UserTransactionResponse>> {\n return simulateTransaction({ aptosConfig: this.config, ...args });\n }\n}\n\nfunction ValidateFeePayerData(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n /* eslint-disable-next-line func-names, no-param-reassign */\n descriptor.value = async function (...args: any[]) {\n const [methodArgs] = args;\n\n if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerPublicKey) {\n throw new Error(\"You are simulating a Fee Payer transaction but missing the feePayerPublicKey\");\n }\n\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n}\n"],"mappings":"kFAYO,IAAMA,EAAN,KAAe,CAGpB,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAGA,MAAM,YAAYC,EAK0B,CAC1C,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CAGA,MAAM,sBAAsBA,EAMgB,CAC1C,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CACF,EAnBQE,EAAA,CADLC,GAPUL,EAQL,2BAUAI,EAAA,CADLC,GAjBUL,EAkBL,qCAWR,SAASK,EAAqBC,EAAiBC,EAAqBC,EAAgC,CAClG,IAAMC,EAAiBD,EAAW,MAElC,OAAAA,EAAW,MAAQ,kBAAmBN,EAAa,CACjD,GAAM,CAACQ,CAAU,EAAIR,EAErB,GAAIQ,EAAW,YAAY,iBAAmB,CAACA,EAAW,kBACxD,MAAM,IAAI,MAAM,8EAA8E,EAGhG,OAAOD,EAAe,MAAM,KAAMP,CAAI,CACxC,EAEOM,CACT","names":["Simulate","config","args","simulateTransaction","__decorateClass","ValidateFeePayerData","target","propertyKey","descriptor","originalMethod","methodArgs"]}
@@ -1,2 +0,0 @@
1
- import{a as r}from"./chunk-F6K26WV5.mjs";var a=class extends r{},i=class extends r{},e=class extends r{};export{a,i as b,e as c};
2
- //# sourceMappingURL=chunk-PXTMLJKO.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/fungibleAsset.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n AnyNumber,\n GetCurrentFungibleAssetBalancesResponse,\n GetFungibleAssetActivitiesResponse,\n GetFungibleAssetMetadataResponse,\n PaginationArgs,\n WhereArg,\n} from \"../types\";\nimport {\n getCurrentFungibleAssetBalances,\n getFungibleAssetActivities,\n getFungibleAssetMetadata,\n transferFungibleAsset,\n} from \"../internal/fungibleAsset\";\nimport {\n CurrentFungibleAssetBalancesBoolExp,\n FungibleAssetActivitiesBoolExp,\n FungibleAssetMetadataBoolExp,\n} from \"../types/generated/types\";\nimport { ProcessorType } from \"../utils/const\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexerOnVersion } from \"./utils\";\nimport { Account, AccountAddress } from \"../core\";\nimport { InputGenerateTransactionOptions, SingleSignerTransaction } from \"../transactions\";\n\n/**\n * A class to query all `FungibleAsset` related queries on Aptos.\n */\nexport class FungibleAsset {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Queries all fungible asset metadata.\n *\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n *\n * @returns A list of fungible asset metadata\n */\n async getFungibleAssetMetadata(args?: {\n minimumLedgerVersion?: AnyNumber;\n options?: PaginationArgs & WhereArg<FungibleAssetMetadataBoolExp>;\n }): Promise<GetFungibleAssetMetadataResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorTypes: [ProcessorType.FUNGIBLE_ASSET_PROCESSOR],\n });\n return getFungibleAssetMetadata({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries a fungible asset metadata\n *\n * This query returns the fungible asset metadata for a specific fungible asset.\n *\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @param args.assetType The asset type of the fungible asset.\n * e.g\n * \"0x1::aptos_coin::AptosCoin\" for Aptos Coin\n * \"0xc2948283c2ce03aafbb294821de7ee684b06116bb378ab614fa2de07a99355a8\" - address format if this is fungible asset\n *\n * @returns A fungible asset metadata item\n */\n async getFungibleAssetMetadataByAssetType(args: {\n assetType: string;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<GetFungibleAssetMetadataResponse[0]> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorTypes: [ProcessorType.FUNGIBLE_ASSET_PROCESSOR],\n });\n const data = await getFungibleAssetMetadata({\n aptosConfig: this.config,\n options: {\n where: {\n asset_type: { _eq: args.assetType },\n },\n },\n });\n\n return data[0];\n }\n\n /**\n * Queries all fungible asset activities\n *\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n *\n * @returns A list of fungible asset metadata\n */\n async getFungibleAssetActivities(args?: {\n minimumLedgerVersion?: AnyNumber;\n options?: PaginationArgs & WhereArg<FungibleAssetActivitiesBoolExp>;\n }): Promise<GetFungibleAssetActivitiesResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorTypes: [ProcessorType.FUNGIBLE_ASSET_PROCESSOR],\n });\n return getFungibleAssetActivities({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries all fungible asset balances\n *\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n *\n * @returns A list of fungible asset metadata\n */\n async getCurrentFungibleAssetBalances(args?: {\n minimumLedgerVersion?: AnyNumber;\n options?: PaginationArgs & WhereArg<CurrentFungibleAssetBalancesBoolExp>;\n }): Promise<GetCurrentFungibleAssetBalancesResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorTypes: [ProcessorType.FUNGIBLE_ASSET_PROCESSOR],\n });\n return getCurrentFungibleAssetBalances({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Transfer `amount` of fungible asset from sender's primary store to recipient's primary store.\n *\n * Use this method to transfer any fungible asset including fungible token.\n *\n * @param sender The sender account\n * @param fungibleAssetMetadataAddress The fungible asset account address.\n * For example if you’re transferring USDT this would be the USDT address\n * @param recipient The recipient account address\n * @param amount Number of assets to transfer\n *\n * @returns A SingleSignerTransaction that can be simulated or submitted to chain.\n */\n async transferFungibleAsset(args: {\n sender: Account;\n fungibleAssetMetadataAddress: AccountAddress;\n recipient: AccountAddress;\n amount: AnyNumber;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return transferFungibleAsset({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"uGA+BO,IAAMA,EAAN,KAAoB,CACzB,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CAS3C,MAAM,yBAAyBC,EAGe,CAC5C,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,eAAgB,2BAAuC,CACzD,CAAC,EACME,EAAyB,CAAE,YAAa,KAAK,OAAQ,GAAGF,CAAK,CAAC,CACvE,CAeA,MAAM,oCAAoCA,EAGO,CAC/C,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,eAAgB,2BAAuC,CACzD,CAAC,GACY,MAAME,EAAyB,CAC1C,YAAa,KAAK,OAClB,QAAS,CACP,MAAO,CACL,WAAY,CAAE,IAAKF,EAAK,SAAU,CACpC,CACF,CACF,CAAC,GAEW,CAAC,CACf,CASA,MAAM,2BAA2BA,EAGe,CAC9C,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,eAAgB,2BAAuC,CACzD,CAAC,EACMG,EAA2B,CAAE,YAAa,KAAK,OAAQ,GAAGH,CAAK,CAAC,CACzE,CASA,MAAM,gCAAgCA,EAGe,CACnD,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,eAAgB,2BAAuC,CACzD,CAAC,EACMI,EAAgC,CAAE,YAAa,KAAK,OAAQ,GAAGJ,CAAK,CAAC,CAC9E,CAeA,MAAM,sBAAsBA,EAMS,CACnC,OAAOK,EAAsB,CAAE,YAAa,KAAK,OAAQ,GAAGL,CAAK,CAAC,CACpE,CACF","names":["FungibleAsset","config","args","waitForIndexerOnVersion","getFungibleAssetMetadata","getFungibleAssetActivities","getCurrentFungibleAssetBalances","transferFungibleAsset"]}
@@ -1,2 +0,0 @@
1
- import{e as o}from"./chunk-CLJLQXFQ.mjs";var a=class{constructor(n){this.config=n}transaction(n){return o({...n})}transactionAsFeePayer(n){let{signer:r,transaction:t}=n;if(!t.feePayerAddress)throw new Error(`Transaction ${t} is not a Fee Payer transaction`);return t.feePayerAddress=r.accountAddress,o({signer:r,transaction:t})}};export{a};
2
- //# sourceMappingURL=chunk-RLG3WOTH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/transactionSubmission/sign.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Account } from \"../../core\";\nimport { signTransaction } from \"../../internal/transactionSubmission\";\nimport { AccountAuthenticator, AnyRawTransaction } from \"../../transactions\";\nimport { AptosConfig } from \"../aptosConfig\";\n\n/**\n * A class to handle all `Sign` transaction operations\n */\nexport class Sign {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n // eslint-disable-next-line class-methods-use-this\n transaction(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n return signTransaction({\n ...args,\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n transactionAsFeePayer(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n const { signer, transaction } = args;\n\n // if transaction doesnt hold a \"feePayerAddress\" prop it means\n // this is not a fee payer transaction\n if (!transaction.feePayerAddress) {\n throw new Error(`Transaction ${transaction} is not a Fee Payer transaction`);\n }\n\n // Set the feePayerAddress to the signer account address\n transaction.feePayerAddress = signer.accountAddress;\n\n return signTransaction({\n signer,\n transaction,\n });\n }\n}\n"],"mappings":"yCAWO,IAAMA,EAAN,KAAW,CAGhB,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAGA,YAAYC,EAAiF,CAC3F,OAAOC,EAAgB,CACrB,GAAGD,CACL,CAAC,CACH,CAGA,sBAAsBA,EAAiF,CACrG,GAAM,CAAE,OAAAE,EAAQ,YAAAC,CAAY,EAAIH,EAIhC,GAAI,CAACG,EAAY,gBACf,MAAM,IAAI,MAAM,eAAeA,CAAW,iCAAiC,EAI7E,OAAAA,EAAY,gBAAkBD,EAAO,eAE9BD,EAAgB,CACrB,OAAAC,EACA,YAAAC,CACF,CAAC,CACH,CACF","names":["Sign","config","args","signTransaction","signer","transaction"]}
@@ -1,2 +0,0 @@
1
- var o="0.0.8";export{o as a};
2
- //# sourceMappingURL=chunk-SDPICQ5B.mjs.map
@@ -1,2 +0,0 @@
1
- import{a as d}from"./chunk-6FBKUTGF.mjs";import{a as R}from"./chunk-SDPICQ5B.mjs";var l={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",429:"Too Many Requests",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable"};async function p(n,a){let{url:o,method:u,body:i,contentType:s,params:e,overrides:t}=n,r={...t?.HEADERS,"x-aptos-client":`aptos-ts-sdk/${R}`,"content-type":s??"application/json"};return t?.AUTH_TOKEN&&o.includes("faucet")&&(r.Authorization=`Bearer ${t?.AUTH_TOKEN}`),t?.API_KEY&&!o.includes("faucet")&&(r.Authorization=`Bearer ${t?.API_KEY}`),a.provider({url:o,method:u,body:i,params:e,headers:r,overrides:t})}async function T(n,a){let{url:o,path:u}=n,i=`${o}/${u??""}`,s=await p({...n,url:i},a.client),e={status:s.status,statusText:s.statusText,data:s.data,headers:s.headers,config:s.config,request:s.request,url:i};if(a.isIndexerRequest(o)){let r=e.data;if(r.errors)throw new d(n,e,r.errors[0].message??`Unhandled Error ${s.status} : ${s.statusText}`);e.data=r.data}if(e.status>=200&&e.status<300)return e;let t;throw e&&e.data&&"message"in e.data&&"error_code"in e.data?t=JSON.stringify(e.data):e.status in l?t=l[e.status]:t=`Unhandled Error ${e.status} : ${e.statusText}`,new d(n,e,t)}export{p as a,T as b};
2
- //# sourceMappingURL=chunk-SO6EE5DX.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/core.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AptosApiError, AptosResponse } from \"./types\";\nimport { VERSION } from \"../version\";\nimport { AptosRequest, MimeType, ClientRequest, ClientResponse, Client, AnyNumber } from \"../types\";\n\n/**\n * Meaningful errors map\n */\nconst errors: Record<number, string> = {\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 429: \"Too Many Requests\",\n 500: \"Internal Server Error\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n};\n\n/**\n * Given a url and method, sends the request with axios and\n * returns the response.\n */\nexport async function request<Req, Res>(options: ClientRequest<Req>, client: Client): Promise<ClientResponse<Res>> {\n const { url, method, body, contentType, params, overrides } = options;\n const headers: Record<string, string | AnyNumber | boolean | undefined> = {\n ...overrides?.HEADERS,\n \"x-aptos-client\": `aptos-ts-sdk/${VERSION}`,\n \"content-type\": contentType ?? MimeType.JSON,\n };\n\n // TODO - auth token is being used only for faucet, it breaks full node requests.\n // Find a more sophisticated way than that but without the need to add the\n // auth_token on every `aptos.fundAccount()` call\n if (overrides?.AUTH_TOKEN && url.includes(\"faucet\")) {\n headers.Authorization = `Bearer ${overrides?.AUTH_TOKEN}`;\n }\n if (overrides?.API_KEY && !url.includes(\"faucet\")) {\n headers.Authorization = `Bearer ${overrides?.API_KEY}`;\n }\n\n /*\n * make a call using the @aptos-labs/aptos-client package\n * {@link https://www.npmjs.com/package/@aptos-labs/aptos-client}\n */\n return client.provider<Req, Res>({\n url,\n method,\n body,\n params,\n headers,\n overrides,\n });\n}\n\n/**\n * The main function to use when doing an API request.\n *\n * @param options AptosRequest\n * @param aptosConfig The config information for the SDK client instance\n * @returns the response or AptosApiError\n */\nexport async function aptosRequest<Req extends {}, Res extends {}>(\n options: AptosRequest,\n aptosConfig: AptosConfig,\n): Promise<AptosResponse<Req, Res>> {\n const { url, path } = options;\n const fullUrl = `${url}/${path ?? \"\"}`;\n const response = await request<Req, Res>({ ...options, url: fullUrl }, aptosConfig.client);\n\n const result: AptosResponse<Req, Res> = {\n status: response.status,\n statusText: response.statusText!,\n data: response.data,\n headers: response.headers,\n config: response.config,\n request: response.request,\n url: fullUrl,\n };\n\n // to support both fullnode and indexer responses,\n // check if it is an indexer query, and adjust response.data\n if (aptosConfig.isIndexerRequest(url)) {\n const indexerResponse = result.data as any;\n // errors from indexer\n if (indexerResponse.errors) {\n throw new AptosApiError(\n options,\n result,\n indexerResponse.errors[0].message ?? `Unhandled Error ${response.status} : ${response.statusText}`,\n );\n }\n result.data = indexerResponse.data as Res;\n }\n\n if (result.status >= 200 && result.status < 300) {\n return result;\n }\n\n let errorMessage: string;\n\n if (result && result.data && \"message\" in result.data && \"error_code\" in result.data) {\n errorMessage = JSON.stringify(result.data);\n } else if (result.status in errors) {\n // If it's not an API type, it must come form infra, these are prehandled\n errorMessage = errors[result.status];\n } else {\n // Everything else is unhandled\n errorMessage = `Unhandled Error ${result.status} : ${result.statusText}`;\n }\n\n throw new AptosApiError(options, result, errorMessage);\n}\n"],"mappings":"kFAWA,IAAMA,EAAiC,CACrC,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,YACL,IAAK,oBACL,IAAK,wBACL,IAAK,cACL,IAAK,qBACP,EAMA,eAAsBC,EAAkBC,EAA6BC,EAA8C,CACjH,GAAM,CAAE,IAAAC,EAAK,OAAAC,EAAQ,KAAAC,EAAM,YAAAC,EAAa,OAAAC,EAAQ,UAAAC,CAAU,EAAIP,EACxDQ,EAAoE,CACxE,GAAGD,GAAW,QACd,iBAAkB,gBAAgBE,CAAO,GACzC,eAAgBJ,qBAClB,EAKA,OAAIE,GAAW,YAAcL,EAAI,SAAS,QAAQ,IAChDM,EAAQ,cAAgB,UAAUD,GAAW,UAAU,IAErDA,GAAW,SAAW,CAACL,EAAI,SAAS,QAAQ,IAC9CM,EAAQ,cAAgB,UAAUD,GAAW,OAAO,IAO/CN,EAAO,SAAmB,CAC/B,IAAAC,EACA,OAAAC,EACA,KAAAC,EACA,OAAAE,EACA,QAAAE,EACA,UAAAD,CACF,CAAC,CACH,CASA,eAAsBG,EACpBV,EACAW,EACkC,CAClC,GAAM,CAAE,IAAAT,EAAK,KAAAU,CAAK,EAAIZ,EAChBa,EAAU,GAAGX,CAAG,IAAIU,GAAQ,EAAE,GAC9BE,EAAW,MAAMf,EAAkB,CAAE,GAAGC,EAAS,IAAKa,CAAQ,EAAGF,EAAY,MAAM,EAEnFI,EAAkC,CACtC,OAAQD,EAAS,OACjB,WAAYA,EAAS,WACrB,KAAMA,EAAS,KACf,QAASA,EAAS,QAClB,OAAQA,EAAS,OACjB,QAASA,EAAS,QAClB,IAAKD,CACP,EAIA,GAAIF,EAAY,iBAAiBT,CAAG,EAAG,CACrC,IAAMc,EAAkBD,EAAO,KAE/B,GAAIC,EAAgB,OAClB,MAAM,IAAIC,EACRjB,EACAe,EACAC,EAAgB,OAAO,CAAC,EAAE,SAAW,mBAAmBF,EAAS,MAAM,MAAMA,EAAS,UAAU,EAClG,EAEFC,EAAO,KAAOC,EAAgB,IAChC,CAEA,GAAID,EAAO,QAAU,KAAOA,EAAO,OAAS,IAC1C,OAAOA,EAGT,IAAIG,EAEJ,MAAIH,GAAUA,EAAO,MAAQ,YAAaA,EAAO,MAAQ,eAAgBA,EAAO,KAC9EG,EAAe,KAAK,UAAUH,EAAO,IAAI,EAChCA,EAAO,UAAUjB,EAE1BoB,EAAepB,EAAOiB,EAAO,MAAM,EAGnCG,EAAe,mBAAmBH,EAAO,MAAM,MAAMA,EAAO,UAAU,GAGlE,IAAIE,EAAcjB,EAASe,EAAQG,CAAY,CACvD","names":["errors","request","options","client","url","method","body","contentType","params","overrides","headers","VERSION","aptosRequest","aptosConfig","path","fullUrl","response","result","indexerResponse","AptosApiError","errorMessage"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/account.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountAddress } from \"./accountAddress\";\nimport { AuthenticationKey } from \"./authenticationKey\";\nimport { PrivateKey, PublicKey, Signature } from \"./crypto/asymmetricCrypto\";\nimport { Ed25519PrivateKey, Ed25519PublicKey } from \"./crypto/ed25519\";\nimport { MultiEd25519PublicKey } from \"./crypto/multiEd25519\";\nimport { Secp256k1PrivateKey, Secp256k1PublicKey } from \"./crypto/secp256k1\";\nimport { Hex } from \"./hex\";\nimport { GenerateAccount, HexInput, SigningScheme, SigningSchemeInput } from \"../types\";\nimport { AnyPublicKey } from \"./crypto/anyPublicKey\";\n\n/**\n * Class for creating and managing account on Aptos network\n *\n * Use this class to create accounts, sign transactions, and more.\n * Note: Creating an account instance does not create the account on-chain.\n *\n * Since [AIP-55](https://github.com/aptos-foundation/AIPs/pull/263) Aptos supports\n * `Legacy` and `Unified` authentications.\n *\n * @Legacy includes `ED25519` and `MultiED25519`\n * @Unified includes `SingleSender` and `MultiSender`, where currently\n * `SingleSender` supports `ED25519` and `Secp256k1`, and `MultiSender` supports\n * `MultiED25519`.\n *\n * In TypeScript SDK, we support all of these options:\n *\n * @generate default to generate Legacy Ed25519 keys, with an optional `legacy` boolean argument\n * that lets you generate new keys conforming to the Unified authentication.\n *\n * @fromPrivateKey derives an account by a provided private key and address, with an optional\n * `legacy` boolean argument that lets you generate new keys conforming to the Unified authentication.\n *\n * @fromDerivationPath derives an account with bip44 path and mnemonics,\n *\n */\nexport class Account {\n /**\n * Public key associated with the account\n */\n readonly publicKey: PublicKey;\n\n /**\n * Private key associated with the account\n */\n readonly privateKey: PrivateKey;\n\n /**\n * Account address associated with the account\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * Signing scheme used to sign transactions\n */\n readonly signingScheme: SigningScheme;\n\n /**\n * constructor for Account\n *\n * Need to update this to use the new crypto library if new schemes are added.\n *\n * @param args.privateKey PrivateKey - private key of the account\n * @param args.address AccountAddress - address of the account\n * @param args.legacy optional. If set to true, the keypair authentication keys will be derived with a Legacy scheme.\n * Defaults to deriving an authentication key with a Unified scheme\n *\n * This method is private because it should only be called by the factory static methods.\n * @returns Account\n */\n private constructor(args: { privateKey: PrivateKey; address: AccountAddress; legacy?: boolean }) {\n const { privateKey, address, legacy } = args;\n const useLegacy = legacy ?? true;\n\n // Derive the public key from the private key\n this.publicKey = privateKey.publicKey();\n\n // Derive the signing scheme from the public key\n if (this.publicKey instanceof Ed25519PublicKey) {\n if (useLegacy) {\n this.signingScheme = SigningScheme.Ed25519;\n } else {\n this.publicKey = new AnyPublicKey(this.publicKey);\n this.signingScheme = SigningScheme.SingleKey;\n }\n } else if (this.publicKey instanceof MultiEd25519PublicKey) {\n this.signingScheme = SigningScheme.MultiEd25519;\n } else if (this.publicKey instanceof Secp256k1PublicKey) {\n this.publicKey = new AnyPublicKey(this.publicKey);\n this.signingScheme = SigningScheme.SingleKey;\n } else {\n throw new Error(\"Can not create new Account, unsupported public key type\");\n }\n\n this.privateKey = privateKey;\n this.accountAddress = address;\n }\n\n /**\n * Derives an account with random private key and address.\n *\n * Default generation is using the Legacy ED25519 key\n *\n * @param args optional. Unify GenerateAccount type for Legacy and Unified keys\n *\n * Account input type to generate an account using Legacy\n * Ed25519 or MultiEd25519 keys or without a specified `scheme`.\n * ```\n * GenerateAccountWithLegacyKey = {\n * scheme?: SigningSchemeInput.Ed25519 | SigningSchemeInput.MultiEd25519;\n * legacy: true;\n * };\n * ```\n *\n * Account input type to generate an account using Unified\n * Secp256k1Ecdsa key\n * In this case `legacy` is always false\n * ```\n * GenerateAccountWithUnifiedKey = {\n * scheme: SigningSchemeInput.Secp256k1Ecdsa;\n * legacy?: false;\n * };\n * ```\n *\n * @returns Account with the given signing scheme\n */\n static generate(args?: GenerateAccount): Account {\n const useLegacy = args?.legacy ?? true;\n\n let privateKey: PrivateKey;\n let publicKey: PublicKey;\n\n switch (args?.scheme) {\n case SigningSchemeInput.Secp256k1Ecdsa:\n privateKey = Secp256k1PrivateKey.generate();\n publicKey = new AnyPublicKey(privateKey.publicKey());\n break;\n default:\n privateKey = Ed25519PrivateKey.generate();\n if (useLegacy === false) {\n publicKey = new AnyPublicKey(privateKey.publicKey());\n } else {\n publicKey = privateKey.publicKey();\n }\n }\n const authKey = AuthenticationKey.fromPublicKey({ publicKey });\n\n const address = authKey.derivedAddress();\n return new Account({ privateKey, address, legacy: args?.legacy });\n }\n\n /**\n * Instantiates an account given a private key.\n *\n * This is used as a local calculation and therefore is used to instantiate an `Account`\n * that has not had its authentication key rotated.\n *\n * @param privateKey PrivateKey - private key of the account\n * @param args.legacy optional. If set to false, the keypair generated is a Unified keypair. Defaults\n * to generating a Legacy Ed25519 keypair\n *\n * @returns Account\n */\n static fromPrivateKey(args: { privateKey: PrivateKey; legacy?: boolean }): Account {\n const { privateKey, legacy } = args;\n const useLegacy = legacy ?? true;\n\n let publicKey;\n if (privateKey instanceof Secp256k1PrivateKey) {\n // Secp256k1 single sender\n publicKey = new AnyPublicKey(privateKey.publicKey());\n } else if (privateKey instanceof Ed25519PrivateKey) {\n // legacy Ed25519\n if (useLegacy) {\n publicKey = privateKey.publicKey();\n } else {\n // Ed25519 single sender\n publicKey = new AnyPublicKey(privateKey.publicKey());\n }\n } else {\n throw new Error(`Unsupported private key ${privateKey}`);\n }\n\n const authKey = AuthenticationKey.fromPublicKey({ publicKey });\n const address = authKey.derivedAddress();\n return new Account({ privateKey, address, legacy: useLegacy });\n }\n\n /**\n * Instantiates an account given a private key and a specified account address.\n * This is primarily used to instantiate an `Account` that has had its authentication key rotated.\n *\n * @param args.privateKey PrivateKey - the underlying private key for the account\n * @param args.address AccountAddress - The account address the `Account` will sign for\n * @param args.legacy optional. If set to false, the keypair generated is a Unified keypair. Defaults\n * to generating a Legacy Ed25519 keypair\n *\n * @returns Account\n */\n static fromPrivateKeyAndAddress(args: {\n privateKey: PrivateKey;\n address: AccountAddress;\n legacy?: boolean;\n }): Account {\n const { privateKey, address, legacy } = args;\n return new Account({ privateKey, address, legacy });\n }\n\n /**\n * Derives an account with bip44 path and mnemonics,\n *\n * @param args.scheme The signing scheme to derive with\n * @param args.path the BIP44 derive hardened path (e.g. m/44'/637'/0'/0'/0') for Ed25519,\n * or non-hardened path (e.g. m/44'/637'/0'/0/0) for secp256k1\n * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}\n * @param args.mnemonic the mnemonic seed phrase of the account\n * @param args.legacy optional. If set to false, the keypair generated is a Unified keypair. Defaults\n * to generating a Legacy Ed25519 keypair\n *\n * @returns Account\n */\n static fromDerivationPath(args: {\n scheme: SigningSchemeInput;\n path: string;\n mnemonic: string;\n legacy?: boolean;\n }): Account {\n const { path, mnemonic, scheme, legacy } = args;\n let privateKey: PrivateKey;\n switch (scheme) {\n case SigningSchemeInput.Secp256k1Ecdsa:\n privateKey = Secp256k1PrivateKey.fromDerivationPath(path, mnemonic);\n break;\n case SigningSchemeInput.Ed25519:\n privateKey = Ed25519PrivateKey.fromDerivationPath(path, mnemonic);\n break;\n default:\n throw new Error(`Unsupported scheme ${scheme}`);\n }\n return Account.fromPrivateKey({ privateKey, legacy });\n }\n\n /**\n * This key enables account owners to rotate their private key(s)\n * associated with the account without changing the address that hosts their account.\n * See here for more info: {@link https://aptos.dev/concepts/accounts#single-signer-authentication}\n *\n * @param args.publicKey PublicKey - public key of the account\n * @returns The authentication key for the associated account\n */\n static authKey(args: { publicKey: PublicKey }): AuthenticationKey {\n const { publicKey } = args;\n return AuthenticationKey.fromPublicKey({ publicKey });\n }\n\n /**\n * Sign the given message with the private key.\n *\n * TODO: Add sign transaction or specific types\n *\n * @param data in HexInput format\n * @returns Signature\n */\n sign(data: HexInput): Signature {\n return this.privateKey.sign(data);\n }\n\n /**\n * Verify the given message and signature with the public key.\n *\n * @param args.message raw message data in HexInput format\n * @param args.signature signed message Signature\n * @returns\n */\n verifySignature(args: { message: HexInput; signature: Signature }): boolean {\n const { message, signature } = args;\n const rawMessage = Hex.fromHexInput(message).toUint8Array();\n return this.publicKey.verifySignature({ message: rawMessage, signature });\n }\n}\n"],"mappings":"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","names":["Account","_Account","args","privateKey","address","legacy","useLegacy","Ed25519PublicKey","AnyPublicKey","MultiEd25519PublicKey","Secp256k1PublicKey","publicKey","Secp256k1PrivateKey","Ed25519PrivateKey","AuthenticationKey","path","mnemonic","scheme","data","message","signature","rawMessage","Hex"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internal/coin.ts"],"sourcesContent":["import { AptosConfig } from \"../api/aptosConfig\";\nimport { Account, AccountAddressInput } from \"../core\";\nimport { InputGenerateTransactionOptions, SingleSignerTransaction } from \"../transactions/types\";\nimport { AnyNumber, MoveStructId } from \"../types\";\nimport { APTOS_COIN } from \"../utils/const\";\nimport { generateTransaction } from \"./transactionSubmission\";\n\nexport async function transferCoinTransaction(args: {\n aptosConfig: AptosConfig;\n sender: Account;\n recipient: AccountAddressInput;\n amount: AnyNumber;\n coinType?: MoveStructId;\n options?: InputGenerateTransactionOptions;\n}): Promise<SingleSignerTransaction> {\n const { aptosConfig, sender, recipient, amount, coinType, options } = args;\n const coinStructType = coinType ?? APTOS_COIN;\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress,\n data: {\n function: \"0x1::aptos_account::transfer_coins\",\n typeArguments: [coinStructType],\n functionArguments: [recipient, amount],\n },\n options,\n });\n\n return transaction;\n}\n"],"mappings":"kFAOA,eAAsBA,EAAwBC,EAOT,CACnC,GAAM,CAAE,YAAAC,EAAa,OAAAC,EAAQ,UAAAC,EAAW,OAAAC,EAAQ,SAAAC,EAAU,QAAAC,CAAQ,EAAIN,EAChEO,EAAiBF,GAAYG,EAYnC,OAXoB,MAAMC,EAAoB,CAC5C,YAAAR,EACA,OAAQC,EAAO,eACf,KAAM,CACJ,SAAU,qCACV,cAAe,CAACK,CAAc,EAC9B,kBAAmB,CAACJ,EAAWC,CAAM,CACvC,EACA,QAAAE,CACF,CAAC,CAGH","names":["transferCoinTransaction","args","aptosConfig","sender","recipient","amount","coinType","options","coinStructType","APTOS_COIN","generateTransaction"]}
@@ -1,2 +0,0 @@
1
- import{a as g}from"./chunk-CLJLQXFQ.mjs";import{a as l,b as a}from"./chunk-53DS6NBQ.mjs";import{a as i,e as d}from"./chunk-XITLXPBK.mjs";import{b as c}from"./chunk-G36AY4R7.mjs";import{d as m}from"./chunk-DNDWTM7A.mjs";import{g as p}from"./chunk-OT2UDMUU.mjs";import{n as k,w as A,x as y,y as f}from"./chunk-BQSE5HHW.mjs";async function D(e){let{aptosConfig:o,options:n,creator:t}=e;return await g({aptosConfig:o,sender:t.accountAddress,data:{function:"0x4::aptos_token::mint",functionArguments:[new a(e.collection),new a(e.description),new a(e.name),new a(e.uri),l.MoveString([]),l.MoveString([]),new l([])]},options:n})}async function B(e){let{aptosConfig:o,tokenAddress:n}=e,t={token_data_id:{_eq:c.from(n).toStringLong()}};return(await p({aptosConfig:o,query:{query:f,variables:{where_condition:t}},originMethod:"getTokenData"})).current_token_datas_v2[0]}async function I(e){let{aptosConfig:o,tokenAddress:n}=e,t={token_data_id:{_eq:c.from(n).toStringLong()}};return(await p({aptosConfig:o,query:{query:y,variables:{where_condition:t}},originMethod:"getCurrentTokenOwnership"})).current_token_ownerships_v2[0]}async function R(e){let{aptosConfig:o,ownerAddress:n,options:t}=e,r={owner_address:{_eq:c.from(n).toStringLong()}},s={query:y,variables:{where_condition:r,offset:t?.offset,limit:t?.limit,order_by:t?.orderBy}};return(await p({aptosConfig:o,query:s,originMethod:"getOwnedTokens"})).current_token_ownerships_v2}async function Q(e){let{aptosConfig:o,tokenAddress:n,options:t}=e,r={token_data_id:{_eq:c.from(n).toStringLong()}},s={query:A,variables:{where_condition:r,offset:t?.offset,limit:t?.limit,order_by:t?.orderBy}};return(await p({aptosConfig:o,query:s,originMethod:"getTokenActivity"})).token_activities_v2}async function P(e){let{aptosConfig:o,options:n,creator:t}=e;return await g({aptosConfig:o,sender:t.accountAddress,data:{function:"0x4::aptos_token::create_collection",functionArguments:[new a(e.description),new d(e.maxSupply??m),new a(e.name),new a(e.uri),new i(e.mutableDescription??!0),new i(e.mutableRoyalty??!0),new i(e.mutableURI??!0),new i(e.mutableTokenDescription??!0),new i(e.mutableTokenName??!0),new i(e.mutableTokenProperties??!0),new i(e.mutableTokenURI??!0),new i(e.tokensBurnableByCreator??!0),new i(e.tokensFreezableByCreator??!0),new d(e.royaltyNumerator??0),new d(e.royaltyDenominator??1)]},options:n})}async function w(e){let{aptosConfig:o,creatorAddress:n,collectionName:t,options:r}=e,s=c.from(n),u={collection_name:{_eq:t},creator_address:{_eq:s.toStringLong()}};return r?.tokenStandard&&(u.token_standard={_eq:r?.tokenStandard??"v2"}),(await p({aptosConfig:o,query:{query:k,variables:{where_condition:u}},originMethod:"getCollectionData"})).current_collections_v2[0]}async function M(e){return(await w(e)).collection_id}export{D as a,B as b,I as c,R as d,Q as e,P as f,w as g,M as h};
2
- //# sourceMappingURL=chunk-UKSA4H2O.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internal/digitalAsset.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/digitalAsset}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * digitalAsset namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { MoveString, MoveVector, Bool, U64, U8 } from \"../bcs\";\nimport { Account, AccountAddress, AccountAddressInput } from \"../core\";\nimport { InputGenerateTransactionOptions, SingleSignerTransaction } from \"../transactions/types\";\nimport {\n AnyNumber,\n GetCollectionDataResponse,\n GetCurrentTokenOwnershipResponse,\n GetOwnedTokensResponse,\n GetTokenActivityResponse,\n GetTokenDataResponse,\n OrderByArg,\n PaginationArgs,\n TokenStandardArg,\n} from \"../types\";\nimport {\n GetCollectionDataQuery,\n GetCurrentTokenOwnershipQuery,\n GetTokenActivityQuery,\n GetTokenDataQuery,\n} from \"../types/generated/operations\";\nimport {\n GetCollectionData,\n GetCurrentTokenOwnership,\n GetTokenActivity,\n GetTokenData,\n} from \"../types/generated/queries\";\nimport { queryIndexer } from \"./general\";\nimport { generateTransaction } from \"./transactionSubmission\";\nimport { MAX_U64_BIG_INT } from \"../bcs/consts\";\nimport { CurrentTokenOwnershipsV2BoolExp, TokenActivitiesV2BoolExp } from \"../types/generated/types\";\n\n// TODO: Support properties when minting.\nexport interface MintTokenOptions {\n propertyKeys?: Array<string>;\n propertyTypes?: Array<string>;\n propertyValues?: Array<string>;\n}\n\nexport async function mintTokenTransaction(args: {\n aptosConfig: AptosConfig;\n creator: Account;\n collection: string;\n description: string;\n name: string;\n uri: string;\n options?: InputGenerateTransactionOptions;\n}): Promise<SingleSignerTransaction> {\n const { aptosConfig, options, creator } = args;\n const transaction = await generateTransaction({\n aptosConfig,\n sender: creator.accountAddress,\n data: {\n function: \"0x4::aptos_token::mint\",\n functionArguments: [\n new MoveString(args.collection),\n new MoveString(args.description),\n new MoveString(args.name),\n new MoveString(args.uri),\n MoveVector.MoveString([]),\n MoveVector.MoveString([]),\n new MoveVector<MoveVector<U8>>([]),\n ],\n },\n options,\n });\n return transaction;\n}\n\nexport async function getTokenData(args: {\n aptosConfig: AptosConfig;\n tokenAddress: AccountAddressInput;\n}): Promise<GetTokenDataResponse> {\n const { aptosConfig, tokenAddress } = args;\n\n const whereCondition: { token_data_id: { _eq: string } } = {\n token_data_id: { _eq: AccountAddress.from(tokenAddress).toStringLong() },\n };\n\n const graphqlQuery = {\n query: GetTokenData,\n variables: {\n where_condition: whereCondition,\n },\n };\n\n const data = await queryIndexer<GetTokenDataQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getTokenData\",\n });\n\n return data.current_token_datas_v2[0];\n}\n\nexport async function getCurrentTokenOwnership(args: {\n aptosConfig: AptosConfig;\n tokenAddress: AccountAddressInput;\n}): Promise<GetCurrentTokenOwnershipResponse> {\n const { aptosConfig, tokenAddress } = args;\n\n const whereCondition: CurrentTokenOwnershipsV2BoolExp = {\n token_data_id: { _eq: AccountAddress.from(tokenAddress).toStringLong() },\n };\n\n const graphqlQuery = {\n query: GetCurrentTokenOwnership,\n variables: {\n where_condition: whereCondition,\n },\n };\n\n const data = await queryIndexer<GetCurrentTokenOwnershipQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getCurrentTokenOwnership\",\n });\n\n return data.current_token_ownerships_v2[0];\n}\n\nexport async function getOwnedTokens(args: {\n aptosConfig: AptosConfig;\n ownerAddress: AccountAddressInput;\n options?: PaginationArgs & OrderByArg<GetTokenActivityResponse[0]>;\n}): Promise<GetOwnedTokensResponse> {\n const { aptosConfig, ownerAddress, options } = args;\n\n const whereCondition: CurrentTokenOwnershipsV2BoolExp = {\n owner_address: { _eq: AccountAddress.from(ownerAddress).toStringLong() },\n };\n\n const graphqlQuery = {\n query: GetCurrentTokenOwnership,\n variables: {\n where_condition: whereCondition,\n offset: options?.offset,\n limit: options?.limit,\n order_by: options?.orderBy,\n },\n };\n\n const data = await queryIndexer<GetCurrentTokenOwnershipQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getOwnedTokens\",\n });\n\n return data.current_token_ownerships_v2;\n}\n\nexport async function getTokenActivity(args: {\n aptosConfig: AptosConfig;\n tokenAddress: AccountAddressInput;\n options?: PaginationArgs & OrderByArg<GetTokenActivityResponse[0]>;\n}): Promise<GetTokenActivityResponse> {\n const { aptosConfig, tokenAddress, options } = args;\n\n const whereCondition: TokenActivitiesV2BoolExp = {\n token_data_id: { _eq: AccountAddress.from(tokenAddress).toStringLong() },\n };\n\n const graphqlQuery = {\n query: GetTokenActivity,\n variables: {\n where_condition: whereCondition,\n offset: options?.offset,\n limit: options?.limit,\n order_by: options?.orderBy,\n },\n };\n\n const data = await queryIndexer<GetTokenActivityQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getTokenActivity\",\n });\n\n return data.token_activities_v2;\n}\n\nexport interface CreateCollectionOptions {\n maxSupply?: AnyNumber;\n mutableDescription?: boolean;\n mutableRoyalty?: boolean;\n mutableURI?: boolean;\n mutableTokenDescription?: boolean;\n mutableTokenName?: boolean;\n mutableTokenProperties?: boolean;\n mutableTokenURI?: boolean;\n tokensBurnableByCreator?: boolean;\n tokensFreezableByCreator?: boolean;\n royaltyNumerator?: number;\n royaltyDenominator?: number;\n}\n\nexport async function createCollectionTransaction(\n args: {\n aptosConfig: AptosConfig;\n creator: Account;\n description: string;\n name: string;\n uri: string;\n options?: InputGenerateTransactionOptions;\n } & CreateCollectionOptions,\n): Promise<SingleSignerTransaction> {\n const { aptosConfig, options, creator } = args;\n const transaction = await generateTransaction({\n aptosConfig,\n sender: creator.accountAddress,\n data: {\n function: \"0x4::aptos_token::create_collection\",\n functionArguments: [\n // Do not change the order\n new MoveString(args.description),\n new U64(args.maxSupply ?? MAX_U64_BIG_INT),\n new MoveString(args.name),\n new MoveString(args.uri),\n new Bool(args.mutableDescription ?? true),\n new Bool(args.mutableRoyalty ?? true),\n new Bool(args.mutableURI ?? true),\n new Bool(args.mutableTokenDescription ?? true),\n new Bool(args.mutableTokenName ?? true),\n new Bool(args.mutableTokenProperties ?? true),\n new Bool(args.mutableTokenURI ?? true),\n new Bool(args.tokensBurnableByCreator ?? true),\n new Bool(args.tokensFreezableByCreator ?? true),\n new U64(args.royaltyNumerator ?? 0),\n new U64(args.royaltyDenominator ?? 1),\n ],\n },\n options,\n });\n return transaction;\n}\n\nexport async function getCollectionData(args: {\n aptosConfig: AptosConfig;\n creatorAddress: AccountAddressInput;\n collectionName: string;\n options?: TokenStandardArg;\n}): Promise<GetCollectionDataResponse> {\n const { aptosConfig, creatorAddress, collectionName, options } = args;\n const address = AccountAddress.from(creatorAddress);\n\n const whereCondition: any = {\n collection_name: { _eq: collectionName },\n creator_address: { _eq: address.toStringLong() },\n };\n\n if (options?.tokenStandard) {\n whereCondition.token_standard = { _eq: options?.tokenStandard ?? \"v2\" };\n }\n\n const graphqlQuery = {\n query: GetCollectionData,\n variables: {\n where_condition: whereCondition,\n },\n };\n const data = await queryIndexer<GetCollectionDataQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getCollectionData\",\n });\n\n return data.current_collections_v2[0];\n}\n\nexport async function getCollectionId(args: {\n aptosConfig: AptosConfig;\n creatorAddress: AccountAddressInput;\n collectionName: string;\n options?: TokenStandardArg;\n}): Promise<string> {\n return (await getCollectionData(args)).collection_id;\n}\n"],"mappings":"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","names":["mintTokenTransaction","args","aptosConfig","options","creator","generateTransaction","MoveString","MoveVector","getTokenData","tokenAddress","whereCondition","AccountAddress","queryIndexer","GetTokenData","getCurrentTokenOwnership","GetCurrentTokenOwnership","getOwnedTokens","ownerAddress","graphqlQuery","getTokenActivity","GetTokenActivity","createCollectionTransaction","U64","MAX_U64_BIG_INT","Bool","getCollectionData","creatorAddress","collectionName","address","GetCollectionData","getCollectionId"]}
@@ -1,2 +0,0 @@
1
- import{f as n,g as s,h as t,i as o,j as r,k as i,l as a,m as g,n as c,o as m,p as u,q as d,r as p}from"./chunk-KKER5KL4.mjs";var A=class{constructor(e){this.config=e}async getOwnerAddress(e){return n({aptosConfig:this.config,...e})}async getExpiration(e){return t({aptosConfig:this.config,...e})}async getTargetAddress(e){return i({aptosConfig:this.config,...e})}async setTargetAddress(e){return a({aptosConfig:this.config,...e})}async getPrimaryName(e){return o({aptosConfig:this.config,...e})}async setPrimaryName(e){return r({aptosConfig:this.config,...e})}async registerName(e){return s({aptosConfig:this.config,...e})}async renewDomain(e){return p({aptosConfig:this.config,...e})}async getName(e){return g({aptosConfig:this.config,...e})}async getAccountNames(e){return c({aptosConfig:this.config,...e})}async getAccountDomains(e){return m({aptosConfig:this.config,...e})}async getAccountSubdomains(e){return u({aptosConfig:this.config,...e})}async getDomainSubdomains(e){return d({aptosConfig:this.config,...e})}};export{A as a};
2
- //# sourceMappingURL=chunk-UWXDXOFK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/ans.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Account, AccountAddressInput } from \"../core\";\nimport {\n RegisterNameParameters,\n getExpiration,\n getOwnerAddress,\n registerName,\n getPrimaryName,\n setPrimaryName,\n getTargetAddress,\n setTargetAddress,\n renewDomain,\n getName,\n getAccountDomains,\n GetAccountDomainsArgs,\n GetAccountSubdomainsArgs,\n getAccountSubdomains,\n getAccountNames,\n GetAccountNamesArgs,\n getDomainSubdomains,\n GetDomainSubdomainsArgs,\n} from \"../internal/ans\";\nimport { GetANSNameResponse, MoveAddressType } from \"../types\";\nimport { InputGenerateTransactionOptions, SingleSignerTransaction } from \"../transactions/types\";\nimport { AptosConfig } from \"./aptosConfig\";\n\n/**\n * A class to handle all `ANS` operations\n */\nexport class ANS {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Retrieve the owner address of a domain name or subdomain name from the contract.\n *\n * ```ts\n * // Will return the owner address of \"test.aptos.apt\" or undefined\n * const owner = await aptos.getOwnerAddress({name: \"test.aptos\"})\n * // owner = 0x123...\n * ```\n *\n * @param args.name - A string of the name to retrieve\n *\n * @returns MoveAddressType if the name is owned, undefined otherwise\n */\n async getOwnerAddress(args: { name: string }): Promise<MoveAddressType | undefined> {\n return getOwnerAddress({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Retrieve the expiration time of a domain name or subdomain name from the contract.\n *\n * ```ts\n * // Will return the expiration of \"test.aptos.apt\" or undefined\n * const exp = await aptos.getExpiration({name: \"test.aptos\"})\n * // new Date(exp) would give you the date in question: 2021-01-01T00:00:00.000Z\n * ```\n *\n * @param args.name - A string of the name to retrieve\n *\n * @returns number as a unix timestamp in milliseconds.\n */\n async getExpiration(args: { name: string }): Promise<number | undefined> {\n return getExpiration({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Retrieve the target address of a domain or subdomain name. This is the\n * address the name points to for use on chain. Note, the target address can\n * point to addresses that are not the owner of the name\n *\n * ```ts\n * const targetAddr = await aptos.getTargetAddress({name: \"test.aptos\"})\n * // targetAddr = 0x123...\n * ```\n *\n * @param args.name - A string of the name: primary, primary.apt, secondary.primary, secondary.primary.apt, etc.\n *\n * @returns MoveAddressType if the name has a target, undefined otherwise\n */\n async getTargetAddress(args: { name: string }): Promise<MoveAddressType | undefined> {\n return getTargetAddress({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Sets the target address of a domain or subdomain name. This is the\n * address the name points to for use on chain. Note, the target address can\n * point to addresses that are not the owner of the name\n *\n * ```ts\n * await aptos.setTargetAddress({sender: alice, name: \"test.aptos\", address: bob.accountAddress})\n * const address = await aptos.getTargetAddress({name: \"test.aptos\"})\n * // address = bob.accountAddress\n * ```\n *\n * @param args.name - A string of the name: test.aptos.apt, test.apt, test, test.aptos, etc.\n * @param args.address - A AccountAddressInput of the address to set the domain or subdomain to\n *\n * @returns SingleSignerTransaction\n */\n async setTargetAddress(args: {\n sender: Account;\n name: string;\n address: AccountAddressInput;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return setTargetAddress({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Retrieve the primary name for an account. An account can have\n * multiple names that target it, but only a single name that is primary. An\n * account also may not have a primary name.\n *\n * ```ts\n * const name = await aptos.getPrimaryName({address: alice.accountAddress})\n * // name = test.aptos\n * ```\n *\n * @param args.address - A AccountAddressInput (address) of the account\n *\n * @returns a string if the account has a primary name, undefined otherwise\n */\n async getPrimaryName(args: { address: AccountAddressInput }): Promise<string | undefined> {\n return getPrimaryName({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Sets the primary name for the sender. An account can have\n * multiple names that target it, but only a single name that is primary. An\n * account also may not have a primary name.\n *\n * ```ts\n * await aptos.setPrimaryName({sender: alice, name: \"test.aptos\"})\n * const primaryName = await aptos.getPrimaryName({address: alice.accountAddress})\n * // primaryName = test.aptos\n * ```\n *\n * @param args.sender - The sender account\n * @param args.name - A string of the name: test, test.apt, test.aptos, test.aptos.apt, etc.\n *\n * @returns SingleSignerTransaction\n */\n async setPrimaryName(args: {\n sender: Account;\n name?: string;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return setPrimaryName({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Registers a new name\n *\n * ```ts\n * // An example of registering a subdomain name assuming def.apt is already registered\n * // and belongs to the sender alice.\n * const txn = aptos.registerName({\n * sender: alice,\n * name: \"test.aptos.apt\",\n * expiration: {\n * policy: \"subdomain:independent\",\n * expirationDate: Date.now() + 30 * 24 * 60 * 60 * 1000,\n * },\n * });\n * ```\n *\n * @param args.sender - The sender account\n * @param args.name - A string of the name to register. This can be inclusive or exclusive of the .apt suffix.\n * Examples include: \"test\", \"test.apt\", \"test.aptos.apt\", etc.\n * @param args.expiration - An object with the expiration policy of the name.\n * @param args.expiration.policy - 'domain' | 'subdomain:follow-domain' | 'subdomain:independent'\n * - domain: Years is required and the name will expire after the given number of years.\n * - subdomain:follow-domain: The name will expire at the same time as the domain name.\n * - subdomain:independent: The name will expire at the given date.\n * @param args.expiration.expirationDate - An epoch number in milliseconds of\n * the date when the subdomain will expire. Only applicable when the policy is\n * set to 'subdomain:independent'.\n * @param args.transferable - Determines if the subdomain being minted is soul-bound. Applicable only to subdomains.\n * @param args.targetAddress optional - The address the domain name will resolve to. If not provided,\n * the sender's address will be used.\n * @param args.toAddress optional - The address to send the domain name to. If not provided,\n * the transaction will be sent to the router.\n *\n * @returns SingleSignerTransaction\n */\n async registerName(args: Omit<RegisterNameParameters, \"aptosConfig\">): Promise<SingleSignerTransaction> {\n return registerName({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Renews a domain name\n *\n * Note: If a domain name was minted with V1 of the contract, it will automatically be upgraded to V2 via this transaction.\n *\n * ```ts\n * await aptos.renewDomain({sender: alice, name: \"test\"})\n * // test.apt will be renewed for one year\n * ```\n *\n * @param args.sender - The sender account\n * @param args.name - A string of the domain the subdomain will be under. The signer must be the domain owner.\n * Subdomains cannot be renewed.\n * @param args.years - The number of years to renew the name. Currently only one year is permitted.\n *\n * @returns SingleSignerTransaction\n */\n async renewDomain(args: {\n sender: Account;\n name: string;\n years?: 1;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return renewDomain({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Fetches a single name from the indexer\n * @param args.name - A string of the name to retrieve, e.g. \"test.aptos.apt\"\n * or \"test.apt\" or \"test\". Can be inclusive or exclusive of the .apt suffix.\n * Can be a subdomain.\n *\n * @returns A promise of an ANSName or undefined\n */\n async getName(args: { name: string }): Promise<GetANSNameResponse[0] | undefined> {\n return getName({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Fetches all names for an account (both top level domains and subdomains)\n *\n * @param args\n * @param args.accountAddress - A AccountAddressInput of the address to retrieve names for.\n * @param args.options.offset - Optional, the offset to start from when fetching names\n * @param args.options.limit - Optional, A number of the names to fetch per request\n * @param args.options.orderBy - The order to sort the names by\n * @param args.options.where - Additional filters to apply to the query\n *\n * @returns a promise of an array of ANSName\n */\n async getAccountNames(args: GetAccountNamesArgs): Promise<GetANSNameResponse> {\n return getAccountNames({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Fetches all top level domain names for an account\n *\n * @param args\n * @param args.accountAddress - A AccountAddressInput of the address to retrieve domain names for.\n * @param args.options.offset - Optional, the offset to start from when fetching names\n * @param args.options.limit - Optional, A number of the names to fetch per request\n * @param args.options.orderBy - The order to sort the names by\n * @param args.options.where - Additional filters to apply to the query\n *\n * @returns a promise of an array of ANSName\n */\n async getAccountDomains(args: GetAccountDomainsArgs): Promise<GetANSNameResponse> {\n return getAccountDomains({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Fetches all subdomains names for an account\n *\n * @param args\n * @param args.accountAddress - A AccountAddressInput of the address to retrieve subdomains names for.\n * @param args.options.offset - Optional, the offset to start from when fetching names\n * @param args.options.limit - Optional, A number of the names to fetch per request\n * @param args.options.orderBy - The order to sort the names by\n * @param args.options.where - Additional filters to apply to the query\n *\n * @returns a promise of an array of ANSName\n */\n async getAccountSubdomains(args: GetAccountSubdomainsArgs): Promise<GetANSNameResponse> {\n return getAccountSubdomains({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Fetches all subdomains names for a given domain. Note, this will not return the domain itself.\n *\n * @param args\n * @param args.domain - A string of the domain name: eg. \"test.apt\" or \"test\" (without the suffix of .apt)\n * @param args.options.offset - Optional, the offset to start from when fetching names\n * @param args.options.limit - Optional, A number of the names to fetch per request\n * @param args.options.orderBy - The order to sort the names by\n * @param args.options.where - Additional filters to apply to the query\n *\n * @returns a promise of an array of ANSName\n */\n async getDomainSubdomains(args: GetDomainSubdomainsArgs): Promise<GetANSNameResponse> {\n return getDomainSubdomains({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"6HA+BO,IAAMA,EAAN,KAAU,CACf,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CAe3C,MAAM,gBAAgBC,EAA8D,CAClF,OAAOC,EAAgB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAC9D,CAeA,MAAM,cAAcA,EAAqD,CACvE,OAAOE,EAAc,CAAE,YAAa,KAAK,OAAQ,GAAGF,CAAK,CAAC,CAC5D,CAgBA,MAAM,iBAAiBA,EAA8D,CACnF,OAAOG,EAAiB,CAAE,YAAa,KAAK,OAAQ,GAAGH,CAAK,CAAC,CAC/D,CAkBA,MAAM,iBAAiBA,EAKc,CACnC,OAAOI,EAAiB,CAAE,YAAa,KAAK,OAAQ,GAAGJ,CAAK,CAAC,CAC/D,CAgBA,MAAM,eAAeA,EAAqE,CACxF,OAAOK,EAAe,CAAE,YAAa,KAAK,OAAQ,GAAGL,CAAK,CAAC,CAC7D,CAkBA,MAAM,eAAeA,EAIgB,CACnC,OAAOM,EAAe,CAAE,YAAa,KAAK,OAAQ,GAAGN,CAAK,CAAC,CAC7D,CAqCA,MAAM,aAAaA,EAAqF,CACtG,OAAOO,EAAa,CAAE,YAAa,KAAK,OAAQ,GAAGP,CAAK,CAAC,CAC3D,CAmBA,MAAM,YAAYA,EAKmB,CACnC,OAAOQ,EAAY,CAAE,YAAa,KAAK,OAAQ,GAAGR,CAAK,CAAC,CAC1D,CAUA,MAAM,QAAQA,EAAoE,CAChF,OAAOS,EAAQ,CAAE,YAAa,KAAK,OAAQ,GAAGT,CAAK,CAAC,CACtD,CAcA,MAAM,gBAAgBA,EAAwD,CAC5E,OAAOU,EAAgB,CAAE,YAAa,KAAK,OAAQ,GAAGV,CAAK,CAAC,CAC9D,CAcA,MAAM,kBAAkBA,EAA0D,CAChF,OAAOW,EAAkB,CAAE,YAAa,KAAK,OAAQ,GAAGX,CAAK,CAAC,CAChE,CAcA,MAAM,qBAAqBA,EAA6D,CACtF,OAAOY,EAAqB,CAAE,YAAa,KAAK,OAAQ,GAAGZ,CAAK,CAAC,CACnE,CAcA,MAAM,oBAAoBA,EAA4D,CACpF,OAAOa,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGb,CAAK,CAAC,CAClE,CACF","names":["ANS","config","args","getOwnerAddress","getExpiration","getTargetAddress","setTargetAddress","getPrimaryName","setPrimaryName","registerName","renewDomain","getName","getAccountNames","getAccountDomains","getAccountSubdomains","getDomainSubdomains"]}
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-OZZDXS26.mjs";import{h as r,i as e,j as i}from"./chunk-CLJLQXFQ.mjs";var c=class{constructor(n){this.config=n}async batchTransactionsForSingleAccount(n){try{let{sender:t,data:o,options:p}=n,a=new s(this.config,t);a.start();for(let u of o)await a.push(u,p)}catch(t){throw new Error(`failed to submit transactions with error: ${t}`)}}async signAndSubmitTransaction(n){let{signer:t,transaction:o}=n;return r({aptosConfig:this.config,signer:t,transaction:o})}async publishPackageTransaction(n){return e({aptosConfig:this.config,...n})}async rotateAuthKey(n){return i({aptosConfig:this.config,...n})}};export{c as a};
2
- //# sourceMappingURL=chunk-XX2Z26FH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/transactionSubmission.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"./aptosConfig\";\nimport { Account, AccountAddressInput, PrivateKey } from \"../core\";\nimport {\n AnyRawTransaction,\n SingleSignerTransaction,\n InputGenerateTransactionOptions,\n InputGenerateTransactionPayloadData,\n} from \"../transactions/types\";\nimport { PendingTransactionResponse, HexInput, TransactionResponse } from \"../types\";\nimport { publicPackageTransaction, rotateAuthKey, signAndSubmitTransaction } from \"../internal/transactionSubmission\";\nimport { TransactionWorker } from \"../transactions/management\";\n\nexport class TransactionSubmission {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n /**\n * Batch transactions for a single account.\n *\n * This function uses a transaction worker that receives payloads to be processed\n * and submitted to chain.\n * Note that this process is best for submitting multiple transactions that\n * dont rely on each other, i.e batch funds, batch token mints, etc.\n *\n * If any worker failure, the functions throws an error.\n *\n * @param args.sender The sender account to sign and submit the transaction\n * @param args.data An array of transaction payloads\n * @param args.options optional. Transaction generation configurations (excluding accountSequenceNumber)\n *\n * @return void. Throws if any error\n */\n async batchTransactionsForSingleAccount(args: {\n sender: Account;\n data: InputGenerateTransactionPayloadData[];\n options?: Omit<InputGenerateTransactionOptions, \"accountSequenceNumber\">;\n }): Promise<void> {\n try {\n const { sender, data, options } = args;\n const transactionWorker = new TransactionWorker(this.config, sender);\n\n transactionWorker.start();\n\n for (const d of data) {\n /* eslint-disable no-await-in-loop */\n await transactionWorker.push(d, options);\n }\n } catch (error: any) {\n throw new Error(`failed to submit transactions with error: ${error}`);\n }\n }\n\n /**\n * Sign and submit a single signer transaction to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction 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 *\n * @return PendingTransactionResponse\n */\n async signAndSubmitTransaction(args: {\n signer: Account;\n transaction: AnyRawTransaction;\n }): Promise<PendingTransactionResponse> {\n const { signer, transaction } = args;\n return signAndSubmitTransaction({\n aptosConfig: this.config,\n signer,\n transaction,\n });\n }\n\n /**\n * Generates a transaction to publish a move package to chain.\n *\n * To get the `metadataBytes` and `byteCode`, can compile using Aptos CLI with command\n * `aptos move compile --save-metadata ...`,\n * For more info {@link https://aptos.dev/tutorials/your-first-dapp/#step-4-publish-a-move-module}\n *\n * @param args.account The publisher account\n * @param args.metadataBytes The package metadata bytes\n * @param args.moduleBytecode An array of the bytecode of each module in the package in compiler output order\n *\n * @returns A SingleSignerTransaction that can be simulated or submitted to chain\n */\n async publishPackageTransaction(args: {\n account: AccountAddressInput;\n metadataBytes: HexInput;\n moduleBytecode: Array<HexInput>;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return publicPackageTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Rotate an account's auth key. After rotation, only the new private key can be used to sign txns for\n * the account.\n * Note: Only legacy Ed25519 scheme is supported for now.\n * More info: {@link https://aptos.dev/guides/account-management/key-rotation/}\n * @param args.fromAccount The account to rotate the auth key for\n * @param args.toNewPrivateKey The new private key to rotate to\n *\n * @returns PendingTransactionResponse\n */\n async rotateAuthKey(args: { fromAccount: Account; toNewPrivateKey: PrivateKey }): Promise<TransactionResponse> {\n return rotateAuthKey({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"gGAeO,IAAMA,EAAN,KAA4B,CAGjC,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAkBA,MAAM,kCAAkCC,EAItB,CAChB,GAAI,CACF,GAAM,CAAE,OAAAC,EAAQ,KAAAC,EAAM,QAAAC,CAAQ,EAAIH,EAC5BI,EAAoB,IAAIC,EAAkB,KAAK,OAAQJ,CAAM,EAEnEG,EAAkB,MAAM,EAExB,QAAWE,KAAKJ,EAEd,MAAME,EAAkB,KAAKE,EAAGH,CAAO,CAE3C,OAASI,EAAY,CACnB,MAAM,IAAI,MAAM,6CAA6CA,CAAK,EAAE,CACtE,CACF,CAiBA,MAAM,yBAAyBP,EAGS,CACtC,GAAM,CAAE,OAAAQ,EAAQ,YAAAC,CAAY,EAAIT,EAChC,OAAOU,EAAyB,CAC9B,YAAa,KAAK,OAClB,OAAAF,EACA,YAAAC,CACF,CAAC,CACH,CAeA,MAAM,0BAA0BT,EAKK,CACnC,OAAOW,EAAyB,CAAE,YAAa,KAAK,OAAQ,GAAGX,CAAK,CAAC,CACvE,CAYA,MAAM,cAAcA,EAA2F,CAC7G,OAAOY,EAAc,CAAE,YAAa,KAAK,OAAQ,GAAGZ,CAAK,CAAC,CAC5D,CACF","names":["TransactionSubmission","config","args","sender","data","options","transactionWorker","TransactionWorker","d","error","signer","transaction","signAndSubmitTransaction","publicPackageTransaction","rotateAuthKey"]}
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-CU2DINU4.mjs";import{b as n}from"./chunk-G36AY4R7.mjs";import{a as x}from"./chunk-F6K26WV5.mjs";var t=class extends x{static deserialize(e){let r=e.deserializeUleb128AsU32();switch(r){case 0:return u.load(e);case 1:return c.load(e);case 2:return p.load(e);case 3:return z.load(e);case 4:return S.load(e);case 5:return U.load(e);case 6:return y.load(e);case 7:return v.load(e);case 8:return d.load(e);case 9:return g.load(e);case 10:return T.load(e);case 255:return h.load(e);default:throw new Error(`Unknown variant index for TypeTag: ${r}`)}}isBool(){return this instanceof u}isAddress(){return this instanceof S}isGeneric(){return this instanceof h}isSigner(){return this instanceof U}isVector(){return this instanceof y}isStruct(){return this instanceof v}isU8(){return this instanceof c}isU16(){return this instanceof d}isU32(){return this instanceof g}isU64(){return this instanceof p}isU128(){return this instanceof z}isU256(){return this instanceof T}},u=class i extends t{toString(){return"bool"}serialize(e){e.serializeU32AsUleb128(0)}static load(e){return new i}},c=class i extends t{toString(){return"u8"}serialize(e){e.serializeU32AsUleb128(1)}static load(e){return new i}},d=class i extends t{toString(){return"u16"}serialize(e){e.serializeU32AsUleb128(8)}static load(e){return new i}},g=class i extends t{toString(){return"u32"}serialize(e){e.serializeU32AsUleb128(9)}static load(e){return new i}},p=class i extends t{toString(){return"u64"}serialize(e){e.serializeU32AsUleb128(2)}static load(e){return new i}},z=class i extends t{toString(){return"u128"}serialize(e){e.serializeU32AsUleb128(3)}static load(e){return new i}},T=class i extends t{toString(){return"u256"}serialize(e){e.serializeU32AsUleb128(10)}static load(e){return new i}},S=class i extends t{toString(){return"address"}serialize(e){e.serializeU32AsUleb128(4)}static load(e){return new i}},U=class i extends t{toString(){return"signer"}serialize(e){e.serializeU32AsUleb128(5)}static load(e){return new i}},A=class i extends t{constructor(r){super();this.value=r}toString(){return`&${this.value.toString()}`}serialize(r){r.serializeU32AsUleb128(254)}static load(r){let s=t.deserialize(r);return new i(s)}},h=class i extends t{constructor(r){super();this.value=r}toString(){return`T${this.value}`}serialize(r){r.serializeU32AsUleb128(255),r.serializeU32(this.value)}static load(r){let s=r.deserializeU32();return new i(s)}},y=class i extends t{constructor(r){super();this.value=r}toString(){return`vector<${this.value.toString()}>`}serialize(r){r.serializeU32AsUleb128(6),this.value.serialize(r)}static load(r){let s=t.deserialize(r);return new i(s)}},v=class i extends t{constructor(r){super();this.value=r}toString(){let r="";return this.value.typeArgs.length>0&&(r=`<${this.value.typeArgs.map(s=>s.toString()).join(", ")}>`),`${this.value.address.toString()}::${this.value.moduleName.identifier}::${this.value.name.identifier}${r}`}serialize(r){r.serializeU32AsUleb128(7),this.value.serialize(r)}static load(r){let s=o.deserialize(r);return new i(s)}isTypeTag(r,s,l){return this.value.moduleName.identifier===s&&this.value.name.identifier===l&&this.value.address.equals(r)}isString(){return this.isTypeTag(n.ONE,"string","String")}isOption(){return this.isTypeTag(n.ONE,"option","Option")}isObject(){return this.isTypeTag(n.ONE,"object","Object")}},o=class i extends x{constructor(r,s,l,b){super();this.address=r,this.moduleName=s,this.name=l,this.typeArgs=b}serialize(r){r.serialize(this.address),r.serialize(this.moduleName),r.serialize(this.name),r.serializeVector(this.typeArgs)}static deserialize(r){let s=n.deserialize(r),l=a.deserialize(r),b=a.deserialize(r),f=r.deserializeVector(t);return new i(s,l,b,f)}};function E(){return new o(n.ONE,new a("aptos_coin"),new a("AptosCoin"),[])}function j(){return new o(n.ONE,new a("string"),new a("String"),[])}function V(i){return new o(n.ONE,new a("option"),new a("Option"),[i])}function I(i){return new o(n.ONE,new a("object"),new a("Object"),[i])}export{t as a,u as b,c,d,g as e,p as f,z as g,T as h,S as i,U as j,A as k,h as l,y as m,v as n,o,E as p,j as q,V as r,I as s};
2
- //# sourceMappingURL=chunk-YN6UIVFB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/transactions/typeTag/index.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable max-classes-per-file */\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { AccountAddress } from \"../../core\";\nimport { Identifier } from \"../instances/identifier\";\nimport { TypeTagVariants } from \"../../types\";\n\nexport abstract class TypeTag extends Serializable {\n abstract serialize(serializer: Serializer): void;\n\n static deserialize(deserializer: Deserializer): TypeTag {\n const index = deserializer.deserializeUleb128AsU32();\n switch (index) {\n case TypeTagVariants.Bool:\n return TypeTagBool.load(deserializer);\n case TypeTagVariants.U8:\n return TypeTagU8.load(deserializer);\n case TypeTagVariants.U64:\n return TypeTagU64.load(deserializer);\n case TypeTagVariants.U128:\n return TypeTagU128.load(deserializer);\n case TypeTagVariants.Address:\n return TypeTagAddress.load(deserializer);\n case TypeTagVariants.Signer:\n return TypeTagSigner.load(deserializer);\n case TypeTagVariants.Vector:\n return TypeTagVector.load(deserializer);\n case TypeTagVariants.Struct:\n return TypeTagStruct.load(deserializer);\n case TypeTagVariants.U16:\n return TypeTagU16.load(deserializer);\n case TypeTagVariants.U32:\n return TypeTagU32.load(deserializer);\n case TypeTagVariants.U256:\n return TypeTagU256.load(deserializer);\n case TypeTagVariants.Generic:\n // This is only used for ABI representation, and cannot actually be used as a type.\n return TypeTagGeneric.load(deserializer);\n default:\n throw new Error(`Unknown variant index for TypeTag: ${index}`);\n }\n }\n\n abstract toString(): string;\n\n isBool(): this is TypeTagBool {\n return this instanceof TypeTagBool;\n }\n\n isAddress(): this is TypeTagAddress {\n return this instanceof TypeTagAddress;\n }\n\n isGeneric(): this is TypeTagGeneric {\n return this instanceof TypeTagGeneric;\n }\n\n isSigner(): this is TypeTagSigner {\n return this instanceof TypeTagSigner;\n }\n\n isVector(): this is TypeTagVector {\n return this instanceof TypeTagVector;\n }\n\n isStruct(): this is TypeTagStruct {\n return this instanceof TypeTagStruct;\n }\n\n isU8(): this is TypeTagU8 {\n return this instanceof TypeTagU8;\n }\n\n isU16(): this is TypeTagU16 {\n return this instanceof TypeTagU16;\n }\n\n isU32(): this is TypeTagU32 {\n return this instanceof TypeTagU32;\n }\n\n isU64(): this is TypeTagU64 {\n return this instanceof TypeTagU64;\n }\n\n isU128(): this is TypeTagU128 {\n return this instanceof TypeTagU128;\n }\n\n isU256(): this is TypeTagU256 {\n return this instanceof TypeTagU256;\n }\n}\n\nexport class TypeTagBool extends TypeTag {\n toString(): string {\n return \"bool\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Bool);\n }\n\n static load(_deserializer: Deserializer): TypeTagBool {\n return new TypeTagBool();\n }\n}\n\nexport class TypeTagU8 extends TypeTag {\n toString(): string {\n return \"u8\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U8);\n }\n\n static load(_deserializer: Deserializer): TypeTagU8 {\n return new TypeTagU8();\n }\n}\n\nexport class TypeTagU16 extends TypeTag {\n toString(): string {\n return \"u16\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U16);\n }\n\n static load(_deserializer: Deserializer): TypeTagU16 {\n return new TypeTagU16();\n }\n}\n\nexport class TypeTagU32 extends TypeTag {\n toString(): string {\n return \"u32\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U32);\n }\n\n static load(_deserializer: Deserializer): TypeTagU32 {\n return new TypeTagU32();\n }\n}\n\nexport class TypeTagU64 extends TypeTag {\n toString(): string {\n return \"u64\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U64);\n }\n\n static load(_deserializer: Deserializer): TypeTagU64 {\n return new TypeTagU64();\n }\n}\n\nexport class TypeTagU128 extends TypeTag {\n toString(): string {\n return \"u128\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U128);\n }\n\n static load(_deserializer: Deserializer): TypeTagU128 {\n return new TypeTagU128();\n }\n}\n\nexport class TypeTagU256 extends TypeTag {\n toString(): string {\n return \"u256\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U256);\n }\n\n static load(_deserializer: Deserializer): TypeTagU256 {\n return new TypeTagU256();\n }\n}\n\nexport class TypeTagAddress extends TypeTag {\n toString(): string {\n return \"address\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Address);\n }\n\n static load(_deserializer: Deserializer): TypeTagAddress {\n return new TypeTagAddress();\n }\n}\n\nexport class TypeTagSigner extends TypeTag {\n toString(): string {\n return \"signer\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Signer);\n }\n\n static load(_deserializer: Deserializer): TypeTagSigner {\n return new TypeTagSigner();\n }\n}\n\nexport class TypeTagReference extends TypeTag {\n toString(): `&${string}` {\n return `&${this.value.toString()}`;\n }\n\n constructor(public readonly value: TypeTag) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Reference);\n }\n\n static load(deserializer: Deserializer): TypeTagReference {\n const value = TypeTag.deserialize(deserializer);\n return new TypeTagReference(value);\n }\n}\n\n/**\n * Generics are used for type parameters in entry functions. However,\n * they are not actually serialized into a real type, so they cannot be\n * used as a type directly.\n */\nexport class TypeTagGeneric extends TypeTag {\n toString(): `T${number}` {\n return `T${this.value}`;\n }\n\n constructor(public readonly value: number) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Generic);\n serializer.serializeU32(this.value);\n }\n\n static load(deserializer: Deserializer): TypeTagGeneric {\n const value = deserializer.deserializeU32();\n return new TypeTagGeneric(value);\n }\n}\n\nexport class TypeTagVector extends TypeTag {\n toString(): `vector<${string}>` {\n return `vector<${this.value.toString()}>`;\n }\n\n constructor(public readonly value: TypeTag) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Vector);\n this.value.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TypeTagVector {\n const value = TypeTag.deserialize(deserializer);\n return new TypeTagVector(value);\n }\n}\n\nexport class TypeTagStruct extends TypeTag {\n toString(): `0x${string}::${string}::${string}` {\n // Collect type args and add it if there are any\n let typePredicate = \"\";\n if (this.value.typeArgs.length > 0) {\n typePredicate = `<${this.value.typeArgs.map((typeArg) => typeArg.toString()).join(\", \")}>`;\n }\n\n return `${this.value.address.toString()}::${this.value.moduleName.identifier}::${\n this.value.name.identifier\n }${typePredicate}`;\n }\n\n constructor(public readonly value: StructTag) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Struct);\n this.value.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TypeTagStruct {\n const value = StructTag.deserialize(deserializer);\n return new TypeTagStruct(value);\n }\n\n isTypeTag(address: AccountAddress, moduleName: string, structName: string): boolean {\n return (\n this.value.moduleName.identifier === moduleName &&\n this.value.name.identifier === structName &&\n this.value.address.equals(address)\n );\n }\n\n isString(): boolean {\n return this.isTypeTag(AccountAddress.ONE, \"string\", \"String\");\n }\n\n isOption(): boolean {\n return this.isTypeTag(AccountAddress.ONE, \"option\", \"Option\");\n }\n\n isObject(): boolean {\n return this.isTypeTag(AccountAddress.ONE, \"object\", \"Object\");\n }\n}\n\nexport class StructTag extends Serializable {\n public readonly address: AccountAddress;\n\n public readonly moduleName: Identifier;\n\n public readonly name: Identifier;\n\n public readonly typeArgs: Array<TypeTag>;\n\n constructor(address: AccountAddress, module_name: Identifier, name: Identifier, type_args: Array<TypeTag>) {\n super();\n this.address = address;\n this.moduleName = module_name;\n this.name = name;\n this.typeArgs = type_args;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serialize(this.address);\n serializer.serialize(this.moduleName);\n serializer.serialize(this.name);\n serializer.serializeVector(this.typeArgs);\n }\n\n static deserialize(deserializer: Deserializer): StructTag {\n const address = AccountAddress.deserialize(deserializer);\n const moduleName = Identifier.deserialize(deserializer);\n const name = Identifier.deserialize(deserializer);\n const typeArgs = deserializer.deserializeVector(TypeTag);\n return new StructTag(address, moduleName, name, typeArgs);\n }\n}\n\nexport function aptosCoinStructTag(): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"aptos_coin\"), new Identifier(\"AptosCoin\"), []);\n}\n\nexport function stringStructTag(): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"string\"), new Identifier(\"String\"), []);\n}\n\nexport function optionStructTag(typeArg: TypeTag): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"option\"), new Identifier(\"Option\"), [typeArg]);\n}\n\nexport function objectStructTag(typeArg: TypeTag): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"object\"), new Identifier(\"Object\"), [typeArg]);\n}\n"],"mappings":"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","names":["TypeTag","Serializable","deserializer","index","TypeTagBool","TypeTagU8","TypeTagU64","TypeTagU128","TypeTagAddress","TypeTagSigner","TypeTagVector","TypeTagStruct","TypeTagU16","TypeTagU32","TypeTagU256","TypeTagGeneric","_TypeTagBool","serializer","_deserializer","_TypeTagU8","_TypeTagU16","_TypeTagU32","_TypeTagU64","_TypeTagU128","_TypeTagU256","_TypeTagAddress","_TypeTagSigner","TypeTagReference","_TypeTagReference","value","_TypeTagGeneric","_TypeTagVector","_TypeTagStruct","typePredicate","typeArg","StructTag","address","moduleName","structName","AccountAddress","_StructTag","module_name","name","type_args","Identifier","typeArgs","aptosCoinStructTag","stringStructTag","optionStructTag","objectStructTag"]}
@@ -1,2 +0,0 @@
1
- import{g as a}from"./chunk-CLJLQXFQ.mjs";import{a as r}from"./chunk-ZWH2ESXT.mjs";var n=class{constructor(t){this.config=t}async transaction(t){return a({aptosConfig:this.config,...t})}async multiAgentTransaction(t){return a({aptosConfig:this.config,...t})}};r([c],n.prototype,"transaction",1),r([c],n.prototype,"multiAgentTransaction",1);function c(s,t,o){let u=o.value;return o.value=async function(...e){let[i]=e;if(i.transaction.feePayerAddress&&!i.feePayerAuthenticator)throw new Error("You are submitting a Fee Payer transaction but missing the feePayerAuthenticator");return u.apply(this,e)},o}export{n as a};
2
- //# sourceMappingURL=chunk-ZFK7QD3B.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/transactionSubmission/submit.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { submitTransaction } from \"../../internal/transactionSubmission\";\nimport { AccountAuthenticator, AnyRawTransaction } from \"../../transactions\";\nimport { PendingTransactionResponse } from \"../../types\";\nimport { AptosConfig } from \"../aptosConfig\";\n\n/**\n * A class to handle all `Submit` transaction operations\n */\nexport class Submit {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n @ValidateFeePayerData\n async transaction(args: {\n transaction: AnyRawTransaction;\n senderAuthenticator: AccountAuthenticator;\n feePayerAuthenticator?: AccountAuthenticator;\n }): Promise<PendingTransactionResponse> {\n return submitTransaction({ aptosConfig: this.config, ...args });\n }\n\n @ValidateFeePayerData\n async multiAgentTransaction(args: {\n transaction: AnyRawTransaction;\n senderAuthenticator: AccountAuthenticator;\n additionalSignersAuthenticators: Array<AccountAuthenticator>;\n feePayerAuthenticator?: AccountAuthenticator;\n }): Promise<PendingTransactionResponse> {\n return submitTransaction({ aptosConfig: this.config, ...args });\n }\n}\n\nfunction ValidateFeePayerData(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n /* eslint-disable-next-line func-names, no-param-reassign */\n descriptor.value = async function (...args: any[]) {\n const [methodArgs] = args;\n\n if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerAuthenticator) {\n throw new Error(\"You are submitting a Fee Payer transaction but missing the feePayerAuthenticator\");\n }\n\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n}\n"],"mappings":"kFAWO,IAAMA,EAAN,KAAa,CAGlB,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAGA,MAAM,YAAYC,EAIsB,CACtC,OAAOC,EAAkB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAChE,CAGA,MAAM,sBAAsBA,EAKY,CACtC,OAAOC,EAAkB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAChE,CACF,EAjBQE,EAAA,CADLC,GAPUL,EAQL,2BASAI,EAAA,CADLC,GAhBUL,EAiBL,qCAUR,SAASK,EAAqBC,EAAiBC,EAAqBC,EAAgC,CAClG,IAAMC,EAAiBD,EAAW,MAElC,OAAAA,EAAW,MAAQ,kBAAmBN,EAAa,CACjD,GAAM,CAACQ,CAAU,EAAIR,EAErB,GAAIQ,EAAW,YAAY,iBAAmB,CAACA,EAAW,sBACxD,MAAM,IAAI,MAAM,kFAAkF,EAGpG,OAAOD,EAAe,MAAM,KAAMP,CAAI,CACxC,EAEOM,CACT","names":["Submit","config","args","submitTransaction","__decorateClass","ValidateFeePayerData","target","propertyKey","descriptor","originalMethod","methodArgs"]}
@@ -1,121 +0,0 @@
1
- // Copyright © Aptos Foundation
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { AptosConfig } from "./aptosConfig";
5
- import { Account, AccountAddressInput, PrivateKey } from "../core";
6
- import {
7
- AnyRawTransaction,
8
- SingleSignerTransaction,
9
- InputGenerateTransactionOptions,
10
- InputGenerateTransactionPayloadData,
11
- } from "../transactions/types";
12
- import { PendingTransactionResponse, HexInput, TransactionResponse } from "../types";
13
- import { publicPackageTransaction, rotateAuthKey, signAndSubmitTransaction } from "../internal/transactionSubmission";
14
- import { TransactionWorker } from "../transactions/management";
15
-
16
- export class TransactionSubmission {
17
- readonly config: AptosConfig;
18
-
19
- constructor(config: AptosConfig) {
20
- this.config = config;
21
- }
22
-
23
- /**
24
- * Batch transactions for a single account.
25
- *
26
- * This function uses a transaction worker that receives payloads to be processed
27
- * and submitted to chain.
28
- * Note that this process is best for submitting multiple transactions that
29
- * dont rely on each other, i.e batch funds, batch token mints, etc.
30
- *
31
- * If any worker failure, the functions throws an error.
32
- *
33
- * @param args.sender The sender account to sign and submit the transaction
34
- * @param args.data An array of transaction payloads
35
- * @param args.options optional. Transaction generation configurations (excluding accountSequenceNumber)
36
- *
37
- * @return void. Throws if any error
38
- */
39
- async batchTransactionsForSingleAccount(args: {
40
- sender: Account;
41
- data: InputGenerateTransactionPayloadData[];
42
- options?: Omit<InputGenerateTransactionOptions, "accountSequenceNumber">;
43
- }): Promise<void> {
44
- try {
45
- const { sender, data, options } = args;
46
- const transactionWorker = new TransactionWorker(this.config, sender);
47
-
48
- transactionWorker.start();
49
-
50
- for (const d of data) {
51
- /* eslint-disable no-await-in-loop */
52
- await transactionWorker.push(d, options);
53
- }
54
- } catch (error: any) {
55
- throw new Error(`failed to submit transactions with error: ${error}`);
56
- }
57
- }
58
-
59
- /**
60
- * Sign and submit a single signer transaction to chain
61
- *
62
- * @param args.signer The signer account to sign the transaction
63
- * @param args.transaction An instance of a RawTransaction, plus optional secondary/fee payer addresses
64
- * ```
65
- * {
66
- * rawTransaction: RawTransaction,
67
- * secondarySignerAddresses? : Array<AccountAddress>,
68
- * feePayerAddress?: AccountAddress
69
- * }
70
- * ```
71
- *
72
- * @return PendingTransactionResponse
73
- */
74
- async signAndSubmitTransaction(args: {
75
- signer: Account;
76
- transaction: AnyRawTransaction;
77
- }): Promise<PendingTransactionResponse> {
78
- const { signer, transaction } = args;
79
- return signAndSubmitTransaction({
80
- aptosConfig: this.config,
81
- signer,
82
- transaction,
83
- });
84
- }
85
-
86
- /**
87
- * Generates a transaction to publish a move package to chain.
88
- *
89
- * To get the `metadataBytes` and `byteCode`, can compile using Aptos CLI with command
90
- * `aptos move compile --save-metadata ...`,
91
- * For more info {@link https://aptos.dev/tutorials/your-first-dapp/#step-4-publish-a-move-module}
92
- *
93
- * @param args.account The publisher account
94
- * @param args.metadataBytes The package metadata bytes
95
- * @param args.moduleBytecode An array of the bytecode of each module in the package in compiler output order
96
- *
97
- * @returns A SingleSignerTransaction that can be simulated or submitted to chain
98
- */
99
- async publishPackageTransaction(args: {
100
- account: AccountAddressInput;
101
- metadataBytes: HexInput;
102
- moduleBytecode: Array<HexInput>;
103
- options?: InputGenerateTransactionOptions;
104
- }): Promise<SingleSignerTransaction> {
105
- return publicPackageTransaction({ aptosConfig: this.config, ...args });
106
- }
107
-
108
- /**
109
- * Rotate an account's auth key. After rotation, only the new private key can be used to sign txns for
110
- * the account.
111
- * Note: Only legacy Ed25519 scheme is supported for now.
112
- * More info: {@link https://aptos.dev/guides/account-management/key-rotation/}
113
- * @param args.fromAccount The account to rotate the auth key for
114
- * @param args.toNewPrivateKey The new private key to rotate to
115
- *
116
- * @returns PendingTransactionResponse
117
- */
118
- async rotateAuthKey(args: { fromAccount: Account; toNewPrivateKey: PrivateKey }): Promise<TransactionResponse> {
119
- return rotateAuthKey({ aptosConfig: this.config, ...args });
120
- }
121
- }