@aptos-labs/ts-sdk 1.14.0-zeta.2 → 1.14.0-zeta.3

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 (435) hide show
  1. package/dist/common/chunk-KSEUZTKY.js +2 -0
  2. package/dist/common/chunk-KSEUZTKY.js.map +1 -0
  3. package/dist/common/cli/index.js +1 -245
  4. package/dist/common/cli/index.js.map +1 -1
  5. package/dist/common/index.d.ts +1 -1
  6. package/dist/common/index.js +390 -11802
  7. package/dist/common/index.js.map +1 -1
  8. package/dist/esm/account/Account.mjs +1 -55
  9. package/dist/esm/account/Ed25519Account.mjs +1 -53
  10. package/dist/esm/account/EphemeralKeyPair.mjs +1 -36
  11. package/dist/esm/account/KeylessAccount.mjs +1 -56
  12. package/dist/esm/account/MultiKeyAccount.mjs +1 -55
  13. package/dist/esm/account/SingleKeyAccount.mjs +1 -53
  14. package/dist/esm/account/index.mjs +1 -76
  15. package/dist/esm/api/account.mjs +1 -76
  16. package/dist/esm/api/ans.mjs +1 -87
  17. package/dist/esm/api/aptos.mjs +1 -116
  18. package/dist/esm/api/aptosConfig.mjs +1 -9
  19. package/dist/esm/api/coin.mjs +1 -86
  20. package/dist/esm/api/digitalAsset.mjs +1 -87
  21. package/dist/esm/api/event.mjs +1 -54
  22. package/dist/esm/api/faucet.mjs +1 -53
  23. package/dist/esm/api/fungibleAsset.mjs +1 -87
  24. package/dist/esm/api/general.mjs +1 -84
  25. package/dist/esm/api/index.mjs +1 -120
  26. package/dist/esm/api/keyless.mjs +1 -70
  27. package/dist/esm/api/staking.mjs +1 -54
  28. package/dist/esm/api/transaction.mjs +1 -94
  29. package/dist/esm/api/transactionSubmission/build.mjs +1 -85
  30. package/dist/esm/api/transactionSubmission/helpers.mjs +1 -9
  31. package/dist/esm/api/transactionSubmission/management.mjs +1 -89
  32. package/dist/esm/api/transactionSubmission/sign.mjs +1 -109
  33. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  34. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -86
  35. package/dist/esm/api/transactionSubmission/submit.mjs +1 -86
  36. package/dist/esm/api/utils.mjs +1 -34
  37. package/dist/esm/bcs/consts.mjs +1 -17
  38. package/dist/esm/bcs/deserializer.mjs +1 -8
  39. package/dist/esm/bcs/index.mjs +1 -57
  40. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -12
  41. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -11
  42. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -25
  43. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -18
  44. package/dist/esm/bcs/serializer.mjs +1 -18
  45. package/dist/esm/chunk-23MNZ5LZ.mjs +2 -0
  46. package/dist/esm/{chunk-RCQMWXEW.mjs.map → chunk-23MNZ5LZ.mjs.map} +1 -1
  47. package/dist/esm/chunk-24ZOKI52.mjs +2 -0
  48. package/dist/esm/{chunk-F2ZWA7B7.mjs.map → chunk-24ZOKI52.mjs.map} +1 -1
  49. package/dist/esm/chunk-25H3DXTL.mjs +2 -0
  50. package/dist/esm/{chunk-B5S6DDUD.mjs.map → chunk-25H3DXTL.mjs.map} +1 -1
  51. package/dist/esm/chunk-2ECWQRBB.mjs +2 -0
  52. package/dist/esm/{chunk-2OQW7BMN.mjs.map → chunk-2ECWQRBB.mjs.map} +1 -1
  53. package/dist/esm/chunk-2HD2G4AH.mjs +2 -0
  54. package/dist/esm/{chunk-Y2LV3S5W.mjs.map → chunk-2HD2G4AH.mjs.map} +1 -1
  55. package/dist/esm/chunk-3CMS2KOX.mjs +2 -0
  56. package/dist/esm/{chunk-NW45SCPY.mjs.map → chunk-3CMS2KOX.mjs.map} +1 -1
  57. package/dist/esm/chunk-3COVJN6Z.mjs +2 -0
  58. package/dist/esm/{chunk-2JOCR2VL.mjs.map → chunk-3COVJN6Z.mjs.map} +1 -1
  59. package/dist/esm/chunk-3CUVYW32.mjs +2 -0
  60. package/dist/esm/{chunk-DIYZRGR6.mjs.map → chunk-3CUVYW32.mjs.map} +1 -1
  61. package/dist/esm/chunk-3FVRXELT.mjs +2 -0
  62. package/dist/esm/{chunk-KK2BSALW.mjs.map → chunk-3FVRXELT.mjs.map} +1 -1
  63. package/dist/esm/chunk-3JPVQHOR.mjs +2 -0
  64. package/dist/esm/{chunk-GGMTQAQP.mjs.map → chunk-3JPVQHOR.mjs.map} +1 -1
  65. package/dist/esm/chunk-3S3GIUQY.mjs +2 -0
  66. package/dist/esm/{chunk-ASF2VWOX.mjs.map → chunk-3S3GIUQY.mjs.map} +1 -1
  67. package/dist/esm/chunk-3VGX3TXH.mjs +2 -0
  68. package/dist/esm/{chunk-7FO3S6IZ.mjs.map → chunk-3VGX3TXH.mjs.map} +1 -1
  69. package/dist/esm/chunk-56CNRT2K.mjs +2 -0
  70. package/dist/esm/{chunk-SBB4YEPT.mjs.map → chunk-56CNRT2K.mjs.map} +1 -1
  71. package/dist/esm/chunk-5XOFEQWC.mjs +2 -0
  72. package/dist/esm/{chunk-ATVFVXR6.mjs.map → chunk-5XOFEQWC.mjs.map} +1 -1
  73. package/dist/esm/chunk-6EMN3BOV.mjs +2 -0
  74. package/dist/esm/{chunk-SIJELMDP.mjs.map → chunk-6EMN3BOV.mjs.map} +1 -1
  75. package/dist/esm/chunk-6RBUXB5I.mjs +2 -0
  76. package/dist/esm/{chunk-WK5ZSNE2.mjs.map → chunk-6RBUXB5I.mjs.map} +1 -1
  77. package/dist/esm/chunk-6WIB3GGF.mjs +2 -0
  78. package/dist/esm/{chunk-CTJSZT5V.mjs.map → chunk-6WIB3GGF.mjs.map} +1 -1
  79. package/dist/esm/chunk-75J7H3XD.mjs +2 -0
  80. package/dist/esm/{chunk-GBEVD2VM.mjs.map → chunk-75J7H3XD.mjs.map} +1 -1
  81. package/dist/esm/chunk-7IMWGGA6.mjs +2 -0
  82. package/dist/esm/{chunk-UX5NSZEN.mjs.map → chunk-7IMWGGA6.mjs.map} +1 -1
  83. package/dist/esm/chunk-7KOC7VNK.mjs +2 -0
  84. package/dist/esm/{chunk-YYOPNUX5.mjs.map → chunk-7KOC7VNK.mjs.map} +1 -1
  85. package/dist/esm/chunk-7SIQDOYY.mjs +2 -0
  86. package/dist/esm/{chunk-ST4QXIMI.mjs.map → chunk-7SIQDOYY.mjs.map} +1 -1
  87. package/dist/esm/chunk-7STYQ5ZE.mjs +2 -0
  88. package/dist/esm/{chunk-UEBBLQJ5.mjs.map → chunk-7STYQ5ZE.mjs.map} +1 -1
  89. package/dist/esm/chunk-7XYECSW6.mjs +2 -0
  90. package/dist/esm/{chunk-GSVQ6EUD.mjs.map → chunk-7XYECSW6.mjs.map} +1 -1
  91. package/dist/esm/chunk-AH44UPM4.mjs +2 -0
  92. package/dist/esm/{chunk-EYHRMZPO.mjs.map → chunk-AH44UPM4.mjs.map} +1 -1
  93. package/dist/esm/chunk-AHNE2QA3.mjs +2 -0
  94. package/dist/esm/{chunk-WDRH2URB.mjs.map → chunk-AHNE2QA3.mjs.map} +1 -1
  95. package/dist/esm/chunk-AJ7UC2G3.mjs +2 -0
  96. package/dist/esm/{chunk-ZAHJ7KXB.mjs.map → chunk-AJ7UC2G3.mjs.map} +1 -1
  97. package/dist/esm/chunk-AOCNYMMX.mjs +2 -0
  98. package/dist/esm/{chunk-YV7M4CFP.mjs.map → chunk-AOCNYMMX.mjs.map} +1 -1
  99. package/dist/esm/chunk-BTLFW3YY.mjs +2 -0
  100. package/dist/esm/{chunk-2ZEGJU43.mjs.map → chunk-BTLFW3YY.mjs.map} +1 -1
  101. package/dist/esm/chunk-C3L4ETUF.mjs +2 -0
  102. package/dist/esm/{chunk-PIMQHG2J.mjs.map → chunk-C3L4ETUF.mjs.map} +1 -1
  103. package/dist/esm/chunk-CB6CNNM2.mjs +2 -0
  104. package/dist/esm/{chunk-VPWUODU4.mjs.map → chunk-CB6CNNM2.mjs.map} +1 -1
  105. package/dist/esm/chunk-CO53EOHE.mjs +2 -0
  106. package/dist/esm/{chunk-MZZLEY6O.mjs.map → chunk-CO53EOHE.mjs.map} +1 -1
  107. package/dist/esm/chunk-COW5IGYC.mjs +2 -0
  108. package/dist/esm/{chunk-FXKSE3ZP.mjs.map → chunk-COW5IGYC.mjs.map} +1 -1
  109. package/dist/esm/chunk-CS7B3FVO.mjs +2 -0
  110. package/dist/esm/{chunk-CXUGZXED.mjs.map → chunk-CS7B3FVO.mjs.map} +1 -1
  111. package/dist/esm/chunk-DD2VWOMZ.mjs +2 -0
  112. package/dist/esm/{chunk-55NODGHC.mjs.map → chunk-DD2VWOMZ.mjs.map} +1 -1
  113. package/dist/esm/chunk-EB7AI4B4.mjs +2 -0
  114. package/dist/esm/{chunk-AR7X6GWQ.mjs.map → chunk-EB7AI4B4.mjs.map} +1 -1
  115. package/dist/esm/chunk-FBPNHF54.mjs +2 -0
  116. package/dist/esm/{chunk-QMM2KL6C.mjs.map → chunk-FBPNHF54.mjs.map} +1 -1
  117. package/dist/esm/chunk-FLYEALDB.mjs +2 -0
  118. package/dist/esm/{chunk-76TSTAU4.mjs.map → chunk-FLYEALDB.mjs.map} +1 -1
  119. package/dist/esm/chunk-FVA2OPG4.mjs +2 -0
  120. package/dist/esm/chunk-GNNNICLW.mjs +2 -0
  121. package/dist/esm/{chunk-DGV7DYU4.mjs.map → chunk-GNNNICLW.mjs.map} +1 -1
  122. package/dist/esm/chunk-GQ6HIKZT.mjs +2 -0
  123. package/dist/esm/{chunk-NYL77J4X.mjs.map → chunk-GQ6HIKZT.mjs.map} +1 -1
  124. package/dist/esm/chunk-H62IKYXG.mjs +2 -0
  125. package/dist/esm/{chunk-QFOG4LIN.mjs.map → chunk-H62IKYXG.mjs.map} +1 -1
  126. package/dist/esm/chunk-HGZGTBA4.mjs +2 -0
  127. package/dist/esm/{chunk-PYLOAMR2.mjs.map → chunk-HGZGTBA4.mjs.map} +1 -1
  128. package/dist/esm/chunk-HHVAU5HU.mjs +2 -0
  129. package/dist/esm/{chunk-UKU6A2W2.mjs.map → chunk-HHVAU5HU.mjs.map} +1 -1
  130. package/dist/esm/chunk-HMFL7AOJ.mjs +2 -0
  131. package/dist/esm/{chunk-KMXSRHJ6.mjs.map → chunk-HMFL7AOJ.mjs.map} +1 -1
  132. package/dist/esm/chunk-HSFG2AIK.mjs +2 -0
  133. package/dist/esm/{chunk-HBNSRCZN.mjs.map → chunk-HSFG2AIK.mjs.map} +1 -1
  134. package/dist/esm/chunk-HYDDIAJ6.mjs +2 -0
  135. package/dist/esm/{chunk-IC56GQFJ.mjs.map → chunk-HYDDIAJ6.mjs.map} +1 -1
  136. package/dist/esm/chunk-HYU23YVP.mjs +2 -0
  137. package/dist/esm/{chunk-U3IUCR2G.mjs.map → chunk-HYU23YVP.mjs.map} +1 -1
  138. package/dist/esm/chunk-JLWKIYHV.mjs +2 -0
  139. package/dist/esm/{chunk-WHBWEN6N.mjs.map → chunk-JLWKIYHV.mjs.map} +1 -1
  140. package/dist/esm/chunk-JM2B5E2I.mjs +2 -0
  141. package/dist/esm/{chunk-CX3NAVRD.mjs.map → chunk-JM2B5E2I.mjs.map} +1 -1
  142. package/dist/esm/chunk-JM544NRW.mjs +2 -0
  143. package/dist/esm/{chunk-7REUIYF4.mjs.map → chunk-JM544NRW.mjs.map} +1 -1
  144. package/dist/esm/chunk-KMKSA7LM.mjs +2 -0
  145. package/dist/esm/{chunk-FF4JPDKD.mjs.map → chunk-KMKSA7LM.mjs.map} +1 -1
  146. package/dist/esm/chunk-L54P6EGN.mjs +2 -0
  147. package/dist/esm/{chunk-SS3NUM5L.mjs.map → chunk-L54P6EGN.mjs.map} +1 -1
  148. package/dist/esm/chunk-L5WUYZ35.mjs +2 -0
  149. package/dist/esm/{chunk-7FUHWL6A.mjs.map → chunk-L5WUYZ35.mjs.map} +1 -1
  150. package/dist/esm/chunk-LDQ6JFEF.mjs +2 -0
  151. package/dist/esm/{chunk-N4WKFNQ6.mjs.map → chunk-LDQ6JFEF.mjs.map} +1 -1
  152. package/dist/esm/chunk-LR65XHSF.mjs +2 -0
  153. package/dist/esm/{chunk-PU5AFUX3.mjs.map → chunk-LR65XHSF.mjs.map} +1 -1
  154. package/dist/esm/chunk-MGOHPDX4.mjs +2 -0
  155. package/dist/esm/{chunk-2TJJWII2.mjs.map → chunk-MGOHPDX4.mjs.map} +1 -1
  156. package/dist/esm/chunk-MOKAU77C.mjs +2 -0
  157. package/dist/esm/{chunk-IHNPN5CQ.mjs.map → chunk-MOKAU77C.mjs.map} +1 -1
  158. package/dist/esm/chunk-MWUJCP27.mjs +2 -0
  159. package/dist/esm/{chunk-6MSZMIFW.mjs.map → chunk-MWUJCP27.mjs.map} +1 -1
  160. package/dist/esm/chunk-N466X3S6.mjs +2 -0
  161. package/dist/esm/{chunk-WLTBF4DF.mjs.map → chunk-N466X3S6.mjs.map} +1 -1
  162. package/dist/esm/chunk-NBEXLW7P.mjs +2 -0
  163. package/dist/esm/{chunk-D2BVBXWO.mjs.map → chunk-NBEXLW7P.mjs.map} +1 -1
  164. package/dist/esm/chunk-NC5HHEEM.mjs +2 -0
  165. package/dist/esm/{chunk-XANFAUBD.mjs.map → chunk-NC5HHEEM.mjs.map} +1 -1
  166. package/dist/esm/chunk-O3PLAAN7.mjs +2 -0
  167. package/dist/esm/{chunk-LLLQJWRZ.mjs.map → chunk-O3PLAAN7.mjs.map} +1 -1
  168. package/dist/esm/chunk-P2WALKSW.mjs +2 -0
  169. package/dist/esm/{chunk-O6PSHSN3.mjs.map → chunk-P2WALKSW.mjs.map} +1 -1
  170. package/dist/esm/chunk-P7JMD7KZ.mjs +2 -0
  171. package/dist/esm/{chunk-TBHU6ZW6.mjs.map → chunk-P7JMD7KZ.mjs.map} +1 -1
  172. package/dist/esm/chunk-PFFAQZHT.mjs +2 -0
  173. package/dist/esm/{chunk-DNPMS2OF.mjs.map → chunk-PFFAQZHT.mjs.map} +1 -1
  174. package/dist/esm/chunk-PGCBIU33.mjs +2 -0
  175. package/dist/esm/{chunk-4OYYOYSO.mjs.map → chunk-PGCBIU33.mjs.map} +1 -1
  176. package/dist/esm/chunk-PMPTAPM3.mjs +2 -0
  177. package/dist/esm/{chunk-DVPQGCFT.mjs.map → chunk-PMPTAPM3.mjs.map} +1 -1
  178. package/dist/esm/chunk-PYUWGGAW.mjs +2 -0
  179. package/dist/esm/chunk-PYUWGGAW.mjs.map +1 -0
  180. package/dist/esm/chunk-R52BRP36.mjs +2 -0
  181. package/dist/esm/{chunk-BXMHDQHW.mjs.map → chunk-R52BRP36.mjs.map} +1 -1
  182. package/dist/esm/chunk-RKHPXZM6.mjs +2 -0
  183. package/dist/esm/{chunk-PCLNX6FS.mjs.map → chunk-RKHPXZM6.mjs.map} +1 -1
  184. package/dist/esm/chunk-RKTM5GBP.mjs +2 -0
  185. package/dist/esm/{chunk-LI2QV6RU.mjs.map → chunk-RKTM5GBP.mjs.map} +1 -1
  186. package/dist/esm/{chunk-4PJ5FYGQ.mjs → chunk-S4SEFF4K.mjs} +27 -302
  187. package/dist/esm/{chunk-4PJ5FYGQ.mjs.map → chunk-S4SEFF4K.mjs.map} +1 -1
  188. package/dist/esm/chunk-SI7MPP6G.mjs +2 -0
  189. package/dist/esm/{chunk-RX4VG2AT.mjs.map → chunk-SI7MPP6G.mjs.map} +1 -1
  190. package/dist/esm/chunk-SLI3KELH.mjs +2 -0
  191. package/dist/esm/{chunk-7IDBB4J4.mjs.map → chunk-SLI3KELH.mjs.map} +1 -1
  192. package/dist/esm/chunk-STYDBDYL.mjs +2 -0
  193. package/dist/esm/{chunk-FDWJNY4U.mjs.map → chunk-STYDBDYL.mjs.map} +1 -1
  194. package/dist/esm/chunk-T23OVRNF.mjs +2 -0
  195. package/dist/esm/{chunk-CMNJG4NN.mjs.map → chunk-T23OVRNF.mjs.map} +1 -1
  196. package/dist/esm/chunk-TE3WIJ26.mjs +2 -0
  197. package/dist/esm/{chunk-CC4DQ6NH.mjs.map → chunk-TE3WIJ26.mjs.map} +1 -1
  198. package/dist/esm/chunk-TICM455H.mjs +2 -0
  199. package/dist/esm/{chunk-ZMFKQUHL.mjs.map → chunk-TICM455H.mjs.map} +1 -1
  200. package/dist/esm/chunk-TJDC5PWD.mjs +2 -0
  201. package/dist/esm/{chunk-NMKCJNQM.mjs.map → chunk-TJDC5PWD.mjs.map} +1 -1
  202. package/dist/esm/chunk-TVRJ3M7B.mjs +2 -0
  203. package/dist/esm/{chunk-FQQW55X7.mjs.map → chunk-TVRJ3M7B.mjs.map} +1 -1
  204. package/dist/esm/chunk-U5C2PXC6.mjs +2 -0
  205. package/dist/esm/{chunk-WVGO4D7K.mjs.map → chunk-U5C2PXC6.mjs.map} +1 -1
  206. package/dist/esm/chunk-U6Z4FNB7.mjs +2 -0
  207. package/dist/esm/{chunk-AC3OGAL6.mjs.map → chunk-U6Z4FNB7.mjs.map} +1 -1
  208. package/dist/esm/chunk-UTXJOB3O.mjs +2 -0
  209. package/dist/esm/{chunk-QBBTUC66.mjs.map → chunk-UTXJOB3O.mjs.map} +1 -1
  210. package/dist/esm/chunk-VL6EYA53.mjs +2 -0
  211. package/dist/esm/{chunk-VZQXLVEP.mjs.map → chunk-VL6EYA53.mjs.map} +1 -1
  212. package/dist/esm/chunk-VPKPQBKL.mjs +2 -0
  213. package/dist/esm/{chunk-6LRQSBRH.mjs.map → chunk-VPKPQBKL.mjs.map} +1 -1
  214. package/dist/esm/chunk-VSD2AWUR.mjs +2 -0
  215. package/dist/esm/chunk-VSD2AWUR.mjs.map +1 -0
  216. package/dist/esm/chunk-VT6XJSRO.mjs +2 -0
  217. package/dist/esm/{chunk-7JRMOHBP.mjs.map → chunk-VT6XJSRO.mjs.map} +1 -1
  218. package/dist/esm/chunk-WM2NCYZL.mjs +2 -0
  219. package/dist/esm/{chunk-VKJQORON.mjs.map → chunk-WM2NCYZL.mjs.map} +1 -1
  220. package/dist/esm/chunk-WWGROAKX.mjs +2 -0
  221. package/dist/esm/{chunk-W76MGKZB.mjs.map → chunk-WWGROAKX.mjs.map} +1 -1
  222. package/dist/esm/chunk-XZGQMZ2H.mjs +2 -0
  223. package/dist/esm/{chunk-VJP2VWMF.mjs.map → chunk-XZGQMZ2H.mjs.map} +1 -1
  224. package/dist/esm/chunk-Y33CIIZX.mjs +2 -0
  225. package/dist/esm/{chunk-JHDHNGJ3.mjs.map → chunk-Y33CIIZX.mjs.map} +1 -1
  226. package/dist/esm/chunk-Y4SSUCPJ.mjs +2 -0
  227. package/dist/esm/{chunk-VDJBDX3A.mjs.map → chunk-Y4SSUCPJ.mjs.map} +1 -1
  228. package/dist/esm/chunk-YE5B2S5L.mjs +2 -0
  229. package/dist/esm/{chunk-NFJCQRVK.mjs.map → chunk-YE5B2S5L.mjs.map} +1 -1
  230. package/dist/esm/chunk-YGOJYDJA.mjs +2 -0
  231. package/dist/esm/{chunk-LYK4TQZO.mjs.map → chunk-YGOJYDJA.mjs.map} +1 -1
  232. package/dist/esm/chunk-YNNPWCF6.mjs +2 -0
  233. package/dist/esm/{chunk-NXFO2W4G.mjs.map → chunk-YNNPWCF6.mjs.map} +1 -1
  234. package/dist/esm/chunk-YV7OBLK2.mjs +2 -0
  235. package/dist/esm/{chunk-TLNHRJB2.mjs.map → chunk-YV7OBLK2.mjs.map} +1 -1
  236. package/dist/esm/chunk-ZKRG4C4U.mjs +2 -0
  237. package/dist/esm/{chunk-LYMY63SO.mjs.map → chunk-ZKRG4C4U.mjs.map} +1 -1
  238. package/dist/esm/chunk-ZNEBMSNC.mjs +2 -0
  239. package/dist/esm/{chunk-JL2JHVS4.mjs.map → chunk-ZNEBMSNC.mjs.map} +1 -1
  240. package/dist/esm/chunk-ZPMS2Q37.mjs +2 -0
  241. package/dist/esm/{chunk-KVSQ57HU.mjs.map → chunk-ZPMS2Q37.mjs.map} +1 -1
  242. package/dist/esm/cli/index.mjs +1 -12
  243. package/dist/esm/cli/localNode.mjs +1 -8
  244. package/dist/esm/cli/move.mjs +1 -7
  245. package/dist/esm/client/core.mjs +1 -27
  246. package/dist/esm/client/get.mjs +1 -32
  247. package/dist/esm/client/index.mjs +1 -55
  248. package/dist/esm/client/post.mjs +1 -36
  249. package/dist/esm/client/types.mjs +1 -7
  250. package/dist/esm/core/account/index.mjs +1 -19
  251. package/dist/esm/core/account/utils/address.mjs +1 -18
  252. package/dist/esm/core/account/utils/index.mjs +1 -19
  253. package/dist/esm/core/accountAddress.mjs +1 -15
  254. package/dist/esm/core/authenticationKey.mjs +1 -14
  255. package/dist/esm/core/common.mjs +1 -7
  256. package/dist/esm/core/crypto/ed25519.mjs +1 -29
  257. package/dist/esm/core/crypto/ephemeral.mjs +1 -28
  258. package/dist/esm/core/crypto/hdKey.mjs +1 -25
  259. package/dist/esm/core/crypto/index.mjs +1 -124
  260. package/dist/esm/core/crypto/keyless.mjs +1 -55
  261. package/dist/esm/core/crypto/multiEd25519.mjs +1 -28
  262. package/dist/esm/core/crypto/multiKey.mjs +1 -34
  263. package/dist/esm/core/crypto/poseidon.mjs +1 -15
  264. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  265. package/dist/esm/core/crypto/proof.mjs +1 -19
  266. package/dist/esm/core/crypto/publicKey.mjs +1 -21
  267. package/dist/esm/core/crypto/secp256k1.mjs +1 -27
  268. package/dist/esm/core/crypto/signature.mjs +1 -19
  269. package/dist/esm/core/crypto/singleKey.mjs +1 -33
  270. package/dist/esm/core/crypto/utils.mjs +1 -9
  271. package/dist/esm/core/hex.mjs +1 -10
  272. package/dist/esm/core/index.mjs +1 -141
  273. package/dist/esm/index.mjs +1 -635
  274. package/dist/esm/internal/account.mjs +1 -106
  275. package/dist/esm/internal/ans.mjs +1 -120
  276. package/dist/esm/internal/coin.mjs +1 -85
  277. package/dist/esm/internal/digitalAsset.mjs +1 -127
  278. package/dist/esm/internal/event.mjs +1 -55
  279. package/dist/esm/internal/faucet.mjs +1 -52
  280. package/dist/esm/internal/fungibleAsset.mjs +1 -91
  281. package/dist/esm/internal/general.mjs +1 -46
  282. package/dist/esm/internal/keyless.mjs +1 -73
  283. package/dist/esm/internal/staking.mjs +1 -53
  284. package/dist/esm/internal/transaction.mjs +1 -51
  285. package/dist/esm/internal/transactionSubmission.mjs +1 -102
  286. package/dist/esm/internal/view.mjs +1 -83
  287. package/dist/esm/transactions/authenticator/account.mjs +1 -44
  288. package/dist/esm/transactions/authenticator/index.mjs +1 -60
  289. package/dist/esm/transactions/authenticator/transaction.mjs +1 -48
  290. package/dist/esm/transactions/index.mjs +1 -284
  291. package/dist/esm/transactions/instances/chainId.mjs +1 -11
  292. package/dist/esm/transactions/instances/identifier.mjs +1 -11
  293. package/dist/esm/transactions/instances/index.mjs +1 -96
  294. package/dist/esm/transactions/instances/moduleId.mjs +1 -38
  295. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -43
  296. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -48
  297. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -20
  298. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -45
  299. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -43
  300. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  301. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -56
  302. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -74
  303. package/dist/esm/transactions/management/asyncQueue.mjs +1 -9
  304. package/dist/esm/transactions/management/index.mjs +1 -95
  305. package/dist/esm/transactions/management/transactionWorker.mjs +1 -91
  306. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -75
  307. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -162
  308. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -85
  309. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -58
  310. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -1
  311. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -98
  312. package/dist/esm/transactions/typeTag/index.mjs +1 -74
  313. package/dist/esm/transactions/typeTag/parser.mjs +1 -43
  314. package/dist/esm/transactions/types.mjs +1 -1
  315. package/dist/esm/types/generated/queries.mjs +1 -57
  316. package/dist/esm/types/generated/types.mjs +1 -809
  317. package/dist/esm/types/generated/types.mjs.map +1 -1
  318. package/dist/esm/types/index.mjs +1 -68
  319. package/dist/esm/types/indexer.mjs +1 -1
  320. package/dist/esm/types/keyless.mjs +1 -9
  321. package/dist/esm/utils/apiEndpoints.mjs +1 -21
  322. package/dist/esm/utils/const.mjs +1 -21
  323. package/dist/esm/utils/helpers.mjs +1 -7
  324. package/dist/esm/utils/index.mjs +1 -56
  325. package/dist/esm/utils/memoize.mjs +1 -9
  326. package/dist/esm/utils/normalizeBundle.mjs +1 -19
  327. package/dist/esm/version.d.mts +1 -1
  328. package/dist/esm/version.mjs +1 -7
  329. package/package.json +2 -2
  330. package/src/account/KeylessAccount.ts +1 -2
  331. package/src/transactions/transactionBuilder/transactionBuilder.ts +16 -2
  332. package/src/version.ts +1 -1
  333. package/dist/common/chunk-QRI7EC4T.js +0 -24
  334. package/dist/common/chunk-QRI7EC4T.js.map +0 -1
  335. package/dist/esm/chunk-2JOCR2VL.mjs +0 -32
  336. package/dist/esm/chunk-2OQW7BMN.mjs +0 -129
  337. package/dist/esm/chunk-2TJJWII2.mjs +0 -23
  338. package/dist/esm/chunk-2ZEGJU43.mjs +0 -252
  339. package/dist/esm/chunk-4OYYOYSO.mjs +0 -336
  340. package/dist/esm/chunk-55NODGHC.mjs +0 -135
  341. package/dist/esm/chunk-6LRQSBRH.mjs +0 -130
  342. package/dist/esm/chunk-6MSZMIFW.mjs +0 -23
  343. package/dist/esm/chunk-76TSTAU4.mjs +0 -120
  344. package/dist/esm/chunk-7FO3S6IZ.mjs +0 -324
  345. package/dist/esm/chunk-7FUHWL6A.mjs +0 -42
  346. package/dist/esm/chunk-7IDBB4J4.mjs +0 -33
  347. package/dist/esm/chunk-7JRMOHBP.mjs +0 -247
  348. package/dist/esm/chunk-7REUIYF4.mjs +0 -63
  349. package/dist/esm/chunk-AC3OGAL6.mjs +0 -87
  350. package/dist/esm/chunk-AR7X6GWQ.mjs +0 -356
  351. package/dist/esm/chunk-ASF2VWOX.mjs +0 -142
  352. package/dist/esm/chunk-ATVFVXR6.mjs +0 -43
  353. package/dist/esm/chunk-B5S6DDUD.mjs +0 -120
  354. package/dist/esm/chunk-BXMHDQHW.mjs +0 -512
  355. package/dist/esm/chunk-CC4DQ6NH.mjs +0 -19
  356. package/dist/esm/chunk-CMNJG4NN.mjs +0 -345
  357. package/dist/esm/chunk-CTJSZT5V.mjs +0 -87
  358. package/dist/esm/chunk-CX3NAVRD.mjs +0 -205
  359. package/dist/esm/chunk-CXUGZXED.mjs +0 -307
  360. package/dist/esm/chunk-D2BVBXWO.mjs +0 -7
  361. package/dist/esm/chunk-DGV7DYU4.mjs +0 -413
  362. package/dist/esm/chunk-DIYZRGR6.mjs +0 -242
  363. package/dist/esm/chunk-DNPMS2OF.mjs +0 -236
  364. package/dist/esm/chunk-DVPQGCFT.mjs +0 -74
  365. package/dist/esm/chunk-EYHRMZPO.mjs +0 -34
  366. package/dist/esm/chunk-F2ZWA7B7.mjs +0 -412
  367. package/dist/esm/chunk-FDWJNY4U.mjs +0 -22
  368. package/dist/esm/chunk-FF4JPDKD.mjs +0 -315
  369. package/dist/esm/chunk-FQQW55X7.mjs +0 -288
  370. package/dist/esm/chunk-FXKSE3ZP.mjs +0 -25
  371. package/dist/esm/chunk-GBEVD2VM.mjs +0 -99
  372. package/dist/esm/chunk-GGMTQAQP.mjs +0 -11
  373. package/dist/esm/chunk-GSVQ6EUD.mjs +0 -649
  374. package/dist/esm/chunk-HBNSRCZN.mjs +0 -100
  375. package/dist/esm/chunk-IC56GQFJ.mjs +0 -127
  376. package/dist/esm/chunk-IHNPN5CQ.mjs +0 -256
  377. package/dist/esm/chunk-JHDHNGJ3.mjs +0 -126
  378. package/dist/esm/chunk-JL2JHVS4.mjs +0 -49
  379. package/dist/esm/chunk-JV3GSIJW.mjs +0 -268
  380. package/dist/esm/chunk-JV3GSIJW.mjs.map +0 -1
  381. package/dist/esm/chunk-KK2BSALW.mjs +0 -32
  382. package/dist/esm/chunk-KMXSRHJ6.mjs +0 -93
  383. package/dist/esm/chunk-KVSQ57HU.mjs +0 -45
  384. package/dist/esm/chunk-LI2QV6RU.mjs +0 -129
  385. package/dist/esm/chunk-LLLQJWRZ.mjs +0 -35
  386. package/dist/esm/chunk-LYK4TQZO.mjs +0 -70
  387. package/dist/esm/chunk-LYMY63SO.mjs +0 -124
  388. package/dist/esm/chunk-MZZLEY6O.mjs +0 -92
  389. package/dist/esm/chunk-N4WKFNQ6.mjs +0 -156
  390. package/dist/esm/chunk-NFJCQRVK.mjs +0 -37
  391. package/dist/esm/chunk-NMKCJNQM.mjs +0 -20
  392. package/dist/esm/chunk-NW45SCPY.mjs +0 -36
  393. package/dist/esm/chunk-NXFO2W4G.mjs +0 -84
  394. package/dist/esm/chunk-NYL77J4X.mjs +0 -97
  395. package/dist/esm/chunk-O6PSHSN3.mjs +0 -53
  396. package/dist/esm/chunk-OR7TEZ25.mjs +0 -16
  397. package/dist/esm/chunk-PCLNX6FS.mjs +0 -17
  398. package/dist/esm/chunk-PIMQHG2J.mjs +0 -49
  399. package/dist/esm/chunk-PU5AFUX3.mjs +0 -52
  400. package/dist/esm/chunk-PYLOAMR2.mjs +0 -29
  401. package/dist/esm/chunk-QBBTUC66.mjs +0 -15
  402. package/dist/esm/chunk-QFOG4LIN.mjs +0 -319
  403. package/dist/esm/chunk-QMM2KL6C.mjs +0 -12
  404. package/dist/esm/chunk-RCQMWXEW.mjs +0 -35
  405. package/dist/esm/chunk-RX4VG2AT.mjs +0 -314
  406. package/dist/esm/chunk-SBB4YEPT.mjs +0 -17
  407. package/dist/esm/chunk-SIJELMDP.mjs +0 -29
  408. package/dist/esm/chunk-SS3NUM5L.mjs +0 -94
  409. package/dist/esm/chunk-ST4QXIMI.mjs +0 -37
  410. package/dist/esm/chunk-TBHU6ZW6.mjs +0 -215
  411. package/dist/esm/chunk-TLNHRJB2.mjs +0 -155
  412. package/dist/esm/chunk-U3IUCR2G.mjs +0 -54
  413. package/dist/esm/chunk-U7QBZ6PP.mjs +0 -400
  414. package/dist/esm/chunk-U7QBZ6PP.mjs.map +0 -1
  415. package/dist/esm/chunk-UEBBLQJ5.mjs +0 -94
  416. package/dist/esm/chunk-UKU6A2W2.mjs +0 -232
  417. package/dist/esm/chunk-UX5NSZEN.mjs +0 -134
  418. package/dist/esm/chunk-VDJBDX3A.mjs +0 -79
  419. package/dist/esm/chunk-VJP2VWMF.mjs +0 -58
  420. package/dist/esm/chunk-VKJQORON.mjs +0 -93
  421. package/dist/esm/chunk-VPWUODU4.mjs +0 -51
  422. package/dist/esm/chunk-VZQXLVEP.mjs +0 -197
  423. package/dist/esm/chunk-W76MGKZB.mjs +0 -33
  424. package/dist/esm/chunk-WDRH2URB.mjs +0 -91
  425. package/dist/esm/chunk-WHBWEN6N.mjs +0 -206
  426. package/dist/esm/chunk-WK5ZSNE2.mjs +0 -173
  427. package/dist/esm/chunk-WLTBF4DF.mjs +0 -22
  428. package/dist/esm/chunk-WVGO4D7K.mjs +0 -254
  429. package/dist/esm/chunk-XANFAUBD.mjs +0 -44
  430. package/dist/esm/chunk-Y2LV3S5W.mjs +0 -410
  431. package/dist/esm/chunk-YV7M4CFP.mjs +0 -137
  432. package/dist/esm/chunk-YYOPNUX5.mjs +0 -41
  433. package/dist/esm/chunk-ZAHJ7KXB.mjs +0 -81
  434. package/dist/esm/chunk-ZMFKQUHL.mjs +0 -117
  435. /package/dist/esm/{chunk-OR7TEZ25.mjs.map → chunk-FVA2OPG4.mjs.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as r}from"./chunk-TVRJ3M7B.mjs";import{b as t}from"./chunk-AOCNYMMX.mjs";var e=class extends r{toString(){let s=this.bcsToBytes();return t.fromHexInput(s).toString()}};export{e as a};
2
+ //# sourceMappingURL=chunk-N466X3S6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/crypto/proof.ts"],"sourcesContent":["import { Serializable } from \"../../bcs\";\nimport { Hex } from \"../hex\";\n\n/**\n * An abstract representation of a crypto proof.\n * associated to a specific zero knowledge proof schemes e.g. Groth16, PLONK\n */\nexport abstract class Proof extends Serializable {\n /**\n * Get the proof as a hex string with a 0x prefix e.g. 0x123456...\n */\n toString(): string {\n const bytes = this.bcsToBytes();\n return Hex.fromHexInput(bytes).toString();\n }\n}\n"],"mappings":";;;;;;;;AAOO,IAAe,QAAf,cAA6B,aAAa;AAAA;AAAA;AAAA;AAAA,EAI/C,WAAmB;AACjB,UAAM,QAAQ,KAAK,WAAW;AAC9B,WAAO,IAAI,aAAa,KAAK,EAAE,SAAS;AAAA,EAC1C;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/core/crypto/proof.ts"],"sourcesContent":["import { Serializable } from \"../../bcs\";\nimport { Hex } from \"../hex\";\n\n/**\n * An abstract representation of a crypto proof.\n * associated to a specific zero knowledge proof schemes e.g. Groth16, PLONK\n */\nexport abstract class Proof extends Serializable {\n /**\n * Get the proof as a hex string with a 0x prefix e.g. 0x123456...\n */\n toString(): string {\n const bytes = this.bcsToBytes();\n return Hex.fromHexInput(bytes).toString();\n }\n}\n"],"mappings":"kFAOO,IAAeA,EAAf,cAA6BC,CAAa,CAI/C,UAAmB,CACjB,IAAMC,EAAQ,KAAK,WAAW,EAC9B,OAAOC,EAAI,aAAaD,CAAK,EAAE,SAAS,CAC1C,CACF","names":["Proof","Serializable","bytes","Hex"]}
@@ -0,0 +1,2 @@
1
+ var t="1.14.0-zeta.3";export{t as a};
2
+ //# sourceMappingURL=chunk-NBEXLW7P.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/version.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The current version of the SDK\n *\n * hardcoded for now, we would want to have it injected dynamically\n */\nexport const VERSION = \"1.14.0-zeta.1\";\n"],"mappings":";AAQO,IAAM,UAAU;","names":[]}
1
+ {"version":3,"sources":["../../src/version.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The current version of the SDK\n *\n * hardcoded for now, we would want to have it injected dynamically\n */\nexport const VERSION = \"1.14.0-zeta.3\";\n"],"mappings":"AAQO,IAAMA,EAAU","names":["VERSION"]}
@@ -0,0 +1,2 @@
1
+ import{b as o}from"./chunk-T23OVRNF.mjs";import{a as u,b as r}from"./chunk-EB7AI4B4.mjs";import{e as t}from"./chunk-6RBUXB5I.mjs";import{a as i}from"./chunk-TVRJ3M7B.mjs";var c=class extends i{constructor(e){super();this.accountAddress=o.ONE;this.moduleName=new r("account");this.structName=new r("RotationProofChallenge");this.sequenceNumber=new t(e.sequenceNumber),this.originator=e.originator,this.currentAuthKey=e.currentAuthKey,this.newPublicKey=u.U8(e.newPublicKey.toUint8Array())}serialize(e){e.serialize(this.accountAddress),e.serialize(this.moduleName),e.serialize(this.structName),e.serialize(this.sequenceNumber),e.serialize(this.originator),e.serialize(this.currentAuthKey),e.serialize(this.newPublicKey)}};export{c as a};
2
+ //# sourceMappingURL=chunk-NC5HHEEM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transactions/instances/rotationProofChallenge.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Serializer, Serializable } from \"../../bcs/serializer\";\nimport { AccountAddress } from \"../../core/accountAddress\";\nimport { AnyNumber } from \"../../types\";\nimport { PublicKey } from \"../../core/crypto\";\nimport { MoveString, MoveVector, U64, U8 } from \"../../bcs\";\n\n/**\n * Representation of the challenge which is needed to sign by owner of the account\n * to rotate the authentication key.\n */\nexport class RotationProofChallenge extends Serializable {\n // Resource account address\n public readonly accountAddress: AccountAddress = AccountAddress.ONE;\n\n // Module name, i.e: 0x1::account\n public readonly moduleName: MoveString = new MoveString(\"account\");\n\n // The rotation proof challenge struct name that live under the module\n public readonly structName: MoveString = new MoveString(\"RotationProofChallenge\");\n\n // Signer's address\n public readonly originator: AccountAddress;\n\n // Signer's current authentication key\n public readonly currentAuthKey: AccountAddress;\n\n // New public key to rotate to\n public readonly newPublicKey: MoveVector<U8>;\n\n // Sequence number of the account\n public readonly sequenceNumber: U64;\n\n constructor(args: {\n sequenceNumber: AnyNumber;\n originator: AccountAddress;\n currentAuthKey: AccountAddress;\n newPublicKey: PublicKey;\n }) {\n super();\n this.sequenceNumber = new U64(args.sequenceNumber);\n this.originator = args.originator;\n this.currentAuthKey = args.currentAuthKey;\n this.newPublicKey = MoveVector.U8(args.newPublicKey.toUint8Array());\n }\n\n serialize(serializer: Serializer): void {\n serializer.serialize(this.accountAddress);\n serializer.serialize(this.moduleName);\n serializer.serialize(this.structName);\n serializer.serialize(this.sequenceNumber);\n serializer.serialize(this.originator);\n serializer.serialize(this.currentAuthKey);\n serializer.serialize(this.newPublicKey);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAaO,IAAM,yBAAN,cAAqC,aAAa;AAAA,EAsBvD,YAAY,MAKT;AACD,UAAM;AA1BR;AAAA,SAAgB,iBAAiC,eAAe;AAGhE;AAAA,SAAgB,aAAyB,IAAI,WAAW,SAAS;AAGjE;AAAA,SAAgB,aAAyB,IAAI,WAAW,wBAAwB;AAqB9E,SAAK,iBAAiB,IAAI,IAAI,KAAK,cAAc;AACjD,SAAK,aAAa,KAAK;AACvB,SAAK,iBAAiB,KAAK;AAC3B,SAAK,eAAe,WAAW,GAAG,KAAK,aAAa,aAAa,CAAC;AAAA,EACpE;AAAA,EAEA,UAAU,YAA8B;AACtC,eAAW,UAAU,KAAK,cAAc;AACxC,eAAW,UAAU,KAAK,UAAU;AACpC,eAAW,UAAU,KAAK,UAAU;AACpC,eAAW,UAAU,KAAK,cAAc;AACxC,eAAW,UAAU,KAAK,UAAU;AACpC,eAAW,UAAU,KAAK,cAAc;AACxC,eAAW,UAAU,KAAK,YAAY;AAAA,EACxC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/transactions/instances/rotationProofChallenge.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Serializer, Serializable } from \"../../bcs/serializer\";\nimport { AccountAddress } from \"../../core/accountAddress\";\nimport { AnyNumber } from \"../../types\";\nimport { PublicKey } from \"../../core/crypto\";\nimport { MoveString, MoveVector, U64, U8 } from \"../../bcs\";\n\n/**\n * Representation of the challenge which is needed to sign by owner of the account\n * to rotate the authentication key.\n */\nexport class RotationProofChallenge extends Serializable {\n // Resource account address\n public readonly accountAddress: AccountAddress = AccountAddress.ONE;\n\n // Module name, i.e: 0x1::account\n public readonly moduleName: MoveString = new MoveString(\"account\");\n\n // The rotation proof challenge struct name that live under the module\n public readonly structName: MoveString = new MoveString(\"RotationProofChallenge\");\n\n // Signer's address\n public readonly originator: AccountAddress;\n\n // Signer's current authentication key\n public readonly currentAuthKey: AccountAddress;\n\n // New public key to rotate to\n public readonly newPublicKey: MoveVector<U8>;\n\n // Sequence number of the account\n public readonly sequenceNumber: U64;\n\n constructor(args: {\n sequenceNumber: AnyNumber;\n originator: AccountAddress;\n currentAuthKey: AccountAddress;\n newPublicKey: PublicKey;\n }) {\n super();\n this.sequenceNumber = new U64(args.sequenceNumber);\n this.originator = args.originator;\n this.currentAuthKey = args.currentAuthKey;\n this.newPublicKey = MoveVector.U8(args.newPublicKey.toUint8Array());\n }\n\n serialize(serializer: Serializer): void {\n serializer.serialize(this.accountAddress);\n serializer.serialize(this.moduleName);\n serializer.serialize(this.structName);\n serializer.serialize(this.sequenceNumber);\n serializer.serialize(this.originator);\n serializer.serialize(this.currentAuthKey);\n serializer.serialize(this.newPublicKey);\n }\n}\n"],"mappings":"2KAaO,IAAMA,EAAN,cAAqCC,CAAa,CAsBvD,YAAYC,EAKT,CACD,MAAM,EA1BR,KAAgB,eAAiCC,EAAe,IAGhE,KAAgB,WAAyB,IAAIC,EAAW,SAAS,EAGjE,KAAgB,WAAyB,IAAIA,EAAW,wBAAwB,EAqB9E,KAAK,eAAiB,IAAIC,EAAIH,EAAK,cAAc,EACjD,KAAK,WAAaA,EAAK,WACvB,KAAK,eAAiBA,EAAK,eAC3B,KAAK,aAAeI,EAAW,GAAGJ,EAAK,aAAa,aAAa,CAAC,CACpE,CAEA,UAAUK,EAA8B,CACtCA,EAAW,UAAU,KAAK,cAAc,EACxCA,EAAW,UAAU,KAAK,UAAU,EACpCA,EAAW,UAAU,KAAK,UAAU,EACpCA,EAAW,UAAU,KAAK,cAAc,EACxCA,EAAW,UAAU,KAAK,UAAU,EACpCA,EAAW,UAAU,KAAK,cAAc,EACxCA,EAAW,UAAU,KAAK,YAAY,CACxC,CACF","names":["RotationProofChallenge","Serializable","args","AccountAddress","MoveString","U64","MoveVector","serializer"]}
@@ -0,0 +1,2 @@
1
+ import{a as o}from"./chunk-3CMS2KOX.mjs";var t=class{constructor(n){this.config=n}async transferCoinTransaction(n){return o({aptosConfig:this.config,...n})}};export{t as a};
2
+ //# sourceMappingURL=chunk-O3PLAAN7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/coin.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountAddressInput } from \"../core\";\nimport { transferCoinTransaction } from \"../internal/coin\";\nimport { SimpleTransaction } from \"../transactions/instances/simpleTransaction\";\nimport { InputGenerateTransactionOptions } from \"../transactions/types\";\nimport { AnyNumber, MoveStructId } from \"../types\";\nimport { AptosConfig } from \"./aptosConfig\";\n\n/**\n * A class to handle all `Coin` operations\n */\nexport class Coin {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Generate a transfer coin transaction that can be simulated and/or signed and submitted\n *\n * @example\n * const transferCoinTransaction = await aptos.transferCoinTransaction({\n * sender: \"0x123\",\n * recipient:\"0x456\",\n * amount: 10,\n * })\n *\n * @param args.sender The sender account\n * @param args.recipient The recipient address\n * @param args.amount The amount to transfer\n * @param args.coinType optional. The coin struct type to transfer. Defaults to 0x1::aptos_coin::AptosCoin\n *\n * @returns SimpleTransaction\n */\n async transferCoinTransaction(args: {\n sender: AccountAddressInput;\n recipient: AccountAddressInput;\n amount: AnyNumber;\n coinType?: MoveStructId;\n options?: InputGenerateTransactionOptions;\n }): Promise<SimpleTransaction> {\n return transferCoinTransaction({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":";;;;;AAaO,IAAM,OAAN,MAAW;AAAA,EAChB,YAAqB,QAAqB;AAArB;AAAA,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmB3C,MAAM,wBAAwB,MAMC;AAC7B,WAAO,wBAAwB,EAAE,aAAa,KAAK,QAAQ,GAAG,KAAK,CAAC;AAAA,EACtE;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/coin.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountAddressInput } from \"../core\";\nimport { transferCoinTransaction } from \"../internal/coin\";\nimport { SimpleTransaction } from \"../transactions/instances/simpleTransaction\";\nimport { InputGenerateTransactionOptions } from \"../transactions/types\";\nimport { AnyNumber, MoveStructId } from \"../types\";\nimport { AptosConfig } from \"./aptosConfig\";\n\n/**\n * A class to handle all `Coin` operations\n */\nexport class Coin {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Generate a transfer coin transaction that can be simulated and/or signed and submitted\n *\n * @example\n * const transferCoinTransaction = await aptos.transferCoinTransaction({\n * sender: \"0x123\",\n * recipient:\"0x456\",\n * amount: 10,\n * })\n *\n * @param args.sender The sender account\n * @param args.recipient The recipient address\n * @param args.amount The amount to transfer\n * @param args.coinType optional. The coin struct type to transfer. Defaults to 0x1::aptos_coin::AptosCoin\n *\n * @returns SimpleTransaction\n */\n async transferCoinTransaction(args: {\n sender: AccountAddressInput;\n recipient: AccountAddressInput;\n amount: AnyNumber;\n coinType?: MoveStructId;\n options?: InputGenerateTransactionOptions;\n }): Promise<SimpleTransaction> {\n return transferCoinTransaction({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"yCAaO,IAAMA,EAAN,KAAW,CAChB,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CAmB3C,MAAM,wBAAwBC,EAMC,CAC7B,OAAOC,EAAwB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CACtE,CACF","names":["Coin","config","args","transferCoinTransaction"]}
@@ -0,0 +1,2 @@
1
+ import{f as n}from"./chunk-ZKRG4C4U.mjs";import{p as g,u as d}from"./chunk-S4SEFF4K.mjs";import{b as s}from"./chunk-T23OVRNF.mjs";async function m(e){let{aptosConfig:t,poolAddress:o}=e,r=s.from(o).toStringLong(),i=await n({aptosConfig:t,query:{query:d,variables:{where_condition:{pool_address:{_eq:r}}}}});return i.num_active_delegator_per_pool[0]?i.num_active_delegator_per_pool[0].num_active_delegator:0}async function f(e){let{aptosConfig:t,options:o}=e,r={query:d,variables:{order_by:o?.orderBy}};return(await n({aptosConfig:t,query:r})).num_active_delegator_per_pool}async function A(e){let{aptosConfig:t,delegatorAddress:o,poolAddress:r}=e,a={query:g,variables:{delegatorAddress:s.from(o).toStringLong(),poolAddress:s.from(r).toStringLong()}};return(await n({aptosConfig:t,query:a})).delegated_staking_activities}export{m as a,f as b,A as c};
2
+ //# sourceMappingURL=chunk-P2WALKSW.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/staking.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/staking}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * faucet namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AccountAddress, AccountAddressInput } from \"../core\";\nimport { GetDelegatedStakingActivitiesResponse, GetNumberOfDelegatorsResponse, OrderByArg } from \"../types\";\nimport { GetDelegatedStakingActivitiesQuery, GetNumberOfDelegatorsQuery } from \"../types/generated/operations\";\nimport { GetDelegatedStakingActivities, GetNumberOfDelegators } from \"../types/generated/queries\";\nimport { queryIndexer } from \"./general\";\n\nexport async function getNumberOfDelegators(args: {\n aptosConfig: AptosConfig;\n poolAddress: AccountAddressInput;\n}): Promise<number> {\n const { aptosConfig, poolAddress } = args;\n const address = AccountAddress.from(poolAddress).toStringLong();\n const query = {\n query: GetNumberOfDelegators,\n variables: { where_condition: { pool_address: { _eq: address } } },\n };\n const data = await queryIndexer<GetNumberOfDelegatorsQuery>({ aptosConfig, query });\n\n // commonjs (aka cjs) doesnt handle Nullish Coalescing for some reason\n // might be because of how ts infer the graphql generated scheme type\n return data.num_active_delegator_per_pool[0] ? data.num_active_delegator_per_pool[0].num_active_delegator : 0;\n}\n\nexport async function getNumberOfDelegatorsForAllPools(args: {\n aptosConfig: AptosConfig;\n options?: OrderByArg<GetNumberOfDelegatorsResponse[0]>;\n}): Promise<GetNumberOfDelegatorsResponse> {\n const { aptosConfig, options } = args;\n const query = {\n query: GetNumberOfDelegators,\n variables: { order_by: options?.orderBy },\n };\n const data = await queryIndexer<GetNumberOfDelegatorsQuery>({\n aptosConfig,\n query,\n });\n return data.num_active_delegator_per_pool;\n}\n\nexport async function getDelegatedStakingActivities(args: {\n aptosConfig: AptosConfig;\n delegatorAddress: AccountAddressInput;\n poolAddress: AccountAddressInput;\n}): Promise<GetDelegatedStakingActivitiesResponse> {\n const { aptosConfig, delegatorAddress, poolAddress } = args;\n const query = {\n query: GetDelegatedStakingActivities,\n variables: {\n delegatorAddress: AccountAddress.from(delegatorAddress).toStringLong(),\n poolAddress: AccountAddress.from(poolAddress).toStringLong(),\n },\n };\n const data = await queryIndexer<GetDelegatedStakingActivitiesQuery>({ aptosConfig, query });\n return data.delegated_staking_activities;\n}\n"],"mappings":";;;;;;;;;;;;AAiBA,eAAsB,sBAAsB,MAGxB;AAClB,QAAM,EAAE,aAAa,YAAY,IAAI;AACrC,QAAM,UAAU,eAAe,KAAK,WAAW,EAAE,aAAa;AAC9D,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,EAAE;AAAA,EACnE;AACA,QAAM,OAAO,MAAM,aAAyC,EAAE,aAAa,MAAM,CAAC;AAIlF,SAAO,KAAK,8BAA8B,CAAC,IAAI,KAAK,8BAA8B,CAAC,EAAE,uBAAuB;AAC9G;AAEA,eAAsB,iCAAiC,MAGZ;AACzC,QAAM,EAAE,aAAa,QAAQ,IAAI;AACjC,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,IACP,WAAW,EAAE,UAAU,SAAS,QAAQ;AAAA,EAC1C;AACA,QAAM,OAAO,MAAM,aAAyC;AAAA,IAC1D;AAAA,IACA;AAAA,EACF,CAAC;AACD,SAAO,KAAK;AACd;AAEA,eAAsB,8BAA8B,MAID;AACjD,QAAM,EAAE,aAAa,kBAAkB,YAAY,IAAI;AACvD,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,MACT,kBAAkB,eAAe,KAAK,gBAAgB,EAAE,aAAa;AAAA,MACrE,aAAa,eAAe,KAAK,WAAW,EAAE,aAAa;AAAA,IAC7D;AAAA,EACF;AACA,QAAM,OAAO,MAAM,aAAiD,EAAE,aAAa,MAAM,CAAC;AAC1F,SAAO,KAAK;AACd;","names":[]}
1
+ {"version":3,"sources":["../../src/internal/staking.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/staking}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * faucet namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AccountAddress, AccountAddressInput } from \"../core\";\nimport { GetDelegatedStakingActivitiesResponse, GetNumberOfDelegatorsResponse, OrderByArg } from \"../types\";\nimport { GetDelegatedStakingActivitiesQuery, GetNumberOfDelegatorsQuery } from \"../types/generated/operations\";\nimport { GetDelegatedStakingActivities, GetNumberOfDelegators } from \"../types/generated/queries\";\nimport { queryIndexer } from \"./general\";\n\nexport async function getNumberOfDelegators(args: {\n aptosConfig: AptosConfig;\n poolAddress: AccountAddressInput;\n}): Promise<number> {\n const { aptosConfig, poolAddress } = args;\n const address = AccountAddress.from(poolAddress).toStringLong();\n const query = {\n query: GetNumberOfDelegators,\n variables: { where_condition: { pool_address: { _eq: address } } },\n };\n const data = await queryIndexer<GetNumberOfDelegatorsQuery>({ aptosConfig, query });\n\n // commonjs (aka cjs) doesnt handle Nullish Coalescing for some reason\n // might be because of how ts infer the graphql generated scheme type\n return data.num_active_delegator_per_pool[0] ? data.num_active_delegator_per_pool[0].num_active_delegator : 0;\n}\n\nexport async function getNumberOfDelegatorsForAllPools(args: {\n aptosConfig: AptosConfig;\n options?: OrderByArg<GetNumberOfDelegatorsResponse[0]>;\n}): Promise<GetNumberOfDelegatorsResponse> {\n const { aptosConfig, options } = args;\n const query = {\n query: GetNumberOfDelegators,\n variables: { order_by: options?.orderBy },\n };\n const data = await queryIndexer<GetNumberOfDelegatorsQuery>({\n aptosConfig,\n query,\n });\n return data.num_active_delegator_per_pool;\n}\n\nexport async function getDelegatedStakingActivities(args: {\n aptosConfig: AptosConfig;\n delegatorAddress: AccountAddressInput;\n poolAddress: AccountAddressInput;\n}): Promise<GetDelegatedStakingActivitiesResponse> {\n const { aptosConfig, delegatorAddress, poolAddress } = args;\n const query = {\n query: GetDelegatedStakingActivities,\n variables: {\n delegatorAddress: AccountAddress.from(delegatorAddress).toStringLong(),\n poolAddress: AccountAddress.from(poolAddress).toStringLong(),\n },\n };\n const data = await queryIndexer<GetDelegatedStakingActivitiesQuery>({ aptosConfig, query });\n return data.delegated_staking_activities;\n}\n"],"mappings":"kIAiBA,eAAsBA,EAAsBC,EAGxB,CAClB,GAAM,CAAE,YAAAC,EAAa,YAAAC,CAAY,EAAIF,EAC/BG,EAAUC,EAAe,KAAKF,CAAW,EAAE,aAAa,EAKxDG,EAAO,MAAMC,EAAyC,CAAE,YAAAL,EAAa,MAJ7D,CACZ,MAAOM,EACP,UAAW,CAAE,gBAAiB,CAAE,aAAc,CAAE,IAAKJ,CAAQ,CAAE,CAAE,CACnE,CACiF,CAAC,EAIlF,OAAOE,EAAK,8BAA8B,CAAC,EAAIA,EAAK,8BAA8B,CAAC,EAAE,qBAAuB,CAC9G,CAEA,eAAsBG,EAAiCR,EAGZ,CACzC,GAAM,CAAE,YAAAC,EAAa,QAAAQ,CAAQ,EAAIT,EAC3BU,EAAQ,CACZ,MAAOH,EACP,UAAW,CAAE,SAAUE,GAAS,OAAQ,CAC1C,EAKA,OAJa,MAAMH,EAAyC,CAC1D,YAAAL,EACA,MAAAS,CACF,CAAC,GACW,6BACd,CAEA,eAAsBC,EAA8BX,EAID,CACjD,GAAM,CAAE,YAAAC,EAAa,iBAAAW,EAAkB,YAAAV,CAAY,EAAIF,EACjDU,EAAQ,CACZ,MAAOG,EACP,UAAW,CACT,iBAAkBT,EAAe,KAAKQ,CAAgB,EAAE,aAAa,EACrE,YAAaR,EAAe,KAAKF,CAAW,EAAE,aAAa,CAC7D,CACF,EAEA,OADa,MAAMI,EAAiD,CAAE,YAAAL,EAAa,MAAAS,CAAM,CAAC,GAC9E,4BACd","names":["getNumberOfDelegators","args","aptosConfig","poolAddress","address","AccountAddress","data","queryIndexer","GetNumberOfDelegators","getNumberOfDelegatorsForAllPools","options","query","getDelegatedStakingActivities","delegatorAddress","GetDelegatedStakingActivities"]}
@@ -0,0 +1,2 @@
1
+ import{a as R}from"./chunk-AH44UPM4.mjs";import{h as x,i as P}from"./chunk-ZKRG4C4U.mjs";import{a as h}from"./chunk-3JPVQHOR.mjs";import{b as c,d as A}from"./chunk-YGOJYDJA.mjs";import{a as C}from"./chunk-RKHPXZM6.mjs";import{d as w}from"./chunk-YE5B2S5L.mjs";async function v(s){let{aptosConfig:n,options:t}=s;return A({aptosConfig:n,originMethod:"getTransactions",path:"transactions",params:{start:t?.offset,limit:t?.limit}})}async function D(s){let{aptosConfig:n}=s;return R(async()=>{let{data:t}=await c({aptosConfig:n,originMethod:"getGasPriceEstimation",path:"estimate_gas_price"});return t},`gas-price-${n.network}`,1e3*60*5)()}async function N(s){let{aptosConfig:n,ledgerVersion:t}=s,{data:o}=await c({aptosConfig:n,originMethod:"getTransactionByVersion",path:`transactions/by_version/${t}`});return o}async function T(s){let{aptosConfig:n,transactionHash:t}=s,{data:o}=await c({aptosConfig:n,path:`transactions/by_hash/${t}`,originMethod:"getTransactionByHash"});return o}async function G(s){let{aptosConfig:n,transactionHash:t}=s;try{return(await T({aptosConfig:n,transactionHash:t})).type==="pending_transaction"}catch(o){if(o?.status===404)return!0;throw o}}async function b(s){let{aptosConfig:n,transactionHash:t}=s,{data:o}=await c({aptosConfig:n,path:`transactions/wait_by_hash/${t}`,originMethod:"longWaitForTransaction"});return o}async function W(s){let{aptosConfig:n,transactionHash:t,options:o}=s,r=o?.timeoutSecs??20,u=o?.checkSuccess??!0,a=!0,p=0,e,g,m=200,E=1.5;function d(i){if(!(i instanceof C)||(g=i,i.status!==404&&i.status>=400&&i.status<500))throw i}try{e=await T({aptosConfig:n,transactionHash:t}),a=e.type==="pending_transaction"}catch(i){d(i)}if(a){let i=Date.now();try{e=await b({aptosConfig:n,transactionHash:t}),a=e.type==="pending_transaction"}catch(l){d(l)}p=(Date.now()-i)/1e3}for(;a&&!(p>=r);){try{if(e=await T({aptosConfig:n,transactionHash:t}),a=e.type==="pending_transaction",!a)break}catch(i){d(i)}await h(m),p+=m/1e3,m*=E}if(e===void 0)throw g||new f(`Fetching transaction ${t} failed and timed out after ${r} seconds`,e);if(e.type==="pending_transaction")throw new f(`Transaction ${t} timed out in pending state after ${r} seconds`,e);if(!u)return e;if(!e.success)throw new y(`Transaction ${t} failed with an error: ${e.vm_status}`,e);return e}async function O(s){let{aptosConfig:n,processorType:t}=s,o=BigInt(s.minimumLedgerVersion),r=3e3,u=new Date().getTime(),a=BigInt(-1);for(;a<o;){if(new Date().getTime()-u>r)throw new Error("waitForLastSuccessIndexerVersionSync timeout");if(t===void 0?a=await x({aptosConfig:n}):a=(await P({aptosConfig:n,processorType:t})).last_success_version,a>=o)break;await h(200)}}var f=class extends Error{constructor(t,o){super(t);this.lastSubmittedTransaction=o}},y=class extends Error{constructor(t,o){super(t);this.transaction=o}};export{v as a,D as b,N as c,T as d,G as e,b as f,W as g,O as h,f as i,y as j};
2
+ //# sourceMappingURL=chunk-P7JMD7KZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/transaction.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/transaction}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * transaction namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AptosApiError, getAptosFullNode, paginateWithCursor } from \"../client\";\nimport {\n TransactionResponseType,\n type AnyNumber,\n type GasEstimation,\n type HexInput,\n type PaginationArgs,\n type TransactionResponse,\n WaitForTransactionOptions,\n CommittedTransactionResponse,\n} from \"../types\";\nimport { DEFAULT_TXN_TIMEOUT_SEC, ProcessorType } from \"../utils/const\";\nimport { sleep } from \"../utils/helpers\";\nimport { memoizeAsync } from \"../utils/memoize\";\nimport { getIndexerLastSuccessVersion, getProcessorStatus } from \"./general\";\n\nexport async function getTransactions(args: {\n aptosConfig: AptosConfig;\n options?: PaginationArgs;\n}): Promise<TransactionResponse[]> {\n const { aptosConfig, options } = args;\n return paginateWithCursor<{}, TransactionResponse[]>({\n aptosConfig,\n originMethod: \"getTransactions\",\n path: \"transactions\",\n params: { start: options?.offset, limit: options?.limit },\n });\n}\n\nexport async function getGasPriceEstimation(args: { aptosConfig: AptosConfig }) {\n const { aptosConfig } = args;\n\n return memoizeAsync(\n async () => {\n const { data } = await getAptosFullNode<{}, GasEstimation>({\n aptosConfig,\n originMethod: \"getGasPriceEstimation\",\n path: \"estimate_gas_price\",\n });\n return data;\n },\n `gas-price-${aptosConfig.network}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n}\n\nexport async function getTransactionByVersion(args: {\n aptosConfig: AptosConfig;\n ledgerVersion: AnyNumber;\n}): Promise<TransactionResponse> {\n const { aptosConfig, ledgerVersion } = args;\n const { data } = await getAptosFullNode<{}, TransactionResponse>({\n aptosConfig,\n originMethod: \"getTransactionByVersion\",\n path: `transactions/by_version/${ledgerVersion}`,\n });\n return data;\n}\n\nexport async function getTransactionByHash(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n}): Promise<TransactionResponse> {\n const { aptosConfig, transactionHash } = args;\n const { data } = await getAptosFullNode<{}, TransactionResponse>({\n aptosConfig,\n path: `transactions/by_hash/${transactionHash}`,\n originMethod: \"getTransactionByHash\",\n });\n return data;\n}\n\nexport async function isTransactionPending(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n}): Promise<boolean> {\n const { aptosConfig, transactionHash } = args;\n try {\n const transaction = await getTransactionByHash({ aptosConfig, transactionHash });\n return transaction.type === TransactionResponseType.Pending;\n } catch (e: any) {\n if (e?.status === 404) {\n return true;\n }\n throw e;\n }\n}\n\nexport async function longWaitForTransaction(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n}): Promise<TransactionResponse> {\n const { aptosConfig, transactionHash } = args;\n const { data } = await getAptosFullNode<{}, TransactionResponse>({\n aptosConfig,\n path: `transactions/wait_by_hash/${transactionHash}`,\n originMethod: \"longWaitForTransaction\",\n });\n return data;\n}\n\nexport async function waitForTransaction(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n options?: WaitForTransactionOptions;\n}): Promise<CommittedTransactionResponse> {\n const { aptosConfig, transactionHash, options } = args;\n const timeoutSecs = options?.timeoutSecs ?? DEFAULT_TXN_TIMEOUT_SEC;\n const checkSuccess = options?.checkSuccess ?? true;\n\n let isPending = true;\n let timeElapsed = 0;\n let lastTxn: TransactionResponse | undefined;\n let lastError: AptosApiError | undefined;\n let backoffIntervalMs = 200;\n const backoffMultiplier = 1.5;\n\n function handleAPIError(e: any) {\n // In short, this means we will retry if it was an AptosApiError and the code was 404 or 5xx.\n const isAptosApiError = e instanceof AptosApiError;\n if (!isAptosApiError) {\n throw e; // This would be unexpected\n }\n lastError = e;\n const isRequestError = e.status !== 404 && e.status >= 400 && e.status < 500;\n if (isRequestError) {\n throw e;\n }\n }\n\n // check to see if the txn is already on the blockchain\n try {\n lastTxn = await getTransactionByHash({ aptosConfig, transactionHash });\n isPending = lastTxn.type === TransactionResponseType.Pending;\n } catch (e) {\n handleAPIError(e);\n }\n\n // If the transaction is pending, we do a long wait once to avoid polling\n if (isPending) {\n const startTime = Date.now();\n try {\n lastTxn = await longWaitForTransaction({ aptosConfig, transactionHash });\n isPending = lastTxn.type === TransactionResponseType.Pending;\n } catch (e) {\n handleAPIError(e);\n }\n timeElapsed = (Date.now() - startTime) / 1000;\n }\n\n // Now we do polling to see if the transaction is still pending\n while (isPending) {\n if (timeElapsed >= timeoutSecs) {\n break;\n }\n try {\n // eslint-disable-next-line no-await-in-loop\n lastTxn = await getTransactionByHash({ aptosConfig, transactionHash });\n\n isPending = lastTxn.type === TransactionResponseType.Pending;\n\n if (!isPending) {\n break;\n }\n } catch (e) {\n handleAPIError(e);\n }\n // eslint-disable-next-line no-await-in-loop\n await sleep(backoffIntervalMs);\n timeElapsed += backoffIntervalMs / 1000; // Convert to seconds\n backoffIntervalMs *= backoffMultiplier;\n }\n\n // There is a chance that lastTxn is still undefined. Let's throw the last error otherwise a WaitForTransactionError\n if (lastTxn === undefined) {\n if (lastError) {\n throw lastError;\n } else {\n throw new WaitForTransactionError(\n `Fetching transaction ${transactionHash} failed and timed out after ${timeoutSecs} seconds`,\n lastTxn,\n );\n }\n }\n\n if (lastTxn.type === TransactionResponseType.Pending) {\n throw new WaitForTransactionError(\n `Transaction ${transactionHash} timed out in pending state after ${timeoutSecs} seconds`,\n lastTxn,\n );\n }\n if (!checkSuccess) {\n return lastTxn;\n }\n if (!lastTxn.success) {\n throw new FailedTransactionError(\n `Transaction ${transactionHash} failed with an error: ${lastTxn.vm_status}`,\n lastTxn,\n );\n }\n\n return lastTxn;\n}\n\n/**\n * Waits for the indexer to sync up to the ledgerVersion. Timeout is 3 seconds.\n */\nexport async function waitForIndexer(args: {\n aptosConfig: AptosConfig;\n minimumLedgerVersion: AnyNumber;\n processorType?: ProcessorType;\n}): Promise<void> {\n const { aptosConfig, processorType } = args;\n const minimumLedgerVersion = BigInt(args.minimumLedgerVersion);\n const timeoutMilliseconds = 3000; // 3 seconds\n const startTime = new Date().getTime();\n let indexerVersion = BigInt(-1);\n\n while (indexerVersion < minimumLedgerVersion) {\n // check for timeout\n if (new Date().getTime() - startTime > timeoutMilliseconds) {\n throw new Error(\"waitForLastSuccessIndexerVersionSync timeout\");\n }\n\n if (processorType === undefined) {\n // Get the last success version from all processor\n // eslint-disable-next-line no-await-in-loop\n indexerVersion = await getIndexerLastSuccessVersion({ aptosConfig });\n } else {\n // Get the last success version from the specific processor\n // eslint-disable-next-line no-await-in-loop\n const processor = await getProcessorStatus({ aptosConfig, processorType });\n indexerVersion = processor.last_success_version;\n }\n\n if (indexerVersion >= minimumLedgerVersion) {\n // break out immediately if we are synced\n break;\n }\n\n // eslint-disable-next-line no-await-in-loop\n await sleep(200);\n }\n}\n\n/**\n * This error is used by `waitForTransaction` when waiting for a\n * transaction to time out or when the transaction response is undefined\n */\nexport class WaitForTransactionError extends Error {\n public readonly lastSubmittedTransaction: TransactionResponse | undefined;\n\n constructor(message: string, lastSubmittedTransaction: TransactionResponse | undefined) {\n super(message);\n this.lastSubmittedTransaction = lastSubmittedTransaction;\n }\n}\n\n/**\n * This error is used by `waitForTransaction` if `checkSuccess` is true.\n * See that function for more information.\n */\nexport class FailedTransactionError extends Error {\n public readonly transaction: TransactionResponse;\n\n constructor(message: string, transaction: TransactionResponse) {\n super(message);\n this.transaction = transaction;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/internal/transaction.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/transaction}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * transaction namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AptosApiError, getAptosFullNode, paginateWithCursor } from \"../client\";\nimport {\n TransactionResponseType,\n type AnyNumber,\n type GasEstimation,\n type HexInput,\n type PaginationArgs,\n type TransactionResponse,\n WaitForTransactionOptions,\n CommittedTransactionResponse,\n} from \"../types\";\nimport { DEFAULT_TXN_TIMEOUT_SEC, ProcessorType } from \"../utils/const\";\nimport { sleep } from \"../utils/helpers\";\nimport { memoizeAsync } from \"../utils/memoize\";\nimport { getIndexerLastSuccessVersion, getProcessorStatus } from \"./general\";\n\nexport async function getTransactions(args: {\n aptosConfig: AptosConfig;\n options?: PaginationArgs;\n}): Promise<TransactionResponse[]> {\n const { aptosConfig, options } = args;\n return paginateWithCursor<{}, TransactionResponse[]>({\n aptosConfig,\n originMethod: \"getTransactions\",\n path: \"transactions\",\n params: { start: options?.offset, limit: options?.limit },\n });\n}\n\nexport async function getGasPriceEstimation(args: { aptosConfig: AptosConfig }) {\n const { aptosConfig } = args;\n\n return memoizeAsync(\n async () => {\n const { data } = await getAptosFullNode<{}, GasEstimation>({\n aptosConfig,\n originMethod: \"getGasPriceEstimation\",\n path: \"estimate_gas_price\",\n });\n return data;\n },\n `gas-price-${aptosConfig.network}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n}\n\nexport async function getTransactionByVersion(args: {\n aptosConfig: AptosConfig;\n ledgerVersion: AnyNumber;\n}): Promise<TransactionResponse> {\n const { aptosConfig, ledgerVersion } = args;\n const { data } = await getAptosFullNode<{}, TransactionResponse>({\n aptosConfig,\n originMethod: \"getTransactionByVersion\",\n path: `transactions/by_version/${ledgerVersion}`,\n });\n return data;\n}\n\nexport async function getTransactionByHash(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n}): Promise<TransactionResponse> {\n const { aptosConfig, transactionHash } = args;\n const { data } = await getAptosFullNode<{}, TransactionResponse>({\n aptosConfig,\n path: `transactions/by_hash/${transactionHash}`,\n originMethod: \"getTransactionByHash\",\n });\n return data;\n}\n\nexport async function isTransactionPending(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n}): Promise<boolean> {\n const { aptosConfig, transactionHash } = args;\n try {\n const transaction = await getTransactionByHash({ aptosConfig, transactionHash });\n return transaction.type === TransactionResponseType.Pending;\n } catch (e: any) {\n if (e?.status === 404) {\n return true;\n }\n throw e;\n }\n}\n\nexport async function longWaitForTransaction(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n}): Promise<TransactionResponse> {\n const { aptosConfig, transactionHash } = args;\n const { data } = await getAptosFullNode<{}, TransactionResponse>({\n aptosConfig,\n path: `transactions/wait_by_hash/${transactionHash}`,\n originMethod: \"longWaitForTransaction\",\n });\n return data;\n}\n\nexport async function waitForTransaction(args: {\n aptosConfig: AptosConfig;\n transactionHash: HexInput;\n options?: WaitForTransactionOptions;\n}): Promise<CommittedTransactionResponse> {\n const { aptosConfig, transactionHash, options } = args;\n const timeoutSecs = options?.timeoutSecs ?? DEFAULT_TXN_TIMEOUT_SEC;\n const checkSuccess = options?.checkSuccess ?? true;\n\n let isPending = true;\n let timeElapsed = 0;\n let lastTxn: TransactionResponse | undefined;\n let lastError: AptosApiError | undefined;\n let backoffIntervalMs = 200;\n const backoffMultiplier = 1.5;\n\n function handleAPIError(e: any) {\n // In short, this means we will retry if it was an AptosApiError and the code was 404 or 5xx.\n const isAptosApiError = e instanceof AptosApiError;\n if (!isAptosApiError) {\n throw e; // This would be unexpected\n }\n lastError = e;\n const isRequestError = e.status !== 404 && e.status >= 400 && e.status < 500;\n if (isRequestError) {\n throw e;\n }\n }\n\n // check to see if the txn is already on the blockchain\n try {\n lastTxn = await getTransactionByHash({ aptosConfig, transactionHash });\n isPending = lastTxn.type === TransactionResponseType.Pending;\n } catch (e) {\n handleAPIError(e);\n }\n\n // If the transaction is pending, we do a long wait once to avoid polling\n if (isPending) {\n const startTime = Date.now();\n try {\n lastTxn = await longWaitForTransaction({ aptosConfig, transactionHash });\n isPending = lastTxn.type === TransactionResponseType.Pending;\n } catch (e) {\n handleAPIError(e);\n }\n timeElapsed = (Date.now() - startTime) / 1000;\n }\n\n // Now we do polling to see if the transaction is still pending\n while (isPending) {\n if (timeElapsed >= timeoutSecs) {\n break;\n }\n try {\n // eslint-disable-next-line no-await-in-loop\n lastTxn = await getTransactionByHash({ aptosConfig, transactionHash });\n\n isPending = lastTxn.type === TransactionResponseType.Pending;\n\n if (!isPending) {\n break;\n }\n } catch (e) {\n handleAPIError(e);\n }\n // eslint-disable-next-line no-await-in-loop\n await sleep(backoffIntervalMs);\n timeElapsed += backoffIntervalMs / 1000; // Convert to seconds\n backoffIntervalMs *= backoffMultiplier;\n }\n\n // There is a chance that lastTxn is still undefined. Let's throw the last error otherwise a WaitForTransactionError\n if (lastTxn === undefined) {\n if (lastError) {\n throw lastError;\n } else {\n throw new WaitForTransactionError(\n `Fetching transaction ${transactionHash} failed and timed out after ${timeoutSecs} seconds`,\n lastTxn,\n );\n }\n }\n\n if (lastTxn.type === TransactionResponseType.Pending) {\n throw new WaitForTransactionError(\n `Transaction ${transactionHash} timed out in pending state after ${timeoutSecs} seconds`,\n lastTxn,\n );\n }\n if (!checkSuccess) {\n return lastTxn;\n }\n if (!lastTxn.success) {\n throw new FailedTransactionError(\n `Transaction ${transactionHash} failed with an error: ${lastTxn.vm_status}`,\n lastTxn,\n );\n }\n\n return lastTxn;\n}\n\n/**\n * Waits for the indexer to sync up to the ledgerVersion. Timeout is 3 seconds.\n */\nexport async function waitForIndexer(args: {\n aptosConfig: AptosConfig;\n minimumLedgerVersion: AnyNumber;\n processorType?: ProcessorType;\n}): Promise<void> {\n const { aptosConfig, processorType } = args;\n const minimumLedgerVersion = BigInt(args.minimumLedgerVersion);\n const timeoutMilliseconds = 3000; // 3 seconds\n const startTime = new Date().getTime();\n let indexerVersion = BigInt(-1);\n\n while (indexerVersion < minimumLedgerVersion) {\n // check for timeout\n if (new Date().getTime() - startTime > timeoutMilliseconds) {\n throw new Error(\"waitForLastSuccessIndexerVersionSync timeout\");\n }\n\n if (processorType === undefined) {\n // Get the last success version from all processor\n // eslint-disable-next-line no-await-in-loop\n indexerVersion = await getIndexerLastSuccessVersion({ aptosConfig });\n } else {\n // Get the last success version from the specific processor\n // eslint-disable-next-line no-await-in-loop\n const processor = await getProcessorStatus({ aptosConfig, processorType });\n indexerVersion = processor.last_success_version;\n }\n\n if (indexerVersion >= minimumLedgerVersion) {\n // break out immediately if we are synced\n break;\n }\n\n // eslint-disable-next-line no-await-in-loop\n await sleep(200);\n }\n}\n\n/**\n * This error is used by `waitForTransaction` when waiting for a\n * transaction to time out or when the transaction response is undefined\n */\nexport class WaitForTransactionError extends Error {\n public readonly lastSubmittedTransaction: TransactionResponse | undefined;\n\n constructor(message: string, lastSubmittedTransaction: TransactionResponse | undefined) {\n super(message);\n this.lastSubmittedTransaction = lastSubmittedTransaction;\n }\n}\n\n/**\n * This error is used by `waitForTransaction` if `checkSuccess` is true.\n * See that function for more information.\n */\nexport class FailedTransactionError extends Error {\n public readonly transaction: TransactionResponse;\n\n constructor(message: string, transaction: TransactionResponse) {\n super(message);\n this.transaction = transaction;\n }\n}\n"],"mappings":"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","names":["getTransactions","args","aptosConfig","options","paginateWithCursor","getGasPriceEstimation","memoizeAsync","data","getAptosFullNode","getTransactionByVersion","ledgerVersion","getTransactionByHash","transactionHash","isTransactionPending","e","longWaitForTransaction","waitForTransaction","timeoutSecs","checkSuccess","isPending","timeElapsed","lastTxn","lastError","backoffIntervalMs","backoffMultiplier","handleAPIError","AptosApiError","startTime","sleep","WaitForTransactionError","FailedTransactionError","waitForIndexer","processorType","minimumLedgerVersion","timeoutMilliseconds","indexerVersion","getIndexerLastSuccessVersion","getProcessorStatus","message","lastSubmittedTransaction","transaction"]}
@@ -0,0 +1,2 @@
1
+ import{b as l,c as f,d as x,e as v,f as U,g as A,h as P,i as C,j as y,k as E,l as b,m as I,n as G,o as M}from"./chunk-3VGX3TXH.mjs";import{a as d}from"./chunk-MGOHPDX4.mjs";import{b as w}from"./chunk-T23OVRNF.mjs";function N(e){return!!e.match(/^[_a-zA-Z0-9]+$/)}function V(e){return!!e.match(/\s/)}function $(e){return!!e.match(/^T[0-9]+$/)}function F(e,n){let i=n;for(;i<e.length;i+=1){let c=e[i];if(!V(c))break}return i}var S=(t=>(t.InvalidTypeTag="unknown type",t.UnexpectedGenericType="unexpected generic type",t.UnexpectedTypeArgumentClose="unexpected '>'",t.UnexpectedWhitespaceCharacter="unexpected whitespace character",t.UnexpectedComma="unexpected ','",t.TypeArgumentCountMismatch="type argument count doesn't match expected amount",t.MissingTypeArgumentClose="no matching '>' for '<'",t.UnexpectedPrimitiveTypeArguments="primitive types not expected to have type arguments",t.UnexpectedVectorTypeArgumentCount="vector type expected to have exactly one type argument",t.UnexpectedStructFormat="unexpected struct format, must be of the form 0xaddress::module_name::struct_name",t.InvalidModuleNameCharacter="module name must only contain alphanumeric or '_' characters",t.InvalidStructNameCharacter="struct name must only contain alphanumeric or '_' characters",t))(S||{}),r=class extends Error{constructor(n,i){super(`Failed to parse typeTag '${n}', ${i}`)}};function Z(e,n){let i=n?.allowGenerics??!1,c=[],o=[],p=[],T=0,a="",u=1;for(;T<e.length;){let g=e[T];if(g==="<")c.push({savedExpectedTypes:u,savedStr:a,savedTypes:p}),a="",p=[],u=1;else if(g===">"){if(a!==""){let _=m(a,o,i);p.push(_)}let s=c.pop();if(s===void 0)throw new r(e,"unexpected '>'");if(u!==p.length)throw new r(e,"type argument count doesn't match expected amount");let{savedStr:h,savedTypes:t,savedExpectedTypes:W}=s;o=p,p=t,a=h,u=W}else if(g===","){if(a.length!==0){let s=m(a,o,i);o=[],p.push(s),a="",u+=1}}else if(V(g)){let s=!1;if(a.length!==0){let t=m(a,o,i);o=[],p.push(t),a="",s=!0}T=F(e,T);let h=e[T];if(T<e.length&&s&&h!==","&&h!==">")throw new r(e,"unexpected whitespace character");continue}else a+=g;T+=1}if(c.length>0)throw new r(e,"no matching '>' for '<'");switch(p.length){case 0:return m(a,o,i);case 1:if(a==="")return p[0];throw new r(e,"unexpected ','");default:throw new r(e,"unexpected whitespace character")}}function m(e,n,i){switch(e){case"&signer":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new E(new y);case"signer":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new y;case"bool":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new l;case"address":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new C;case"u8":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new f;case"u16":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new x;case"u32":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new v;case"u64":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new U;case"u128":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new A;case"u256":if(n.length>0)throw new r(e,"primitive types not expected to have type arguments");return new P;case"vector":if(n.length!==1)throw new r(e,"vector type expected to have exactly one type argument");return new I(n[0]);default:if($(e)){if(i)return new b(Number(e.split("T")[1]));throw new r(e,"unexpected generic type")}if(!e.match(/:/))throw new r(e,"unknown type");let c=e.split("::");if(c.length!==3)throw new r(e,"unexpected struct format, must be of the form 0xaddress::module_name::struct_name");if(!N(c[1]))throw new r(e,"module name must only contain alphanumeric or '_' characters");if(!N(c[2]))throw new r(e,"struct name must only contain alphanumeric or '_' characters");return new G(new M(w.fromString(c[0]),new d(c[1]),new d(c[2]),n))}}export{S as a,r as b,Z as c};
2
+ //# sourceMappingURL=chunk-PFFAQZHT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transactions/typeTag/parser.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n StructTag,\n TypeTag,\n TypeTagAddress,\n TypeTagBool,\n TypeTagGeneric,\n TypeTagReference,\n TypeTagSigner,\n TypeTagStruct,\n TypeTagU128,\n TypeTagU16,\n TypeTagU256,\n TypeTagU32,\n TypeTagU64,\n TypeTagU8,\n TypeTagVector,\n} from \".\";\nimport { AccountAddress } from \"../../core\";\nimport { Identifier } from \"../instances/identifier\";\n\nfunction isValidIdentifier(str: string) {\n return !!str.match(/^[_a-zA-Z0-9]+$/);\n}\n\nfunction isValidWhitespaceCharacter(char: string) {\n return !!char.match(/\\s/);\n}\n\nfunction isGeneric(str: string) {\n return !!str.match(/^T[0-9]+$/);\n}\n\nfunction consumeWhitespace(tagStr: string, pos: number) {\n let i = pos;\n for (; i < tagStr.length; i += 1) {\n const innerChar = tagStr[i];\n\n if (!isValidWhitespaceCharacter(innerChar)) {\n // If it's not colons, and it's an invalid character, we will stop here\n break;\n }\n }\n return i;\n}\n\ntype TypeTagState = {\n savedExpectedTypes: number;\n savedStr: string;\n savedTypes: Array<TypeTag>;\n};\n\nexport enum TypeTagParserErrorType {\n InvalidTypeTag = \"unknown type\",\n UnexpectedGenericType = \"unexpected generic type\",\n UnexpectedTypeArgumentClose = \"unexpected '>'\",\n UnexpectedWhitespaceCharacter = \"unexpected whitespace character\",\n UnexpectedComma = \"unexpected ','\",\n TypeArgumentCountMismatch = \"type argument count doesn't match expected amount\",\n MissingTypeArgumentClose = \"no matching '>' for '<'\",\n UnexpectedPrimitiveTypeArguments = \"primitive types not expected to have type arguments\",\n UnexpectedVectorTypeArgumentCount = \"vector type expected to have exactly one type argument\",\n UnexpectedStructFormat = \"unexpected struct format, must be of the form 0xaddress::module_name::struct_name\",\n InvalidModuleNameCharacter = \"module name must only contain alphanumeric or '_' characters\",\n InvalidStructNameCharacter = \"struct name must only contain alphanumeric or '_' characters\",\n}\n\nexport class TypeTagParserError extends Error {\n constructor(typeTagStr: string, invalidReason: TypeTagParserErrorType) {\n super(`Failed to parse typeTag '${typeTagStr}', ${invalidReason}`);\n }\n}\n\n/**\n * All types are made of a few parts they're either:\n * 1. A simple type e.g. u8\n * 2. A standalone struct e.g. 0x1::account::Account\n * 3. A nested struct e.g. 0x1::coin::Coin<0x1234::coin::MyCoin>\n *\n * There are a few more special cases that need to be handled, however.\n * 1. Multiple generics e.g 0x1::pair::Pair<u8, u16>\n * 2. Spacing in the generics e.g. 0x1::pair::Pair< u8 , u16>\n * 3. Nested generics of different depths e.g. 0x1::pair::Pair<0x1::coin::Coin<0x1234::coin::MyCoin>, u8>\n * 4. Generics for types in ABIs are filled in with placeholders e.g T1, T2, T3\n */\nexport function parseTypeTag(typeStr: string, options?: { allowGenerics?: boolean }) {\n const allowGenerics = options?.allowGenerics ?? false;\n\n const saved: Array<TypeTagState> = [];\n // This represents the internal types for a type tag e.g. '0x1::coin::Coin<innerTypes>'\n let innerTypes: Array<TypeTag> = [];\n // This represents the current parsed types in a comma list e.g. 'u8, u8'\n let curTypes: Array<TypeTag> = [];\n // This represents the current character index\n let cur: number = 0;\n // This represents the current working string as a type or struct name\n let currentStr: string = \"\";\n let expectedTypes: number = 1;\n\n // Iterate through each character, and handle the border conditions\n while (cur < typeStr.length) {\n const char = typeStr[cur];\n\n if (char === \"<\") {\n // Start of a type argument, push current state onto a stack\n saved.push({\n savedExpectedTypes: expectedTypes,\n savedStr: currentStr,\n savedTypes: curTypes,\n });\n\n // Clear current state\n currentStr = \"\";\n curTypes = [];\n expectedTypes = 1;\n } else if (char === \">\") {\n // Process last type, if there is no type string, then don't parse it\n if (currentStr !== \"\") {\n const newType = parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n curTypes.push(newType);\n }\n\n // Pop off stack outer type, if there's nothing left, there were too many '>'\n const savedPop = saved.pop();\n if (savedPop === undefined) {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedTypeArgumentClose);\n }\n\n // If the expected types don't match the number of commas, then we also fail\n if (expectedTypes !== curTypes.length) {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.TypeArgumentCountMismatch);\n }\n\n // Add in the new created type, shifting the current types to the inner types\n const { savedStr, savedTypes, savedExpectedTypes } = savedPop;\n innerTypes = curTypes;\n curTypes = savedTypes;\n currentStr = savedStr;\n expectedTypes = savedExpectedTypes;\n } else if (char === \",\") {\n // Comma means we need to start parsing a new tag, push the previous one to the curTypes\n // Process last type, if there is no type string, then don't parse it\n if (currentStr.length !== 0) {\n const newType = parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n\n // parse type tag and push it on the types\n innerTypes = [];\n curTypes.push(newType);\n currentStr = \"\";\n expectedTypes += 1;\n }\n } else if (isValidWhitespaceCharacter(char)) {\n // This means we should save what we have and everything else should skip until the next\n let parsedTypeTag = false;\n if (currentStr.length !== 0) {\n const newType = parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n\n // parse type tag and push it on the types\n innerTypes = [];\n curTypes.push(newType);\n currentStr = \"\";\n parsedTypeTag = true;\n }\n\n // Skip ahead on any more whitespace\n cur = consumeWhitespace(typeStr, cur);\n\n // The next space MUST be a comma, or a closing > if there was something parsed before\n // e.g. `u8 u8` is invalid but `u8, u8` is valid\n const nextChar = typeStr[cur];\n if (cur < typeStr.length && parsedTypeTag && nextChar !== \",\" && nextChar !== \">\") {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedWhitespaceCharacter);\n }\n\n // eslint-disable-next-line no-continue\n continue;\n } else {\n // Any other characters just append to the current string\n currentStr += char;\n }\n\n cur += 1;\n }\n\n // This prevents a missing '>' on type arguments\n if (saved.length > 0) {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.MissingTypeArgumentClose);\n }\n\n // This prevents 'u8, u8' as an input\n switch (curTypes.length) {\n case 0:\n return parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n case 1:\n if (currentStr === \"\") {\n return curTypes[0];\n }\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedComma);\n default:\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedWhitespaceCharacter);\n }\n}\n\n/**\n * Parses a type tag with internal types associated\n * @param str\n * @param types\n */\nfunction parseTypeTagInner(str: string, types: Array<TypeTag>, allowGenerics: boolean): TypeTag {\n // TODO: Parse references to any item not just signer\n switch (str) {\n case \"&signer\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagReference(new TypeTagSigner());\n case \"signer\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagSigner();\n case \"bool\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagBool();\n case \"address\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagAddress();\n case \"u8\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU8();\n case \"u16\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU16();\n case \"u32\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU32();\n case \"u64\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU64();\n case \"u128\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU128();\n case \"u256\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU256();\n case \"vector\":\n if (types.length !== 1) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedVectorTypeArgumentCount);\n }\n return new TypeTagVector(types[0]);\n default:\n if (isGeneric(str)) {\n if (allowGenerics) {\n return new TypeTagGeneric(Number(str.split(\"T\")[1]));\n }\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedGenericType);\n }\n\n // If the value doesn't contain a colon, then we'll assume it isn't trying to be a struct\n if (!str.match(/:/)) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidTypeTag);\n }\n\n // Parse for a struct tag\n // eslint-disable-next-line no-case-declarations\n const structParts = str.split(\"::\");\n if (structParts.length !== 3) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedStructFormat);\n }\n\n // Validate identifier characters\n if (!isValidIdentifier(structParts[1])) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidModuleNameCharacter);\n }\n if (!isValidIdentifier(structParts[2])) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidStructNameCharacter);\n }\n\n return new TypeTagStruct(\n new StructTag(\n AccountAddress.fromString(structParts[0]),\n new Identifier(structParts[1]),\n new Identifier(structParts[2]),\n types,\n ),\n );\n }\n}\n"],"mappings":"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","names":["TypeTagParserErrorType"]}
1
+ {"version":3,"sources":["../../src/transactions/typeTag/parser.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n StructTag,\n TypeTag,\n TypeTagAddress,\n TypeTagBool,\n TypeTagGeneric,\n TypeTagReference,\n TypeTagSigner,\n TypeTagStruct,\n TypeTagU128,\n TypeTagU16,\n TypeTagU256,\n TypeTagU32,\n TypeTagU64,\n TypeTagU8,\n TypeTagVector,\n} from \".\";\nimport { AccountAddress } from \"../../core\";\nimport { Identifier } from \"../instances/identifier\";\n\nfunction isValidIdentifier(str: string) {\n return !!str.match(/^[_a-zA-Z0-9]+$/);\n}\n\nfunction isValidWhitespaceCharacter(char: string) {\n return !!char.match(/\\s/);\n}\n\nfunction isGeneric(str: string) {\n return !!str.match(/^T[0-9]+$/);\n}\n\nfunction consumeWhitespace(tagStr: string, pos: number) {\n let i = pos;\n for (; i < tagStr.length; i += 1) {\n const innerChar = tagStr[i];\n\n if (!isValidWhitespaceCharacter(innerChar)) {\n // If it's not colons, and it's an invalid character, we will stop here\n break;\n }\n }\n return i;\n}\n\ntype TypeTagState = {\n savedExpectedTypes: number;\n savedStr: string;\n savedTypes: Array<TypeTag>;\n};\n\nexport enum TypeTagParserErrorType {\n InvalidTypeTag = \"unknown type\",\n UnexpectedGenericType = \"unexpected generic type\",\n UnexpectedTypeArgumentClose = \"unexpected '>'\",\n UnexpectedWhitespaceCharacter = \"unexpected whitespace character\",\n UnexpectedComma = \"unexpected ','\",\n TypeArgumentCountMismatch = \"type argument count doesn't match expected amount\",\n MissingTypeArgumentClose = \"no matching '>' for '<'\",\n UnexpectedPrimitiveTypeArguments = \"primitive types not expected to have type arguments\",\n UnexpectedVectorTypeArgumentCount = \"vector type expected to have exactly one type argument\",\n UnexpectedStructFormat = \"unexpected struct format, must be of the form 0xaddress::module_name::struct_name\",\n InvalidModuleNameCharacter = \"module name must only contain alphanumeric or '_' characters\",\n InvalidStructNameCharacter = \"struct name must only contain alphanumeric or '_' characters\",\n}\n\nexport class TypeTagParserError extends Error {\n constructor(typeTagStr: string, invalidReason: TypeTagParserErrorType) {\n super(`Failed to parse typeTag '${typeTagStr}', ${invalidReason}`);\n }\n}\n\n/**\n * All types are made of a few parts they're either:\n * 1. A simple type e.g. u8\n * 2. A standalone struct e.g. 0x1::account::Account\n * 3. A nested struct e.g. 0x1::coin::Coin<0x1234::coin::MyCoin>\n *\n * There are a few more special cases that need to be handled, however.\n * 1. Multiple generics e.g 0x1::pair::Pair<u8, u16>\n * 2. Spacing in the generics e.g. 0x1::pair::Pair< u8 , u16>\n * 3. Nested generics of different depths e.g. 0x1::pair::Pair<0x1::coin::Coin<0x1234::coin::MyCoin>, u8>\n * 4. Generics for types in ABIs are filled in with placeholders e.g T1, T2, T3\n */\nexport function parseTypeTag(typeStr: string, options?: { allowGenerics?: boolean }) {\n const allowGenerics = options?.allowGenerics ?? false;\n\n const saved: Array<TypeTagState> = [];\n // This represents the internal types for a type tag e.g. '0x1::coin::Coin<innerTypes>'\n let innerTypes: Array<TypeTag> = [];\n // This represents the current parsed types in a comma list e.g. 'u8, u8'\n let curTypes: Array<TypeTag> = [];\n // This represents the current character index\n let cur: number = 0;\n // This represents the current working string as a type or struct name\n let currentStr: string = \"\";\n let expectedTypes: number = 1;\n\n // Iterate through each character, and handle the border conditions\n while (cur < typeStr.length) {\n const char = typeStr[cur];\n\n if (char === \"<\") {\n // Start of a type argument, push current state onto a stack\n saved.push({\n savedExpectedTypes: expectedTypes,\n savedStr: currentStr,\n savedTypes: curTypes,\n });\n\n // Clear current state\n currentStr = \"\";\n curTypes = [];\n expectedTypes = 1;\n } else if (char === \">\") {\n // Process last type, if there is no type string, then don't parse it\n if (currentStr !== \"\") {\n const newType = parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n curTypes.push(newType);\n }\n\n // Pop off stack outer type, if there's nothing left, there were too many '>'\n const savedPop = saved.pop();\n if (savedPop === undefined) {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedTypeArgumentClose);\n }\n\n // If the expected types don't match the number of commas, then we also fail\n if (expectedTypes !== curTypes.length) {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.TypeArgumentCountMismatch);\n }\n\n // Add in the new created type, shifting the current types to the inner types\n const { savedStr, savedTypes, savedExpectedTypes } = savedPop;\n innerTypes = curTypes;\n curTypes = savedTypes;\n currentStr = savedStr;\n expectedTypes = savedExpectedTypes;\n } else if (char === \",\") {\n // Comma means we need to start parsing a new tag, push the previous one to the curTypes\n // Process last type, if there is no type string, then don't parse it\n if (currentStr.length !== 0) {\n const newType = parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n\n // parse type tag and push it on the types\n innerTypes = [];\n curTypes.push(newType);\n currentStr = \"\";\n expectedTypes += 1;\n }\n } else if (isValidWhitespaceCharacter(char)) {\n // This means we should save what we have and everything else should skip until the next\n let parsedTypeTag = false;\n if (currentStr.length !== 0) {\n const newType = parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n\n // parse type tag and push it on the types\n innerTypes = [];\n curTypes.push(newType);\n currentStr = \"\";\n parsedTypeTag = true;\n }\n\n // Skip ahead on any more whitespace\n cur = consumeWhitespace(typeStr, cur);\n\n // The next space MUST be a comma, or a closing > if there was something parsed before\n // e.g. `u8 u8` is invalid but `u8, u8` is valid\n const nextChar = typeStr[cur];\n if (cur < typeStr.length && parsedTypeTag && nextChar !== \",\" && nextChar !== \">\") {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedWhitespaceCharacter);\n }\n\n // eslint-disable-next-line no-continue\n continue;\n } else {\n // Any other characters just append to the current string\n currentStr += char;\n }\n\n cur += 1;\n }\n\n // This prevents a missing '>' on type arguments\n if (saved.length > 0) {\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.MissingTypeArgumentClose);\n }\n\n // This prevents 'u8, u8' as an input\n switch (curTypes.length) {\n case 0:\n return parseTypeTagInner(currentStr, innerTypes, allowGenerics);\n case 1:\n if (currentStr === \"\") {\n return curTypes[0];\n }\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedComma);\n default:\n throw new TypeTagParserError(typeStr, TypeTagParserErrorType.UnexpectedWhitespaceCharacter);\n }\n}\n\n/**\n * Parses a type tag with internal types associated\n * @param str\n * @param types\n */\nfunction parseTypeTagInner(str: string, types: Array<TypeTag>, allowGenerics: boolean): TypeTag {\n // TODO: Parse references to any item not just signer\n switch (str) {\n case \"&signer\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagReference(new TypeTagSigner());\n case \"signer\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagSigner();\n case \"bool\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagBool();\n case \"address\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagAddress();\n case \"u8\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU8();\n case \"u16\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU16();\n case \"u32\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU32();\n case \"u64\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU64();\n case \"u128\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU128();\n case \"u256\":\n if (types.length > 0) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedPrimitiveTypeArguments);\n }\n return new TypeTagU256();\n case \"vector\":\n if (types.length !== 1) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedVectorTypeArgumentCount);\n }\n return new TypeTagVector(types[0]);\n default:\n if (isGeneric(str)) {\n if (allowGenerics) {\n return new TypeTagGeneric(Number(str.split(\"T\")[1]));\n }\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedGenericType);\n }\n\n // If the value doesn't contain a colon, then we'll assume it isn't trying to be a struct\n if (!str.match(/:/)) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidTypeTag);\n }\n\n // Parse for a struct tag\n // eslint-disable-next-line no-case-declarations\n const structParts = str.split(\"::\");\n if (structParts.length !== 3) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.UnexpectedStructFormat);\n }\n\n // Validate identifier characters\n if (!isValidIdentifier(structParts[1])) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidModuleNameCharacter);\n }\n if (!isValidIdentifier(structParts[2])) {\n throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidStructNameCharacter);\n }\n\n return new TypeTagStruct(\n new StructTag(\n AccountAddress.fromString(structParts[0]),\n new Identifier(structParts[1]),\n new Identifier(structParts[2]),\n types,\n ),\n );\n }\n}\n"],"mappings":"sNAuBA,SAASA,EAAkBC,EAAa,CACtC,MAAO,CAAC,CAACA,EAAI,MAAM,iBAAiB,CACtC,CAEA,SAASC,EAA2BC,EAAc,CAChD,MAAO,CAAC,CAACA,EAAK,MAAM,IAAI,CAC1B,CAEA,SAASC,EAAUH,EAAa,CAC9B,MAAO,CAAC,CAACA,EAAI,MAAM,WAAW,CAChC,CAEA,SAASI,EAAkBC,EAAgBC,EAAa,CACtD,IAAI,EAAIA,EACR,KAAO,EAAID,EAAO,OAAQ,GAAK,EAAG,CAChC,IAAME,EAAYF,EAAO,CAAC,EAE1B,GAAI,CAACJ,EAA2BM,CAAS,EAEvC,KAEJ,CACA,OAAO,CACT,CAQO,IAAKC,OACVA,EAAA,eAAiB,eACjBA,EAAA,sBAAwB,0BACxBA,EAAA,4BAA8B,iBAC9BA,EAAA,8BAAgC,kCAChCA,EAAA,gBAAkB,iBAClBA,EAAA,0BAA4B,oDAC5BA,EAAA,yBAA2B,0BAC3BA,EAAA,iCAAmC,sDACnCA,EAAA,kCAAoC,yDACpCA,EAAA,uBAAyB,oFACzBA,EAAA,2BAA6B,+DAC7BA,EAAA,2BAA6B,+DAZnBA,OAAA,IAeCC,EAAN,cAAiC,KAAM,CAC5C,YAAYC,EAAoBC,EAAuC,CACrE,MAAM,4BAA4BD,CAAU,MAAMC,CAAa,EAAE,CACnE,CACF,EAcO,SAASC,EAAaC,EAAiBC,EAAuC,CACnF,IAAMC,EAAgBD,GAAS,eAAiB,GAE1CE,EAA6B,CAAC,EAEhCC,EAA6B,CAAC,EAE9BC,EAA2B,CAAC,EAE5BC,EAAc,EAEdC,EAAqB,GACrBC,EAAwB,EAG5B,KAAOF,EAAMN,EAAQ,QAAQ,CAC3B,IAAMX,EAAOW,EAAQM,CAAG,EAExB,GAAIjB,IAAS,IAEXc,EAAM,KAAK,CACT,mBAAoBK,EACpB,SAAUD,EACV,WAAYF,CACd,CAAC,EAGDE,EAAa,GACbF,EAAW,CAAC,EACZG,EAAgB,UACPnB,IAAS,IAAK,CAEvB,GAAIkB,IAAe,GAAI,CACrB,IAAME,EAAUC,EAAkBH,EAAYH,EAAYF,CAAa,EACvEG,EAAS,KAAKI,CAAO,CACvB,CAGA,IAAME,EAAWR,EAAM,IAAI,EAC3B,GAAIQ,IAAa,OACf,MAAM,IAAIf,EAAmBI,EAAS,gBAAkD,EAI1F,GAAIQ,IAAkBH,EAAS,OAC7B,MAAM,IAAIT,EAAmBI,EAAS,mDAAgD,EAIxF,GAAM,CAAE,SAAAY,EAAU,WAAAC,EAAY,mBAAAC,CAAmB,EAAIH,EACrDP,EAAaC,EACbA,EAAWQ,EACXN,EAAaK,EACbJ,EAAgBM,CAClB,SAAWzB,IAAS,KAGlB,GAAIkB,EAAW,SAAW,EAAG,CAC3B,IAAME,EAAUC,EAAkBH,EAAYH,EAAYF,CAAa,EAGvEE,EAAa,CAAC,EACdC,EAAS,KAAKI,CAAO,EACrBF,EAAa,GACbC,GAAiB,CACnB,UACSpB,EAA2BC,CAAI,EAAG,CAE3C,IAAI0B,EAAgB,GACpB,GAAIR,EAAW,SAAW,EAAG,CAC3B,IAAME,EAAUC,EAAkBH,EAAYH,EAAYF,CAAa,EAGvEE,EAAa,CAAC,EACdC,EAAS,KAAKI,CAAO,EACrBF,EAAa,GACbQ,EAAgB,EAClB,CAGAT,EAAMf,EAAkBS,EAASM,CAAG,EAIpC,IAAMU,EAAWhB,EAAQM,CAAG,EAC5B,GAAIA,EAAMN,EAAQ,QAAUe,GAAiBC,IAAa,KAAOA,IAAa,IAC5E,MAAM,IAAIpB,EAAmBI,EAAS,iCAAoD,EAI5F,QACF,MAEEO,GAAclB,EAGhBiB,GAAO,CACT,CAGA,GAAIH,EAAM,OAAS,EACjB,MAAM,IAAIP,EAAmBI,EAAS,yBAA+C,EAIvF,OAAQK,EAAS,OAAQ,CACvB,IAAK,GACH,OAAOK,EAAkBH,EAAYH,EAAYF,CAAa,EAChE,IAAK,GACH,GAAIK,IAAe,GACjB,OAAOF,EAAS,CAAC,EAEnB,MAAM,IAAIT,EAAmBI,EAAS,gBAAsC,EAC9E,QACE,MAAM,IAAIJ,EAAmBI,EAAS,iCAAoD,CAC9F,CACF,CAOA,SAASU,EAAkBvB,EAAa8B,EAAuBf,EAAiC,CAE9F,OAAQf,EAAK,CACX,IAAK,UACH,GAAI8B,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAI+B,EAAiB,IAAIC,CAAe,EACjD,IAAK,SACH,GAAIF,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIgC,EACb,IAAK,OACH,GAAIF,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIiC,EACb,IAAK,UACH,GAAIH,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIkC,EACb,IAAK,KACH,GAAIJ,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAImC,EACb,IAAK,MACH,GAAIL,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIoC,EACb,IAAK,MACH,GAAIN,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIqC,EACb,IAAK,MACH,GAAIP,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIsC,EACb,IAAK,OACH,GAAIR,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIuC,EACb,IAAK,OACH,GAAIT,EAAM,OAAS,EACjB,MAAM,IAAIrB,EAAmBT,EAAK,qDAAuD,EAE3F,OAAO,IAAIwC,EACb,IAAK,SACH,GAAIV,EAAM,SAAW,EACnB,MAAM,IAAIrB,EAAmBT,EAAK,wDAAwD,EAE5F,OAAO,IAAIyC,EAAcX,EAAM,CAAC,CAAC,EACnC,QACE,GAAI3B,EAAUH,CAAG,EAAG,CAClB,GAAIe,EACF,OAAO,IAAI2B,EAAe,OAAO1C,EAAI,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAErD,MAAM,IAAIS,EAAmBT,EAAK,yBAA4C,CAChF,CAGA,GAAI,CAACA,EAAI,MAAM,GAAG,EAChB,MAAM,IAAIS,EAAmBT,EAAK,cAAqC,EAKzE,IAAM2C,EAAc3C,EAAI,MAAM,IAAI,EAClC,GAAI2C,EAAY,SAAW,EACzB,MAAM,IAAIlC,EAAmBT,EAAK,mFAA6C,EAIjF,GAAI,CAACD,EAAkB4C,EAAY,CAAC,CAAC,EACnC,MAAM,IAAIlC,EAAmBT,EAAK,8DAAiD,EAErF,GAAI,CAACD,EAAkB4C,EAAY,CAAC,CAAC,EACnC,MAAM,IAAIlC,EAAmBT,EAAK,8DAAiD,EAGrF,OAAO,IAAI4C,EACT,IAAIC,EACFC,EAAe,WAAWH,EAAY,CAAC,CAAC,EACxC,IAAII,EAAWJ,EAAY,CAAC,CAAC,EAC7B,IAAII,EAAWJ,EAAY,CAAC,CAAC,EAC7Bb,CACF,CACF,CACJ,CACF","names":["isValidIdentifier","str","isValidWhitespaceCharacter","char","isGeneric","consumeWhitespace","tagStr","pos","innerChar","TypeTagParserErrorType","TypeTagParserError","typeTagStr","invalidReason","parseTypeTag","typeStr","options","allowGenerics","saved","innerTypes","curTypes","cur","currentStr","expectedTypes","newType","parseTypeTagInner","savedPop","savedStr","savedTypes","savedExpectedTypes","parsedTypeTag","nextChar","types","TypeTagReference","TypeTagSigner","TypeTagBool","TypeTagAddress","TypeTagU8","TypeTagU16","TypeTagU32","TypeTagU64","TypeTagU128","TypeTagU256","TypeTagVector","TypeTagGeneric","structParts","TypeTagStruct","StructTag","AccountAddress","Identifier"]}
@@ -0,0 +1,2 @@
1
+ import{a as d,c as U,d as H,e as K}from"./chunk-FLYEALDB.mjs";import{a as I}from"./chunk-N466X3S6.mjs";import{a as S,b as p}from"./chunk-25H3DXTL.mjs";import{b as E}from"./chunk-COW5IGYC.mjs";import{a as u}from"./chunk-STYDBDYL.mjs";import{a as b}from"./chunk-7STYQ5ZE.mjs";import{a as f}from"./chunk-VT6XJSRO.mjs";import{a as z,b as A}from"./chunk-TVRJ3M7B.mjs";import{b as c}from"./chunk-AOCNYMMX.mjs";var B=1e7,D=120,v=30,P=330,R=120,$=350,J=300,q=93,o=class o extends E{constructor(e,t){super();let i=c.fromHexInput(t).toUint8Array();if(i.length!==o.ID_COMMITMENT_LENGTH)throw new Error(`Address seed length in bytes should be ${o.ID_COMMITMENT_LENGTH}`);this.iss=e,this.idCommitment=i}authKey(){let e=new A;return e.serializeU32AsUleb128(3),e.serializeFixedBytes(this.bcsToBytes()),b.fromSchemeAndBytes({scheme:2,input:e.toUint8Array()})}toUint8Array(){return this.bcsToBytes()}toString(){return c.fromHexInput(this.toUint8Array()).toString()}verifySignature(e){throw new Error("Not yet implemented")}serialize(e){e.serializeStr(this.iss),e.serializeBytes(this.idCommitment)}static deserialize(e){let t=e.deserializeStr(),i=e.deserializeBytes();return new o(t,i)}static load(e){let t=e.deserializeStr(),i=e.deserializeBytes();return new o(t,i)}static isPublicKey(e){return e instanceof o}static create(e){return w(e),new o(e.iss,w(e))}};o.ID_COMMITMENT_LENGTH=32;var m=o;function w(s){let{uidKey:l,uidVal:e,aud:t,pepper:i}=s,r=[U(c.fromHexInput(i).toUint8Array()),d(t,D),d(e,P),d(l,v)];return H(K(r),m.ID_COMMITMENT_LENGTH)}var T=class s extends u{constructor(e){super();let{jwtHeader:t,ephemeralCertificate:i,expiryDateSecs:r,ephemeralPublicKey:a,ephemeralSignature:n}=e;this.jwtHeader=t,this.ephemeralCertificate=i,this.expiryDateSecs=r,this.ephemeralPublicKey=a,this.ephemeralSignature=n}toUint8Array(){return this.bcsToBytes()}serialize(e){this.ephemeralCertificate.serialize(e),e.serializeStr(this.jwtHeader),e.serializeU64(this.expiryDateSecs),this.ephemeralPublicKey.serialize(e),this.ephemeralSignature.serialize(e)}static deserialize(e){let t=h.deserialize(e),i=e.deserializeStr(),r=e.deserializeU64(),a=S.deserialize(e),n=p.deserialize(e);return new s({jwtHeader:i,expiryDateSecs:r,ephemeralCertificate:t,ephemeralPublicKey:a,ephemeralSignature:n})}static load(e){let t=h.deserialize(e),i=e.deserializeStr(),r=e.deserializeU64(),a=S.deserialize(e),n=p.deserialize(e);return new s({jwtHeader:i,expiryDateSecs:r,ephemeralCertificate:t,ephemeralPublicKey:a,ephemeralSignature:n})}static isSignature(e){return e instanceof s}},h=class s extends u{constructor(e,t){super();this.signature=e,this.variant=t}toUint8Array(){return this.signature.toUint8Array()}serialize(e){e.serializeU32AsUleb128(this.variant),this.signature.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new s(x.deserialize(e),t);default:throw new Error(`Unknown variant index for EphemeralCertificate: ${t}`)}}},g=class s extends I{constructor(e){super();let{a:t,b:i,c:r}=e;this.a=c.fromHexInput(t).toUint8Array(),this.b=c.fromHexInput(i).toUint8Array(),this.c=c.fromHexInput(r).toUint8Array()}serialize(e){e.serializeFixedBytes(this.a),e.serializeFixedBytes(this.b),e.serializeFixedBytes(this.c)}static deserialize(e){let t=e.deserializeFixedBytes(32),i=e.deserializeFixedBytes(64),r=e.deserializeFixedBytes(32);return new s({a:t,b:i,c:r})}},y=class s extends z{constructor(e,t){super();this.proof=e,this.variant=t}serialize(e){e.serializeU32AsUleb128(this.variant),this.proof.serialize(e)}static deserialize(e){let t=e.deserializeUleb128AsU32();switch(t){case 0:return new s(g.deserialize(e),t);default:throw new Error(`Unknown variant index for ZkProof: ${t}`)}}},x=class s extends u{constructor(e){super();let{proof:t,expHorizonSecs:i=BigInt(B),trainingWheelsSignature:r,extraField:a,overrideAudVal:n}=e;this.proof=t,this.expHorizonSecs=i,this.trainingWheelsSignature=r,this.extraField=a,this.overrideAudVal=n}toUint8Array(){return this.bcsToBytes()}static fromBytes(e){return s.deserialize(new f(e))}serialize(e){this.proof.serialize(e),e.serializeU64(this.expHorizonSecs),e.serializeOptionStr(this.extraField),e.serializeOptionStr(this.overrideAudVal),e.serializeOption(this.trainingWheelsSignature)}static deserialize(e){let t=y.deserialize(e),i=e.deserializeU64(),r=e.deserializeOptionStr(),a=e.deserializeOptionStr(),n=e.deserializeOption(p);return new s({proof:t,expHorizonSecs:i,trainingWheelsSignature:n,extraField:r,overrideAudVal:a})}static load(e){let t=y.deserialize(e),i=e.deserializeU64(),r=e.deserializeOptionStr(),a=e.deserializeOptionStr(),n=e.deserializeOption(p);return new s({proof:t,expHorizonSecs:i,trainingWheelsSignature:n,extraField:r,overrideAudVal:a})}};export{B as a,D as b,v as c,P as d,R as e,$ as f,J as g,q as h,m as i,T as j,h as k,g as l,y as m,x as n};
2
+ //# sourceMappingURL=chunk-PGCBIU33.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/crypto/keyless.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountPublicKey, PublicKey } from \"./publicKey\";\nimport { Signature } from \"./signature\";\nimport { Deserializer, Serializable, Serializer } from \"../../bcs\";\nimport { Hex } from \"../hex\";\nimport { HexInput, EphemeralCertificateVariant, AnyPublicKeyVariant, SigningScheme, ZkpVariant } from \"../../types\";\nimport { EphemeralPublicKey, EphemeralSignature } from \"./ephemeral\";\nimport { bigIntToBytesLE, bytesToBigIntLE, hashASCIIStrToField, poseidonHash } from \"./poseidon\";\nimport { AuthenticationKey } from \"../authenticationKey\";\nimport { Proof } from \"./proof\";\n\nexport const EPK_HORIZON_SECS = 10000000;\nexport const MAX_AUD_VAL_BYTES = 120;\nexport const MAX_UID_KEY_BYTES = 30;\nexport const MAX_UID_VAL_BYTES = 330;\nexport const MAX_ISS_VAL_BYTES = 120;\nexport const MAX_EXTRA_FIELD_BYTES = 350;\nexport const MAX_JWT_HEADER_B64_BYTES = 300;\nexport const MAX_COMMITED_EPK_BYTES = 93;\n\n/**\n * Represents the KeylessPublicKey public key\n *\n * KeylessPublicKey authentication key is represented in the SDK as `AnyPublicKey`.\n */\nexport class KeylessPublicKey extends AccountPublicKey {\n static readonly ID_COMMITMENT_LENGTH: number = 32;\n\n readonly iss: string;\n\n readonly idCommitment: Uint8Array;\n\n constructor(iss: string, idCommitment: HexInput) {\n super();\n const idcBytes = Hex.fromHexInput(idCommitment).toUint8Array();\n if (idcBytes.length !== KeylessPublicKey.ID_COMMITMENT_LENGTH) {\n throw new Error(`Address seed length in bytes should be ${KeylessPublicKey.ID_COMMITMENT_LENGTH}`);\n }\n this.iss = iss;\n this.idCommitment = idcBytes;\n }\n\n /**\n * Get the authentication key for the keyless public key\n *\n * @returns AuthenticationKey\n */\n authKey(): AuthenticationKey {\n const serializer = new Serializer();\n serializer.serializeU32AsUleb128(AnyPublicKeyVariant.Keyless);\n serializer.serializeFixedBytes(this.bcsToBytes());\n return AuthenticationKey.fromSchemeAndBytes({\n scheme: SigningScheme.SingleKey,\n input: serializer.toUint8Array(),\n });\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n */\n toUint8Array(): Uint8Array {\n return this.bcsToBytes();\n }\n\n /**\n * Get the public key as a hex string with the 0x prefix.\n *\n * @returns string representation of the public key\n */\n toString(): string {\n return Hex.fromHexInput(this.toUint8Array()).toString();\n }\n\n /**\n * Verifies a signed data with a public key\n *\n * @param args.message message\n * @param args.signature The signature\n * @returns true if the signature is valid\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n throw new Error(\"Not yet implemented\");\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.iss);\n serializer.serializeBytes(this.idCommitment);\n }\n\n static deserialize(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n static load(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n static isPublicKey(publicKey: PublicKey): publicKey is KeylessPublicKey {\n return publicKey instanceof KeylessPublicKey;\n }\n\n /**\n * Creates a KeylessPublicKey from the JWT components plus pepper\n *\n * @param args.iss the iss of the identity\n * @param args.uidKey the key to use to get the uidVal in the JWT token\n * @param args.uidVal the value of the uidKey in the JWT token\n * @param args.aud the client ID of the application\n * @param args.pepper The pepper used to maintain privacy of the account\n * @returns KeylessPublicKey\n */\n static create(args: {\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n }): KeylessPublicKey {\n computeIdCommitment(args);\n return new KeylessPublicKey(args.iss, computeIdCommitment(args));\n }\n}\n\nfunction computeIdCommitment(args: { uidKey: string; uidVal: string; aud: string; pepper: HexInput }): Uint8Array {\n const { uidKey, uidVal, aud, pepper } = args;\n\n const fields = [\n bytesToBigIntLE(Hex.fromHexInput(pepper).toUint8Array()),\n hashASCIIStrToField(aud, MAX_AUD_VAL_BYTES),\n hashASCIIStrToField(uidVal, MAX_UID_VAL_BYTES),\n hashASCIIStrToField(uidKey, MAX_UID_KEY_BYTES),\n ];\n\n return bigIntToBytesLE(poseidonHash(fields), KeylessPublicKey.ID_COMMITMENT_LENGTH);\n}\n\n/**\n * A signature of a message signed via Keyless Accounnt that uses proofs or the jwt token to authenticate.\n */\nexport class KeylessSignature extends Signature {\n /**\n * The inner signature ZeroKnowledgeSigniature or OpenIdSignature\n */\n readonly ephemeralCertificate: EphemeralCertificate;\n\n /**\n * The jwt header in the token used to create the proof/signature. In json string representation.\n */\n readonly jwtHeader: string;\n\n /**\n * The expiry timestamp in seconds of the EphemeralKeyPair used to sign\n */\n readonly expiryDateSecs: bigint | number;\n\n /**\n * The ephemeral public key used to verify the signature\n */\n readonly ephemeralPublicKey: EphemeralPublicKey;\n\n /**\n * The signature resulting from signing with the private key of the EphemeralKeyPair\n */\n readonly ephemeralSignature: EphemeralSignature;\n\n constructor(args: {\n jwtHeader: string;\n ephemeralCertificate: EphemeralCertificate;\n expiryDateSecs: bigint | number;\n ephemeralPublicKey: EphemeralPublicKey;\n ephemeralSignature: EphemeralSignature;\n }) {\n super();\n const { jwtHeader, ephemeralCertificate, expiryDateSecs, ephemeralPublicKey, ephemeralSignature } = args;\n this.jwtHeader = jwtHeader;\n this.ephemeralCertificate = ephemeralCertificate;\n this.expiryDateSecs = expiryDateSecs;\n this.ephemeralPublicKey = ephemeralPublicKey;\n this.ephemeralSignature = ephemeralSignature;\n }\n\n /**\n * Get the signature in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the signature\n */\n toUint8Array(): Uint8Array {\n return this.bcsToBytes();\n }\n\n serialize(serializer: Serializer): void {\n this.ephemeralCertificate.serialize(serializer);\n serializer.serializeStr(this.jwtHeader);\n serializer.serializeU64(this.expiryDateSecs);\n this.ephemeralPublicKey.serialize(serializer);\n this.ephemeralSignature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessSignature {\n const ephemeralCertificate = EphemeralCertificate.deserialize(deserializer);\n const jwtHeader = deserializer.deserializeStr();\n const expiryDateSecs = deserializer.deserializeU64();\n const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);\n const ephemeralSignature = EphemeralSignature.deserialize(deserializer);\n return new KeylessSignature({\n jwtHeader,\n expiryDateSecs,\n ephemeralCertificate,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n static load(deserializer: Deserializer): KeylessSignature {\n const ephemeralCertificate = EphemeralCertificate.deserialize(deserializer);\n const jwtHeader = deserializer.deserializeStr();\n const expiryDateSecs = deserializer.deserializeU64();\n const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);\n const ephemeralSignature = EphemeralSignature.deserialize(deserializer);\n return new KeylessSignature({\n jwtHeader,\n expiryDateSecs,\n ephemeralCertificate,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n static isSignature(signature: Signature): signature is KeylessSignature {\n return signature instanceof KeylessSignature;\n }\n}\n\n/**\n * A container for a signature that is a ZeroKnowledgeSig. Can be expanded to support OpenIdSignature.\n */\nexport class EphemeralCertificate extends Signature {\n public readonly signature: Signature;\n\n /**\n * Index of the underlying enum variant\n */\n private readonly variant: EphemeralCertificateVariant;\n\n constructor(signature: Signature, variant: EphemeralCertificateVariant) {\n super();\n this.signature = signature;\n this.variant = variant;\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n */\n toUint8Array(): Uint8Array {\n return this.signature.toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.signature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): EphemeralCertificate {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case EphemeralCertificateVariant.ZkProof:\n return new EphemeralCertificate(ZeroKnowledgeSig.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for EphemeralCertificate: ${variant}`);\n }\n }\n}\n\n/**\n * A representation of a Groth16 proof. The points are the compressed serialization of affine reprentation of the proof.\n */\nexport class Groth16Zkp extends Proof {\n /**\n * The bytes of G1 proof point a\n */\n a: Uint8Array;\n\n /**\n * The bytes of G2 proof point b\n */\n b: Uint8Array;\n\n /**\n * The bytes of G1 proof point c\n */\n c: Uint8Array;\n\n constructor(args: { a: HexInput; b: HexInput; c: HexInput }) {\n super();\n const { a, b, c } = args;\n this.a = Hex.fromHexInput(a).toUint8Array();\n this.b = Hex.fromHexInput(b).toUint8Array();\n this.c = Hex.fromHexInput(c).toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.a);\n serializer.serializeFixedBytes(this.b);\n serializer.serializeFixedBytes(this.c);\n }\n\n static deserialize(deserializer: Deserializer): Groth16Zkp {\n const a = deserializer.deserializeFixedBytes(32);\n const b = deserializer.deserializeFixedBytes(64);\n const c = deserializer.deserializeFixedBytes(32);\n return new Groth16Zkp({ a, b, c });\n }\n}\n\n/**\n * A container for a different zero knowledge proof types\n */\nexport class ZkProof extends Serializable {\n public readonly proof: Proof;\n\n /**\n * Index of the underlying enum variant\n */\n private readonly variant: ZkpVariant;\n\n constructor(proof: Proof, variant: ZkpVariant) {\n super();\n this.proof = proof;\n this.variant = variant;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): ZkProof {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case ZkpVariant.Groth16:\n return new ZkProof(Groth16Zkp.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for ZkProof: ${variant}`);\n }\n }\n}\n\n/**\n * The signature representation of a proof\n */\nexport class ZeroKnowledgeSig extends Signature {\n /**\n * The proof\n */\n readonly proof: ZkProof;\n\n /**\n * The max lifespan of the proof\n */\n readonly expHorizonSecs: bigint;\n\n /**\n * A key value pair on the JWT token that can be made public\n */\n readonly extraField?: string;\n\n /**\n * Set in the case of signing by recovery services\n */\n readonly overrideAudVal?: string;\n\n /**\n * The training wheels signature\n */\n readonly trainingWheelsSignature?: EphemeralSignature;\n\n constructor(args: {\n proof: ZkProof;\n expHorizonSecs?: bigint;\n extraField?: string;\n overrideAudVal?: string;\n trainingWheelsSignature?: EphemeralSignature;\n }) {\n super();\n const {\n proof,\n expHorizonSecs = BigInt(EPK_HORIZON_SECS),\n trainingWheelsSignature,\n extraField,\n overrideAudVal,\n } = args;\n this.proof = proof;\n this.expHorizonSecs = expHorizonSecs;\n this.trainingWheelsSignature = trainingWheelsSignature;\n this.extraField = extraField;\n this.overrideAudVal = overrideAudVal;\n }\n\n /**\n * Get the signature in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the signature\n */\n toUint8Array(): Uint8Array {\n return this.bcsToBytes();\n }\n\n /**\n * Return a ZeroKnowledgeSig object from its bcs serialization in bytes.\n *\n * @returns ZeroKnowledgeSig\n */\n static fromBytes(bytes: Uint8Array): ZeroKnowledgeSig {\n return ZeroKnowledgeSig.deserialize(new Deserializer(bytes));\n }\n\n serialize(serializer: Serializer): void {\n this.proof.serialize(serializer);\n serializer.serializeU64(this.expHorizonSecs);\n serializer.serializeOptionStr(this.extraField);\n serializer.serializeOptionStr(this.overrideAudVal);\n serializer.serializeOption(this.trainingWheelsSignature);\n }\n\n static deserialize(deserializer: Deserializer): ZeroKnowledgeSig {\n const proof = ZkProof.deserialize(deserializer);\n const expHorizonSecs = deserializer.deserializeU64();\n const extraField = deserializer.deserializeOptionStr();\n const overrideAudVal = deserializer.deserializeOptionStr();\n const trainingWheelsSignature = deserializer.deserializeOption(EphemeralSignature);\n return new ZeroKnowledgeSig({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });\n }\n\n static load(deserializer: Deserializer): ZeroKnowledgeSig {\n const proof = ZkProof.deserialize(deserializer);\n const expHorizonSecs = deserializer.deserializeU64();\n const extraField = deserializer.deserializeOptionStr();\n const overrideAudVal = deserializer.deserializeOptionStr();\n const trainingWheelsSignature = deserializer.deserializeOption(EphemeralSignature);\n return new ZeroKnowledgeSig({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/core/crypto/keyless.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountPublicKey, PublicKey } from \"./publicKey\";\nimport { Signature } from \"./signature\";\nimport { Deserializer, Serializable, Serializer } from \"../../bcs\";\nimport { Hex } from \"../hex\";\nimport { HexInput, EphemeralCertificateVariant, AnyPublicKeyVariant, SigningScheme, ZkpVariant } from \"../../types\";\nimport { EphemeralPublicKey, EphemeralSignature } from \"./ephemeral\";\nimport { bigIntToBytesLE, bytesToBigIntLE, hashASCIIStrToField, poseidonHash } from \"./poseidon\";\nimport { AuthenticationKey } from \"../authenticationKey\";\nimport { Proof } from \"./proof\";\n\nexport const EPK_HORIZON_SECS = 10000000;\nexport const MAX_AUD_VAL_BYTES = 120;\nexport const MAX_UID_KEY_BYTES = 30;\nexport const MAX_UID_VAL_BYTES = 330;\nexport const MAX_ISS_VAL_BYTES = 120;\nexport const MAX_EXTRA_FIELD_BYTES = 350;\nexport const MAX_JWT_HEADER_B64_BYTES = 300;\nexport const MAX_COMMITED_EPK_BYTES = 93;\n\n/**\n * Represents the KeylessPublicKey public key\n *\n * KeylessPublicKey authentication key is represented in the SDK as `AnyPublicKey`.\n */\nexport class KeylessPublicKey extends AccountPublicKey {\n static readonly ID_COMMITMENT_LENGTH: number = 32;\n\n readonly iss: string;\n\n readonly idCommitment: Uint8Array;\n\n constructor(iss: string, idCommitment: HexInput) {\n super();\n const idcBytes = Hex.fromHexInput(idCommitment).toUint8Array();\n if (idcBytes.length !== KeylessPublicKey.ID_COMMITMENT_LENGTH) {\n throw new Error(`Address seed length in bytes should be ${KeylessPublicKey.ID_COMMITMENT_LENGTH}`);\n }\n this.iss = iss;\n this.idCommitment = idcBytes;\n }\n\n /**\n * Get the authentication key for the keyless public key\n *\n * @returns AuthenticationKey\n */\n authKey(): AuthenticationKey {\n const serializer = new Serializer();\n serializer.serializeU32AsUleb128(AnyPublicKeyVariant.Keyless);\n serializer.serializeFixedBytes(this.bcsToBytes());\n return AuthenticationKey.fromSchemeAndBytes({\n scheme: SigningScheme.SingleKey,\n input: serializer.toUint8Array(),\n });\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n */\n toUint8Array(): Uint8Array {\n return this.bcsToBytes();\n }\n\n /**\n * Get the public key as a hex string with the 0x prefix.\n *\n * @returns string representation of the public key\n */\n toString(): string {\n return Hex.fromHexInput(this.toUint8Array()).toString();\n }\n\n /**\n * Verifies a signed data with a public key\n *\n * @param args.message message\n * @param args.signature The signature\n * @returns true if the signature is valid\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n throw new Error(\"Not yet implemented\");\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.iss);\n serializer.serializeBytes(this.idCommitment);\n }\n\n static deserialize(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n static load(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n static isPublicKey(publicKey: PublicKey): publicKey is KeylessPublicKey {\n return publicKey instanceof KeylessPublicKey;\n }\n\n /**\n * Creates a KeylessPublicKey from the JWT components plus pepper\n *\n * @param args.iss the iss of the identity\n * @param args.uidKey the key to use to get the uidVal in the JWT token\n * @param args.uidVal the value of the uidKey in the JWT token\n * @param args.aud the client ID of the application\n * @param args.pepper The pepper used to maintain privacy of the account\n * @returns KeylessPublicKey\n */\n static create(args: {\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n }): KeylessPublicKey {\n computeIdCommitment(args);\n return new KeylessPublicKey(args.iss, computeIdCommitment(args));\n }\n}\n\nfunction computeIdCommitment(args: { uidKey: string; uidVal: string; aud: string; pepper: HexInput }): Uint8Array {\n const { uidKey, uidVal, aud, pepper } = args;\n\n const fields = [\n bytesToBigIntLE(Hex.fromHexInput(pepper).toUint8Array()),\n hashASCIIStrToField(aud, MAX_AUD_VAL_BYTES),\n hashASCIIStrToField(uidVal, MAX_UID_VAL_BYTES),\n hashASCIIStrToField(uidKey, MAX_UID_KEY_BYTES),\n ];\n\n return bigIntToBytesLE(poseidonHash(fields), KeylessPublicKey.ID_COMMITMENT_LENGTH);\n}\n\n/**\n * A signature of a message signed via Keyless Accounnt that uses proofs or the jwt token to authenticate.\n */\nexport class KeylessSignature extends Signature {\n /**\n * The inner signature ZeroKnowledgeSigniature or OpenIdSignature\n */\n readonly ephemeralCertificate: EphemeralCertificate;\n\n /**\n * The jwt header in the token used to create the proof/signature. In json string representation.\n */\n readonly jwtHeader: string;\n\n /**\n * The expiry timestamp in seconds of the EphemeralKeyPair used to sign\n */\n readonly expiryDateSecs: bigint | number;\n\n /**\n * The ephemeral public key used to verify the signature\n */\n readonly ephemeralPublicKey: EphemeralPublicKey;\n\n /**\n * The signature resulting from signing with the private key of the EphemeralKeyPair\n */\n readonly ephemeralSignature: EphemeralSignature;\n\n constructor(args: {\n jwtHeader: string;\n ephemeralCertificate: EphemeralCertificate;\n expiryDateSecs: bigint | number;\n ephemeralPublicKey: EphemeralPublicKey;\n ephemeralSignature: EphemeralSignature;\n }) {\n super();\n const { jwtHeader, ephemeralCertificate, expiryDateSecs, ephemeralPublicKey, ephemeralSignature } = args;\n this.jwtHeader = jwtHeader;\n this.ephemeralCertificate = ephemeralCertificate;\n this.expiryDateSecs = expiryDateSecs;\n this.ephemeralPublicKey = ephemeralPublicKey;\n this.ephemeralSignature = ephemeralSignature;\n }\n\n /**\n * Get the signature in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the signature\n */\n toUint8Array(): Uint8Array {\n return this.bcsToBytes();\n }\n\n serialize(serializer: Serializer): void {\n this.ephemeralCertificate.serialize(serializer);\n serializer.serializeStr(this.jwtHeader);\n serializer.serializeU64(this.expiryDateSecs);\n this.ephemeralPublicKey.serialize(serializer);\n this.ephemeralSignature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessSignature {\n const ephemeralCertificate = EphemeralCertificate.deserialize(deserializer);\n const jwtHeader = deserializer.deserializeStr();\n const expiryDateSecs = deserializer.deserializeU64();\n const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);\n const ephemeralSignature = EphemeralSignature.deserialize(deserializer);\n return new KeylessSignature({\n jwtHeader,\n expiryDateSecs,\n ephemeralCertificate,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n static load(deserializer: Deserializer): KeylessSignature {\n const ephemeralCertificate = EphemeralCertificate.deserialize(deserializer);\n const jwtHeader = deserializer.deserializeStr();\n const expiryDateSecs = deserializer.deserializeU64();\n const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);\n const ephemeralSignature = EphemeralSignature.deserialize(deserializer);\n return new KeylessSignature({\n jwtHeader,\n expiryDateSecs,\n ephemeralCertificate,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n static isSignature(signature: Signature): signature is KeylessSignature {\n return signature instanceof KeylessSignature;\n }\n}\n\n/**\n * A container for a signature that is a ZeroKnowledgeSig. Can be expanded to support OpenIdSignature.\n */\nexport class EphemeralCertificate extends Signature {\n public readonly signature: Signature;\n\n /**\n * Index of the underlying enum variant\n */\n private readonly variant: EphemeralCertificateVariant;\n\n constructor(signature: Signature, variant: EphemeralCertificateVariant) {\n super();\n this.signature = signature;\n this.variant = variant;\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n */\n toUint8Array(): Uint8Array {\n return this.signature.toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.signature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): EphemeralCertificate {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case EphemeralCertificateVariant.ZkProof:\n return new EphemeralCertificate(ZeroKnowledgeSig.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for EphemeralCertificate: ${variant}`);\n }\n }\n}\n\n/**\n * A representation of a Groth16 proof. The points are the compressed serialization of affine reprentation of the proof.\n */\nexport class Groth16Zkp extends Proof {\n /**\n * The bytes of G1 proof point a\n */\n a: Uint8Array;\n\n /**\n * The bytes of G2 proof point b\n */\n b: Uint8Array;\n\n /**\n * The bytes of G1 proof point c\n */\n c: Uint8Array;\n\n constructor(args: { a: HexInput; b: HexInput; c: HexInput }) {\n super();\n const { a, b, c } = args;\n this.a = Hex.fromHexInput(a).toUint8Array();\n this.b = Hex.fromHexInput(b).toUint8Array();\n this.c = Hex.fromHexInput(c).toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.a);\n serializer.serializeFixedBytes(this.b);\n serializer.serializeFixedBytes(this.c);\n }\n\n static deserialize(deserializer: Deserializer): Groth16Zkp {\n const a = deserializer.deserializeFixedBytes(32);\n const b = deserializer.deserializeFixedBytes(64);\n const c = deserializer.deserializeFixedBytes(32);\n return new Groth16Zkp({ a, b, c });\n }\n}\n\n/**\n * A container for a different zero knowledge proof types\n */\nexport class ZkProof extends Serializable {\n public readonly proof: Proof;\n\n /**\n * Index of the underlying enum variant\n */\n private readonly variant: ZkpVariant;\n\n constructor(proof: Proof, variant: ZkpVariant) {\n super();\n this.proof = proof;\n this.variant = variant;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): ZkProof {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case ZkpVariant.Groth16:\n return new ZkProof(Groth16Zkp.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for ZkProof: ${variant}`);\n }\n }\n}\n\n/**\n * The signature representation of a proof\n */\nexport class ZeroKnowledgeSig extends Signature {\n /**\n * The proof\n */\n readonly proof: ZkProof;\n\n /**\n * The max lifespan of the proof\n */\n readonly expHorizonSecs: bigint;\n\n /**\n * A key value pair on the JWT token that can be made public\n */\n readonly extraField?: string;\n\n /**\n * Set in the case of signing by recovery services\n */\n readonly overrideAudVal?: string;\n\n /**\n * The training wheels signature\n */\n readonly trainingWheelsSignature?: EphemeralSignature;\n\n constructor(args: {\n proof: ZkProof;\n expHorizonSecs?: bigint;\n extraField?: string;\n overrideAudVal?: string;\n trainingWheelsSignature?: EphemeralSignature;\n }) {\n super();\n const {\n proof,\n expHorizonSecs = BigInt(EPK_HORIZON_SECS),\n trainingWheelsSignature,\n extraField,\n overrideAudVal,\n } = args;\n this.proof = proof;\n this.expHorizonSecs = expHorizonSecs;\n this.trainingWheelsSignature = trainingWheelsSignature;\n this.extraField = extraField;\n this.overrideAudVal = overrideAudVal;\n }\n\n /**\n * Get the signature in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the signature\n */\n toUint8Array(): Uint8Array {\n return this.bcsToBytes();\n }\n\n /**\n * Return a ZeroKnowledgeSig object from its bcs serialization in bytes.\n *\n * @returns ZeroKnowledgeSig\n */\n static fromBytes(bytes: Uint8Array): ZeroKnowledgeSig {\n return ZeroKnowledgeSig.deserialize(new Deserializer(bytes));\n }\n\n serialize(serializer: Serializer): void {\n this.proof.serialize(serializer);\n serializer.serializeU64(this.expHorizonSecs);\n serializer.serializeOptionStr(this.extraField);\n serializer.serializeOptionStr(this.overrideAudVal);\n serializer.serializeOption(this.trainingWheelsSignature);\n }\n\n static deserialize(deserializer: Deserializer): ZeroKnowledgeSig {\n const proof = ZkProof.deserialize(deserializer);\n const expHorizonSecs = deserializer.deserializeU64();\n const extraField = deserializer.deserializeOptionStr();\n const overrideAudVal = deserializer.deserializeOptionStr();\n const trainingWheelsSignature = deserializer.deserializeOption(EphemeralSignature);\n return new ZeroKnowledgeSig({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });\n }\n\n static load(deserializer: Deserializer): ZeroKnowledgeSig {\n const proof = ZkProof.deserialize(deserializer);\n const expHorizonSecs = deserializer.deserializeU64();\n const extraField = deserializer.deserializeOptionStr();\n const overrideAudVal = deserializer.deserializeOptionStr();\n const trainingWheelsSignature = deserializer.deserializeOption(EphemeralSignature);\n return new ZeroKnowledgeSig({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });\n }\n}\n"],"mappings":"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","names":["EPK_HORIZON_SECS","MAX_AUD_VAL_BYTES","MAX_UID_KEY_BYTES","MAX_UID_VAL_BYTES","MAX_ISS_VAL_BYTES","MAX_EXTRA_FIELD_BYTES","MAX_JWT_HEADER_B64_BYTES","MAX_COMMITED_EPK_BYTES","_KeylessPublicKey","AccountPublicKey","iss","idCommitment","idcBytes","Hex","serializer","Serializer","AuthenticationKey","args","deserializer","addressSeed","publicKey","computeIdCommitment","KeylessPublicKey","uidKey","uidVal","aud","pepper","fields","bytesToBigIntLE","hashASCIIStrToField","bigIntToBytesLE","poseidonHash","KeylessSignature","_KeylessSignature","Signature","jwtHeader","ephemeralCertificate","expiryDateSecs","ephemeralPublicKey","ephemeralSignature","EphemeralCertificate","EphemeralPublicKey","EphemeralSignature","signature","_EphemeralCertificate","variant","ZeroKnowledgeSig","Groth16Zkp","_Groth16Zkp","Proof","a","b","c","ZkProof","_ZkProof","Serializable","proof","_ZeroKnowledgeSig","expHorizonSecs","trainingWheelsSignature","extraField","overrideAudVal","bytes","Deserializer"]}
@@ -0,0 +1,2 @@
1
+ import{a as r,b as i,c as s}from"./chunk-P2WALKSW.mjs";import{a as o}from"./chunk-TE3WIJ26.mjs";var t=class{constructor(e){this.config=e}async getNumberOfDelegators(e){return await o({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),r({aptosConfig:this.config,...e})}async getNumberOfDelegatorsForAllPools(e){return await o({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),i({aptosConfig:this.config,...e})}async getDelegatedStakingActivities(e){return await o({config:this.config,minimumLedgerVersion:e?.minimumLedgerVersion,processorType:"stake_processor"}),s({aptosConfig:this.config,...e})}};export{t as a};
2
+ //# sourceMappingURL=chunk-PMPTAPM3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/staking.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n getDelegatedStakingActivities,\n getNumberOfDelegators,\n getNumberOfDelegatorsForAllPools,\n} from \"../internal/staking\";\nimport { AnyNumber, GetDelegatedStakingActivitiesResponse, GetNumberOfDelegatorsResponse, OrderByArg } from \"../types\";\nimport { AccountAddressInput } from \"../core\";\nimport { ProcessorType } from \"../utils/const\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexerOnVersion } from \"./utils\";\n\n/**\n * A class to query all `Staking` related queries on Aptos.\n */\nexport class Staking {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Queries current number of delegators in a pool. Throws an error if the pool is not found.\n *\n * @example\n * const delegators = await aptos.getNumberOfDelegators({poolAddress:\"0x123\"})\n *\n * @param args.poolAddress Pool address\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns The number of delegators for the given pool\n */\n async getNumberOfDelegators(args: {\n poolAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<number> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorType: ProcessorType.STAKE_PROCESSOR,\n });\n return getNumberOfDelegators({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries current number of delegators in a pool. Throws an error if the pool is not found.\n *\n * @example\n * const delegators = await aptos.getNumberOfDelegatorsForAllPools()\n *\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetNumberOfDelegatorsForAllPoolsResponse response type\n */\n async getNumberOfDelegatorsForAllPools(args?: {\n minimumLedgerVersion?: AnyNumber;\n options?: OrderByArg<GetNumberOfDelegatorsResponse[0]>;\n }): Promise<GetNumberOfDelegatorsResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorType: ProcessorType.STAKE_PROCESSOR,\n });\n return getNumberOfDelegatorsForAllPools({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries delegated staking activities\n *\n * @example\n * const delegators = await aptos.getDelegatedStakingActivities({delegatorAddress:\"0x123\",poolAddress:\"0x456\"})\n *\n * @param args.delegatorAddress Delegator address\n * @param args.poolAddress Pool address\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetDelegatedStakingActivitiesResponse response type\n */\n async getDelegatedStakingActivities(args: {\n delegatorAddress: AccountAddressInput;\n poolAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<GetDelegatedStakingActivitiesResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorType: ProcessorType.STAKE_PROCESSOR,\n });\n return getDelegatedStakingActivities({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":";;;;;;;;;;AAiBO,IAAM,UAAN,MAAc;AAAA,EACnB,YAAqB,QAAqB;AAArB;AAAA,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAY3C,MAAM,sBAAsB,MAGR;AAClB,UAAM,wBAAwB;AAAA,MAC5B,QAAQ,KAAK;AAAA,MACb,sBAAsB,MAAM;AAAA,MAC5B;AAAA,IACF,CAAC;AACD,WAAO,sBAAsB,EAAE,aAAa,KAAK,QAAQ,GAAG,KAAK,CAAC;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,iCAAiC,MAGI;AACzC,UAAM,wBAAwB;AAAA,MAC5B,QAAQ,KAAK;AAAA,MACb,sBAAsB,MAAM;AAAA,MAC5B;AAAA,IACF,CAAC;AACD,WAAO,iCAAiC,EAAE,aAAa,KAAK,QAAQ,GAAG,KAAK,CAAC;AAAA,EAC/E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAM,8BAA8B,MAIe;AACjD,UAAM,wBAAwB;AAAA,MAC5B,QAAQ,KAAK;AAAA,MACb,sBAAsB,MAAM;AAAA,MAC5B;AAAA,IACF,CAAC;AACD,WAAO,8BAA8B,EAAE,aAAa,KAAK,QAAQ,GAAG,KAAK,CAAC;AAAA,EAC5E;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/staking.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n getDelegatedStakingActivities,\n getNumberOfDelegators,\n getNumberOfDelegatorsForAllPools,\n} from \"../internal/staking\";\nimport { AnyNumber, GetDelegatedStakingActivitiesResponse, GetNumberOfDelegatorsResponse, OrderByArg } from \"../types\";\nimport { AccountAddressInput } from \"../core\";\nimport { ProcessorType } from \"../utils/const\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexerOnVersion } from \"./utils\";\n\n/**\n * A class to query all `Staking` related queries on Aptos.\n */\nexport class Staking {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Queries current number of delegators in a pool. Throws an error if the pool is not found.\n *\n * @example\n * const delegators = await aptos.getNumberOfDelegators({poolAddress:\"0x123\"})\n *\n * @param args.poolAddress Pool address\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns The number of delegators for the given pool\n */\n async getNumberOfDelegators(args: {\n poolAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<number> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorType: ProcessorType.STAKE_PROCESSOR,\n });\n return getNumberOfDelegators({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries current number of delegators in a pool. Throws an error if the pool is not found.\n *\n * @example\n * const delegators = await aptos.getNumberOfDelegatorsForAllPools()\n *\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetNumberOfDelegatorsForAllPoolsResponse response type\n */\n async getNumberOfDelegatorsForAllPools(args?: {\n minimumLedgerVersion?: AnyNumber;\n options?: OrderByArg<GetNumberOfDelegatorsResponse[0]>;\n }): Promise<GetNumberOfDelegatorsResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorType: ProcessorType.STAKE_PROCESSOR,\n });\n return getNumberOfDelegatorsForAllPools({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries delegated staking activities\n *\n * @example\n * const delegators = await aptos.getDelegatedStakingActivities({delegatorAddress:\"0x123\",poolAddress:\"0x456\"})\n *\n * @param args.delegatorAddress Delegator address\n * @param args.poolAddress Pool address\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetDelegatedStakingActivitiesResponse response type\n */\n async getDelegatedStakingActivities(args: {\n delegatorAddress: AccountAddressInput;\n poolAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<GetDelegatedStakingActivitiesResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args?.minimumLedgerVersion,\n processorType: ProcessorType.STAKE_PROCESSOR,\n });\n return getDelegatedStakingActivities({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"gGAiBO,IAAMA,EAAN,KAAc,CACnB,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CAY3C,MAAM,sBAAsBC,EAGR,CAClB,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,+BACF,CAAC,EACME,EAAsB,CAAE,YAAa,KAAK,OAAQ,GAAGF,CAAK,CAAC,CACpE,CAWA,MAAM,iCAAiCA,EAGI,CACzC,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,+BACF,CAAC,EACMG,EAAiC,CAAE,YAAa,KAAK,OAAQ,GAAGH,CAAK,CAAC,CAC/E,CAaA,MAAM,8BAA8BA,EAIe,CACjD,aAAMC,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBD,GAAM,qBAC5B,+BACF,CAAC,EACMI,EAA8B,CAAE,YAAa,KAAK,OAAQ,GAAGJ,CAAK,CAAC,CAC5E,CACF","names":["Staking","config","args","waitForIndexerOnVersion","getNumberOfDelegators","getNumberOfDelegatorsForAllPools","getDelegatedStakingActivities"]}
@@ -0,0 +1,2 @@
1
+ import{a as M,c as en,d as an,e as N}from"./chunk-CS7B3FVO.mjs";import{q as tn,t as f}from"./chunk-TICM455H.mjs";import{a as Y}from"./chunk-2HD2G4AH.mjs";import{a as y}from"./chunk-5XOFEQWC.mjs";import{a as L}from"./chunk-CB6CNNM2.mjs";import{a as Z}from"./chunk-HYU23YVP.mjs";import{a as H,c as X,d as z}from"./chunk-2ECWQRBB.mjs";import{c as K,d as k,e as O,f as B,g as V,h as q,i as v}from"./chunk-H62IKYXG.mjs";import{a as _}from"./chunk-MWUJCP27.mjs";import{b as E,d as F,e as D,f as R}from"./chunk-3S3GIUQY.mjs";import{a as W,b as w,d as m}from"./chunk-HYDDIAJ6.mjs";import{b as nn}from"./chunk-P7JMD7KZ.mjs";import{a as Q}from"./chunk-AH44UPM4.mjs";import{a as J}from"./chunk-ZKRG4C4U.mjs";import{a as x,b as l}from"./chunk-YV7OBLK2.mjs";import{a as S,c as U}from"./chunk-3CUVYW32.mjs";import{i as b}from"./chunk-PGCBIU33.mjs";import{a as P,c as g}from"./chunk-SI7MPP6G.mjs";import{b as u}from"./chunk-T23OVRNF.mjs";import{a as j}from"./chunk-UTXJOB3O.mjs";import{b as I}from"./chunk-AOCNYMMX.mjs";import{g as $}from"./chunk-JM544NRW.mjs";import{b as G,c as C}from"./chunk-YE5B2S5L.mjs";import{sha3_256 as dn}from"@noble/hashes/sha3";async function kn(t){if(tn(t))return yn(t);let{moduleAddress:n,moduleName:e,functionName:i}=f(t.function),a=await on({key:"entry-function",moduleAddress:n,moduleName:e,functionName:i,aptosConfig:t.aptosConfig,abi:t.abi,fetch:en});return An({...t,abi:a})}function An(t){let n=t.abi,{moduleAddress:e,moduleName:i,functionName:a}=f(t.function),r=M(t.typeArguments);if(r.length!==n.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${n.typeParameters.length}, received ${r.length}`);let o=t.functionArguments.map((s,d)=>N(t.function,n,s,d,r));if(o.length!==n.parameters.length)throw new Error(`Too few arguments for '${e}::${i}::${a}', expected ${n.parameters.length} but got ${o.length}`);let c=B.build(`${e}::${i}`,a,r,o);if("multisigAddress"in t){let s=u.from(t.multisigAddress);return new O(new q(s,new v(c)))}return new k(c)}async function On(t){let{moduleAddress:n,moduleName:e,functionName:i}=f(t.function),a=await on({key:"view-function",moduleAddress:n,moduleName:e,functionName:i,aptosConfig:t.aptosConfig,abi:t.abi,fetch:an});return mn({abi:a,...t})}function mn(t){let n=t.abi,{moduleAddress:e,moduleName:i,functionName:a}=f(t.function),r=M(t.typeArguments);if(r.length!==n.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${n.typeParameters.length}, received ${r.length}`);let o=t?.functionArguments?.map((c,s)=>N(t.function,n,c,s,r))??[];if(o.length!==n.parameters.length)throw new Error(`Too few arguments for '${e}::${i}::${a}', expected ${n.parameters.length} but got ${o.length}`);return B.build(`${e}::${i}`,a,r,o)}function yn(t){return new K(new V(I.fromHexInput(t.bytecode).toUint8Array(),t.typeArguments??[],t.functionArguments))}async function fn(t){let{aptosConfig:n,sender:e,payload:i,options:a,feePayerAddress:r}=t,o=async()=>$[n.network]?{chainId:$[n.network]}:{chainId:(await J({aptosConfig:n})).chain_id},c=async()=>a?.gasUnitPrice?{gasEstimate:a.gasUnitPrice}:{gasEstimate:(await nn({aptosConfig:n})).gas_estimate},s=async()=>{let p=async()=>a?.accountSequenceNumber!==void 0?a.accountSequenceNumber:(await Y({aptosConfig:n,accountAddress:e})).sequence_number;if(r&&u.from(r).equals(u.ZERO))try{return await p()}catch{return 0}else return p()},[{chainId:d},{gasEstimate:A},h]=await Promise.all([o(),c(),s()]),{maxGasAmount:sn,gasUnitPrice:cn,expireTimestamp:un}={maxGasAmount:a?.maxGasAmount?BigInt(a.maxGasAmount):BigInt(2e5),gasUnitPrice:a?.gasUnitPrice??BigInt(A),expireTimestamp:a?.expireTimestamp??BigInt(Math.floor(Date.now()/1e3)+20)};return new H(u.from(e),BigInt(h),i,BigInt(sn),BigInt(cn),BigInt(un),new _(d))}async function Vn(t){let{aptosConfig:n,sender:e,payload:i,options:a,feePayerAddress:r}=t,o=await fn({aptosConfig:n,sender:e,payload:i,options:a,feePayerAddress:r});if("secondarySignerAddresses"in t){let c=t.secondarySignerAddresses?.map(s=>u.from(s))??[];return new Z(o,c,t.feePayerAddress?u.from(t.feePayerAddress):void 0)}return new L(o,t.feePayerAddress?u.from(t.feePayerAddress):void 0)}function qn(t){let{signerPublicKey:n,transaction:e,secondarySignersPublicKeys:i,feePayerPublicKey:a}=t,r=T(n);if(e.feePayerAddress){let c=new z(e.rawTransaction,e.secondarySignerAddresses??[],e.feePayerAddress),s=[];i&&(s=i.map(h=>T(h)));let d=T(a),A=new D(r,e.secondarySignerAddresses??[],s,{address:e.feePayerAddress,authenticator:d});return new y(c.raw_txn,A).bcsToBytes()}if(e.secondarySignerAddresses){let c=new X(e.rawTransaction,e.secondarySignerAddresses),s=[];s=i.map(A=>T(A));let d=new F(r,e.secondarySignerAddresses,s);return new y(c.raw_txn,d).bcsToBytes()}let o;if(r instanceof w)o=new E(r.public_key,r.signature);else if(r instanceof m)o=new R(r);else throw new Error("Invalid public key");return new y(e.rawTransaction,o).bcsToBytes()}function T(t){let n=t;if((n instanceof b||n instanceof S)&&(n=new x(n)),n instanceof x){if(n.publicKey instanceof P)return new m(n,new l(new g(new Uint8Array(64))));if(n.publicKey instanceof S)return new m(n,new l(new U(new Uint8Array(64))));if(n.publicKey instanceof b)return new m(n,new l(new g(new Uint8Array(64))))}return new w(new P(n.toUint8Array()),new g(new Uint8Array(64)))}function pn(t){let{transaction:n,feePayerAuthenticator:e,additionalSignersAuthenticators:i}=t,a=j(W,t.senderAuthenticator),r;if(n.feePayerAddress){if(!e)throw new Error("Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction");r=new D(a,n.secondarySignerAddresses??[],i??[],{address:n.feePayerAddress,authenticator:e})}else if(n.secondarySignerAddresses){if(!i)throw new Error("Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction");r=new F(a,n.secondarySignerAddresses,i)}else a instanceof w?r=new E(a.public_key,a.signature):r=new R(a);return new y(n.rawTransaction,r).bcsToBytes()}function rn(t){let n=dn.create();for(let e of t)n.update(e);return n.digest()}var gn=rn(["APTOS::Transaction"]);function vn(t){let n=pn(t);return new I(rn([gn,new Uint8Array([0]),n])).toString()}async function on({key:t,moduleAddress:n,moduleName:e,functionName:i,aptosConfig:a,abi:r,fetch:o}){return r!==void 0?r:Q(async()=>o(n,e,i,a),`${t}-${a.network}-${n}-${e}-${i}`,1e3*60*5)()}export{kn as a,An as b,On as c,mn as d,fn as e,Vn as f,qn as g,T as h,pn as i,rn as j,vn as k};
2
+ //# sourceMappingURL=chunk-PYUWGGAW.mjs.map
@@ -0,0 +1 @@
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 {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n Secp256k1PublicKey,\n Secp256k1Signature,\n} from \"../../core/crypto\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"../../core/crypto/ed25519\";\nimport { getInfo } from \"../../internal/account\";\nimport { getLedgerInfo } from \"../../internal/general\";\nimport { getGasPriceEstimation } from \"../../internal/transaction\";\nimport { NetworkToChainId } from \"../../utils/apiEndpoints\";\nimport { DEFAULT_MAX_GAS_AMOUNT, DEFAULT_TXN_EXP_SEC_FROM_NOW } from \"../../utils/const\";\nimport { normalizeBundle } from \"../../utils/normalizeBundle\";\nimport {\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n AccountAuthenticatorSingleKey,\n} from \"../authenticator/account\";\nimport {\n TransactionAuthenticator,\n TransactionAuthenticatorEd25519,\n TransactionAuthenticatorFeePayer,\n TransactionAuthenticatorMultiAgent,\n TransactionAuthenticatorSingleSender,\n} from \"../authenticator/transaction\";\nimport {\n ChainId,\n EntryFunction,\n FeePayerRawTransaction,\n MultiAgentRawTransaction,\n MultiSig,\n MultiSigTransactionPayload,\n RawTransaction,\n Script,\n TransactionPayloadEntryFunction,\n TransactionPayloadMultiSig,\n TransactionPayloadScript,\n} from \"../instances\";\nimport { SignedTransaction } from \"../instances/signedTransaction\";\nimport {\n AnyRawTransaction,\n AnyTransactionPayloadInstance,\n EntryFunctionArgumentTypes,\n InputGenerateMultiAgentRawTransactionArgs,\n InputGenerateRawTransactionArgs,\n InputGenerateSingleSignerRawTransactionArgs,\n InputGenerateTransactionOptions,\n InputScriptData,\n InputSimulateTransactionData,\n InputMultiSigDataWithRemoteABI,\n InputEntryFunctionDataWithRemoteABI,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n InputGenerateTransactionPayloadDataWithABI,\n InputEntryFunctionDataWithABI,\n InputMultiSigDataWithABI,\n InputViewFunctionDataWithRemoteABI,\n InputViewFunctionDataWithABI,\n FunctionABI,\n} from \"../types\";\nimport { convertArgument, fetchEntryFunctionAbi, fetchViewFunctionAbi, standardizeTypeTags } from \"./remoteAbi\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { getFunctionParts, isScriptDataInput } from \"./helpers\";\nimport { SimpleTransaction } from \"../instances/simpleTransaction\";\nimport { MultiAgentTransaction } from \"../instances/multiAgentTransaction\";\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransactionPayload` function.\n * When we call our `generateTransactionPayload` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function generateTransactionPayload(args: InputScriptData): Promise<TransactionPayloadScript>;\nexport async function generateTransactionPayload(\n args: InputEntryFunctionDataWithRemoteABI,\n): Promise<TransactionPayloadEntryFunction>;\nexport async function generateTransactionPayload(\n args: InputMultiSigDataWithRemoteABI,\n): Promise<TransactionPayloadMultiSig>;\n\n/**\n * Builds a transaction payload based on the data argument and returns\n * a transaction payload - TransactionPayloadScript | TransactionPayloadMultiSig | TransactionPayloadEntryFunction\n *\n * This uses the RemoteABI by default, and the remote ABI can be skipped by using generateTransactionPayloadWithABI\n *\n * @param args.data GenerateTransactionPayloadData\n *\n * @return TransactionPayload\n */\nexport async function generateTransactionPayload(\n args: InputGenerateTransactionPayloadDataWithRemoteABI,\n): Promise<AnyTransactionPayloadInstance> {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n const functionAbi = await fetchAbi({\n key: \"entry-function\",\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig: args.aptosConfig,\n abi: args.abi,\n fetch: fetchEntryFunctionAbi,\n });\n\n // Fill in the ABI\n return generateTransactionPayloadWithABI({ ...args, abi: functionAbi });\n}\n\nexport function generateTransactionPayloadWithABI(args: InputEntryFunctionDataWithABI): TransactionPayloadEntryFunction;\nexport function generateTransactionPayloadWithABI(args: InputMultiSigDataWithABI): TransactionPayloadMultiSig;\nexport function generateTransactionPayloadWithABI(\n args: InputGenerateTransactionPayloadDataWithABI,\n): AnyTransactionPayloadInstance {\n const functionAbi = args.abi;\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> = args.functionArguments.map((arg, i) =>\n convertArgument(args.function, functionAbi, arg, i, typeArguments),\n );\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n const entryFunctionPayload = EntryFunction.build(\n `${moduleAddress}::${moduleName}`,\n functionName,\n typeArguments,\n functionArguments,\n );\n\n // Send it as multi sig if it's a multisig payload\n if (\"multisigAddress\" in args) {\n const multisigAddress = AccountAddress.from(args.multisigAddress);\n return new TransactionPayloadMultiSig(\n new MultiSig(multisigAddress, new MultiSigTransactionPayload(entryFunctionPayload)),\n );\n }\n\n // Otherwise send as an entry function\n return new TransactionPayloadEntryFunction(entryFunctionPayload);\n}\n\nexport async function generateViewFunctionPayload(args: InputViewFunctionDataWithRemoteABI): Promise<EntryFunction> {\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n const functionAbi = await fetchAbi({\n key: \"view-function\",\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig: args.aptosConfig,\n abi: args.abi,\n fetch: fetchViewFunctionAbi,\n });\n\n // Fill in the ABI\n return generateViewFunctionPayloadWithABI({ abi: functionAbi, ...args });\n}\n\nexport function generateViewFunctionPayloadWithABI(args: InputViewFunctionDataWithABI): EntryFunction {\n const functionAbi = args.abi;\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> =\n args?.functionArguments?.map((arg, i) => convertArgument(args.function, functionAbi, arg, i, typeArguments)) ?? [];\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n return EntryFunction.build(`${moduleAddress}::${moduleName}`, functionName, typeArguments, functionArguments);\n}\n\nfunction generateTransactionPayloadScript(args: InputScriptData) {\n return new TransactionPayloadScript(\n new Script(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 = async () => {\n if (NetworkToChainId[aptosConfig.network]) {\n return { chainId: NetworkToChainId[aptosConfig.network] };\n }\n const info = await getLedgerInfo({ aptosConfig });\n return { chainId: info.chain_id };\n };\n\n const getGasUnitPrice = async () => {\n if (options?.gasUnitPrice) {\n return { gasEstimate: options.gasUnitPrice };\n }\n const estimation = await getGasPriceEstimation({ aptosConfig });\n return { gasEstimate: estimation.gas_estimate };\n };\n\n const getSequenceNumberForAny = async () => {\n const getSequenceNumber = async () => {\n if (options?.accountSequenceNumber !== undefined) {\n return options.accountSequenceNumber;\n }\n\n return (await getInfo({ aptosConfig, accountAddress: sender })).sequence_number;\n };\n\n /**\n * Check if is sponsored transaction to honor AIP-52\n * {@link https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-52.md}\n */\n if (feePayerAddress && AccountAddress.from(feePayerAddress).equals(AccountAddress.ZERO)) {\n // Handle sponsored transaction generation with the option that\n // the main signer has not been created on chain\n try {\n // Check if main signer has been created on chain, if not assign sequence number 0\n return await getSequenceNumber();\n } catch (e: any) {\n return 0;\n }\n } else {\n return getSequenceNumber();\n }\n };\n const [{ chainId }, { gasEstimate }, sequenceNumber] = await Promise.all([\n getChainId(),\n getGasUnitPrice(),\n getSequenceNumberForAny(),\n ]);\n\n const { maxGasAmount, gasUnitPrice, expireTimestamp } = {\n maxGasAmount: options?.maxGasAmount ? BigInt(options.maxGasAmount) : BigInt(DEFAULT_MAX_GAS_AMOUNT),\n gasUnitPrice: options?.gasUnitPrice ?? BigInt(gasEstimate),\n expireTimestamp: options?.expireTimestamp ?? BigInt(Math.floor(Date.now() / 1000) + DEFAULT_TXN_EXP_SEC_FROM_NOW),\n };\n\n return new RawTransaction(\n AccountAddress.from(sender),\n BigInt(sequenceNumber),\n payload,\n BigInt(maxGasAmount),\n BigInt(gasUnitPrice),\n BigInt(expireTimestamp),\n new ChainId(chainId),\n );\n}\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransaction` function.\n * When we call our `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function buildTransaction(args: InputGenerateSingleSignerRawTransactionArgs): Promise<SimpleTransaction>;\nexport async function buildTransaction(args: InputGenerateMultiAgentRawTransactionArgs): Promise<MultiAgentTransaction>;\n\n/**\n * Generates a transaction based on the provided arguments\n *\n * Note: we can start with one function to support all different payload/transaction types,\n * and if to complex to use, we could have function for each type\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n * @param args.options optional. Transaction options object\n * @param args.secondarySignerAddresses optional. For when want to create a multi signers transaction\n * @param args.feePayerAddress optional. For when want to create a fee payer (aka sponsored) transaction\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function buildTransaction(args: InputGenerateRawTransactionArgs): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, payload, options, feePayerAddress } = args;\n // generate raw transaction\n const rawTxn = await generateRawTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n feePayerAddress,\n });\n\n // if multi agent transaction\n if (\"secondarySignerAddresses\" in args) {\n const signers: Array<AccountAddress> =\n args.secondarySignerAddresses?.map((signer) => AccountAddress.from(signer)) ?? [];\n\n return new MultiAgentTransaction(\n rawTxn,\n signers,\n args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined,\n );\n }\n // return the raw transaction\n return new SimpleTransaction(rawTxn, args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined);\n}\n\n/**\n * Simulate a transaction before signing and submit to chain\n *\n * @param args.transaction A aptos transaction type to sign\n * @param args.signerPublicKey The signer public key\n * @param args.secondarySignersPublicKeys optional. The secondary signers public keys if multi signers transaction\n * @param args.feePayerPublicKey optional. The fee payer public key is a fee payer (aka sponsored) transaction\n * @param args.options optional. SimulateTransactionOptions\n *\n * @returns A signed serialized transaction that can be simulated\n */\nexport function generateSignedTransactionForSimulation(args: InputSimulateTransactionData): Uint8Array {\n const { signerPublicKey, transaction, secondarySignersPublicKeys, feePayerPublicKey } = args;\n\n const accountAuthenticator = getAuthenticatorForSimulation(signerPublicKey);\n\n // fee payer transaction\n if (transaction.feePayerAddress) {\n const transactionToSign = new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n if (secondarySignersPublicKeys) {\n secondaryAccountAuthenticators = secondarySignersPublicKeys.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n }\n const feePayerAuthenticator = getAuthenticatorForSimulation(feePayerPublicKey!);\n\n const transactionAuthenticator = new TransactionAuthenticatorFeePayer(\n accountAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n secondaryAccountAuthenticators,\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // multi agent transaction\n if (transaction.secondarySignerAddresses) {\n const transactionToSign = new MultiAgentRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses,\n );\n\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n\n secondaryAccountAuthenticators = secondarySignersPublicKeys!.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n\n const transactionAuthenticator = new TransactionAuthenticatorMultiAgent(\n accountAuthenticator,\n transaction.secondarySignerAddresses,\n secondaryAccountAuthenticators,\n );\n\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // single signer raw transaction\n let transactionAuthenticator;\n if (accountAuthenticator instanceof AccountAuthenticatorEd25519) {\n transactionAuthenticator = new TransactionAuthenticatorEd25519(\n accountAuthenticator.public_key,\n accountAuthenticator.signature,\n );\n } else if (accountAuthenticator instanceof AccountAuthenticatorSingleKey) {\n transactionAuthenticator = new TransactionAuthenticatorSingleSender(accountAuthenticator);\n } else {\n throw new Error(\"Invalid public key\");\n }\n return new SignedTransaction(transaction.rawTransaction, transactionAuthenticator).bcsToBytes();\n}\n\nexport function getAuthenticatorForSimulation(pk: PublicKey) {\n let publicKey = pk;\n if (publicKey instanceof KeylessPublicKey || publicKey instanceof Secp256k1PublicKey) {\n publicKey = new AnyPublicKey(publicKey);\n }\n\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 if (publicKey.publicKey instanceof KeylessPublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Ed25519Signature(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 * Prepare a transaction to be submitted to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @returns A SignedTransaction\n */\nexport function generateSignedTransaction(args: InputSubmitTransactionData): Uint8Array {\n const { transaction, feePayerAuthenticator, additionalSignersAuthenticators } = args;\n const senderAuthenticator = normalizeBundle(AccountAuthenticator, args.senderAuthenticator);\n\n let txnAuthenticator: TransactionAuthenticator;\n if (transaction.feePayerAddress) {\n if (!feePayerAuthenticator) {\n throw new Error(\"Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction\");\n }\n txnAuthenticator = new TransactionAuthenticatorFeePayer(\n senderAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n additionalSignersAuthenticators ?? [],\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n } else if (transaction.secondarySignerAddresses) {\n if (!additionalSignersAuthenticators) {\n throw new Error(\n \"Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction\",\n );\n }\n txnAuthenticator = new TransactionAuthenticatorMultiAgent(\n senderAuthenticator,\n transaction.secondarySignerAddresses,\n additionalSignersAuthenticators,\n );\n } else if (senderAuthenticator instanceof AccountAuthenticatorEd25519) {\n txnAuthenticator = new TransactionAuthenticatorEd25519(\n senderAuthenticator.public_key,\n senderAuthenticator.signature,\n );\n } else {\n txnAuthenticator = new TransactionAuthenticatorSingleSender(senderAuthenticator);\n }\n\n return new SignedTransaction(transaction.rawTransaction, txnAuthenticator).bcsToBytes();\n}\n\n/**\n * Hashes the set of values with a SHA-3 256 hash\n * @param input array of UTF-8 strings or Uint8array byte arrays\n */\nexport function hashValues(input: (Uint8Array | string)[]): Uint8Array {\n const hash = sha3Hash.create();\n for (const item of input) {\n hash.update(item);\n }\n return hash.digest();\n}\n\n/**\n * The domain separated prefix for hashing transacitons\n */\nconst TRANSACTION_PREFIX = hashValues([\"APTOS::Transaction\"]);\n\n/**\n * Generates a user transaction hash for the given transaction payload. It must already have an authenticator\n * @param args InputSubmitTransactionData\n */\nexport function generateUserTransactionHash(args: InputSubmitTransactionData): string {\n const signedTransaction = generateSignedTransaction(args);\n\n // Transaction signature is defined as, the domain separated prefix based on struct (Transaction)\n // Then followed by the type of the transaction for the enum, UserTransaction is 0\n // Then followed by BCS encoded bytes of the signed transaction\n return new Hex(hashValues([TRANSACTION_PREFIX, new Uint8Array([0]), signedTransaction])).toString();\n}\n\n/**\n * Fetches and caches ABIs with allowing for pass-through on provided ABIs\n * @param key\n * @param moduleAddress\n * @param moduleName\n * @param functionName\n * @param aptosConfig\n * @param abi\n * @param fetch\n */\nasync function fetchAbi<T extends FunctionABI>({\n key,\n moduleAddress,\n moduleName,\n functionName,\n aptosConfig,\n abi,\n fetch,\n}: {\n key: string;\n moduleAddress: string;\n moduleName: string;\n functionName: string;\n aptosConfig: AptosConfig;\n abi?: T;\n fetch: (moduleAddress: string, moduleName: string, functionName: string, aptosConfig: AptosConfig) => Promise<T>;\n}): Promise<T> {\n if (abi !== undefined) {\n return abi;\n }\n\n // We fetch the entry function ABI, and then pretend that we already had the ABI\n return memoizeAsync(\n async () => fetch(moduleAddress, moduleName, functionName, aptosConfig),\n `${key}-${aptosConfig.network}-${moduleAddress}-${moduleName}-${functionName}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n}\n"],"mappings":"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","names":["sha3Hash","generateTransactionPayload","args","isScriptDataInput","generateTransactionPayloadScript","moduleAddress","moduleName","functionName","getFunctionParts","functionAbi","fetchAbi","fetchEntryFunctionAbi","generateTransactionPayloadWithABI","typeArguments","standardizeTypeTags","functionArguments","arg","i","convertArgument","entryFunctionPayload","EntryFunction","multisigAddress","AccountAddress","TransactionPayloadMultiSig","MultiSig","MultiSigTransactionPayload","TransactionPayloadEntryFunction","generateViewFunctionPayload","fetchViewFunctionAbi","generateViewFunctionPayloadWithABI","TransactionPayloadScript","Script","Hex","generateRawTransaction","aptosConfig","sender","payload","options","feePayerAddress","getChainId","NetworkToChainId","getLedgerInfo","getGasUnitPrice","getGasPriceEstimation","getSequenceNumberForAny","getSequenceNumber","getInfo","chainId","gasEstimate","sequenceNumber","maxGasAmount","gasUnitPrice","expireTimestamp","RawTransaction","ChainId","buildTransaction","rawTxn","signers","signer","MultiAgentTransaction","SimpleTransaction","generateSignedTransactionForSimulation","signerPublicKey","transaction","secondarySignersPublicKeys","feePayerPublicKey","accountAuthenticator","getAuthenticatorForSimulation","transactionToSign","FeePayerRawTransaction","secondaryAccountAuthenticators","publicKey","feePayerAuthenticator","transactionAuthenticator","TransactionAuthenticatorFeePayer","SignedTransaction","MultiAgentRawTransaction","TransactionAuthenticatorMultiAgent","AccountAuthenticatorEd25519","TransactionAuthenticatorEd25519","AccountAuthenticatorSingleKey","TransactionAuthenticatorSingleSender","pk","KeylessPublicKey","Secp256k1PublicKey","AnyPublicKey","Ed25519PublicKey","AnySignature","Ed25519Signature","Secp256k1Signature","generateSignedTransaction","additionalSignersAuthenticators","senderAuthenticator","normalizeBundle","AccountAuthenticator","txnAuthenticator","hashValues","input","hash","sha3Hash","item","TRANSACTION_PREFIX","generateUserTransactionHash","signedTransaction","key","abi","fetch","memoizeAsync"]}
@@ -0,0 +1,2 @@
1
+ import{a as n,b as s,c as r,d as i,e as o,f as a,g as c,h as p,i as d,j as g,k as u,l as A,m as y,n as l,o as m,p as T,q as f,r as I,s as C,t as O,u as P,v as D}from"./chunk-7XYECSW6.mjs";import{a as e}from"./chunk-TE3WIJ26.mjs";var V=class{constructor(t){this.config=t}async getCollectionData(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),a({aptosConfig:this.config,...t})}async getCollectionDataByCollectionId(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),c({aptosConfig:this.config,...t})}async getCollectionId(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),p({aptosConfig:this.config,...t})}async getDigitalAssetData(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),n({aptosConfig:this.config,...t})}async getCurrentDigitalAssetOwnership(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),s({aptosConfig:this.config,...t})}async getOwnedDigitalAssets(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),r({aptosConfig:this.config,...t})}async getDigitalAssetActivity(t){return await e({config:this.config,minimumLedgerVersion:t.minimumLedgerVersion,processorType:"token_v2_processor"}),i({aptosConfig:this.config,...t})}async createCollectionTransaction(t){return o({aptosConfig:this.config,...t})}async mintDigitalAssetTransaction(t){return d({aptosConfig:this.config,...t})}async transferDigitalAssetTransaction(t){return g({aptosConfig:this.config,...t})}async mintSoulBoundTransaction(t){return u({aptosConfig:this.config,...t})}async burnDigitalAssetTransaction(t){return A({aptosConfig:this.config,...t})}async freezeDigitalAssetTransaferTransaction(t){return y({aptosConfig:this.config,...t})}async unfreezeDigitalAssetTransaferTransaction(t){return l({aptosConfig:this.config,...t})}async setDigitalAssetDescriptionTransaction(t){return m({aptosConfig:this.config,...t})}async setDigitalAssetNameTransaction(t){return T({aptosConfig:this.config,...t})}async setDigitalAssetURITransaction(t){return f({aptosConfig:this.config,...t})}async addDigitalAssetPropertyTransaction(t){return I({aptosConfig:this.config,...t})}async removeDigitalAssetPropertyTransaction(t){return C({aptosConfig:this.config,...t})}async updateDigitalAssetPropertyTransaction(t){return O({aptosConfig:this.config,...t})}async addDigitalAssetTypedPropertyTransaction(t){return P({aptosConfig:this.config,...t})}async updateDigitalAssetTypedPropertyTransaction(t){return D({aptosConfig:this.config,...t})}};export{V as a};
2
+ //# sourceMappingURL=chunk-R52BRP36.mjs.map