@aptos-labs/ts-sdk 1.11.0 → 1.12.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 (332) hide show
  1. package/README.md +5 -6
  2. package/dist/common/index.d.ts +73 -31
  3. package/dist/common/index.js +26 -26
  4. package/dist/common/index.js.map +1 -1
  5. package/dist/esm/api/account.mjs +1 -1
  6. package/dist/esm/api/ans.d.mts +13 -11
  7. package/dist/esm/api/ans.mjs +1 -1
  8. package/dist/esm/api/aptos.d.mts +6 -4
  9. package/dist/esm/api/aptos.mjs +1 -1
  10. package/dist/esm/api/coin.d.mts +9 -7
  11. package/dist/esm/api/coin.mjs +1 -1
  12. package/dist/esm/api/digitalAsset.d.mts +3 -1
  13. package/dist/esm/api/digitalAsset.mjs +1 -1
  14. package/dist/esm/api/event.mjs +1 -1
  15. package/dist/esm/api/faucet.mjs +1 -1
  16. package/dist/esm/api/fungibleAsset.d.mts +6 -4
  17. package/dist/esm/api/fungibleAsset.mjs +1 -1
  18. package/dist/esm/api/general.d.mts +2 -0
  19. package/dist/esm/api/general.mjs +1 -1
  20. package/dist/esm/api/index.d.mts +6 -4
  21. package/dist/esm/api/index.mjs +1 -1
  22. package/dist/esm/api/staking.mjs +1 -1
  23. package/dist/esm/api/transaction.d.mts +6 -4
  24. package/dist/esm/api/transaction.mjs +1 -1
  25. package/dist/esm/api/transactionSubmission/build.d.mts +9 -7
  26. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  27. package/dist/esm/api/transactionSubmission/management.d.mts +5 -3
  28. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  29. package/dist/esm/api/transactionSubmission/sign.d.mts +2 -0
  30. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  31. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  32. package/dist/esm/api/transactionSubmission/simulate.d.mts +2 -0
  33. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  34. package/dist/esm/api/transactionSubmission/submit.d.mts +2 -0
  35. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  36. package/dist/esm/api/utils.mjs +1 -1
  37. package/dist/esm/bcs/index.mjs +1 -1
  38. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  39. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  40. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  41. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  42. package/dist/esm/bcs/serializer.mjs +1 -1
  43. package/dist/esm/{chunk-VNNLHEJ4.mjs → chunk-2MRYBOYC.mjs} +2 -2
  44. package/dist/esm/{chunk-TTM66JZ4.mjs → chunk-2XVDVF5C.mjs} +2 -2
  45. package/dist/esm/chunk-3D7GOEFD.mjs +2 -0
  46. package/dist/esm/chunk-3D7GOEFD.mjs.map +1 -0
  47. package/dist/esm/{chunk-3RRZ4MSV.mjs → chunk-3GTT6K3X.mjs} +2 -2
  48. package/dist/esm/{chunk-Y3CHPF6X.mjs → chunk-4J5V4M3P.mjs} +2 -2
  49. package/dist/esm/{chunk-VKWPCOZA.mjs → chunk-4KMISR2H.mjs} +2 -2
  50. package/dist/esm/{chunk-BWG5NCHC.mjs → chunk-5LI6PUQN.mjs} +2 -2
  51. package/dist/esm/{chunk-QDD2MDJZ.mjs → chunk-5NSXEM3O.mjs} +2 -2
  52. package/dist/esm/{chunk-Q5GNCAA6.mjs → chunk-6F7X2C22.mjs} +2 -2
  53. package/dist/esm/{chunk-XXKA2GO7.mjs → chunk-6MLNYBCP.mjs} +2 -2
  54. package/dist/esm/chunk-6MLNYBCP.mjs.map +1 -0
  55. package/dist/esm/{chunk-U5CKFPSM.mjs → chunk-6X6G2RC3.mjs} +2 -2
  56. package/dist/esm/chunk-6X6G2RC3.mjs.map +1 -0
  57. package/dist/esm/{chunk-T43CJS4C.mjs → chunk-7JZWCHLH.mjs} +2 -2
  58. package/dist/esm/{chunk-W5PK4QCX.mjs → chunk-7PNFDDIG.mjs} +2 -2
  59. package/dist/esm/chunk-AFTMLXYT.mjs +2 -0
  60. package/dist/esm/chunk-BCUSI3N6.mjs +2 -0
  61. package/dist/esm/chunk-BCUSI3N6.mjs.map +1 -0
  62. package/dist/esm/{chunk-HSITRYZ5.mjs → chunk-C67SYOXM.mjs} +2 -2
  63. package/dist/esm/{chunk-HYQSORWM.mjs → chunk-CHVWOPVA.mjs} +2 -2
  64. package/dist/esm/{chunk-JKXSSRNT.mjs → chunk-CPQPVRKV.mjs} +2 -2
  65. package/dist/esm/{chunk-P434YHBQ.mjs → chunk-D5Q7BI3J.mjs} +2 -2
  66. package/dist/esm/chunk-DAC5J2BG.mjs +2 -0
  67. package/dist/esm/chunk-DAC5J2BG.mjs.map +1 -0
  68. package/dist/esm/{chunk-O5L7WGNH.mjs → chunk-EIXGNR6D.mjs} +2 -2
  69. package/dist/esm/{chunk-OWEAY3N3.mjs → chunk-EOQOTFO7.mjs} +2 -2
  70. package/dist/esm/chunk-F7EMGK4M.mjs +2 -0
  71. package/dist/esm/chunk-F7EMGK4M.mjs.map +1 -0
  72. package/dist/esm/chunk-F7J7ZW4H.mjs +2 -0
  73. package/dist/esm/{chunk-2BGOMPDV.mjs → chunk-FNKDXPPQ.mjs} +2 -2
  74. package/dist/esm/{chunk-VBSAEAWA.mjs → chunk-HOTGXRPG.mjs} +2 -2
  75. package/dist/esm/{chunk-O22J7RER.mjs → chunk-HTTPFWYL.mjs} +2 -2
  76. package/dist/esm/chunk-HTWJVZZ5.mjs +2 -0
  77. package/dist/esm/chunk-HTWJVZZ5.mjs.map +1 -0
  78. package/dist/esm/chunk-ICXA3DZH.mjs +1 -0
  79. package/dist/esm/{chunk-2NC32JRF.mjs → chunk-IQSAG5Y5.mjs} +2 -2
  80. package/dist/esm/{chunk-4P6KFDXF.mjs → chunk-J43BXPJ3.mjs} +2 -2
  81. package/dist/esm/chunk-J43BXPJ3.mjs.map +1 -0
  82. package/dist/esm/{chunk-JX3IRXNX.mjs → chunk-JE7INUQ2.mjs} +2 -2
  83. package/dist/esm/chunk-JNDRFTEA.mjs +2 -0
  84. package/dist/esm/chunk-JNDRFTEA.mjs.map +1 -0
  85. package/dist/esm/{chunk-27ML4NFD.mjs → chunk-JV2PBG6G.mjs} +2 -2
  86. package/dist/esm/{chunk-3EKNELIS.mjs → chunk-JV2UOHGR.mjs} +2 -2
  87. package/dist/esm/{chunk-43QJL2AV.mjs → chunk-JVBXZ6OJ.mjs} +2 -2
  88. package/dist/esm/{chunk-RWBAKP5G.mjs → chunk-KJI5PY5Z.mjs} +2 -2
  89. package/dist/esm/chunk-KPDWT3LC.mjs +2 -0
  90. package/dist/esm/chunk-KPDWT3LC.mjs.map +1 -0
  91. package/dist/esm/{chunk-PAY4TBCF.mjs → chunk-L54P6EGN.mjs} +2 -2
  92. package/dist/esm/{chunk-PAY4TBCF.mjs.map → chunk-L54P6EGN.mjs.map} +1 -1
  93. package/dist/esm/{chunk-Y3R5DLBS.mjs → chunk-L6KXN3YD.mjs} +2 -2
  94. package/dist/esm/{chunk-SQW7K56J.mjs → chunk-LF6IQT54.mjs} +2 -2
  95. package/dist/esm/{chunk-JF4E53MH.mjs → chunk-LSKVPMOF.mjs} +2 -2
  96. package/dist/esm/{chunk-JF4E53MH.mjs.map → chunk-LSKVPMOF.mjs.map} +1 -1
  97. package/dist/esm/{chunk-Y7G5W2QZ.mjs → chunk-MS76A6LX.mjs} +2 -2
  98. package/dist/esm/{chunk-JLDOXN33.mjs → chunk-MV7RDJFK.mjs} +2 -2
  99. package/dist/esm/{chunk-LD7YBNH5.mjs → chunk-NLMMCXLR.mjs} +2 -2
  100. package/dist/esm/{chunk-A5ACWD7S.mjs → chunk-NLPPL42P.mjs} +2 -2
  101. package/dist/esm/chunk-NMASPJTH.mjs +2 -0
  102. package/dist/esm/chunk-NMASPJTH.mjs.map +1 -0
  103. package/dist/esm/{chunk-OH6HD5SF.mjs → chunk-O3YFW4T3.mjs} +2 -2
  104. package/dist/esm/chunk-O3YFW4T3.mjs.map +1 -0
  105. package/dist/esm/{chunk-4LQNMXX3.mjs → chunk-P2CIREOD.mjs} +2 -2
  106. package/dist/esm/{chunk-H4Q7YQD3.mjs → chunk-PE6R6XQV.mjs} +2 -2
  107. package/dist/esm/chunk-QAMK2MSI.mjs +2 -0
  108. package/dist/esm/chunk-QAMK2MSI.mjs.map +1 -0
  109. package/dist/esm/{chunk-AVQSQJUO.mjs → chunk-QMFBU2CG.mjs} +2 -2
  110. package/dist/esm/{chunk-HEDMDM2U.mjs → chunk-R3ELNYY5.mjs} +2 -2
  111. package/dist/esm/chunk-R3ELNYY5.mjs.map +1 -0
  112. package/dist/esm/{chunk-C62XI6VN.mjs → chunk-R4ERAOCM.mjs} +2 -2
  113. package/dist/esm/{chunk-2TRSGKMS.mjs → chunk-RP66QS6R.mjs} +2 -2
  114. package/dist/esm/chunk-RVUPGO4R.mjs +2 -0
  115. package/dist/esm/chunk-RVUPGO4R.mjs.map +1 -0
  116. package/dist/esm/{chunk-WHNLDDPT.mjs → chunk-S5AGI7RQ.mjs} +2 -2
  117. package/dist/esm/{chunk-NDV4GZ5U.mjs → chunk-UCDLUHVW.mjs} +2 -2
  118. package/dist/esm/chunk-UCDLUHVW.mjs.map +1 -0
  119. package/dist/esm/{chunk-GHMYWL3R.mjs → chunk-UEI62FBQ.mjs} +2 -2
  120. package/dist/esm/chunk-VU2W3ZLX.mjs +2 -0
  121. package/dist/esm/{chunk-LNS5RI5S.mjs.map → chunk-VU2W3ZLX.mjs.map} +1 -1
  122. package/dist/esm/{chunk-AT2HAXSH.mjs → chunk-VUZDLGDK.mjs} +2 -2
  123. package/dist/esm/{chunk-XDZF5IUF.mjs → chunk-WNVUG2UF.mjs} +2 -2
  124. package/dist/esm/{chunk-CIMZIZY3.mjs → chunk-WXXASZQ4.mjs} +2 -2
  125. package/dist/esm/{chunk-EBCIZ4D6.mjs → chunk-WZSVQBPA.mjs} +2 -2
  126. package/dist/esm/{chunk-HYOPI6T2.mjs → chunk-X3QW43I2.mjs} +2 -2
  127. package/dist/esm/{chunk-VK3H7DMJ.mjs → chunk-XMJEWG3I.mjs} +2 -2
  128. package/dist/esm/{chunk-JEQSSMDK.mjs → chunk-XQMUVQI3.mjs} +2 -2
  129. package/dist/esm/chunk-Y2AFC3E6.mjs +2 -0
  130. package/dist/esm/chunk-Y2AFC3E6.mjs.map +1 -0
  131. package/dist/esm/{chunk-AE2K65NN.mjs → chunk-Y52TZMRO.mjs} +2 -2
  132. package/dist/esm/chunk-Y52TZMRO.mjs.map +1 -0
  133. package/dist/esm/{chunk-RP4FMC6O.mjs → chunk-YJIRT3GJ.mjs} +2 -2
  134. package/dist/esm/{chunk-CJLZV5JK.mjs → chunk-YMFCBU4L.mjs} +2 -2
  135. package/dist/esm/{chunk-NHVLEE5G.mjs → chunk-ZPS4RIFU.mjs} +2 -2
  136. package/dist/esm/chunk-ZPS4RIFU.mjs.map +1 -0
  137. package/dist/esm/cli/index.mjs +1 -1
  138. package/dist/esm/cli/localNode.d.mts +1 -1
  139. package/dist/esm/cli/localNode.mjs +1 -1
  140. package/dist/esm/client/core.mjs +1 -1
  141. package/dist/esm/client/get.mjs +1 -1
  142. package/dist/esm/client/index.mjs +1 -1
  143. package/dist/esm/client/post.mjs +1 -1
  144. package/dist/esm/core/account/Account.mjs +1 -1
  145. package/dist/esm/core/account/Ed25519Account.mjs +1 -1
  146. package/dist/esm/core/account/SingleKeyAccount.mjs +1 -1
  147. package/dist/esm/core/account/index.d.mts +1 -1
  148. package/dist/esm/core/account/index.mjs +1 -1
  149. package/dist/esm/core/account/utils/address.d.mts +10 -1
  150. package/dist/esm/core/account/utils/address.mjs +1 -1
  151. package/dist/esm/core/account/utils/index.d.mts +1 -1
  152. package/dist/esm/core/account/utils/index.mjs +1 -1
  153. package/dist/esm/core/accountAddress.mjs +1 -1
  154. package/dist/esm/core/authenticationKey.mjs +1 -1
  155. package/dist/esm/core/crypto/ed25519.d.mts +2 -2
  156. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  157. package/dist/esm/core/crypto/index.mjs +1 -1
  158. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  159. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  160. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  161. package/dist/esm/core/crypto/secp256k1.d.mts +1 -1
  162. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  163. package/dist/esm/core/crypto/signature.mjs +1 -1
  164. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  165. package/dist/esm/core/crypto/utils.d.mts +16 -0
  166. package/dist/esm/core/crypto/utils.mjs +2 -0
  167. package/dist/esm/core/crypto/utils.mjs.map +1 -0
  168. package/dist/esm/core/hex.d.mts +2 -2
  169. package/dist/esm/core/hex.mjs +1 -1
  170. package/dist/esm/core/index.d.mts +1 -1
  171. package/dist/esm/core/index.mjs +1 -1
  172. package/dist/esm/index.d.mts +5 -3
  173. package/dist/esm/index.mjs +1 -1
  174. package/dist/esm/internal/account.mjs +1 -1
  175. package/dist/esm/internal/ans.d.mts +7 -5
  176. package/dist/esm/internal/ans.mjs +1 -1
  177. package/dist/esm/internal/coin.d.mts +3 -1
  178. package/dist/esm/internal/coin.mjs +1 -1
  179. package/dist/esm/internal/digitalAsset.d.mts +3 -1
  180. package/dist/esm/internal/digitalAsset.mjs +1 -1
  181. package/dist/esm/internal/event.mjs +1 -1
  182. package/dist/esm/internal/faucet.mjs +1 -1
  183. package/dist/esm/internal/fungibleAsset.d.mts +6 -4
  184. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  185. package/dist/esm/internal/general.mjs +1 -1
  186. package/dist/esm/internal/staking.mjs +1 -1
  187. package/dist/esm/internal/transaction.mjs +1 -1
  188. package/dist/esm/internal/transactionSubmission.d.mts +3 -1
  189. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  190. package/dist/esm/internal/view.d.mts +2 -0
  191. package/dist/esm/internal/view.mjs +1 -1
  192. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  193. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  194. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  195. package/dist/esm/transactions/index.d.mts +4 -2
  196. package/dist/esm/transactions/index.mjs +1 -1
  197. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  198. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  199. package/dist/esm/transactions/instances/index.d.mts +1 -0
  200. package/dist/esm/transactions/instances/index.mjs +1 -1
  201. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  202. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +41 -0
  203. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +2 -0
  204. package/dist/esm/transactions/instances/multiAgentTransaction.mjs.map +1 -0
  205. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  206. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  207. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  208. package/dist/esm/transactions/instances/simpleTransaction.d.mts +41 -0
  209. package/dist/esm/transactions/instances/simpleTransaction.mjs +2 -0
  210. package/dist/esm/transactions/instances/simpleTransaction.mjs.map +1 -0
  211. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  212. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  213. package/dist/esm/transactions/management/index.d.mts +2 -0
  214. package/dist/esm/transactions/management/index.mjs +1 -1
  215. package/dist/esm/transactions/management/transactionWorker.d.mts +3 -1
  216. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  217. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +2 -0
  218. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  219. package/dist/esm/transactions/transactionBuilder/index.d.mts +3 -1
  220. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  221. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +2 -0
  222. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  223. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +14 -2
  224. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  225. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  226. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  227. package/dist/esm/transactions/types.d.mts +3 -22
  228. package/dist/esm/version.d.mts +1 -1
  229. package/dist/esm/version.mjs +1 -1
  230. package/package.json +1 -1
  231. package/src/api/ans.ts +8 -7
  232. package/src/api/coin.ts +2 -1
  233. package/src/api/digitalAsset.ts +2 -1
  234. package/src/api/fungibleAsset.ts +2 -1
  235. package/src/api/transaction.ts +1 -1
  236. package/src/api/transactionSubmission/build.ts +3 -6
  237. package/src/cli/localNode.ts +1 -1
  238. package/src/core/account/utils/address.ts +18 -0
  239. package/src/core/crypto/ed25519.ts +7 -5
  240. package/src/core/crypto/secp256k1.ts +6 -4
  241. package/src/core/crypto/utils.ts +24 -0
  242. package/src/core/hex.ts +4 -4
  243. package/src/internal/ans.ts +9 -5
  244. package/src/internal/coin.ts +2 -1
  245. package/src/internal/digitalAsset.ts +2 -1
  246. package/src/internal/fungibleAsset.ts +1 -1
  247. package/src/internal/transactionSubmission.ts +2 -2
  248. package/src/transactions/instances/index.ts +1 -0
  249. package/src/transactions/instances/multiAgentTransaction.ts +68 -0
  250. package/src/transactions/instances/simpleTransaction.ts +60 -0
  251. package/src/transactions/management/transactionWorker.ts +2 -1
  252. package/src/transactions/transactionBuilder/transactionBuilder.ts +38 -11
  253. package/src/transactions/types.ts +2 -23
  254. package/src/version.ts +1 -1
  255. package/dist/esm/chunk-3OOOAQJG.mjs +0 -2
  256. package/dist/esm/chunk-3OOOAQJG.mjs.map +0 -1
  257. package/dist/esm/chunk-4P6KFDXF.mjs.map +0 -1
  258. package/dist/esm/chunk-4UMTUJL5.mjs +0 -2
  259. package/dist/esm/chunk-4UMTUJL5.mjs.map +0 -1
  260. package/dist/esm/chunk-AE2K65NN.mjs.map +0 -1
  261. package/dist/esm/chunk-BZMO6Q6L.mjs +0 -2
  262. package/dist/esm/chunk-BZMO6Q6L.mjs.map +0 -1
  263. package/dist/esm/chunk-D2XKVVEN.mjs +0 -2
  264. package/dist/esm/chunk-D2XKVVEN.mjs.map +0 -1
  265. package/dist/esm/chunk-EXX55N2B.mjs +0 -2
  266. package/dist/esm/chunk-EXX55N2B.mjs.map +0 -1
  267. package/dist/esm/chunk-GQTC6QIS.mjs +0 -2
  268. package/dist/esm/chunk-GQTC6QIS.mjs.map +0 -1
  269. package/dist/esm/chunk-HEDMDM2U.mjs.map +0 -1
  270. package/dist/esm/chunk-HTZTTZQJ.mjs +0 -1
  271. package/dist/esm/chunk-IWPVPIKD.mjs +0 -2
  272. package/dist/esm/chunk-LG6SZTWR.mjs +0 -2
  273. package/dist/esm/chunk-LG6SZTWR.mjs.map +0 -1
  274. package/dist/esm/chunk-LNS5RI5S.mjs +0 -2
  275. package/dist/esm/chunk-NDV4GZ5U.mjs.map +0 -1
  276. package/dist/esm/chunk-NHVLEE5G.mjs.map +0 -1
  277. package/dist/esm/chunk-OH5ADEJO.mjs +0 -2
  278. package/dist/esm/chunk-OH6HD5SF.mjs.map +0 -1
  279. package/dist/esm/chunk-TBSPLLCB.mjs +0 -2
  280. package/dist/esm/chunk-TBSPLLCB.mjs.map +0 -1
  281. package/dist/esm/chunk-U5CKFPSM.mjs.map +0 -1
  282. package/dist/esm/chunk-XXKA2GO7.mjs.map +0 -1
  283. /package/dist/esm/{chunk-VNNLHEJ4.mjs.map → chunk-2MRYBOYC.mjs.map} +0 -0
  284. /package/dist/esm/{chunk-TTM66JZ4.mjs.map → chunk-2XVDVF5C.mjs.map} +0 -0
  285. /package/dist/esm/{chunk-3RRZ4MSV.mjs.map → chunk-3GTT6K3X.mjs.map} +0 -0
  286. /package/dist/esm/{chunk-Y3CHPF6X.mjs.map → chunk-4J5V4M3P.mjs.map} +0 -0
  287. /package/dist/esm/{chunk-VKWPCOZA.mjs.map → chunk-4KMISR2H.mjs.map} +0 -0
  288. /package/dist/esm/{chunk-BWG5NCHC.mjs.map → chunk-5LI6PUQN.mjs.map} +0 -0
  289. /package/dist/esm/{chunk-QDD2MDJZ.mjs.map → chunk-5NSXEM3O.mjs.map} +0 -0
  290. /package/dist/esm/{chunk-Q5GNCAA6.mjs.map → chunk-6F7X2C22.mjs.map} +0 -0
  291. /package/dist/esm/{chunk-T43CJS4C.mjs.map → chunk-7JZWCHLH.mjs.map} +0 -0
  292. /package/dist/esm/{chunk-W5PK4QCX.mjs.map → chunk-7PNFDDIG.mjs.map} +0 -0
  293. /package/dist/esm/{chunk-OH5ADEJO.mjs.map → chunk-AFTMLXYT.mjs.map} +0 -0
  294. /package/dist/esm/{chunk-HSITRYZ5.mjs.map → chunk-C67SYOXM.mjs.map} +0 -0
  295. /package/dist/esm/{chunk-HYQSORWM.mjs.map → chunk-CHVWOPVA.mjs.map} +0 -0
  296. /package/dist/esm/{chunk-JKXSSRNT.mjs.map → chunk-CPQPVRKV.mjs.map} +0 -0
  297. /package/dist/esm/{chunk-P434YHBQ.mjs.map → chunk-D5Q7BI3J.mjs.map} +0 -0
  298. /package/dist/esm/{chunk-O5L7WGNH.mjs.map → chunk-EIXGNR6D.mjs.map} +0 -0
  299. /package/dist/esm/{chunk-OWEAY3N3.mjs.map → chunk-EOQOTFO7.mjs.map} +0 -0
  300. /package/dist/esm/{chunk-IWPVPIKD.mjs.map → chunk-F7J7ZW4H.mjs.map} +0 -0
  301. /package/dist/esm/{chunk-2BGOMPDV.mjs.map → chunk-FNKDXPPQ.mjs.map} +0 -0
  302. /package/dist/esm/{chunk-VBSAEAWA.mjs.map → chunk-HOTGXRPG.mjs.map} +0 -0
  303. /package/dist/esm/{chunk-O22J7RER.mjs.map → chunk-HTTPFWYL.mjs.map} +0 -0
  304. /package/dist/esm/{chunk-HTZTTZQJ.mjs.map → chunk-ICXA3DZH.mjs.map} +0 -0
  305. /package/dist/esm/{chunk-2NC32JRF.mjs.map → chunk-IQSAG5Y5.mjs.map} +0 -0
  306. /package/dist/esm/{chunk-JX3IRXNX.mjs.map → chunk-JE7INUQ2.mjs.map} +0 -0
  307. /package/dist/esm/{chunk-27ML4NFD.mjs.map → chunk-JV2PBG6G.mjs.map} +0 -0
  308. /package/dist/esm/{chunk-3EKNELIS.mjs.map → chunk-JV2UOHGR.mjs.map} +0 -0
  309. /package/dist/esm/{chunk-43QJL2AV.mjs.map → chunk-JVBXZ6OJ.mjs.map} +0 -0
  310. /package/dist/esm/{chunk-RWBAKP5G.mjs.map → chunk-KJI5PY5Z.mjs.map} +0 -0
  311. /package/dist/esm/{chunk-Y3R5DLBS.mjs.map → chunk-L6KXN3YD.mjs.map} +0 -0
  312. /package/dist/esm/{chunk-SQW7K56J.mjs.map → chunk-LF6IQT54.mjs.map} +0 -0
  313. /package/dist/esm/{chunk-Y7G5W2QZ.mjs.map → chunk-MS76A6LX.mjs.map} +0 -0
  314. /package/dist/esm/{chunk-JLDOXN33.mjs.map → chunk-MV7RDJFK.mjs.map} +0 -0
  315. /package/dist/esm/{chunk-LD7YBNH5.mjs.map → chunk-NLMMCXLR.mjs.map} +0 -0
  316. /package/dist/esm/{chunk-A5ACWD7S.mjs.map → chunk-NLPPL42P.mjs.map} +0 -0
  317. /package/dist/esm/{chunk-4LQNMXX3.mjs.map → chunk-P2CIREOD.mjs.map} +0 -0
  318. /package/dist/esm/{chunk-H4Q7YQD3.mjs.map → chunk-PE6R6XQV.mjs.map} +0 -0
  319. /package/dist/esm/{chunk-AVQSQJUO.mjs.map → chunk-QMFBU2CG.mjs.map} +0 -0
  320. /package/dist/esm/{chunk-C62XI6VN.mjs.map → chunk-R4ERAOCM.mjs.map} +0 -0
  321. /package/dist/esm/{chunk-2TRSGKMS.mjs.map → chunk-RP66QS6R.mjs.map} +0 -0
  322. /package/dist/esm/{chunk-WHNLDDPT.mjs.map → chunk-S5AGI7RQ.mjs.map} +0 -0
  323. /package/dist/esm/{chunk-GHMYWL3R.mjs.map → chunk-UEI62FBQ.mjs.map} +0 -0
  324. /package/dist/esm/{chunk-AT2HAXSH.mjs.map → chunk-VUZDLGDK.mjs.map} +0 -0
  325. /package/dist/esm/{chunk-XDZF5IUF.mjs.map → chunk-WNVUG2UF.mjs.map} +0 -0
  326. /package/dist/esm/{chunk-CIMZIZY3.mjs.map → chunk-WXXASZQ4.mjs.map} +0 -0
  327. /package/dist/esm/{chunk-EBCIZ4D6.mjs.map → chunk-WZSVQBPA.mjs.map} +0 -0
  328. /package/dist/esm/{chunk-HYOPI6T2.mjs.map → chunk-X3QW43I2.mjs.map} +0 -0
  329. /package/dist/esm/{chunk-VK3H7DMJ.mjs.map → chunk-XMJEWG3I.mjs.map} +0 -0
  330. /package/dist/esm/{chunk-JEQSSMDK.mjs.map → chunk-XQMUVQI3.mjs.map} +0 -0
  331. /package/dist/esm/{chunk-RP4FMC6O.mjs.map → chunk-YJIRT3GJ.mjs.map} +0 -0
  332. /package/dist/esm/{chunk-CJLZV5JK.mjs.map → chunk-YMFCBU4L.mjs.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a as N,c as nn,d as tn,e as $}from"./chunk-LD7YBNH5.mjs";import{q as Y,t as T}from"./chunk-P434YHBQ.mjs";import{a as d}from"./chunk-C62XI6VN.mjs";import{a as l,c as f,d as g}from"./chunk-W5PK4QCX.mjs";import{c as X,d as z,e as Z,f as D,g as j,h as J,i as Q}from"./chunk-Y7G5W2QZ.mjs";import{a as H}from"./chunk-4LQNMXX3.mjs";import{b as E,d as F,e as R,f as _}from"./chunk-RWBAKP5G.mjs";import{a as V}from"./chunk-27ML4NFD.mjs";import{b as h,d as p,e as q}from"./chunk-2NC32JRF.mjs";import{a as v,b as B}from"./chunk-AVQSQJUO.mjs";import{a as U,c as k}from"./chunk-LG6SZTWR.mjs";import{a as b,c as x}from"./chunk-EXX55N2B.mjs";import{b as u}from"./chunk-GHMYWL3R.mjs";import{b as G}from"./chunk-BZMO6Q6L.mjs";import{b as L}from"./chunk-VNNLHEJ4.mjs";import{a as K}from"./chunk-AH44UPM4.mjs";import{a as O}from"./chunk-JKXSSRNT.mjs";import{e as I}from"./chunk-C67BKZND.mjs";import{b as M,c as W,f as C,g as S}from"./chunk-CYNQRMO5.mjs";import{sha3_256 as cn}from"@noble/hashes/sha3";async function Wn(n){if(Y(n))return An(n);let{moduleAddress:e,moduleName:t,functionName:o}=T(n.function),r=await an({key:"entry-function",moduleAddress:e,moduleName:t,functionName:o,aptosConfig:n.aptosConfig,abi:n.abi,fetch:nn});return un({abi:r,...n})}function un(n){let e=n.abi,{moduleAddress:t,moduleName:o,functionName:r}=T(n.function),a=N(n.typeArguments);if(a.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${a.length}`);let i=n.functionArguments.map((s,A)=>$(n.function,e,s,A,a));if(i.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${o}::${r}', expected ${e.parameters.length} but got ${i.length}`);let c=D.build(`${t}::${o}`,r,a,i);if("multisigAddress"in n){let s=u.from(n.multisigAddress);return new Z(new J(s,new Q(c)))}return new z(c)}async function Cn(n){let{moduleAddress:e,moduleName:t,functionName:o}=T(n.function),r=await an({key:"view-function",moduleAddress:e,moduleName:t,functionName:o,aptosConfig:n.aptosConfig,abi:n.abi,fetch:tn});return dn({abi:r,...n})}function dn(n){let e=n.abi,{moduleAddress:t,moduleName:o,functionName:r}=T(n.function),a=N(n.typeArguments);if(a.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${a.length}`);let i=n?.functionArguments?.map((c,s)=>$(n.function,e,c,s,a))??[];if(i.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${o}::${r}', expected ${e.parameters.length} but got ${i.length}`);return D.build(`${t}::${o}`,r,a,i)}function An(n){return new X(new j(G.fromHexInput(n.bytecode).toUint8Array(),n.typeArguments??[],n.functionArguments))}async function mn(n){let{aptosConfig:e,sender:t,payload:o,options:r,feePayerAddress:a}=n,i=I[e.network]?Promise.resolve({chain_id:I[e.network]}):O({aptosConfig:e}),c=r?.gasUnitPrice?Promise.resolve({gas_estimate:r.gasUnitPrice}):L({aptosConfig:e}),[{chain_id:s},{gas_estimate:A}]=await Promise.all([i,c]),m=r?.accountSequenceNumber!==void 0?Promise.resolve({sequence_number:r.accountSequenceNumber}):V({aptosConfig:e,accountAddress:t}),y;if(a&&u.from(a).equals(u.ZERO))try{let{sequence_number:w}=await m;y=w}catch{y="0"}else{let{sequence_number:w}=await m;y=w}let{maxGasAmount:rn,gasUnitPrice:on,expireTimestamp:sn}={maxGasAmount:r?.maxGasAmount?BigInt(r.maxGasAmount):BigInt(2e5),gasUnitPrice:BigInt(A),expireTimestamp:BigInt(Math.floor(Date.now()/1e3)+20),...r};return new l(u.from(t),BigInt(y),o,BigInt(rn),BigInt(on),BigInt(sn),new H(s))}async function Gn(n){let{aptosConfig:e,sender:t,payload:o,options:r,feePayerAddress:a}=n,i=await mn({aptosConfig:e,sender:t,payload:o,options:r,feePayerAddress:a});if("secondarySignerAddresses"in n){let c=n.secondarySignerAddresses?.map(s=>u.from(s))??[];return{rawTransaction:i,secondarySignerAddresses:c,feePayerAddress:n.feePayerAddress?u.from(n.feePayerAddress):void 0}}return{rawTransaction:i,feePayerAddress:n.feePayerAddress?u.from(n.feePayerAddress):void 0}}function Un(n){let{signerPublicKey:e,transaction:t,secondarySignersPublicKeys:o,feePayerPublicKey:r}=n,a=P(e);if(t.feePayerAddress){let c=new g(t.rawTransaction,t.secondarySignerAddresses??[],t.feePayerAddress),s=[];o&&(s=o.map(y=>P(y)));let A=P(r),m=new R(a,t.secondarySignerAddresses??[],s,{address:t.feePayerAddress,authenticator:A});return new d(c.raw_txn,m).bcsToBytes()}if(t.secondarySignerAddresses){let c=new f(t.rawTransaction,t.secondarySignerAddresses),s=[];s=o.map(m=>P(m));let A=new F(a,t.secondarySignerAddresses,s);return new d(c.raw_txn,A).bcsToBytes()}let i;if(a instanceof h)i=new E(a.public_key,a.signature);else if(a instanceof p)i=new _(a);else throw new Error("Invalid public key");return new d(t.rawTransaction,i).bcsToBytes()}function P(n){if(n instanceof v){if(n.publicKey instanceof b)return new p(n,new B(new x(new Uint8Array(64))));if(n.publicKey instanceof U)return new p(n,new B(new k(new Uint8Array(64))))}return new h(new b(n.toUint8Array()),new x(new Uint8Array(64)))}function kn(n){let{signer:e,transaction:t}=n,o=fn(t);return e.signWithAuthenticator(o)}function vn(n){let{transaction:e,senderAuthenticator:t,feePayerAuthenticator:o,additionalSignersAuthenticators:r}=n,a=en(e);if((o||r)&&(a instanceof f||a instanceof g))return yn(a,t,o,r);if(t instanceof h&&a instanceof l){let i=new E(t.public_key,t.signature);return new d(a,i).bcsToBytes()}if((t instanceof p||t instanceof q)&&a instanceof l){let i=new _(t);return new d(a,i).bcsToBytes()}throw new Error(`Cannot generate a signed transaction, ${t} is not a supported account authentication scheme`)}function en(n){return n.feePayerAddress?new g(n.rawTransaction,n.secondarySignerAddresses??[],n.feePayerAddress):n.secondarySignerAddresses?new f(n.rawTransaction,n.secondarySignerAddresses):n.rawTransaction}function yn(n,e,t,o){if(n instanceof g){if(!t)throw new Error("Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction");let r=new R(e,n.secondary_signer_addresses,o??[],{address:n.fee_payer_address,authenticator:t});return new d(n.raw_txn,r).bcsToBytes()}if(n instanceof f){if(!o)throw new Error("Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction");let r=new F(e,n.secondary_signer_addresses,o??[]);return new d(n.raw_txn,r).bcsToBytes()}throw new Error(`Cannot prepare multi signers transaction to submission, ${typeof n} transaction is not supported`)}function fn(n){let e=en(n),t=cn.create();if(e instanceof l)t.update(C);else if(e instanceof f)t.update(S);else if(e instanceof g)t.update(S);else throw new Error(`Unknown transaction type to sign on: ${e}`);let o=t.digest(),r=e.bcsToBytes(),a=new Uint8Array(o.length+r.length);return a.set(o),a.set(r,o.length),a}async function an({key:n,moduleAddress:e,moduleName:t,functionName:o,aptosConfig:r,abi:a,fetch:i}){return a||K(async()=>i(e,t,o,r),`${n}-${r.network}-${e}-${t}-${o}`,1e3*60*5)()}export{Wn as a,un as b,Cn as c,dn as d,mn as e,Gn as f,Un as g,P as h,kn as i,vn as j,en as k,yn as l,fn as m};
2
- //# sourceMappingURL=chunk-TBSPLLCB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/transactions/transactionBuilder/transactionBuilder.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the transaction creation lifecycle.\n * It holds different operations to generate a transaction payload, a raw transaction,\n * and a signed transaction that can be simulated, signed and submitted to chain.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { AccountAddress, AccountAddressInput, Hex, PublicKey } from \"../../core\";\nimport { Account } from \"../../core/account\";\nimport { AnyPublicKey, AnySignature } from \"../../core/crypto\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"../../core/crypto/ed25519\";\nimport { Secp256k1PublicKey, Secp256k1Signature } from \"../../core/crypto/secp256k1\";\nimport { getInfo } from \"../../internal/account\";\nimport { getLedgerInfo } from \"../../internal/general\";\nimport { getGasPriceEstimation } from \"../../internal/transaction\";\nimport { NetworkToChainId } from \"../../utils/apiEndpoints\";\nimport {\n DEFAULT_MAX_GAS_AMOUNT,\n DEFAULT_TXN_EXP_SEC_FROM_NOW,\n RAW_TRANSACTION_SALT,\n RAW_TRANSACTION_WITH_DATA_SALT,\n} from \"../../utils/const\";\nimport {\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n AccountAuthenticatorMultiKey,\n AccountAuthenticatorSingleKey,\n} from \"../authenticator/account\";\nimport {\n TransactionAuthenticatorEd25519,\n TransactionAuthenticatorFeePayer,\n TransactionAuthenticatorMultiAgent,\n TransactionAuthenticatorSingleSender,\n} from \"../authenticator/transaction\";\nimport {\n ChainId,\n EntryFunction,\n FeePayerRawTransaction,\n MultiAgentRawTransaction,\n MultiSig,\n MultiSigTransactionPayload,\n RawTransaction,\n Script,\n TransactionPayloadEntryFunction,\n TransactionPayloadMultiSig,\n TransactionPayloadScript,\n} from \"../instances\";\nimport { SignedTransaction } from \"../instances/signedTransaction\";\nimport {\n AnyRawTransaction,\n AnyTransactionPayloadInstance,\n AnyRawTransactionInstance,\n EntryFunctionArgumentTypes,\n InputGenerateMultiAgentRawTransactionArgs,\n InputGenerateRawTransactionArgs,\n InputGenerateSingleSignerRawTransactionArgs,\n SimpleTransaction,\n InputGenerateTransactionOptions,\n MultiAgentTransaction,\n InputScriptData,\n InputSimulateTransactionData,\n InputMultiSigDataWithRemoteABI,\n InputEntryFunctionDataWithRemoteABI,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n InputGenerateTransactionPayloadDataWithABI,\n InputEntryFunctionDataWithABI,\n InputMultiSigDataWithABI,\n InputViewFunctionDataWithRemoteABI,\n InputViewFunctionDataWithABI,\n FunctionABI,\n} from \"../types\";\nimport { convertArgument, fetchEntryFunctionAbi, fetchViewFunctionAbi, standardizeTypeTags } from \"./remoteAbi\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { AnyNumber } from \"../../types\";\nimport { getFunctionParts, isScriptDataInput } from \"./helpers\";\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransactionPayload` function.\n * When we call our `generateTransactionPayload` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function generateTransactionPayload(args: InputScriptData): Promise<TransactionPayloadScript>;\nexport async function generateTransactionPayload(\n args: InputEntryFunctionDataWithRemoteABI,\n): Promise<TransactionPayloadEntryFunction>;\nexport async function generateTransactionPayload(\n args: InputMultiSigDataWithRemoteABI,\n): Promise<TransactionPayloadMultiSig>;\n\n/**\n * Builds a transaction payload based on the data argument and returns\n * a transaction payload - TransactionPayloadScript | TransactionPayloadMultiSig | TransactionPayloadEntryFunction\n *\n * This uses the RemoteABI by default, and the remote ABI can be skipped by using generateTransactionPayloadWithABI\n *\n * @param args.data GenerateTransactionPayloadData\n *\n * @return TransactionPayload\n */\nexport async function generateTransactionPayload(\n args: InputGenerateTransactionPayloadDataWithRemoteABI,\n): Promise<AnyTransactionPayloadInstance> {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n const functionAbi = await fetchAbi({\n key: \"entry-function\",\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig: args.aptosConfig,\n abi: args.abi,\n fetch: fetchEntryFunctionAbi,\n });\n\n // Fill in the ABI\n return generateTransactionPayloadWithABI({ abi: functionAbi, ...args });\n}\n\nexport function generateTransactionPayloadWithABI(args: InputEntryFunctionDataWithABI): TransactionPayloadEntryFunction;\nexport function generateTransactionPayloadWithABI(args: InputMultiSigDataWithABI): TransactionPayloadMultiSig;\nexport function generateTransactionPayloadWithABI(\n args: InputGenerateTransactionPayloadDataWithABI,\n): AnyTransactionPayloadInstance {\n const functionAbi = args.abi;\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> = args.functionArguments.map((arg, i) =>\n convertArgument(args.function, functionAbi, arg, i, typeArguments),\n );\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n const entryFunctionPayload = EntryFunction.build(\n `${moduleAddress}::${moduleName}`,\n functionName,\n typeArguments,\n functionArguments,\n );\n\n // Send it as multi sig if it's a multisig payload\n if (\"multisigAddress\" in args) {\n const multisigAddress = AccountAddress.from(args.multisigAddress);\n return new TransactionPayloadMultiSig(\n new MultiSig(multisigAddress, new MultiSigTransactionPayload(entryFunctionPayload)),\n );\n }\n\n // Otherwise send as an entry function\n return new TransactionPayloadEntryFunction(entryFunctionPayload);\n}\n\nexport async function generateViewFunctionPayload(args: InputViewFunctionDataWithRemoteABI): Promise<EntryFunction> {\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n const functionAbi = await fetchAbi({\n key: \"view-function\",\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig: args.aptosConfig,\n abi: args.abi,\n fetch: fetchViewFunctionAbi,\n });\n\n // Fill in the ABI\n return generateViewFunctionPayloadWithABI({ abi: functionAbi, ...args });\n}\n\nexport function generateViewFunctionPayloadWithABI(args: InputViewFunctionDataWithABI): EntryFunction {\n const functionAbi = args.abi;\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> =\n args?.functionArguments?.map((arg, i) => convertArgument(args.function, functionAbi, arg, i, typeArguments)) ?? [];\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n return EntryFunction.build(`${moduleAddress}::${moduleName}`, functionName, typeArguments, functionArguments);\n}\n\nfunction generateTransactionPayloadScript(args: InputScriptData) {\n return new TransactionPayloadScript(\n new Script(Hex.fromHexInput(args.bytecode).toUint8Array(), args.typeArguments ?? [], args.functionArguments),\n );\n}\n\n/**\n * Generates a raw transaction\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n *\n * @returns RawTransaction\n */\nexport async function generateRawTransaction(args: {\n aptosConfig: AptosConfig;\n sender: AccountAddressInput;\n payload: AnyTransactionPayloadInstance;\n options?: InputGenerateTransactionOptions;\n feePayerAddress?: AccountAddressInput;\n}): Promise<RawTransaction> {\n const { aptosConfig, sender, payload, options, feePayerAddress } = args;\n\n const getChainId = NetworkToChainId[aptosConfig.network]\n ? Promise.resolve({ chain_id: NetworkToChainId[aptosConfig.network] })\n : getLedgerInfo({ aptosConfig });\n\n const getGasUnitPrice = options?.gasUnitPrice\n ? Promise.resolve({ gas_estimate: options.gasUnitPrice })\n : getGasPriceEstimation({ aptosConfig });\n\n const [{ chain_id: chainId }, { gas_estimate: gasEstimate }] = await Promise.all([getChainId, getGasUnitPrice]);\n\n const getSequenceNumber =\n options?.accountSequenceNumber !== undefined\n ? Promise.resolve({ sequence_number: options.accountSequenceNumber })\n : getInfo({ aptosConfig, accountAddress: sender });\n\n let sequenceNumber: string | AnyNumber;\n\n /**\n * Check if is sponsored transaction to honor AIP-52\n * {@link https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-52.md}\n */\n if (feePayerAddress && AccountAddress.from(feePayerAddress).equals(AccountAddress.ZERO)) {\n // Handle sponsored transaction generation with the option that\n // the main signer has not been created on chain\n try {\n // Check if main signer has been created on chain, if not assign sequence number 0\n const { sequence_number: seqNumber } = await getSequenceNumber;\n sequenceNumber = seqNumber;\n } catch (e: any) {\n sequenceNumber = \"0\";\n }\n } else {\n const { sequence_number: seqNumber } = await getSequenceNumber;\n sequenceNumber = seqNumber;\n }\n\n const { maxGasAmount, gasUnitPrice, expireTimestamp } = {\n maxGasAmount: options?.maxGasAmount ? BigInt(options.maxGasAmount) : BigInt(DEFAULT_MAX_GAS_AMOUNT),\n gasUnitPrice: BigInt(gasEstimate),\n expireTimestamp: BigInt(Math.floor(Date.now() / 1000) + DEFAULT_TXN_EXP_SEC_FROM_NOW),\n ...options,\n };\n\n return new RawTransaction(\n AccountAddress.from(sender),\n BigInt(sequenceNumber),\n payload,\n BigInt(maxGasAmount),\n BigInt(gasUnitPrice),\n BigInt(expireTimestamp),\n new ChainId(chainId),\n );\n}\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransaction` function.\n * When we call our `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function buildTransaction(args: InputGenerateSingleSignerRawTransactionArgs): Promise<SimpleTransaction>;\nexport async function buildTransaction(args: InputGenerateMultiAgentRawTransactionArgs): Promise<MultiAgentTransaction>;\n\n/**\n * Generates a transaction based on the provided arguments\n *\n * Note: we can start with one function to support all different payload/transaction types,\n * and if to complex to use, we could have function for each type\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n * @param args.options optional. Transaction options object\n * @param args.secondarySignerAddresses optional. For when want to create a multi signers transaction\n * @param args.feePayerAddress optional. For when want to create a fee payer (aka sponsored) transaction\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function buildTransaction(args: InputGenerateRawTransactionArgs): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, payload, options, feePayerAddress } = args;\n // generate raw transaction\n const rawTxn = await generateRawTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n feePayerAddress,\n });\n\n // if multi agent transaction\n if (\"secondarySignerAddresses\" in args) {\n const signers: Array<AccountAddress> =\n args.secondarySignerAddresses?.map((signer) => AccountAddress.from(signer)) ?? [];\n\n return {\n rawTransaction: rawTxn,\n secondarySignerAddresses: signers,\n feePayerAddress: args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined,\n };\n }\n // return the raw transaction\n return {\n rawTransaction: rawTxn,\n feePayerAddress: args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined,\n };\n}\n\n/**\n * Simulate a transaction before signing and submit to chain\n *\n * @param args.transaction A aptos transaction type to sign\n * @param args.signerPublicKey The signer public key\n * @param args.secondarySignersPublicKeys optional. The secondary signers public keys if multi signers transaction\n * @param args.feePayerPublicKey optional. The fee payer public key is a fee payer (aka sponsored) transaction\n * @param args.options optional. SimulateTransactionOptions\n *\n * @returns A signed serialized transaction that can be simulated\n */\nexport function generateSignedTransactionForSimulation(args: InputSimulateTransactionData): Uint8Array {\n const { signerPublicKey, transaction, secondarySignersPublicKeys, feePayerPublicKey } = args;\n\n const accountAuthenticator = getAuthenticatorForSimulation(signerPublicKey);\n\n // fee payer transaction\n if (transaction.feePayerAddress) {\n const transactionToSign = new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n if (secondarySignersPublicKeys) {\n secondaryAccountAuthenticators = secondarySignersPublicKeys.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n }\n const feePayerAuthenticator = getAuthenticatorForSimulation(feePayerPublicKey!);\n\n const transactionAuthenticator = new TransactionAuthenticatorFeePayer(\n accountAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n secondaryAccountAuthenticators,\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // multi agent transaction\n if (transaction.secondarySignerAddresses) {\n const transactionToSign = new MultiAgentRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses,\n );\n\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n\n secondaryAccountAuthenticators = secondarySignersPublicKeys!.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n\n const transactionAuthenticator = new TransactionAuthenticatorMultiAgent(\n accountAuthenticator,\n transaction.secondarySignerAddresses,\n secondaryAccountAuthenticators,\n );\n\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // single signer raw transaction\n let transactionAuthenticator;\n if (accountAuthenticator instanceof AccountAuthenticatorEd25519) {\n transactionAuthenticator = new TransactionAuthenticatorEd25519(\n accountAuthenticator.public_key,\n accountAuthenticator.signature,\n );\n } else if (accountAuthenticator instanceof AccountAuthenticatorSingleKey) {\n transactionAuthenticator = new TransactionAuthenticatorSingleSender(accountAuthenticator);\n } else {\n throw new Error(\"Invalid public key\");\n }\n return new SignedTransaction(transaction.rawTransaction, transactionAuthenticator).bcsToBytes();\n}\n\nexport function getAuthenticatorForSimulation(publicKey: PublicKey) {\n // TODO add support for AnyMultiKey\n if (publicKey instanceof AnyPublicKey) {\n if (publicKey.publicKey instanceof Ed25519PublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Ed25519Signature(new Uint8Array(64))));\n }\n if (publicKey.publicKey instanceof Secp256k1PublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Secp256k1Signature(new Uint8Array(64))));\n }\n }\n\n // legacy code\n return new AccountAuthenticatorEd25519(\n new Ed25519PublicKey(publicKey.toUint8Array()),\n new Ed25519Signature(new Uint8Array(64)),\n );\n}\n\n/**\n * Sign a transaction that can later be submitted to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction A aptos transaction type to sign\n *\n * @return The signer AccountAuthenticator\n */\nexport function sign(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n const { signer, transaction } = args;\n\n // get the signing message\n const message = generateSigningMessage(transaction);\n\n // account.signMessage\n return signer.signWithAuthenticator(message);\n}\n\n/**\n * Prepare a transaction to be submitted to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @returns A SignedTransaction\n */\nexport function generateSignedTransaction(args: InputSubmitTransactionData): Uint8Array {\n const { transaction, senderAuthenticator, feePayerAuthenticator, additionalSignersAuthenticators } = args;\n\n const transactionToSubmit = deriveTransactionType(transaction);\n\n if (\n (feePayerAuthenticator || additionalSignersAuthenticators) &&\n (transactionToSubmit instanceof MultiAgentRawTransaction || transactionToSubmit instanceof FeePayerRawTransaction)\n ) {\n return generateMultiSignersSignedTransaction(\n transactionToSubmit,\n senderAuthenticator,\n feePayerAuthenticator,\n additionalSignersAuthenticators,\n );\n }\n\n // submit single signer transaction\n\n // check what instance is accountAuthenticator\n if (senderAuthenticator instanceof AccountAuthenticatorEd25519 && transactionToSubmit instanceof RawTransaction) {\n const transactionAuthenticator = new TransactionAuthenticatorEd25519(\n senderAuthenticator.public_key,\n senderAuthenticator.signature,\n );\n return new SignedTransaction(transactionToSubmit, transactionAuthenticator).bcsToBytes();\n }\n\n if (\n (senderAuthenticator instanceof AccountAuthenticatorSingleKey ||\n senderAuthenticator instanceof AccountAuthenticatorMultiKey) &&\n transactionToSubmit instanceof RawTransaction\n ) {\n const transactionAuthenticator = new TransactionAuthenticatorSingleSender(senderAuthenticator);\n return new SignedTransaction(transactionToSubmit, transactionAuthenticator).bcsToBytes();\n }\n\n throw new Error(\n `Cannot generate a signed transaction, ${senderAuthenticator} is not a supported account authentication scheme`,\n );\n}\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction;\n}\n\n/**\n * Generate a multi signers signed transaction that can be submitted to chain\n *\n * @param transaction MultiAgentRawTransaction | FeePayerRawTransaction\n * @param senderAuthenticator The account authenticator of the transaction sender\n * @param secondarySignerAuthenticators The extra signers account Authenticators\n *\n * @returns A SignedTransaction\n */\nexport function generateMultiSignersSignedTransaction(\n transaction: MultiAgentRawTransaction | FeePayerRawTransaction,\n senderAuthenticator: AccountAuthenticator,\n feePayerAuthenticator?: AccountAuthenticator,\n additionalSignersAuthenticators?: Array<AccountAuthenticator>,\n) {\n if (transaction instanceof FeePayerRawTransaction) {\n if (!feePayerAuthenticator) {\n throw new Error(\"Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction\");\n }\n const txAuthenticatorFeePayer = new TransactionAuthenticatorFeePayer(\n senderAuthenticator,\n transaction.secondary_signer_addresses,\n additionalSignersAuthenticators ?? [],\n {\n address: transaction.fee_payer_address,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transaction.raw_txn, txAuthenticatorFeePayer).bcsToBytes();\n }\n if (transaction instanceof MultiAgentRawTransaction) {\n if (!additionalSignersAuthenticators) {\n throw new Error(\n \"Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction\",\n );\n }\n const multiAgentAuthenticator = new TransactionAuthenticatorMultiAgent(\n senderAuthenticator,\n transaction.secondary_signer_addresses,\n additionalSignersAuthenticators ?? [],\n );\n return new SignedTransaction(transaction.raw_txn, multiAgentAuthenticator).bcsToBytes();\n }\n\n throw new Error(\n `Cannot prepare multi signers transaction to submission, ${typeof transaction} transaction is not supported`,\n );\n}\n\nexport function generateSigningMessage(transaction: AnyRawTransaction): Uint8Array {\n const rawTxn = deriveTransactionType(transaction);\n const hash = sha3Hash.create();\n\n if (rawTxn instanceof RawTransaction) {\n hash.update(RAW_TRANSACTION_SALT);\n } else if (rawTxn instanceof MultiAgentRawTransaction) {\n hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n } else if (rawTxn instanceof FeePayerRawTransaction) {\n hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n } else {\n throw new Error(`Unknown transaction type to sign on: ${rawTxn}`);\n }\n\n const prefix = hash.digest();\n\n const body = rawTxn.bcsToBytes();\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n\n/**\n * Fetches and caches ABIs with allowing for pass-through on provided ABIs\n * @param key\n * @param moduleAddress\n * @param moduleName\n * @param functionName\n * @param aptosConfig\n * @param abi\n * @param fetch\n */\nasync function fetchAbi<T extends FunctionABI>({\n key,\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig,\n abi,\n fetch,\n}: {\n key: string;\n moduleAddress: string;\n moduleName: string;\n functionName: string;\n aptosConfig: AptosConfig;\n abi?: T;\n fetch: (moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig) => Promise<T>;\n}): Promise<T> {\n if (abi) {\n return abi;\n }\n\n // We fetch the entry function ABI, and then pretend that we already had the ABI\n return memoizeAsync(\n async () => fetch(moduleAddress, moduleName, functionName, aptosConfig),\n `${key}-${aptosConfig.network}-${moduleAddress}-${moduleName}-${functionName}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n}\n"],"mappings":"86BAQA,OAAS,YAAYA,OAAgB,qBAgGrC,eAAsBC,GACpBC,EACwC,CACxC,GAAIC,EAAkBD,CAAI,EACxB,OAAOE,GAAiCF,CAAI,EAE9C,GAAM,CAAE,cAAAG,EAAe,WAAAC,EAAY,aAAAC,CAAa,EAAIC,EAAiBN,EAAK,QAAQ,EAE5EO,EAAc,MAAMC,GAAS,CACjC,IAAK,iBACL,cAAAL,EACA,WAAAC,EACA,aAAAC,EACA,YAAaL,EAAK,YAClB,IAAKA,EAAK,IACV,MAAOS,EACT,CAAC,EAGD,OAAOC,GAAkC,CAAE,IAAKH,EAAa,GAAGP,CAAK,CAAC,CACxE,CAIO,SAASU,GACdV,EAC+B,CAC/B,IAAMO,EAAcP,EAAK,IACnB,CAAE,cAAAG,EAAe,WAAAC,EAAY,aAAAC,CAAa,EAAIC,EAAiBN,EAAK,QAAQ,EAG5EW,EAAgBC,EAAoBZ,EAAK,aAAa,EAG5D,GAAIW,EAAc,SAAWJ,EAAY,eAAe,OACtD,MAAM,IAAI,MACR,0CAA0CA,EAAY,eAAe,MAAM,cAAcI,EAAc,MAAM,EAC/G,EAIF,IAAME,EAAuDb,EAAK,kBAAkB,IAAI,CAACc,EAAKC,IAC5FC,EAAgBhB,EAAK,SAAUO,EAAaO,EAAKC,EAAGJ,CAAa,CACnE,EAGA,GAAIE,EAAkB,SAAWN,EAAY,WAAW,OACtD,MAAM,IAAI,MAER,0BAA0BJ,CAAa,KAAKC,CAAU,KAAKC,CAAY,eAAeE,EAAY,WAAW,MAAM,YAAYM,EAAkB,MAAM,EACzJ,EAIF,IAAMI,EAAuBC,EAAc,MACzC,GAAGf,CAAa,KAAKC,CAAU,GAC/BC,EACAM,EACAE,CACF,EAGA,GAAI,oBAAqBb,EAAM,CAC7B,IAAMmB,EAAkBC,EAAe,KAAKpB,EAAK,eAAe,EAChE,OAAO,IAAIqB,EACT,IAAIC,EAASH,EAAiB,IAAII,EAA2BN,CAAoB,CAAC,CACpF,CACF,CAGA,OAAO,IAAIO,EAAgCP,CAAoB,CACjE,CAEA,eAAsBQ,GAA4BzB,EAAkE,CAClH,GAAM,CAAE,cAAAG,EAAe,WAAAC,EAAY,aAAAC,CAAa,EAAIC,EAAiBN,EAAK,QAAQ,EAE5EO,EAAc,MAAMC,GAAS,CACjC,IAAK,gBACL,cAAAL,EACA,WAAAC,EACA,aAAAC,EACA,YAAaL,EAAK,YAClB,IAAKA,EAAK,IACV,MAAO0B,EACT,CAAC,EAGD,OAAOC,GAAmC,CAAE,IAAKpB,EAAa,GAAGP,CAAK,CAAC,CACzE,CAEO,SAAS2B,GAAmC3B,EAAmD,CACpG,IAAMO,EAAcP,EAAK,IACnB,CAAE,cAAAG,EAAe,WAAAC,EAAY,aAAAC,CAAa,EAAIC,EAAiBN,EAAK,QAAQ,EAG5EW,EAAgBC,EAAoBZ,EAAK,aAAa,EAG5D,GAAIW,EAAc,SAAWJ,EAAY,eAAe,OACtD,MAAM,IAAI,MACR,0CAA0CA,EAAY,eAAe,MAAM,cAAcI,EAAc,MAAM,EAC/G,EAIF,IAAME,EACJb,GAAM,mBAAmB,IAAI,CAACc,EAAKC,IAAMC,EAAgBhB,EAAK,SAAUO,EAAaO,EAAKC,EAAGJ,CAAa,CAAC,GAAK,CAAC,EAGnH,GAAIE,EAAkB,SAAWN,EAAY,WAAW,OACtD,MAAM,IAAI,MAER,0BAA0BJ,CAAa,KAAKC,CAAU,KAAKC,CAAY,eAAeE,EAAY,WAAW,MAAM,YAAYM,EAAkB,MAAM,EACzJ,EAIF,OAAOK,EAAc,MAAM,GAAGf,CAAa,KAAKC,CAAU,GAAIC,EAAcM,EAAeE,CAAiB,CAC9G,CAEA,SAASX,GAAiCF,EAAuB,CAC/D,OAAO,IAAI4B,EACT,IAAIC,EAAOC,EAAI,aAAa9B,EAAK,QAAQ,EAAE,aAAa,EAAGA,EAAK,eAAiB,CAAC,EAAGA,EAAK,iBAAiB,CAC7G,CACF,CAWA,eAAsB+B,GAAuB/B,EAMjB,CAC1B,GAAM,CAAE,YAAAgC,EAAa,OAAAC,EAAQ,QAAAC,EAAS,QAAAC,EAAS,gBAAAC,CAAgB,EAAIpC,EAE7DqC,EAAaC,EAAiBN,EAAY,OAAO,EACnD,QAAQ,QAAQ,CAAE,SAAUM,EAAiBN,EAAY,OAAO,CAAE,CAAC,EACnEO,EAAc,CAAE,YAAAP,CAAY,CAAC,EAE3BQ,EAAkBL,GAAS,aAC7B,QAAQ,QAAQ,CAAE,aAAcA,EAAQ,YAAa,CAAC,EACtDM,EAAsB,CAAE,YAAAT,CAAY,CAAC,EAEnC,CAAC,CAAE,SAAUU,CAAQ,EAAG,CAAE,aAAcC,CAAY,CAAC,EAAI,MAAM,QAAQ,IAAI,CAACN,EAAYG,CAAe,CAAC,EAExGI,EACJT,GAAS,wBAA0B,OAC/B,QAAQ,QAAQ,CAAE,gBAAiBA,EAAQ,qBAAsB,CAAC,EAClEU,EAAQ,CAAE,YAAAb,EAAa,eAAgBC,CAAO,CAAC,EAEjDa,EAMJ,GAAIV,GAAmBhB,EAAe,KAAKgB,CAAe,EAAE,OAAOhB,EAAe,IAAI,EAGpF,GAAI,CAEF,GAAM,CAAE,gBAAiB2B,CAAU,EAAI,MAAMH,EAC7CE,EAAiBC,CACnB,MAAiB,CACfD,EAAiB,GACnB,KACK,CACL,GAAM,CAAE,gBAAiBC,CAAU,EAAI,MAAMH,EAC7CE,EAAiBC,CACnB,CAEA,GAAM,CAAE,aAAAC,GAAc,aAAAC,GAAc,gBAAAC,EAAgB,EAAI,CACtD,aAAcf,GAAS,aAAe,OAAOA,EAAQ,YAAY,EAAI,OAAO,GAAsB,EAClG,aAAc,OAAOQ,CAAW,EAChC,gBAAiB,OAAO,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAAI,EAA4B,EACpF,GAAGR,CACL,EAEA,OAAO,IAAIgB,EACT/B,EAAe,KAAKa,CAAM,EAC1B,OAAOa,CAAc,EACrBZ,EACA,OAAOc,EAAY,EACnB,OAAOC,EAAY,EACnB,OAAOC,EAAe,EACtB,IAAIE,EAAQV,CAAO,CACrB,CACF,CAiCA,eAAsBW,GAAiBrD,EAAmE,CACxG,GAAM,CAAE,YAAAgC,EAAa,OAAAC,EAAQ,QAAAC,EAAS,QAAAC,EAAS,gBAAAC,CAAgB,EAAIpC,EAE7DsD,EAAS,MAAMvB,GAAuB,CAC1C,YAAAC,EACA,OAAAC,EACA,QAAAC,EACA,QAAAC,EACA,gBAAAC,CACF,CAAC,EAGD,GAAI,6BAA8BpC,EAAM,CACtC,IAAMuD,EACJvD,EAAK,0BAA0B,IAAKwD,GAAWpC,EAAe,KAAKoC,CAAM,CAAC,GAAK,CAAC,EAElF,MAAO,CACL,eAAgBF,EAChB,yBAA0BC,EAC1B,gBAAiBvD,EAAK,gBAAkBoB,EAAe,KAAKpB,EAAK,eAAe,EAAI,MACtF,CACF,CAEA,MAAO,CACL,eAAgBsD,EAChB,gBAAiBtD,EAAK,gBAAkBoB,EAAe,KAAKpB,EAAK,eAAe,EAAI,MACtF,CACF,CAaO,SAASyD,GAAuCzD,EAAgD,CACrG,GAAM,CAAE,gBAAA0D,EAAiB,YAAAC,EAAa,2BAAAC,EAA4B,kBAAAC,CAAkB,EAAI7D,EAElF8D,EAAuBC,EAA8BL,CAAe,EAG1E,GAAIC,EAAY,gBAAiB,CAC/B,IAAMK,EAAoB,IAAIC,EAC5BN,EAAY,eACZA,EAAY,0BAA4B,CAAC,EACzCA,EAAY,eACd,EACIO,EAA8D,CAAC,EAC/DN,IACFM,EAAiCN,EAA2B,IAAKO,GAC/DJ,EAA8BI,CAAS,CACzC,GAEF,IAAMC,EAAwBL,EAA8BF,CAAkB,EAExEQ,EAA2B,IAAIC,EACnCR,EACAH,EAAY,0BAA4B,CAAC,EACzCO,EACA,CACE,QAASP,EAAY,gBACrB,cAAeS,CACjB,CACF,EACA,OAAO,IAAIG,EAAkBP,EAAkB,QAASK,CAAwB,EAAE,WAAW,CAC/F,CAGA,GAAIV,EAAY,yBAA0B,CACxC,IAAMK,EAAoB,IAAIQ,EAC5Bb,EAAY,eACZA,EAAY,wBACd,EAEIO,EAA8D,CAAC,EAEnEA,EAAiCN,EAA4B,IAAKO,GAChEJ,EAA8BI,CAAS,CACzC,EAEA,IAAME,EAA2B,IAAII,EACnCX,EACAH,EAAY,yBACZO,CACF,EAEA,OAAO,IAAIK,EAAkBP,EAAkB,QAASK,CAAwB,EAAE,WAAW,CAC/F,CAGA,IAAIA,EACJ,GAAIP,aAAgCY,EAClCL,EAA2B,IAAIM,EAC7Bb,EAAqB,WACrBA,EAAqB,SACvB,UACSA,aAAgCc,EACzCP,EAA2B,IAAIQ,EAAqCf,CAAoB,MAExF,OAAM,IAAI,MAAM,oBAAoB,EAEtC,OAAO,IAAIS,EAAkBZ,EAAY,eAAgBU,CAAwB,EAAE,WAAW,CAChG,CAEO,SAASN,EAA8BI,EAAsB,CAElE,GAAIA,aAAqBW,EAAc,CACrC,GAAIX,EAAU,qBAAqBY,EACjC,OAAO,IAAIH,EAA8BT,EAAW,IAAIa,EAAa,IAAIC,EAAiB,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAEhH,GAAId,EAAU,qBAAqBe,EACjC,OAAO,IAAIN,EAA8BT,EAAW,IAAIa,EAAa,IAAIG,EAAmB,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,CAEpH,CAGA,OAAO,IAAIT,EACT,IAAIK,EAAiBZ,EAAU,aAAa,CAAC,EAC7C,IAAIc,EAAiB,IAAI,WAAW,EAAE,CAAC,CACzC,CACF,CAUO,SAASG,GAAKpF,EAAiF,CACpG,GAAM,CAAE,OAAAwD,EAAQ,YAAAG,CAAY,EAAI3D,EAG1BqF,EAAUC,GAAuB3B,CAAW,EAGlD,OAAOH,EAAO,sBAAsB6B,CAAO,CAC7C,CAWO,SAASE,GAA0BvF,EAA8C,CACtF,GAAM,CAAE,YAAA2D,EAAa,oBAAA6B,EAAqB,sBAAApB,EAAuB,gCAAAqB,CAAgC,EAAIzF,EAE/F0F,EAAsBC,GAAsBhC,CAAW,EAE7D,IACGS,GAAyBqB,KACzBC,aAA+BlB,GAA4BkB,aAA+BzB,GAE3F,OAAO2B,GACLF,EACAF,EACApB,EACAqB,CACF,EAMF,GAAID,aAA+Bd,GAA+BgB,aAA+BvC,EAAgB,CAC/G,IAAMkB,EAA2B,IAAIM,EACnCa,EAAoB,WACpBA,EAAoB,SACtB,EACA,OAAO,IAAIjB,EAAkBmB,EAAqBrB,CAAwB,EAAE,WAAW,CACzF,CAEA,IACGmB,aAA+BZ,GAC9BY,aAA+BK,IACjCH,aAA+BvC,EAC/B,CACA,IAAMkB,EAA2B,IAAIQ,EAAqCW,CAAmB,EAC7F,OAAO,IAAIjB,EAAkBmB,EAAqBrB,CAAwB,EAAE,WAAW,CACzF,CAEA,MAAM,IAAI,MACR,yCAAyCmB,CAAmB,mDAC9D,CACF,CASO,SAASG,GAAsBhC,EAA2D,CAC/F,OAAIA,EAAY,gBACP,IAAIM,EACTN,EAAY,eACZA,EAAY,0BAA4B,CAAC,EACzCA,EAAY,eACd,EAEEA,EAAY,yBACP,IAAIa,EAAyBb,EAAY,eAAgBA,EAAY,wBAAwB,EAG/FA,EAAY,cACrB,CAWO,SAASiC,GACdjC,EACA6B,EACApB,EACAqB,EACA,CACA,GAAI9B,aAAuBM,EAAwB,CACjD,GAAI,CAACG,EACH,MAAM,IAAI,MAAM,0FAA0F,EAE5G,IAAM0B,EAA0B,IAAIxB,EAClCkB,EACA7B,EAAY,2BACZ8B,GAAmC,CAAC,EACpC,CACE,QAAS9B,EAAY,kBACrB,cAAeS,CACjB,CACF,EACA,OAAO,IAAIG,EAAkBZ,EAAY,QAASmC,CAAuB,EAAE,WAAW,CACxF,CACA,GAAInC,aAAuBa,EAA0B,CACnD,GAAI,CAACiB,EACH,MAAM,IAAI,MACR,sGACF,EAEF,IAAMM,EAA0B,IAAItB,EAClCe,EACA7B,EAAY,2BACZ8B,GAAmC,CAAC,CACtC,EACA,OAAO,IAAIlB,EAAkBZ,EAAY,QAASoC,CAAuB,EAAE,WAAW,CACxF,CAEA,MAAM,IAAI,MACR,2DAA2D,OAAOpC,CAAW,+BAC/E,CACF,CAEO,SAAS2B,GAAuB3B,EAA4C,CACjF,IAAML,EAASqC,GAAsBhC,CAAW,EAC1CqC,EAAOC,GAAS,OAAO,EAE7B,GAAI3C,aAAkBH,EACpB6C,EAAK,OAAOE,CAAoB,UACvB5C,aAAkBkB,EAC3BwB,EAAK,OAAOG,CAA8B,UACjC7C,aAAkBW,EAC3B+B,EAAK,OAAOG,CAA8B,MAE1C,OAAM,IAAI,MAAM,wCAAwC7C,CAAM,EAAE,EAGlE,IAAM8C,EAASJ,EAAK,OAAO,EAErBK,EAAO/C,EAAO,WAAW,EAEzBgD,EAAc,IAAI,WAAWF,EAAO,OAASC,EAAK,MAAM,EAC9D,OAAAC,EAAY,IAAIF,CAAM,EACtBE,EAAY,IAAID,EAAMD,EAAO,MAAM,EAE5BE,CACT,CAYA,eAAe9F,GAAgC,CAC7C,IAAA+F,EACA,cAAApG,EACA,WAAAC,EACA,aAAAC,EACA,YAAA2B,EACA,IAAAwE,EACA,MAAAC,CACF,EAQe,CACb,OAAID,GAKGE,EACL,SAAYD,EAAMtG,EAAeC,EAAYC,EAAc2B,CAAW,EACtE,GAAGuE,CAAG,IAAIvE,EAAY,OAAO,IAAI7B,CAAa,IAAIC,CAAU,IAAIC,CAAY,GAC5E,IAAO,GAAK,CACd,EAAE,CACJ","names":["sha3Hash","generateTransactionPayload","args","isScriptDataInput","generateTransactionPayloadScript","moduleAddress","moduleName","functionName","getFunctionParts","functionAbi","fetchAbi","fetchEntryFunctionAbi","generateTransactionPayloadWithABI","typeArguments","standardizeTypeTags","functionArguments","arg","i","convertArgument","entryFunctionPayload","EntryFunction","multisigAddress","AccountAddress","TransactionPayloadMultiSig","MultiSig","MultiSigTransactionPayload","TransactionPayloadEntryFunction","generateViewFunctionPayload","fetchViewFunctionAbi","generateViewFunctionPayloadWithABI","TransactionPayloadScript","Script","Hex","generateRawTransaction","aptosConfig","sender","payload","options","feePayerAddress","getChainId","NetworkToChainId","getLedgerInfo","getGasUnitPrice","getGasPriceEstimation","chainId","gasEstimate","getSequenceNumber","getInfo","sequenceNumber","seqNumber","maxGasAmount","gasUnitPrice","expireTimestamp","RawTransaction","ChainId","buildTransaction","rawTxn","signers","signer","generateSignedTransactionForSimulation","signerPublicKey","transaction","secondarySignersPublicKeys","feePayerPublicKey","accountAuthenticator","getAuthenticatorForSimulation","transactionToSign","FeePayerRawTransaction","secondaryAccountAuthenticators","publicKey","feePayerAuthenticator","transactionAuthenticator","TransactionAuthenticatorFeePayer","SignedTransaction","MultiAgentRawTransaction","TransactionAuthenticatorMultiAgent","AccountAuthenticatorEd25519","TransactionAuthenticatorEd25519","AccountAuthenticatorSingleKey","TransactionAuthenticatorSingleSender","AnyPublicKey","Ed25519PublicKey","AnySignature","Ed25519Signature","Secp256k1PublicKey","Secp256k1Signature","sign","message","generateSigningMessage","generateSignedTransaction","senderAuthenticator","additionalSignersAuthenticators","transactionToSubmit","deriveTransactionType","generateMultiSignersSignedTransaction","AccountAuthenticatorMultiKey","txAuthenticatorFeePayer","multiAgentAuthenticator","hash","sha3Hash","RAW_TRANSACTION_SALT","RAW_TRANSACTION_WITH_DATA_SALT","prefix","body","mergedArray","key","abi","fetch","memoizeAsync"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/transactionSubmission/build.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountAddressInput } from \"../../core\";\nimport { generateTransaction } from \"../../internal/transactionSubmission\";\nimport {\n InputGenerateTransactionPayloadData,\n InputGenerateTransactionOptions,\n SimpleTransaction,\n MultiAgentTransaction,\n} from \"../../transactions\";\nimport { AptosConfig } from \"../aptosConfig\";\n\n/**\n * A class to handle all `Build` transaction operations\n */\nexport class Build {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n /**\n * Build a simple transaction\n *\n * @param args.sender The sender account address\n * @param args.data The transaction data\n * @param args.options optional. Optional transaction configurations\n * @param args.withFeePayer optional. Whether there is a fee payer for the transaction\n *\n * @returns SimpleTransaction\n */\n async simple(args: {\n sender: AccountAddressInput;\n data: InputGenerateTransactionPayloadData;\n options?: InputGenerateTransactionOptions;\n withFeePayer?: boolean;\n }): Promise<SimpleTransaction> {\n return generateTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Build a multi agent transaction\n *\n * @param args.sender The sender account address\n * @param args.data The transaction data\n * @param args.secondarySignerAddresses An array of the secondary signers account addresses\n * @param args.options optional. Optional transaction configurations\n * @param args.withFeePayer optional. Whether there is a fee payer for the transaction\n *\n * @returns MultiAgentTransaction\n */\n async multiAgent(args: {\n sender: AccountAddressInput;\n data: InputGenerateTransactionPayloadData;\n secondarySignerAddresses: AccountAddressInput[];\n options?: InputGenerateTransactionOptions;\n withFeePayer?: boolean;\n }): Promise<MultiAgentTransaction> {\n return generateTransaction({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"yCAgBO,IAAMA,EAAN,KAAY,CAGjB,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAYA,MAAM,OAAOC,EAKkB,CAC7B,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CAaA,MAAM,WAAWA,EAMkB,CACjC,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CACF","names":["Build","config","args","generateTransaction"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/transactions/management/transactionWorker.ts"],"sourcesContent":["/* eslint-disable no-await-in-loop */\n\nimport EventEmitter from \"eventemitter3\";\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 { InputGenerateTransactionOptions, InputGenerateTransactionPayloadData, SimpleTransaction } from \"../types\";\nimport { AccountSequenceNumber } from \"./accountSequenceNumber\";\nimport { AsyncQueue, AsyncQueueCancelledError } from \"./asyncQueue\";\n\nexport const promiseFulfilledStatus = \"fulfilled\";\n\n// Event types the worker fires during execution and\n// the dapp can listen to\nexport enum TransactionWorkerEventsEnum {\n // fired after a transaction gets sent to the chain\n TransactionSent = \"transactionSent\",\n // fired if there is an error sending the transaction to the chain\n TransactionSendFailed = \"transactionSendFailed\",\n // fired when a single transaction has executed successfully\n TransactionExecuted = \"transactionExecuted\",\n // fired if a single transaction fails in execution\n TransactionExecutionFailed = \"transactionExecutionFailed\",\n // fired when the worker has finished its job / when the queue has been emptied\n ExecutionFinish = \"executionFinish\",\n}\n\n// Typed interface of the worker events\nexport interface TransactionWorkerEvents {\n transactionSent: (data: SuccessEventData) => void;\n transactionSendFailed: (data: FailureEventData) => void;\n transactionExecuted: (data: SuccessEventData) => void;\n transactionExecutionFailed: (data: FailureEventData) => void;\n executionFinish: (data: ExecutionFinishEventData) => void;\n}\n\n// Type for when the worker has finished its job\nexport type ExecutionFinishEventData = {\n message: string;\n};\n\n// Type for a success event\nexport type SuccessEventData = {\n message: string;\n transactionHash: string;\n};\n\n// Type for a failure event\nexport type FailureEventData = {\n message: string;\n error: string;\n};\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 */\nexport class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {\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 super();\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 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 this.emit(TransactionWorkerEventsEnum.TransactionSent, {\n message: `transaction hash ${sentTransaction.value.hash} has been committed to chain`,\n transactionHash: sentTransaction.value.hash,\n });\n await this.checkTransaction(sentTransaction, sequenceNumber);\n } else {\n // send transaction failed\n this.sentTransactions.push([sentTransaction.status, sequenceNumber, sentTransaction.reason]);\n this.emit(TransactionWorkerEventsEnum.TransactionSendFailed, {\n message: `failed to commit transaction ${this.sentTransactions.length} with error ${sentTransaction.reason}`,\n error: sentTransaction.reason,\n });\n }\n }\n this.emit(TransactionWorkerEventsEnum.ExecutionFinish, {\n message: `execute ${sentTransactions.length} transactions finished`,\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 this.emit(TransactionWorkerEventsEnum.TransactionExecuted, {\n message: `transaction hash ${executedTransaction.value.hash} has been executed on chain`,\n transactionHash: sentTransaction.value.hash,\n });\n } else {\n // transaction execution failed\n this.executedTransactions.push([executedTransaction.status, sequenceNumber, executedTransaction.reason]);\n this.emit(TransactionWorkerEventsEnum.TransactionExecutionFailed, {\n message: `failed to execute transaction ${this.executedTransactions.length} with error ${executedTransaction.reason}`,\n error: executedTransaction.reason,\n });\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 *\n * @param transactionData Transaction payload\n * @param transactionData.abi For all entry function payloads, the ABI to skip remote ABI lookups\n * @param options.maxGasAmount Maximum gas amount for the transaction\n * @param options.gasUnitPrice Gas unit price for the transaction\n * @param options.expireTimestamp expiration timestamp on the transaction\n * @param options.accountSequenceNumber the sequence number for the transaction\n */\n async push(\n transactionData: InputGenerateTransactionPayloadData,\n options?: InputGenerateTransactionOptions,\n ): Promise<void> {\n 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(account: Account, sequenceNumber: bigint): Promise<SimpleTransaction | undefined> {\n if (this.transactionsQueue.isEmpty()) return undefined;\n const [transactionData, options] = await this.transactionsQueue.dequeue();\n return generateTransaction({\n aptosConfig: this.aptosConfig,\n sender: account.accountAddress,\n data: transactionData,\n options: { ...options, accountSequenceNumber: sequenceNumber },\n });\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":["EventEmitter","promiseFulfilledStatus","TransactionWorkerEventsEnum","TransactionWorker","EventEmitter","aptosConfig","account","maxWaitTime","maximumInFlight","sleepTime","AsyncQueue","AccountSequenceNumber","sequenceNumber","transaction","pendingTransaction","signAndSubmitTransaction","error","AsyncQueueCancelledError","awaitingTransactions","sequenceNumbers","sentTransactions","i","sentTransaction","waitFor","waitForTransaction","executedTransaction","transactionData","options","generateTransaction"]}