@aptos-labs/ts-sdk 1.13.3 → 1.14.0-zeta.1

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 (601) hide show
  1. package/dist/common/accountAddress-u9wEan9p.d.ts +2149 -0
  2. package/dist/common/chunk-QRI7EC4T.js +24 -0
  3. package/dist/common/chunk-QRI7EC4T.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +94 -1
  5. package/dist/common/cli/index.js +245 -1
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +2699 -4119
  8. package/dist/common/index.js +11786 -374
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/{Ed25519Account--qjfup2u.d.mts → Ed25519Account-9zBaZEnp.d.mts} +76 -9
  11. package/dist/esm/account/Account.d.mts +34 -0
  12. package/dist/esm/account/Account.mjs +56 -0
  13. package/dist/esm/account/Ed25519Account.d.mts +34 -0
  14. package/dist/esm/account/Ed25519Account.mjs +54 -0
  15. package/dist/esm/account/EphemeralKeyPair.d.mts +80 -0
  16. package/dist/esm/account/EphemeralKeyPair.mjs +37 -0
  17. package/dist/esm/account/KeylessAccount.d.mts +145 -0
  18. package/dist/esm/account/KeylessAccount.mjs +57 -0
  19. package/dist/esm/account/MultiKeyAccount.d.mts +138 -0
  20. package/dist/esm/account/MultiKeyAccount.mjs +56 -0
  21. package/dist/esm/account/SingleKeyAccount.d.mts +34 -0
  22. package/dist/esm/account/SingleKeyAccount.mjs +54 -0
  23. package/dist/esm/account/index.d.mts +41 -0
  24. package/dist/esm/account/index.mjs +77 -0
  25. package/dist/esm/api/account.d.mts +13 -1
  26. package/dist/esm/api/account.mjs +76 -1
  27. package/dist/esm/api/ans.d.mts +2 -2
  28. package/dist/esm/api/ans.mjs +87 -1
  29. package/dist/esm/api/aptos.d.mts +15 -8
  30. package/dist/esm/api/aptos.mjs +116 -1
  31. package/dist/esm/api/aptosConfig.d.mts +20 -0
  32. package/dist/esm/api/aptosConfig.mjs +9 -1
  33. package/dist/esm/api/coin.d.mts +7 -7
  34. package/dist/esm/api/coin.mjs +86 -1
  35. package/dist/esm/api/digitalAsset.d.mts +1 -1
  36. package/dist/esm/api/digitalAsset.mjs +87 -1
  37. package/dist/esm/api/event.mjs +54 -1
  38. package/dist/esm/api/faucet.mjs +53 -1
  39. package/dist/esm/api/fungibleAsset.d.mts +5 -5
  40. package/dist/esm/api/fungibleAsset.mjs +87 -1
  41. package/dist/esm/api/general.d.mts +7 -7
  42. package/dist/esm/api/general.mjs +84 -1
  43. package/dist/esm/api/index.d.mts +14 -8
  44. package/dist/esm/api/index.mjs +120 -1
  45. package/dist/esm/api/keyless.d.mts +81 -0
  46. package/dist/esm/api/keyless.mjs +71 -0
  47. package/dist/esm/api/staking.mjs +54 -1
  48. package/dist/esm/api/transaction.d.mts +1 -1
  49. package/dist/esm/api/transaction.mjs +94 -1
  50. package/dist/esm/api/transactionSubmission/build.d.mts +2 -2
  51. package/dist/esm/api/transactionSubmission/build.mjs +85 -1
  52. package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
  53. package/dist/esm/api/transactionSubmission/management.d.mts +8 -8
  54. package/dist/esm/api/transactionSubmission/management.mjs +89 -1
  55. package/dist/esm/api/transactionSubmission/sign.d.mts +1 -1
  56. package/dist/esm/api/transactionSubmission/sign.mjs +109 -1
  57. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  58. package/dist/esm/api/transactionSubmission/simulate.d.mts +6 -6
  59. package/dist/esm/api/transactionSubmission/simulate.mjs +86 -1
  60. package/dist/esm/api/transactionSubmission/submit.mjs +86 -1
  61. package/dist/esm/api/utils.mjs +34 -1
  62. package/dist/esm/bcs/consts.mjs +17 -1
  63. package/dist/esm/bcs/deserializer.d.mts +26 -0
  64. package/dist/esm/bcs/deserializer.mjs +8 -1
  65. package/dist/esm/bcs/index.mjs +57 -1
  66. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
  67. package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
  68. package/dist/esm/bcs/serializable/movePrimitives.mjs +25 -1
  69. package/dist/esm/bcs/serializable/moveStructs.mjs +18 -1
  70. package/dist/esm/bcs/serializer.d.mts +2 -0
  71. package/dist/esm/bcs/serializer.mjs +18 -1
  72. package/dist/esm/chunk-2JOCR2VL.mjs +32 -0
  73. package/dist/esm/chunk-2JOCR2VL.mjs.map +1 -0
  74. package/dist/esm/chunk-2OQW7BMN.mjs +129 -0
  75. package/dist/esm/{chunk-PZGLV5UQ.mjs.map → chunk-2OQW7BMN.mjs.map} +1 -1
  76. package/dist/esm/chunk-2TJJWII2.mjs +23 -0
  77. package/dist/esm/{chunk-DSTKXJMA.mjs.map → chunk-2TJJWII2.mjs.map} +1 -1
  78. package/dist/esm/chunk-2ZEGJU43.mjs +252 -0
  79. package/dist/esm/chunk-2ZEGJU43.mjs.map +1 -0
  80. package/dist/esm/chunk-4OYYOYSO.mjs +336 -0
  81. package/dist/esm/chunk-4OYYOYSO.mjs.map +1 -0
  82. package/dist/esm/{chunk-S4SEFF4K.mjs → chunk-4PJ5FYGQ.mjs} +302 -27
  83. package/dist/esm/{chunk-S4SEFF4K.mjs.map → chunk-4PJ5FYGQ.mjs.map} +1 -1
  84. package/dist/esm/chunk-55NODGHC.mjs +135 -0
  85. package/dist/esm/chunk-55NODGHC.mjs.map +1 -0
  86. package/dist/esm/chunk-6LRQSBRH.mjs +130 -0
  87. package/dist/esm/chunk-6LRQSBRH.mjs.map +1 -0
  88. package/dist/esm/chunk-6MSZMIFW.mjs +23 -0
  89. package/dist/esm/{chunk-BWFJHFBQ.mjs.map → chunk-6MSZMIFW.mjs.map} +1 -1
  90. package/dist/esm/chunk-76TSTAU4.mjs +120 -0
  91. package/dist/esm/chunk-76TSTAU4.mjs.map +1 -0
  92. package/dist/esm/chunk-7FO3S6IZ.mjs +324 -0
  93. package/dist/esm/{chunk-DMKUAQB7.mjs.map → chunk-7FO3S6IZ.mjs.map} +1 -1
  94. package/dist/esm/chunk-7FUHWL6A.mjs +42 -0
  95. package/dist/esm/{chunk-V3Q2KXJU.mjs.map → chunk-7FUHWL6A.mjs.map} +1 -1
  96. package/dist/esm/chunk-7IDBB4J4.mjs +33 -0
  97. package/dist/esm/{chunk-ZZZZVONX.mjs.map → chunk-7IDBB4J4.mjs.map} +1 -1
  98. package/dist/esm/chunk-7JRMOHBP.mjs +247 -0
  99. package/dist/esm/chunk-7JRMOHBP.mjs.map +1 -0
  100. package/dist/esm/chunk-7REUIYF4.mjs +63 -0
  101. package/dist/esm/chunk-7REUIYF4.mjs.map +1 -0
  102. package/dist/esm/chunk-7Z6DYLCA.mjs +1 -0
  103. package/dist/esm/chunk-7Z6DYLCA.mjs.map +1 -0
  104. package/dist/esm/chunk-AC3OGAL6.mjs +87 -0
  105. package/dist/esm/{chunk-U6Z4FNB7.mjs.map → chunk-AC3OGAL6.mjs.map} +1 -1
  106. package/dist/esm/chunk-AQ4I7VVB.mjs +1 -0
  107. package/dist/esm/chunk-AQ4I7VVB.mjs.map +1 -0
  108. package/dist/esm/chunk-AR7X6GWQ.mjs +356 -0
  109. package/dist/esm/{chunk-FS3NSGBF.mjs.map → chunk-AR7X6GWQ.mjs.map} +1 -1
  110. package/dist/esm/chunk-ASF2VWOX.mjs +142 -0
  111. package/dist/esm/{chunk-G2O323HP.mjs.map → chunk-ASF2VWOX.mjs.map} +1 -1
  112. package/dist/esm/chunk-ATVFVXR6.mjs +43 -0
  113. package/dist/esm/{chunk-VVIG4E7Q.mjs.map → chunk-ATVFVXR6.mjs.map} +1 -1
  114. package/dist/esm/chunk-B5S6DDUD.mjs +120 -0
  115. package/dist/esm/chunk-B5S6DDUD.mjs.map +1 -0
  116. package/dist/esm/chunk-BXMHDQHW.mjs +512 -0
  117. package/dist/esm/chunk-BXMHDQHW.mjs.map +1 -0
  118. package/dist/esm/chunk-CC4DQ6NH.mjs +19 -0
  119. package/dist/esm/{chunk-MACC2BLE.mjs.map → chunk-CC4DQ6NH.mjs.map} +1 -1
  120. package/dist/esm/chunk-CMNJG4NN.mjs +345 -0
  121. package/dist/esm/{chunk-IOSQVDZI.mjs.map → chunk-CMNJG4NN.mjs.map} +1 -1
  122. package/dist/esm/chunk-CTJSZT5V.mjs +87 -0
  123. package/dist/esm/{chunk-UFT7US42.mjs.map → chunk-CTJSZT5V.mjs.map} +1 -1
  124. package/dist/esm/chunk-CX3NAVRD.mjs +205 -0
  125. package/dist/esm/chunk-CX3NAVRD.mjs.map +1 -0
  126. package/dist/esm/chunk-CXUGZXED.mjs +307 -0
  127. package/dist/esm/{chunk-YU3KB3UV.mjs.map → chunk-CXUGZXED.mjs.map} +1 -1
  128. package/dist/esm/chunk-D2BVBXWO.mjs +7 -0
  129. package/dist/esm/{chunk-B7TQGVGL.mjs.map → chunk-D2BVBXWO.mjs.map} +1 -1
  130. package/dist/esm/chunk-DGV7DYU4.mjs +413 -0
  131. package/dist/esm/chunk-DGV7DYU4.mjs.map +1 -0
  132. package/dist/esm/chunk-DIYZRGR6.mjs +242 -0
  133. package/dist/esm/{chunk-O4JRPZZM.mjs.map → chunk-DIYZRGR6.mjs.map} +1 -1
  134. package/dist/esm/chunk-DNPMS2OF.mjs +236 -0
  135. package/dist/esm/{chunk-U43IJHQN.mjs.map → chunk-DNPMS2OF.mjs.map} +1 -1
  136. package/dist/esm/chunk-DVPQGCFT.mjs +74 -0
  137. package/dist/esm/{chunk-O2F53NKI.mjs.map → chunk-DVPQGCFT.mjs.map} +1 -1
  138. package/dist/esm/chunk-EYHRMZPO.mjs +34 -0
  139. package/dist/esm/{chunk-AH44UPM4.mjs.map → chunk-EYHRMZPO.mjs.map} +1 -1
  140. package/dist/esm/chunk-F2ZWA7B7.mjs +412 -0
  141. package/dist/esm/chunk-F2ZWA7B7.mjs.map +1 -0
  142. package/dist/esm/chunk-FDWJNY4U.mjs +22 -0
  143. package/dist/esm/{chunk-R5QUBEH6.mjs.map → chunk-FDWJNY4U.mjs.map} +1 -1
  144. package/dist/esm/chunk-FF4JPDKD.mjs +315 -0
  145. package/dist/esm/chunk-FF4JPDKD.mjs.map +1 -0
  146. package/dist/esm/chunk-FQQW55X7.mjs +288 -0
  147. package/dist/esm/{chunk-52C73T26.mjs.map → chunk-FQQW55X7.mjs.map} +1 -1
  148. package/dist/esm/chunk-FXKSE3ZP.mjs +25 -0
  149. package/dist/esm/{chunk-WFZDFFBM.mjs.map → chunk-FXKSE3ZP.mjs.map} +1 -1
  150. package/dist/esm/chunk-GBEVD2VM.mjs +99 -0
  151. package/dist/esm/chunk-GBEVD2VM.mjs.map +1 -0
  152. package/dist/esm/chunk-GGMTQAQP.mjs +11 -0
  153. package/dist/esm/{chunk-3JPVQHOR.mjs.map → chunk-GGMTQAQP.mjs.map} +1 -1
  154. package/dist/esm/chunk-GSVQ6EUD.mjs +649 -0
  155. package/dist/esm/chunk-GSVQ6EUD.mjs.map +1 -0
  156. package/dist/esm/chunk-HBNSRCZN.mjs +100 -0
  157. package/dist/esm/{chunk-SG4MAOCF.mjs.map → chunk-HBNSRCZN.mjs.map} +1 -1
  158. package/dist/esm/chunk-IC56GQFJ.mjs +127 -0
  159. package/dist/esm/chunk-IC56GQFJ.mjs.map +1 -0
  160. package/dist/esm/chunk-IHNPN5CQ.mjs +256 -0
  161. package/dist/esm/chunk-IHNPN5CQ.mjs.map +1 -0
  162. package/dist/esm/chunk-JHDHNGJ3.mjs +126 -0
  163. package/dist/esm/chunk-JHDHNGJ3.mjs.map +1 -0
  164. package/dist/esm/chunk-JL2JHVS4.mjs +49 -0
  165. package/dist/esm/{chunk-RHBCVCOS.mjs.map → chunk-JL2JHVS4.mjs.map} +1 -1
  166. package/dist/esm/chunk-JV3GSIJW.mjs +268 -0
  167. package/dist/esm/chunk-JV3GSIJW.mjs.map +1 -0
  168. package/dist/esm/chunk-JXCZTOYC.mjs +1 -0
  169. package/dist/esm/chunk-JXCZTOYC.mjs.map +1 -0
  170. package/dist/esm/chunk-KK2BSALW.mjs +32 -0
  171. package/dist/esm/{chunk-TBMAJ6AW.mjs.map → chunk-KK2BSALW.mjs.map} +1 -1
  172. package/dist/esm/chunk-KMXSRHJ6.mjs +93 -0
  173. package/dist/esm/chunk-KMXSRHJ6.mjs.map +1 -0
  174. package/dist/esm/chunk-KVSQ57HU.mjs +45 -0
  175. package/dist/esm/{chunk-NNQJBFRB.mjs.map → chunk-KVSQ57HU.mjs.map} +1 -1
  176. package/dist/esm/chunk-LI2QV6RU.mjs +129 -0
  177. package/dist/esm/chunk-LI2QV6RU.mjs.map +1 -0
  178. package/dist/esm/chunk-LLLQJWRZ.mjs +35 -0
  179. package/dist/esm/{chunk-DPV25ZKR.mjs.map → chunk-LLLQJWRZ.mjs.map} +1 -1
  180. package/dist/esm/chunk-LYK4TQZO.mjs +70 -0
  181. package/dist/esm/chunk-LYK4TQZO.mjs.map +1 -0
  182. package/dist/esm/chunk-LYMY63SO.mjs +124 -0
  183. package/dist/esm/{chunk-W4ZW7QHA.mjs.map → chunk-LYMY63SO.mjs.map} +1 -1
  184. package/dist/esm/chunk-MZZLEY6O.mjs +92 -0
  185. package/dist/esm/chunk-MZZLEY6O.mjs.map +1 -0
  186. package/dist/esm/chunk-N4WKFNQ6.mjs +156 -0
  187. package/dist/esm/chunk-N4WKFNQ6.mjs.map +1 -0
  188. package/dist/esm/chunk-NFJCQRVK.mjs +37 -0
  189. package/dist/esm/chunk-NFJCQRVK.mjs.map +1 -0
  190. package/dist/esm/chunk-NMKCJNQM.mjs +20 -0
  191. package/dist/esm/{chunk-TJDC5PWD.mjs.map → chunk-NMKCJNQM.mjs.map} +1 -1
  192. package/dist/esm/chunk-NW45SCPY.mjs +36 -0
  193. package/dist/esm/{chunk-GSD4OOM3.mjs.map → chunk-NW45SCPY.mjs.map} +1 -1
  194. package/dist/esm/chunk-NXFO2W4G.mjs +84 -0
  195. package/dist/esm/{chunk-QMURTXFM.mjs.map → chunk-NXFO2W4G.mjs.map} +1 -1
  196. package/dist/esm/chunk-NYL77J4X.mjs +97 -0
  197. package/dist/esm/chunk-NYL77J4X.mjs.map +1 -0
  198. package/dist/esm/chunk-O6PSHSN3.mjs +53 -0
  199. package/dist/esm/{chunk-MFKMAAWA.mjs.map → chunk-O6PSHSN3.mjs.map} +1 -1
  200. package/dist/esm/chunk-OR7TEZ25.mjs +16 -0
  201. package/dist/esm/chunk-OR7TEZ25.mjs.map +1 -0
  202. package/dist/esm/chunk-PCLNX6FS.mjs +17 -0
  203. package/dist/esm/{chunk-6FBKUTGF.mjs.map → chunk-PCLNX6FS.mjs.map} +1 -1
  204. package/dist/esm/chunk-PIMQHG2J.mjs +49 -0
  205. package/dist/esm/{chunk-ZYYK3UXP.mjs.map → chunk-PIMQHG2J.mjs.map} +1 -1
  206. package/dist/esm/chunk-PU5AFUX3.mjs +52 -0
  207. package/dist/esm/{chunk-LR65XHSF.mjs.map → chunk-PU5AFUX3.mjs.map} +1 -1
  208. package/dist/esm/chunk-PYLOAMR2.mjs +29 -0
  209. package/dist/esm/{chunk-UML2VQZT.mjs.map → chunk-PYLOAMR2.mjs.map} +1 -1
  210. package/dist/esm/chunk-QBBTUC66.mjs +15 -0
  211. package/dist/esm/{chunk-ROXFCLDT.mjs.map → chunk-QBBTUC66.mjs.map} +1 -1
  212. package/dist/esm/chunk-QFOG4LIN.mjs +319 -0
  213. package/dist/esm/{chunk-DM44OGQH.mjs.map → chunk-QFOG4LIN.mjs.map} +1 -1
  214. package/dist/esm/chunk-QMM2KL6C.mjs +12 -0
  215. package/dist/esm/{chunk-FBPNHF54.mjs.map → chunk-QMM2KL6C.mjs.map} +1 -1
  216. package/dist/esm/chunk-RCQMWXEW.mjs +35 -0
  217. package/dist/esm/{chunk-3WUGR46O.mjs.map → chunk-RCQMWXEW.mjs.map} +1 -1
  218. package/dist/esm/chunk-RFSO3JRG.mjs +1 -0
  219. package/dist/esm/chunk-RFSO3JRG.mjs.map +1 -0
  220. package/dist/esm/chunk-RX4VG2AT.mjs +314 -0
  221. package/dist/esm/{chunk-CNMQNPNV.mjs.map → chunk-RX4VG2AT.mjs.map} +1 -1
  222. package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
  223. package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
  224. package/dist/esm/chunk-SIJELMDP.mjs +29 -0
  225. package/dist/esm/{chunk-6EMN3BOV.mjs.map → chunk-SIJELMDP.mjs.map} +1 -1
  226. package/dist/esm/chunk-SS3NUM5L.mjs +94 -0
  227. package/dist/esm/{chunk-L54P6EGN.mjs.map → chunk-SS3NUM5L.mjs.map} +1 -1
  228. package/dist/esm/chunk-ST4QXIMI.mjs +37 -0
  229. package/dist/esm/{chunk-5P2S2SZZ.mjs.map → chunk-ST4QXIMI.mjs.map} +1 -1
  230. package/dist/esm/chunk-TBHU6ZW6.mjs +215 -0
  231. package/dist/esm/{chunk-7QJ6YJXP.mjs.map → chunk-TBHU6ZW6.mjs.map} +1 -1
  232. package/dist/esm/chunk-TLNHRJB2.mjs +155 -0
  233. package/dist/esm/chunk-TLNHRJB2.mjs.map +1 -0
  234. package/dist/esm/chunk-U3IUCR2G.mjs +54 -0
  235. package/dist/esm/{chunk-CU67XZNB.mjs.map → chunk-U3IUCR2G.mjs.map} +1 -1
  236. package/dist/esm/chunk-U7QBZ6PP.mjs +400 -0
  237. package/dist/esm/chunk-U7QBZ6PP.mjs.map +1 -0
  238. package/dist/esm/chunk-UEBBLQJ5.mjs +94 -0
  239. package/dist/esm/{chunk-NPFNYP75.mjs.map → chunk-UEBBLQJ5.mjs.map} +1 -1
  240. package/dist/esm/chunk-UKU6A2W2.mjs +232 -0
  241. package/dist/esm/{chunk-XO3HHRJV.mjs.map → chunk-UKU6A2W2.mjs.map} +1 -1
  242. package/dist/esm/chunk-UX5NSZEN.mjs +134 -0
  243. package/dist/esm/chunk-UX5NSZEN.mjs.map +1 -0
  244. package/dist/esm/chunk-VDJBDX3A.mjs +79 -0
  245. package/dist/esm/chunk-VDJBDX3A.mjs.map +1 -0
  246. package/dist/esm/chunk-VJP2VWMF.mjs +58 -0
  247. package/dist/esm/chunk-VJP2VWMF.mjs.map +1 -0
  248. package/dist/esm/chunk-VKJQORON.mjs +93 -0
  249. package/dist/esm/{chunk-734YX27W.mjs.map → chunk-VKJQORON.mjs.map} +1 -1
  250. package/dist/esm/chunk-VPWUODU4.mjs +51 -0
  251. package/dist/esm/{chunk-AU6W5OIH.mjs.map → chunk-VPWUODU4.mjs.map} +1 -1
  252. package/dist/esm/chunk-VZQXLVEP.mjs +197 -0
  253. package/dist/esm/{chunk-V6OS74OS.mjs.map → chunk-VZQXLVEP.mjs.map} +1 -1
  254. package/dist/esm/chunk-W76MGKZB.mjs +33 -0
  255. package/dist/esm/{chunk-CTIN3GTP.mjs.map → chunk-W76MGKZB.mjs.map} +1 -1
  256. package/dist/esm/chunk-WDRH2URB.mjs +91 -0
  257. package/dist/esm/chunk-WDRH2URB.mjs.map +1 -0
  258. package/dist/esm/chunk-WHBWEN6N.mjs +206 -0
  259. package/dist/esm/chunk-WHBWEN6N.mjs.map +1 -0
  260. package/dist/esm/chunk-WK5ZSNE2.mjs +173 -0
  261. package/dist/esm/{chunk-QIAHBEEW.mjs.map → chunk-WK5ZSNE2.mjs.map} +1 -1
  262. package/dist/esm/chunk-WLTBF4DF.mjs +22 -0
  263. package/dist/esm/chunk-WLTBF4DF.mjs.map +1 -0
  264. package/dist/esm/chunk-WVGO4D7K.mjs +254 -0
  265. package/dist/esm/chunk-WVGO4D7K.mjs.map +1 -0
  266. package/dist/esm/chunk-XANFAUBD.mjs +44 -0
  267. package/dist/esm/{chunk-QTRYMRYK.mjs.map → chunk-XANFAUBD.mjs.map} +1 -1
  268. package/dist/esm/chunk-Y2LV3S5W.mjs +410 -0
  269. package/dist/esm/chunk-Y2LV3S5W.mjs.map +1 -0
  270. package/dist/esm/chunk-YV7M4CFP.mjs +137 -0
  271. package/dist/esm/{chunk-AOCNYMMX.mjs.map → chunk-YV7M4CFP.mjs.map} +1 -1
  272. package/dist/esm/chunk-YYOPNUX5.mjs +41 -0
  273. package/dist/esm/chunk-YYOPNUX5.mjs.map +1 -0
  274. package/dist/esm/chunk-ZAHJ7KXB.mjs +81 -0
  275. package/dist/esm/chunk-ZAHJ7KXB.mjs.map +1 -0
  276. package/dist/esm/chunk-ZMFKQUHL.mjs +117 -0
  277. package/dist/esm/{chunk-RIUZPGI5.mjs.map → chunk-ZMFKQUHL.mjs.map} +1 -1
  278. package/dist/esm/cli/index.d.mts +12 -0
  279. package/dist/esm/cli/index.mjs +12 -1
  280. package/dist/esm/cli/localNode.mjs +8 -1
  281. package/dist/esm/cli/move.d.mts +105 -0
  282. package/dist/esm/cli/move.mjs +8 -0
  283. package/dist/esm/cli/move.mjs.map +1 -0
  284. package/dist/esm/client/core.mjs +27 -1
  285. package/dist/esm/client/get.d.mts +2 -1
  286. package/dist/esm/client/get.mjs +32 -1
  287. package/dist/esm/client/index.d.mts +2 -2
  288. package/dist/esm/client/index.mjs +55 -1
  289. package/dist/esm/client/post.d.mts +3 -1
  290. package/dist/esm/client/post.mjs +36 -1
  291. package/dist/esm/client/types.d.mts +5 -1
  292. package/dist/esm/client/types.mjs +7 -1
  293. package/dist/esm/core/account/index.d.mts +5 -14
  294. package/dist/esm/core/account/index.mjs +19 -1
  295. package/dist/esm/core/account/utils/address.mjs +18 -1
  296. package/dist/esm/core/account/utils/index.mjs +19 -1
  297. package/dist/esm/core/accountAddress.mjs +15 -1
  298. package/dist/esm/core/authenticationKey.mjs +14 -1
  299. package/dist/esm/core/common.mjs +7 -1
  300. package/dist/esm/core/crypto/ed25519.mjs +29 -1
  301. package/dist/esm/core/crypto/ephemeral.d.mts +73 -0
  302. package/dist/esm/core/crypto/ephemeral.mjs +29 -0
  303. package/dist/esm/core/crypto/ephemeral.mjs.map +1 -0
  304. package/dist/esm/core/crypto/hdKey.mjs +25 -1
  305. package/dist/esm/core/crypto/index.d.mts +6 -3
  306. package/dist/esm/core/crypto/index.mjs +124 -1
  307. package/dist/esm/core/crypto/keyless.d.mts +232 -0
  308. package/dist/esm/core/crypto/keyless.mjs +56 -0
  309. package/dist/esm/core/crypto/keyless.mjs.map +1 -0
  310. package/dist/esm/core/crypto/multiEd25519.mjs +28 -1
  311. package/dist/esm/core/crypto/multiKey.d.mts +7 -0
  312. package/dist/esm/core/crypto/multiKey.mjs +34 -1
  313. package/dist/esm/core/crypto/poseidon.d.mts +7 -0
  314. package/dist/esm/core/crypto/poseidon.mjs +16 -0
  315. package/dist/esm/core/crypto/poseidon.mjs.map +1 -0
  316. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  317. package/dist/esm/core/crypto/proof.d.mts +21 -0
  318. package/dist/esm/core/crypto/proof.mjs +20 -0
  319. package/dist/esm/core/crypto/proof.mjs.map +1 -0
  320. package/dist/esm/core/crypto/publicKey.mjs +21 -1
  321. package/dist/esm/core/crypto/secp256k1.mjs +27 -1
  322. package/dist/esm/core/crypto/signature.mjs +19 -1
  323. package/dist/esm/core/crypto/singleKey.mjs +33 -1
  324. package/dist/esm/core/crypto/utils.mjs +9 -1
  325. package/dist/esm/core/hex.mjs +10 -1
  326. package/dist/esm/core/index.d.mts +5 -5
  327. package/dist/esm/core/index.mjs +141 -1
  328. package/dist/esm/index.d.mts +15 -8
  329. package/dist/esm/index.mjs +635 -1
  330. package/dist/esm/internal/account.d.mts +13 -1
  331. package/dist/esm/internal/account.mjs +106 -1
  332. package/dist/esm/internal/ans.d.mts +1 -1
  333. package/dist/esm/internal/ans.mjs +120 -1
  334. package/dist/esm/internal/coin.d.mts +7 -7
  335. package/dist/esm/internal/coin.mjs +85 -1
  336. package/dist/esm/internal/digitalAsset.d.mts +2 -2
  337. package/dist/esm/internal/digitalAsset.mjs +127 -1
  338. package/dist/esm/internal/event.d.mts +1 -1
  339. package/dist/esm/internal/event.mjs +55 -1
  340. package/dist/esm/internal/faucet.d.mts +1 -1
  341. package/dist/esm/internal/faucet.mjs +52 -1
  342. package/dist/esm/internal/fungibleAsset.d.mts +5 -5
  343. package/dist/esm/internal/fungibleAsset.mjs +91 -1
  344. package/dist/esm/internal/general.mjs +46 -1
  345. package/dist/esm/internal/keyless.d.mts +68 -0
  346. package/dist/esm/internal/keyless.mjs +74 -0
  347. package/dist/esm/internal/keyless.mjs.map +1 -0
  348. package/dist/esm/internal/staking.d.mts +1 -1
  349. package/dist/esm/internal/staking.mjs +53 -1
  350. package/dist/esm/internal/transaction.mjs +51 -1
  351. package/dist/esm/internal/transactionSubmission.d.mts +1 -1
  352. package/dist/esm/internal/transactionSubmission.mjs +102 -1
  353. package/dist/esm/internal/view.d.mts +7 -7
  354. package/dist/esm/internal/view.mjs +83 -1
  355. package/dist/esm/transactions/authenticator/account.d.mts +3 -4
  356. package/dist/esm/transactions/authenticator/account.mjs +44 -1
  357. package/dist/esm/transactions/authenticator/index.mjs +60 -1
  358. package/dist/esm/transactions/authenticator/transaction.mjs +48 -1
  359. package/dist/esm/transactions/index.d.mts +2 -2
  360. package/dist/esm/transactions/index.mjs +284 -1
  361. package/dist/esm/transactions/instances/chainId.mjs +11 -1
  362. package/dist/esm/transactions/instances/identifier.mjs +11 -1
  363. package/dist/esm/transactions/instances/index.mjs +96 -1
  364. package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
  365. package/dist/esm/transactions/instances/moduleId.mjs +38 -1
  366. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +43 -1
  367. package/dist/esm/transactions/instances/rawTransaction.mjs +48 -1
  368. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +20 -1
  369. package/dist/esm/transactions/instances/signedTransaction.mjs +45 -1
  370. package/dist/esm/transactions/instances/simpleTransaction.mjs +43 -1
  371. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  372. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
  373. package/dist/esm/transactions/instances/transactionPayload.mjs +56 -1
  374. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +13 -1
  375. package/dist/esm/transactions/management/accountSequenceNumber.mjs +74 -1
  376. package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
  377. package/dist/esm/transactions/management/index.d.mts +2 -2
  378. package/dist/esm/transactions/management/index.mjs +95 -1
  379. package/dist/esm/transactions/management/transactionWorker.d.mts +1 -1
  380. package/dist/esm/transactions/management/transactionWorker.mjs +91 -1
  381. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +9 -9
  382. package/dist/esm/transactions/transactionBuilder/helpers.mjs +75 -1
  383. package/dist/esm/transactions/transactionBuilder/index.d.mts +9 -9
  384. package/dist/esm/transactions/transactionBuilder/index.mjs +162 -1
  385. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +6 -6
  386. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +85 -1
  387. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +72 -0
  388. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +59 -0
  389. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +1 -0
  390. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +6 -28
  391. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +98 -1
  392. package/dist/esm/transactions/typeTag/index.mjs +74 -1
  393. package/dist/esm/transactions/typeTag/parser.mjs +43 -1
  394. package/dist/esm/transactions/types.d.mts +6 -6
  395. package/dist/esm/transactions/types.mjs +1 -1
  396. package/dist/esm/types/generated/queries.mjs +57 -1
  397. package/dist/esm/types/generated/types.mjs +809 -1
  398. package/dist/esm/types/generated/types.mjs.map +1 -1
  399. package/dist/esm/types/index.d.mts +19 -3
  400. package/dist/esm/types/index.mjs +68 -1
  401. package/dist/esm/types/indexer.mjs +1 -1
  402. package/dist/esm/types/keyless.d.mts +69 -0
  403. package/dist/esm/types/keyless.mjs +10 -0
  404. package/dist/esm/types/keyless.mjs.map +1 -0
  405. package/dist/esm/utils/apiEndpoints.d.mts +3 -2
  406. package/dist/esm/utils/apiEndpoints.mjs +21 -1
  407. package/dist/esm/utils/const.d.mts +3 -1
  408. package/dist/esm/utils/const.mjs +21 -1
  409. package/dist/esm/utils/helpers.mjs +7 -1
  410. package/dist/esm/utils/index.d.mts +1 -1
  411. package/dist/esm/utils/index.mjs +56 -1
  412. package/dist/esm/utils/memoize.mjs +9 -1
  413. package/dist/esm/utils/normalizeBundle.mjs +19 -1
  414. package/dist/esm/version.d.mts +1 -1
  415. package/dist/esm/version.mjs +7 -1
  416. package/package.json +11 -3
  417. package/src/{core/account → account}/Account.ts +25 -15
  418. package/src/{core/account → account}/Ed25519Account.ts +45 -9
  419. package/src/account/EphemeralKeyPair.ts +161 -0
  420. package/src/account/KeylessAccount.ts +342 -0
  421. package/src/account/MultiKeyAccount.ts +186 -0
  422. package/src/{core/account → account}/SingleKeyAccount.ts +45 -10
  423. package/src/account/index.ts +6 -0
  424. package/src/api/account.ts +2 -1
  425. package/src/api/ans.ts +2 -1
  426. package/src/api/aptos.ts +6 -0
  427. package/src/api/aptosConfig.ts +46 -1
  428. package/src/api/digitalAsset.ts +2 -1
  429. package/src/api/fungibleAsset.ts +2 -1
  430. package/src/api/keyless.ts +48 -0
  431. package/src/api/transaction.ts +2 -1
  432. package/src/api/transactionSubmission/management.ts +1 -1
  433. package/src/api/transactionSubmission/sign.ts +1 -1
  434. package/src/bcs/deserializer.ts +40 -0
  435. package/src/bcs/serializer.ts +18 -0
  436. package/src/cli/index.ts +1 -0
  437. package/src/cli/move.ts +183 -0
  438. package/src/client/core.ts +8 -0
  439. package/src/client/get.ts +6 -0
  440. package/src/client/post.ts +12 -0
  441. package/src/client/types.ts +1 -1
  442. package/src/core/account/index.ts +0 -3
  443. package/src/core/crypto/ephemeral.ts +138 -0
  444. package/src/core/crypto/index.ts +2 -0
  445. package/src/core/crypto/keyless.ts +453 -0
  446. package/src/core/crypto/multiKey.ts +17 -6
  447. package/src/core/crypto/poseidon.ts +134 -0
  448. package/src/core/crypto/proof.ts +16 -0
  449. package/src/core/crypto/singleKey.ts +11 -0
  450. package/src/core/index.ts +0 -1
  451. package/src/index.ts +1 -0
  452. package/src/internal/account.ts +1 -1
  453. package/src/internal/ans.ts +2 -2
  454. package/src/internal/digitalAsset.ts +2 -1
  455. package/src/internal/fungibleAsset.ts +3 -2
  456. package/src/internal/keyless.ts +119 -0
  457. package/src/internal/transactionSubmission.ts +24 -13
  458. package/src/transactions/authenticator/account.ts +6 -11
  459. package/src/transactions/management/accountSequenceNumber.ts +1 -1
  460. package/src/transactions/management/transactionWorker.ts +1 -1
  461. package/src/transactions/transactionBuilder/index.ts +1 -0
  462. package/src/transactions/transactionBuilder/signingMessage.ts +93 -0
  463. package/src/transactions/transactionBuilder/transactionBuilder.ts +2 -75
  464. package/src/types/index.ts +22 -0
  465. package/src/types/keyless.ts +37 -0
  466. package/src/utils/apiEndpoints.ts +14 -6
  467. package/src/utils/const.ts +2 -0
  468. package/src/version.ts +1 -1
  469. package/dist/common/chunk-KSEUZTKY.js +0 -2
  470. package/dist/common/chunk-KSEUZTKY.js.map +0 -1
  471. package/dist/esm/chunk-24IKVZBK.mjs +0 -2
  472. package/dist/esm/chunk-24IKVZBK.mjs.map +0 -1
  473. package/dist/esm/chunk-2HISPUZZ.mjs +0 -2
  474. package/dist/esm/chunk-2HISPUZZ.mjs.map +0 -1
  475. package/dist/esm/chunk-3JPVQHOR.mjs +0 -2
  476. package/dist/esm/chunk-3WUGR46O.mjs +0 -2
  477. package/dist/esm/chunk-52C73T26.mjs +0 -2
  478. package/dist/esm/chunk-56CNRT2K.mjs +0 -2
  479. package/dist/esm/chunk-5P2S2SZZ.mjs +0 -2
  480. package/dist/esm/chunk-6CFRW26C.mjs +0 -2
  481. package/dist/esm/chunk-6CFRW26C.mjs.map +0 -1
  482. package/dist/esm/chunk-6EMN3BOV.mjs +0 -2
  483. package/dist/esm/chunk-6FBKUTGF.mjs +0 -2
  484. package/dist/esm/chunk-6IFMQ5AS.mjs +0 -2
  485. package/dist/esm/chunk-6IFMQ5AS.mjs.map +0 -1
  486. package/dist/esm/chunk-734YX27W.mjs +0 -2
  487. package/dist/esm/chunk-7QJ6YJXP.mjs +0 -2
  488. package/dist/esm/chunk-AD3VLZ7I.mjs +0 -2
  489. package/dist/esm/chunk-AD3VLZ7I.mjs.map +0 -1
  490. package/dist/esm/chunk-AH44UPM4.mjs +0 -2
  491. package/dist/esm/chunk-AOCNYMMX.mjs +0 -2
  492. package/dist/esm/chunk-AU6W5OIH.mjs +0 -2
  493. package/dist/esm/chunk-B3R6G6QP.mjs +0 -2
  494. package/dist/esm/chunk-B3R6G6QP.mjs.map +0 -1
  495. package/dist/esm/chunk-B7TQGVGL.mjs +0 -2
  496. package/dist/esm/chunk-BWFJHFBQ.mjs +0 -2
  497. package/dist/esm/chunk-CNMQNPNV.mjs +0 -2
  498. package/dist/esm/chunk-CTIN3GTP.mjs +0 -2
  499. package/dist/esm/chunk-CU67XZNB.mjs +0 -2
  500. package/dist/esm/chunk-CYNQRMO5.mjs +0 -2
  501. package/dist/esm/chunk-CYNQRMO5.mjs.map +0 -1
  502. package/dist/esm/chunk-DM44OGQH.mjs +0 -2
  503. package/dist/esm/chunk-DMKUAQB7.mjs +0 -2
  504. package/dist/esm/chunk-DPV25ZKR.mjs +0 -2
  505. package/dist/esm/chunk-DSTKXJMA.mjs +0 -2
  506. package/dist/esm/chunk-E7FWVXGX.mjs +0 -1
  507. package/dist/esm/chunk-EOFJFE4T.mjs +0 -2
  508. package/dist/esm/chunk-EOFJFE4T.mjs.map +0 -1
  509. package/dist/esm/chunk-FATWMUXK.mjs +0 -2
  510. package/dist/esm/chunk-FATWMUXK.mjs.map +0 -1
  511. package/dist/esm/chunk-FBPNHF54.mjs +0 -2
  512. package/dist/esm/chunk-FS3NSGBF.mjs +0 -2
  513. package/dist/esm/chunk-FVA2OPG4.mjs +0 -2
  514. package/dist/esm/chunk-G2O323HP.mjs +0 -2
  515. package/dist/esm/chunk-GSD4OOM3.mjs +0 -2
  516. package/dist/esm/chunk-HQ5I4Q3H.mjs +0 -2
  517. package/dist/esm/chunk-HQ5I4Q3H.mjs.map +0 -1
  518. package/dist/esm/chunk-IIPYR7PF.mjs +0 -2
  519. package/dist/esm/chunk-IIPYR7PF.mjs.map +0 -1
  520. package/dist/esm/chunk-IKYIJYBY.mjs +0 -2
  521. package/dist/esm/chunk-IKYIJYBY.mjs.map +0 -1
  522. package/dist/esm/chunk-IOSQVDZI.mjs +0 -2
  523. package/dist/esm/chunk-KVZ4XMZS.mjs +0 -2
  524. package/dist/esm/chunk-KVZ4XMZS.mjs.map +0 -1
  525. package/dist/esm/chunk-L54P6EGN.mjs +0 -2
  526. package/dist/esm/chunk-LR65XHSF.mjs +0 -2
  527. package/dist/esm/chunk-MACC2BLE.mjs +0 -2
  528. package/dist/esm/chunk-MC6G725U.mjs +0 -2
  529. package/dist/esm/chunk-MC6G725U.mjs.map +0 -1
  530. package/dist/esm/chunk-MFKMAAWA.mjs +0 -2
  531. package/dist/esm/chunk-MLWIHWNH.mjs +0 -1
  532. package/dist/esm/chunk-NNQJBFRB.mjs +0 -2
  533. package/dist/esm/chunk-NPFNYP75.mjs +0 -2
  534. package/dist/esm/chunk-O2F53NKI.mjs +0 -2
  535. package/dist/esm/chunk-O4JRPZZM.mjs +0 -2
  536. package/dist/esm/chunk-ODRO4CSA.mjs +0 -2
  537. package/dist/esm/chunk-ODRO4CSA.mjs.map +0 -1
  538. package/dist/esm/chunk-OVJQWQ2N.mjs +0 -2
  539. package/dist/esm/chunk-OVJQWQ2N.mjs.map +0 -1
  540. package/dist/esm/chunk-OWW6SIDP.mjs +0 -2
  541. package/dist/esm/chunk-OWW6SIDP.mjs.map +0 -1
  542. package/dist/esm/chunk-PFIMEXNN.mjs +0 -2
  543. package/dist/esm/chunk-PFIMEXNN.mjs.map +0 -1
  544. package/dist/esm/chunk-PZGLV5UQ.mjs +0 -2
  545. package/dist/esm/chunk-Q3TZGQVC.mjs +0 -2
  546. package/dist/esm/chunk-Q3TZGQVC.mjs.map +0 -1
  547. package/dist/esm/chunk-QIAHBEEW.mjs +0 -2
  548. package/dist/esm/chunk-QMURTXFM.mjs +0 -2
  549. package/dist/esm/chunk-QTRYMRYK.mjs +0 -2
  550. package/dist/esm/chunk-R5QUBEH6.mjs +0 -2
  551. package/dist/esm/chunk-R7G3CLRI.mjs +0 -1
  552. package/dist/esm/chunk-RHBCVCOS.mjs +0 -2
  553. package/dist/esm/chunk-RIUZPGI5.mjs +0 -2
  554. package/dist/esm/chunk-ROXFCLDT.mjs +0 -2
  555. package/dist/esm/chunk-SG4MAOCF.mjs +0 -2
  556. package/dist/esm/chunk-SUAKPNKQ.mjs +0 -2
  557. package/dist/esm/chunk-SUAKPNKQ.mjs.map +0 -1
  558. package/dist/esm/chunk-TBMAJ6AW.mjs +0 -2
  559. package/dist/esm/chunk-TJDC5PWD.mjs +0 -2
  560. package/dist/esm/chunk-TLOPIURC.mjs +0 -2
  561. package/dist/esm/chunk-TLOPIURC.mjs.map +0 -1
  562. package/dist/esm/chunk-U43IJHQN.mjs +0 -2
  563. package/dist/esm/chunk-U6Z4FNB7.mjs +0 -2
  564. package/dist/esm/chunk-UFT7US42.mjs +0 -2
  565. package/dist/esm/chunk-UML2VQZT.mjs +0 -2
  566. package/dist/esm/chunk-UVSRX4SV.mjs +0 -1
  567. package/dist/esm/chunk-V3Q2KXJU.mjs +0 -2
  568. package/dist/esm/chunk-V4SRNEV3.mjs +0 -2
  569. package/dist/esm/chunk-V4SRNEV3.mjs.map +0 -1
  570. package/dist/esm/chunk-V6OS74OS.mjs +0 -2
  571. package/dist/esm/chunk-VVIG4E7Q.mjs +0 -2
  572. package/dist/esm/chunk-W4ZW7QHA.mjs +0 -2
  573. package/dist/esm/chunk-WFZDFFBM.mjs +0 -2
  574. package/dist/esm/chunk-WLF5YQM4.mjs +0 -2
  575. package/dist/esm/chunk-WLF5YQM4.mjs.map +0 -1
  576. package/dist/esm/chunk-XDGQTMDV.mjs +0 -2
  577. package/dist/esm/chunk-XDGQTMDV.mjs.map +0 -1
  578. package/dist/esm/chunk-XO3HHRJV.mjs +0 -2
  579. package/dist/esm/chunk-YFRXBEOC.mjs +0 -2
  580. package/dist/esm/chunk-YFRXBEOC.mjs.map +0 -1
  581. package/dist/esm/chunk-YPTF6MLX.mjs +0 -2
  582. package/dist/esm/chunk-YPTF6MLX.mjs.map +0 -1
  583. package/dist/esm/chunk-YU3KB3UV.mjs +0 -2
  584. package/dist/esm/chunk-Z5YFM2AW.mjs +0 -2
  585. package/dist/esm/chunk-Z5YFM2AW.mjs.map +0 -1
  586. package/dist/esm/chunk-ZYYK3UXP.mjs +0 -2
  587. package/dist/esm/chunk-ZZZZVONX.mjs +0 -2
  588. package/dist/esm/core/account/Account.d.mts +0 -20
  589. package/dist/esm/core/account/Account.mjs +0 -2
  590. package/dist/esm/core/account/Ed25519Account.d.mts +0 -20
  591. package/dist/esm/core/account/Ed25519Account.mjs +0 -2
  592. package/dist/esm/core/account/SingleKeyAccount.d.mts +0 -20
  593. package/dist/esm/core/account/SingleKeyAccount.mjs +0 -2
  594. /package/dist/esm/{core/account → account}/Account.mjs.map +0 -0
  595. /package/dist/esm/{core/account → account}/Ed25519Account.mjs.map +0 -0
  596. /package/dist/esm/{chunk-E7FWVXGX.mjs.map → account/EphemeralKeyPair.mjs.map} +0 -0
  597. /package/dist/esm/{chunk-FVA2OPG4.mjs.map → account/KeylessAccount.mjs.map} +0 -0
  598. /package/dist/esm/{chunk-MLWIHWNH.mjs.map → account/MultiKeyAccount.mjs.map} +0 -0
  599. /package/dist/esm/{core/account → account}/SingleKeyAccount.mjs.map +0 -0
  600. /package/dist/esm/{chunk-R7G3CLRI.mjs.map → account/index.mjs.map} +0 -0
  601. /package/dist/esm/{chunk-UVSRX4SV.mjs.map → api/keyless.mjs.map} +0 -0
@@ -0,0 +1,314 @@
1
+ import {
2
+ Signature
3
+ } from "./chunk-FDWJNY4U.mjs";
4
+ import {
5
+ convertSigningMessage
6
+ } from "./chunk-NMKCJNQM.mjs";
7
+ import {
8
+ AccountPublicKey
9
+ } from "./chunk-FXKSE3ZP.mjs";
10
+ import {
11
+ CKDPriv,
12
+ HARDENED_OFFSET,
13
+ deriveKey,
14
+ isValidHardenedPath,
15
+ mnemonicToSeed,
16
+ splitPath
17
+ } from "./chunk-PU5AFUX3.mjs";
18
+ import {
19
+ AuthenticationKey
20
+ } from "./chunk-UEBBLQJ5.mjs";
21
+ import {
22
+ Serializable
23
+ } from "./chunk-FQQW55X7.mjs";
24
+ import {
25
+ Hex
26
+ } from "./chunk-YV7M4CFP.mjs";
27
+
28
+ // src/core/crypto/ed25519.ts
29
+ import { ed25519 } from "@noble/curves/ed25519";
30
+ var L = [
31
+ 237,
32
+ 211,
33
+ 245,
34
+ 92,
35
+ 26,
36
+ 99,
37
+ 18,
38
+ 88,
39
+ 214,
40
+ 156,
41
+ 247,
42
+ 162,
43
+ 222,
44
+ 249,
45
+ 222,
46
+ 20,
47
+ 0,
48
+ 0,
49
+ 0,
50
+ 0,
51
+ 0,
52
+ 0,
53
+ 0,
54
+ 0,
55
+ 0,
56
+ 0,
57
+ 0,
58
+ 0,
59
+ 0,
60
+ 0,
61
+ 0,
62
+ 16
63
+ ];
64
+ var _Ed25519PublicKey = class _Ed25519PublicKey extends AccountPublicKey {
65
+ /**
66
+ * Create a new PublicKey instance from a Uint8Array or String.
67
+ *
68
+ * @param hexInput A HexInput (string or Uint8Array)
69
+ */
70
+ constructor(hexInput) {
71
+ super();
72
+ const hex = Hex.fromHexInput(hexInput);
73
+ if (hex.toUint8Array().length !== _Ed25519PublicKey.LENGTH) {
74
+ throw new Error(`PublicKey length should be ${_Ed25519PublicKey.LENGTH}`);
75
+ }
76
+ this.key = hex;
77
+ }
78
+ // region AccountPublicKey
79
+ /**
80
+ * Verifies a signed data with a public key
81
+ * @param args.message a signed message as a Hex string or Uint8Array
82
+ * @param args.signature the signature of the message
83
+ */
84
+ verifySignature(args) {
85
+ const { message, signature } = args;
86
+ if (!(signature instanceof Ed25519Signature)) {
87
+ return false;
88
+ }
89
+ const messageToVerify = convertSigningMessage(message);
90
+ const messageBytes = Hex.fromHexInput(messageToVerify).toUint8Array();
91
+ const signatureBytes = signature.toUint8Array();
92
+ const publicKeyBytes = this.key.toUint8Array();
93
+ if (!signature.isCanonicalSignature()) {
94
+ return false;
95
+ }
96
+ return ed25519.verify(signatureBytes, messageBytes, publicKeyBytes);
97
+ }
98
+ authKey() {
99
+ return AuthenticationKey.fromSchemeAndBytes({
100
+ scheme: 0 /* Ed25519 */,
101
+ input: this.toUint8Array()
102
+ });
103
+ }
104
+ /**
105
+ * Get the public key in bytes (Uint8Array).
106
+ *
107
+ * @returns Uint8Array representation of the public key
108
+ */
109
+ toUint8Array() {
110
+ return this.key.toUint8Array();
111
+ }
112
+ // endregion
113
+ // region Serializable
114
+ serialize(serializer) {
115
+ serializer.serializeBytes(this.key.toUint8Array());
116
+ }
117
+ static deserialize(deserializer) {
118
+ const bytes = deserializer.deserializeBytes();
119
+ return new _Ed25519PublicKey(bytes);
120
+ }
121
+ // endregion
122
+ /**
123
+ * @deprecated use `instanceof Ed25519PublicKey` instead.
124
+ */
125
+ static isPublicKey(publicKey) {
126
+ return publicKey instanceof _Ed25519PublicKey;
127
+ }
128
+ };
129
+ /**
130
+ * Length of an Ed25519 public key
131
+ */
132
+ _Ed25519PublicKey.LENGTH = 32;
133
+ var Ed25519PublicKey = _Ed25519PublicKey;
134
+ var _Ed25519PrivateKey = class _Ed25519PrivateKey extends Serializable {
135
+ // region Constructors
136
+ /**
137
+ * Create a new PrivateKey instance from a Uint8Array or String.
138
+ *
139
+ * @param hexInput HexInput (string or Uint8Array)
140
+ */
141
+ constructor(hexInput) {
142
+ super();
143
+ const privateKeyHex = Hex.fromHexInput(hexInput);
144
+ if (privateKeyHex.toUint8Array().length !== _Ed25519PrivateKey.LENGTH) {
145
+ throw new Error(`PrivateKey length should be ${_Ed25519PrivateKey.LENGTH}`);
146
+ }
147
+ this.signingKey = privateKeyHex;
148
+ }
149
+ /**
150
+ * Generate a new random private key.
151
+ *
152
+ * @returns Ed25519PrivateKey
153
+ */
154
+ static generate() {
155
+ const keyPair = ed25519.utils.randomPrivateKey();
156
+ return new _Ed25519PrivateKey(keyPair);
157
+ }
158
+ /**
159
+ * Derives a private key from a mnemonic seed phrase.
160
+ *
161
+ * To derive multiple keys from the same phrase, change the path
162
+ *
163
+ * IMPORTANT: Ed25519 supports hardened derivation only (since it lacks a key homomorphism,
164
+ * so non-hardened derivation cannot work)
165
+ *
166
+ * @param path the BIP44 path
167
+ * @param mnemonics the mnemonic seed phrase
168
+ */
169
+ static fromDerivationPath(path, mnemonics) {
170
+ if (!isValidHardenedPath(path)) {
171
+ throw new Error(`Invalid derivation path ${path}`);
172
+ }
173
+ return _Ed25519PrivateKey.fromDerivationPathInner(path, mnemonicToSeed(mnemonics));
174
+ }
175
+ /**
176
+ * A private inner function so we can separate from the main fromDerivationPath() method
177
+ * to add tests to verify we create the keys correctly.
178
+ *
179
+ * @param path the BIP44 path
180
+ * @param seed the seed phrase created by the mnemonics
181
+ * @param offset the offset used for key derivation, defaults to 0x80000000
182
+ * @returns
183
+ */
184
+ static fromDerivationPathInner(path, seed, offset = HARDENED_OFFSET) {
185
+ const { key, chainCode } = deriveKey(_Ed25519PrivateKey.SLIP_0010_SEED, seed);
186
+ const segments = splitPath(path).map((el) => parseInt(el, 10));
187
+ const { key: privateKey } = segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {
188
+ key,
189
+ chainCode
190
+ });
191
+ return new _Ed25519PrivateKey(privateKey);
192
+ }
193
+ // endregion
194
+ // region PrivateKey
195
+ /**
196
+ * Derive the Ed25519PublicKey for this private key.
197
+ *
198
+ * @returns Ed25519PublicKey
199
+ */
200
+ publicKey() {
201
+ const bytes = ed25519.getPublicKey(this.signingKey.toUint8Array());
202
+ return new Ed25519PublicKey(bytes);
203
+ }
204
+ /**
205
+ * Sign the given message with the private key.
206
+ *
207
+ * @param message a message as a string or Uint8Array
208
+ * @returns Signature
209
+ */
210
+ sign(message) {
211
+ const messageToSign = convertSigningMessage(message);
212
+ const messageBytes = Hex.fromHexInput(messageToSign).toUint8Array();
213
+ const signatureBytes = ed25519.sign(messageBytes, this.signingKey.toUint8Array());
214
+ return new Ed25519Signature(signatureBytes);
215
+ }
216
+ /**
217
+ * Get the private key in bytes (Uint8Array).
218
+ *
219
+ * @returns Uint8Array representation of the private key
220
+ */
221
+ toUint8Array() {
222
+ return this.signingKey.toUint8Array();
223
+ }
224
+ /**
225
+ * Get the private key as a hex string with the 0x prefix.
226
+ *
227
+ * @returns string representation of the private key
228
+ */
229
+ toString() {
230
+ return this.signingKey.toString();
231
+ }
232
+ // endregion
233
+ // region Serializable
234
+ serialize(serializer) {
235
+ serializer.serializeBytes(this.toUint8Array());
236
+ }
237
+ static deserialize(deserializer) {
238
+ const bytes = deserializer.deserializeBytes();
239
+ return new _Ed25519PrivateKey(bytes);
240
+ }
241
+ // endregion
242
+ /**
243
+ * @deprecated use `instanceof Ed25519PrivateKey` instead.
244
+ */
245
+ static isPrivateKey(privateKey) {
246
+ return privateKey instanceof _Ed25519PrivateKey;
247
+ }
248
+ };
249
+ /**
250
+ * Length of an Ed25519 private key
251
+ */
252
+ _Ed25519PrivateKey.LENGTH = 32;
253
+ /**
254
+ * The Ed25519 key seed to use for BIP-32 compatibility
255
+ * See more {@link https://github.com/satoshilabs/slips/blob/master/slip-0010.md}
256
+ */
257
+ _Ed25519PrivateKey.SLIP_0010_SEED = "ed25519 seed";
258
+ var Ed25519PrivateKey = _Ed25519PrivateKey;
259
+ var _Ed25519Signature = class _Ed25519Signature extends Signature {
260
+ // region Constructors
261
+ constructor(hexInput) {
262
+ super();
263
+ const data = Hex.fromHexInput(hexInput);
264
+ if (data.toUint8Array().length !== _Ed25519Signature.LENGTH) {
265
+ throw new Error(`Signature length should be ${_Ed25519Signature.LENGTH}`);
266
+ }
267
+ this.data = data;
268
+ }
269
+ // endregion
270
+ // region Signature
271
+ toUint8Array() {
272
+ return this.data.toUint8Array();
273
+ }
274
+ // endregion
275
+ // region Serializable
276
+ serialize(serializer) {
277
+ serializer.serializeBytes(this.data.toUint8Array());
278
+ }
279
+ static deserialize(deserializer) {
280
+ const bytes = deserializer.deserializeBytes();
281
+ return new _Ed25519Signature(bytes);
282
+ }
283
+ /**
284
+ * Checks if an ED25519 signature is non-canonical.
285
+ *
286
+ * Comes from Aptos Core
287
+ * https://github.com/aptos-labs/aptos-core/blob/main/crates/aptos-crypto/src/ed25519/ed25519_sigs.rs#L47-L85
288
+ */
289
+ isCanonicalSignature() {
290
+ const s = this.toUint8Array().slice(32);
291
+ for (let i = s.length - 1; i >= 0; i -= 1) {
292
+ if (s[i] < L[i]) {
293
+ return true;
294
+ }
295
+ if (s[i] > L[i]) {
296
+ return false;
297
+ }
298
+ }
299
+ return false;
300
+ }
301
+ // endregion
302
+ };
303
+ /**
304
+ * Length of an Ed25519 signature
305
+ */
306
+ _Ed25519Signature.LENGTH = 64;
307
+ var Ed25519Signature = _Ed25519Signature;
308
+
309
+ export {
310
+ Ed25519PublicKey,
311
+ Ed25519PrivateKey,
312
+ Ed25519Signature
313
+ };
314
+ //# sourceMappingURL=chunk-RX4VG2AT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/crypto/ed25519.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ed25519 } from \"@noble/curves/ed25519\";\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { AuthenticationKey } from \"../authenticationKey\";\nimport { Hex } from \"../hex\";\nimport { HexInput, SigningScheme as AuthenticationKeyScheme } from \"../../types\";\nimport { CKDPriv, deriveKey, HARDENED_OFFSET, isValidHardenedPath, mnemonicToSeed, splitPath } from \"./hdKey\";\nimport { PrivateKey } from \"./privateKey\";\nimport { AccountPublicKey, VerifySignatureArgs } from \"./publicKey\";\nimport { Signature } from \"./signature\";\nimport { convertSigningMessage } from \"./utils\";\n\n/**\n * L is the value that greater than or equal to will produce a non-canonical signature, and must be rejected\n */\nconst L: number[] = [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\n];\n\n/**\n * Represents the public key of an Ed25519 key pair.\n *\n * Since [AIP-55](https://github.com/aptos-foundation/AIPs/pull/263) Aptos supports\n * `Legacy` and `Unified` authentication keys.\n *\n * Ed25519 scheme is represented in the SDK as `Legacy authentication key` and also\n * as `AnyPublicKey` that represents any `Unified authentication key`\n */\nexport class Ed25519PublicKey extends AccountPublicKey {\n /**\n * Length of an Ed25519 public key\n */\n static readonly LENGTH: number = 32;\n\n /**\n * Bytes of the public key\n * @private\n */\n private readonly key: Hex;\n\n /**\n * Create a new PublicKey instance from a Uint8Array or String.\n *\n * @param hexInput A HexInput (string or Uint8Array)\n */\n constructor(hexInput: HexInput) {\n super();\n\n const hex = Hex.fromHexInput(hexInput);\n if (hex.toUint8Array().length !== Ed25519PublicKey.LENGTH) {\n throw new Error(`PublicKey length should be ${Ed25519PublicKey.LENGTH}`);\n }\n this.key = hex;\n }\n\n // region AccountPublicKey\n\n /**\n * Verifies a signed data with a public key\n * @param args.message a signed message as a Hex string or Uint8Array\n * @param args.signature the signature of the message\n */\n verifySignature(args: VerifySignatureArgs): boolean {\n const { message, signature } = args;\n if (!(signature instanceof Ed25519Signature)) {\n return false;\n }\n const messageToVerify = convertSigningMessage(message);\n const messageBytes = Hex.fromHexInput(messageToVerify).toUint8Array();\n const signatureBytes = signature.toUint8Array();\n const publicKeyBytes = this.key.toUint8Array();\n // Also verify malleability\n if (!signature.isCanonicalSignature()) {\n return false;\n }\n\n return ed25519.verify(signatureBytes, messageBytes, publicKeyBytes);\n }\n\n authKey(): AuthenticationKey {\n return AuthenticationKey.fromSchemeAndBytes({\n scheme: AuthenticationKeyScheme.Ed25519,\n input: this.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.key.toUint8Array();\n }\n\n // endregion\n\n // region Serializable\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.key.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519PublicKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PublicKey(bytes);\n }\n\n // endregion\n\n /**\n * @deprecated use `instanceof Ed25519PublicKey` instead.\n */\n static isPublicKey(publicKey: AccountPublicKey): publicKey is Ed25519PublicKey {\n return publicKey instanceof Ed25519PublicKey;\n }\n}\n\n/**\n * Represents the private key of an Ed25519 key pair.\n */\nexport class Ed25519PrivateKey extends Serializable implements PrivateKey {\n /**\n * Length of an Ed25519 private key\n */\n static readonly LENGTH: number = 32;\n\n /**\n * The Ed25519 key seed to use for BIP-32 compatibility\n * See more {@link https://github.com/satoshilabs/slips/blob/master/slip-0010.md}\n */\n static readonly SLIP_0010_SEED = \"ed25519 seed\";\n\n /**\n * The Ed25519 signing key\n * @private\n */\n private readonly signingKey: Hex;\n\n // region Constructors\n\n /**\n * Create a new PrivateKey instance from a Uint8Array or String.\n *\n * @param hexInput HexInput (string or Uint8Array)\n */\n constructor(hexInput: HexInput) {\n super();\n\n const privateKeyHex = Hex.fromHexInput(hexInput);\n if (privateKeyHex.toUint8Array().length !== Ed25519PrivateKey.LENGTH) {\n throw new Error(`PrivateKey length should be ${Ed25519PrivateKey.LENGTH}`);\n }\n\n // Create keyPair from Private key in Uint8Array format\n this.signingKey = privateKeyHex;\n }\n\n /**\n * Generate a new random private key.\n *\n * @returns Ed25519PrivateKey\n */\n static generate(): Ed25519PrivateKey {\n const keyPair = ed25519.utils.randomPrivateKey();\n return new Ed25519PrivateKey(keyPair);\n }\n\n /**\n * Derives a private key from a mnemonic seed phrase.\n *\n * To derive multiple keys from the same phrase, change the path\n *\n * IMPORTANT: Ed25519 supports hardened derivation only (since it lacks a key homomorphism,\n * so non-hardened derivation cannot work)\n *\n * @param path the BIP44 path\n * @param mnemonics the mnemonic seed phrase\n */\n static fromDerivationPath(path: string, mnemonics: string): Ed25519PrivateKey {\n if (!isValidHardenedPath(path)) {\n throw new Error(`Invalid derivation path ${path}`);\n }\n return Ed25519PrivateKey.fromDerivationPathInner(path, mnemonicToSeed(mnemonics));\n }\n\n /**\n * A private inner function so we can separate from the main fromDerivationPath() method\n * to add tests to verify we create the keys correctly.\n *\n * @param path the BIP44 path\n * @param seed the seed phrase created by the mnemonics\n * @param offset the offset used for key derivation, defaults to 0x80000000\n * @returns\n */\n private static fromDerivationPathInner(path: string, seed: Uint8Array, offset = HARDENED_OFFSET): Ed25519PrivateKey {\n const { key, chainCode } = deriveKey(Ed25519PrivateKey.SLIP_0010_SEED, seed);\n\n const segments = splitPath(path).map((el) => parseInt(el, 10));\n\n // Derive the child key based on the path\n const { key: privateKey } = segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {\n key,\n chainCode,\n });\n return new Ed25519PrivateKey(privateKey);\n }\n\n // endregion\n\n // region PrivateKey\n\n /**\n * Derive the Ed25519PublicKey for this private key.\n *\n * @returns Ed25519PublicKey\n */\n publicKey(): Ed25519PublicKey {\n const bytes = ed25519.getPublicKey(this.signingKey.toUint8Array());\n return new Ed25519PublicKey(bytes);\n }\n\n /**\n * Sign the given message with the private key.\n *\n * @param message a message as a string or Uint8Array\n * @returns Signature\n */\n sign(message: HexInput): Ed25519Signature {\n const messageToSign = convertSigningMessage(message);\n const messageBytes = Hex.fromHexInput(messageToSign).toUint8Array();\n const signatureBytes = ed25519.sign(messageBytes, this.signingKey.toUint8Array());\n return new Ed25519Signature(signatureBytes);\n }\n\n /**\n * Get the private key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the private key\n */\n toUint8Array(): Uint8Array {\n return this.signingKey.toUint8Array();\n }\n\n /**\n * Get the private key as a hex string with the 0x prefix.\n *\n * @returns string representation of the private key\n */\n toString(): string {\n return this.signingKey.toString();\n }\n\n // endregion\n\n // region Serializable\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519PrivateKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PrivateKey(bytes);\n }\n\n // endregion\n\n /**\n * @deprecated use `instanceof Ed25519PrivateKey` instead.\n */\n static isPrivateKey(privateKey: PrivateKey): privateKey is Ed25519PrivateKey {\n return privateKey instanceof Ed25519PrivateKey;\n }\n}\n\n/**\n * A signature of a message signed using an Ed25519 private key\n */\nexport class Ed25519Signature extends Signature {\n /**\n * Length of an Ed25519 signature\n */\n static readonly LENGTH = 64;\n\n /**\n * The signature bytes\n * @private\n */\n private readonly data: Hex;\n\n // region Constructors\n\n constructor(hexInput: HexInput) {\n super();\n const data = Hex.fromHexInput(hexInput);\n if (data.toUint8Array().length !== Ed25519Signature.LENGTH) {\n throw new Error(`Signature length should be ${Ed25519Signature.LENGTH}`);\n }\n this.data = data;\n }\n\n // endregion\n\n // region Signature\n\n toUint8Array(): Uint8Array {\n return this.data.toUint8Array();\n }\n\n // endregion\n\n // region Serializable\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.data.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519Signature {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519Signature(bytes);\n }\n\n /**\n * Checks if an ED25519 signature is non-canonical.\n *\n * Comes from Aptos Core\n * https://github.com/aptos-labs/aptos-core/blob/main/crates/aptos-crypto/src/ed25519/ed25519_sigs.rs#L47-L85\n */\n isCanonicalSignature(): boolean {\n const s = this.toUint8Array().slice(32);\n\n for (let i = s.length - 1; i >= 0; i -= 1) {\n if (s[i] < L[i]) {\n return true;\n }\n if (s[i] > L[i]) {\n return false;\n }\n }\n // As this stage S == L which implies a non-canonical S.\n return false;\n }\n\n // endregion\n}\n"],"mappings":"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","names":["ed25519","L","_Ed25519PublicKey","AccountPublicKey","hexInput","hex","Hex","args","message","signature","Ed25519Signature","messageToVerify","convertSigningMessage","messageBytes","signatureBytes","publicKeyBytes","ed25519","AuthenticationKey","serializer","deserializer","bytes","publicKey","Ed25519PublicKey","_Ed25519PrivateKey","Serializable","privateKeyHex","keyPair","path","mnemonics","isValidHardenedPath","mnemonicToSeed","seed","offset","HARDENED_OFFSET","key","chainCode","deriveKey","segments","splitPath","el","privateKey","parentKeys","segment","CKDPriv","messageToSign","Ed25519PrivateKey","_Ed25519Signature","Signature","data","s","i"]}
1
+ {"version":3,"sources":["../../src/core/crypto/ed25519.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ed25519 } from \"@noble/curves/ed25519\";\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { AuthenticationKey } from \"../authenticationKey\";\nimport { Hex } from \"../hex\";\nimport { HexInput, SigningScheme as AuthenticationKeyScheme } from \"../../types\";\nimport { CKDPriv, deriveKey, HARDENED_OFFSET, isValidHardenedPath, mnemonicToSeed, splitPath } from \"./hdKey\";\nimport { PrivateKey } from \"./privateKey\";\nimport { AccountPublicKey, VerifySignatureArgs } from \"./publicKey\";\nimport { Signature } from \"./signature\";\nimport { convertSigningMessage } from \"./utils\";\n\n/**\n * L is the value that greater than or equal to will produce a non-canonical signature, and must be rejected\n */\nconst L: number[] = [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\n];\n\n/**\n * Represents the public key of an Ed25519 key pair.\n *\n * Since [AIP-55](https://github.com/aptos-foundation/AIPs/pull/263) Aptos supports\n * `Legacy` and `Unified` authentication keys.\n *\n * Ed25519 scheme is represented in the SDK as `Legacy authentication key` and also\n * as `AnyPublicKey` that represents any `Unified authentication key`\n */\nexport class Ed25519PublicKey extends AccountPublicKey {\n /**\n * Length of an Ed25519 public key\n */\n static readonly LENGTH: number = 32;\n\n /**\n * Bytes of the public key\n * @private\n */\n private readonly key: Hex;\n\n /**\n * Create a new PublicKey instance from a Uint8Array or String.\n *\n * @param hexInput A HexInput (string or Uint8Array)\n */\n constructor(hexInput: HexInput) {\n super();\n\n const hex = Hex.fromHexInput(hexInput);\n if (hex.toUint8Array().length !== Ed25519PublicKey.LENGTH) {\n throw new Error(`PublicKey length should be ${Ed25519PublicKey.LENGTH}`);\n }\n this.key = hex;\n }\n\n // region AccountPublicKey\n\n /**\n * Verifies a signed data with a public key\n * @param args.message a signed message as a Hex string or Uint8Array\n * @param args.signature the signature of the message\n */\n verifySignature(args: VerifySignatureArgs): boolean {\n const { message, signature } = args;\n if (!(signature instanceof Ed25519Signature)) {\n return false;\n }\n const messageToVerify = convertSigningMessage(message);\n const messageBytes = Hex.fromHexInput(messageToVerify).toUint8Array();\n const signatureBytes = signature.toUint8Array();\n const publicKeyBytes = this.key.toUint8Array();\n // Also verify malleability\n if (!signature.isCanonicalSignature()) {\n return false;\n }\n\n return ed25519.verify(signatureBytes, messageBytes, publicKeyBytes);\n }\n\n authKey(): AuthenticationKey {\n return AuthenticationKey.fromSchemeAndBytes({\n scheme: AuthenticationKeyScheme.Ed25519,\n input: this.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.key.toUint8Array();\n }\n\n // endregion\n\n // region Serializable\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.key.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519PublicKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PublicKey(bytes);\n }\n\n // endregion\n\n /**\n * @deprecated use `instanceof Ed25519PublicKey` instead.\n */\n static isPublicKey(publicKey: AccountPublicKey): publicKey is Ed25519PublicKey {\n return publicKey instanceof Ed25519PublicKey;\n }\n}\n\n/**\n * Represents the private key of an Ed25519 key pair.\n */\nexport class Ed25519PrivateKey extends Serializable implements PrivateKey {\n /**\n * Length of an Ed25519 private key\n */\n static readonly LENGTH: number = 32;\n\n /**\n * The Ed25519 key seed to use for BIP-32 compatibility\n * See more {@link https://github.com/satoshilabs/slips/blob/master/slip-0010.md}\n */\n static readonly SLIP_0010_SEED = \"ed25519 seed\";\n\n /**\n * The Ed25519 signing key\n * @private\n */\n private readonly signingKey: Hex;\n\n // region Constructors\n\n /**\n * Create a new PrivateKey instance from a Uint8Array or String.\n *\n * @param hexInput HexInput (string or Uint8Array)\n */\n constructor(hexInput: HexInput) {\n super();\n\n const privateKeyHex = Hex.fromHexInput(hexInput);\n if (privateKeyHex.toUint8Array().length !== Ed25519PrivateKey.LENGTH) {\n throw new Error(`PrivateKey length should be ${Ed25519PrivateKey.LENGTH}`);\n }\n\n // Create keyPair from Private key in Uint8Array format\n this.signingKey = privateKeyHex;\n }\n\n /**\n * Generate a new random private key.\n *\n * @returns Ed25519PrivateKey\n */\n static generate(): Ed25519PrivateKey {\n const keyPair = ed25519.utils.randomPrivateKey();\n return new Ed25519PrivateKey(keyPair);\n }\n\n /**\n * Derives a private key from a mnemonic seed phrase.\n *\n * To derive multiple keys from the same phrase, change the path\n *\n * IMPORTANT: Ed25519 supports hardened derivation only (since it lacks a key homomorphism,\n * so non-hardened derivation cannot work)\n *\n * @param path the BIP44 path\n * @param mnemonics the mnemonic seed phrase\n */\n static fromDerivationPath(path: string, mnemonics: string): Ed25519PrivateKey {\n if (!isValidHardenedPath(path)) {\n throw new Error(`Invalid derivation path ${path}`);\n }\n return Ed25519PrivateKey.fromDerivationPathInner(path, mnemonicToSeed(mnemonics));\n }\n\n /**\n * A private inner function so we can separate from the main fromDerivationPath() method\n * to add tests to verify we create the keys correctly.\n *\n * @param path the BIP44 path\n * @param seed the seed phrase created by the mnemonics\n * @param offset the offset used for key derivation, defaults to 0x80000000\n * @returns\n */\n private static fromDerivationPathInner(path: string, seed: Uint8Array, offset = HARDENED_OFFSET): Ed25519PrivateKey {\n const { key, chainCode } = deriveKey(Ed25519PrivateKey.SLIP_0010_SEED, seed);\n\n const segments = splitPath(path).map((el) => parseInt(el, 10));\n\n // Derive the child key based on the path\n const { key: privateKey } = segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {\n key,\n chainCode,\n });\n return new Ed25519PrivateKey(privateKey);\n }\n\n // endregion\n\n // region PrivateKey\n\n /**\n * Derive the Ed25519PublicKey for this private key.\n *\n * @returns Ed25519PublicKey\n */\n publicKey(): Ed25519PublicKey {\n const bytes = ed25519.getPublicKey(this.signingKey.toUint8Array());\n return new Ed25519PublicKey(bytes);\n }\n\n /**\n * Sign the given message with the private key.\n *\n * @param message a message as a string or Uint8Array\n * @returns Signature\n */\n sign(message: HexInput): Ed25519Signature {\n const messageToSign = convertSigningMessage(message);\n const messageBytes = Hex.fromHexInput(messageToSign).toUint8Array();\n const signatureBytes = ed25519.sign(messageBytes, this.signingKey.toUint8Array());\n return new Ed25519Signature(signatureBytes);\n }\n\n /**\n * Get the private key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the private key\n */\n toUint8Array(): Uint8Array {\n return this.signingKey.toUint8Array();\n }\n\n /**\n * Get the private key as a hex string with the 0x prefix.\n *\n * @returns string representation of the private key\n */\n toString(): string {\n return this.signingKey.toString();\n }\n\n // endregion\n\n // region Serializable\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519PrivateKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PrivateKey(bytes);\n }\n\n // endregion\n\n /**\n * @deprecated use `instanceof Ed25519PrivateKey` instead.\n */\n static isPrivateKey(privateKey: PrivateKey): privateKey is Ed25519PrivateKey {\n return privateKey instanceof Ed25519PrivateKey;\n }\n}\n\n/**\n * A signature of a message signed using an Ed25519 private key\n */\nexport class Ed25519Signature extends Signature {\n /**\n * Length of an Ed25519 signature\n */\n static readonly LENGTH = 64;\n\n /**\n * The signature bytes\n * @private\n */\n private readonly data: Hex;\n\n // region Constructors\n\n constructor(hexInput: HexInput) {\n super();\n const data = Hex.fromHexInput(hexInput);\n if (data.toUint8Array().length !== Ed25519Signature.LENGTH) {\n throw new Error(`Signature length should be ${Ed25519Signature.LENGTH}`);\n }\n this.data = data;\n }\n\n // endregion\n\n // region Signature\n\n toUint8Array(): Uint8Array {\n return this.data.toUint8Array();\n }\n\n // endregion\n\n // region Serializable\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.data.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519Signature {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519Signature(bytes);\n }\n\n /**\n * Checks if an ED25519 signature is non-canonical.\n *\n * Comes from Aptos Core\n * https://github.com/aptos-labs/aptos-core/blob/main/crates/aptos-crypto/src/ed25519/ed25519_sigs.rs#L47-L85\n */\n isCanonicalSignature(): boolean {\n const s = this.toUint8Array().slice(32);\n\n for (let i = s.length - 1; i >= 0; i -= 1) {\n if (s[i] < L[i]) {\n return true;\n }\n if (s[i] > L[i]) {\n return false;\n }\n }\n // As this stage S == L which implies a non-canonical S.\n return false;\n }\n\n // endregion\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,17 @@
1
+ // src/bcs/consts.ts
2
+ var MAX_U8_NUMBER = 255;
3
+ var MAX_U16_NUMBER = 65535;
4
+ var MAX_U32_NUMBER = 4294967295;
5
+ var MAX_U64_BIG_INT = 18446744073709551615n;
6
+ var MAX_U128_BIG_INT = 340282366920938463463374607431768211455n;
7
+ var MAX_U256_BIG_INT = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
8
+
9
+ export {
10
+ MAX_U8_NUMBER,
11
+ MAX_U16_NUMBER,
12
+ MAX_U32_NUMBER,
13
+ MAX_U64_BIG_INT,
14
+ MAX_U128_BIG_INT,
15
+ MAX_U256_BIG_INT
16
+ };
17
+ //# sourceMappingURL=chunk-SBB4YEPT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bcs/consts.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Uint8, Uint16, Uint32, Uint64, Uint128, Uint256 } from \"../types\";\n\n// Upper bound values for uint8, uint16, uint64 etc. These are all derived as\n// 2^N - 1, where N is the number of bits in the type.\nexport const MAX_U8_NUMBER: Uint8 = 255;\nexport const MAX_U16_NUMBER: Uint16 = 65535;\nexport const MAX_U32_NUMBER: Uint32 = 4294967295;\nexport const MAX_U64_BIG_INT: Uint64 = 18446744073709551615n;\nexport const MAX_U128_BIG_INT: Uint128 = 340282366920938463463374607431768211455n;\nexport const MAX_U256_BIG_INT: Uint256 =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935n;\n"],"mappings":"AAOO,IAAMA,EAAuB,IACvBC,EAAyB,MACzBC,EAAyB,WACzBC,EAA0B,sBAC1BC,EAA4B,yCAC5BC,EACX","names":["MAX_U8_NUMBER","MAX_U16_NUMBER","MAX_U32_NUMBER","MAX_U64_BIG_INT","MAX_U128_BIG_INT","MAX_U256_BIG_INT"]}
1
+ {"version":3,"sources":["../../src/bcs/consts.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Uint8, Uint16, Uint32, Uint64, Uint128, Uint256 } from \"../types\";\n\n// Upper bound values for uint8, uint16, uint64 etc. These are all derived as\n// 2^N - 1, where N is the number of bits in the type.\nexport const MAX_U8_NUMBER: Uint8 = 255;\nexport const MAX_U16_NUMBER: Uint16 = 65535;\nexport const MAX_U32_NUMBER: Uint32 = 4294967295;\nexport const MAX_U64_BIG_INT: Uint64 = 18446744073709551615n;\nexport const MAX_U128_BIG_INT: Uint128 = 340282366920938463463374607431768211455n;\nexport const MAX_U256_BIG_INT: Uint256 =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935n;\n"],"mappings":";AAOO,IAAM,gBAAuB;AAC7B,IAAM,iBAAyB;AAC/B,IAAM,iBAAyB;AAC/B,IAAM,kBAA0B;AAChC,IAAM,mBAA4B;AAClC,IAAM,mBACX;","names":[]}
@@ -0,0 +1,29 @@
1
+ // src/api/transactionSubmission/helpers.ts
2
+ function ValidateFeePayerDataOnSubmission(target, propertyKey, descriptor) {
3
+ const originalMethod = descriptor.value;
4
+ descriptor.value = async function(...args) {
5
+ const [methodArgs] = args;
6
+ if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerAuthenticator) {
7
+ throw new Error("You are submitting a Fee Payer transaction but missing the feePayerAuthenticator");
8
+ }
9
+ return originalMethod.apply(this, args);
10
+ };
11
+ return descriptor;
12
+ }
13
+ function ValidateFeePayerDataOnSimulation(target, propertyKey, descriptor) {
14
+ const originalMethod = descriptor.value;
15
+ descriptor.value = async function(...args) {
16
+ const [methodArgs] = args;
17
+ if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerPublicKey) {
18
+ throw new Error("You are simulating a Fee Payer transaction but missing the feePayerPublicKey");
19
+ }
20
+ return originalMethod.apply(this, args);
21
+ };
22
+ return descriptor;
23
+ }
24
+
25
+ export {
26
+ ValidateFeePayerDataOnSubmission,
27
+ ValidateFeePayerDataOnSimulation
28
+ };
29
+ //# sourceMappingURL=chunk-SIJELMDP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/transactionSubmission/helpers.ts"],"sourcesContent":["export function ValidateFeePayerDataOnSubmission(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n /* eslint-disable-next-line func-names, no-param-reassign */\n descriptor.value = async function (...args: any[]) {\n const [methodArgs] = args;\n\n if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerAuthenticator) {\n throw new Error(\"You are submitting a Fee Payer transaction but missing the feePayerAuthenticator\");\n }\n\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n}\n\nexport function ValidateFeePayerDataOnSimulation(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n /* eslint-disable-next-line func-names, no-param-reassign */\n descriptor.value = async function (...args: any[]) {\n const [methodArgs] = args;\n\n if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerPublicKey) {\n throw new Error(\"You are simulating a Fee Payer transaction but missing the feePayerPublicKey\");\n }\n\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n}\n"],"mappings":"AAAO,SAASA,EAAiCC,EAAiBC,EAAqBC,EAAgC,CACrH,IAAMC,EAAiBD,EAAW,MAElC,OAAAA,EAAW,MAAQ,kBAAmBE,EAAa,CACjD,GAAM,CAACC,CAAU,EAAID,EAErB,GAAIC,EAAW,YAAY,iBAAmB,CAACA,EAAW,sBACxD,MAAM,IAAI,MAAM,kFAAkF,EAGpG,OAAOF,EAAe,MAAM,KAAMC,CAAI,CACxC,EAEOF,CACT,CAEO,SAASI,EAAiCN,EAAiBC,EAAqBC,EAAgC,CACrH,IAAMC,EAAiBD,EAAW,MAElC,OAAAA,EAAW,MAAQ,kBAAmBE,EAAa,CACjD,GAAM,CAACC,CAAU,EAAID,EAErB,GAAIC,EAAW,YAAY,iBAAmB,CAACA,EAAW,kBACxD,MAAM,IAAI,MAAM,8EAA8E,EAGhG,OAAOF,EAAe,MAAM,KAAMC,CAAI,CACxC,EAEOF,CACT","names":["ValidateFeePayerDataOnSubmission","target","propertyKey","descriptor","originalMethod","args","methodArgs","ValidateFeePayerDataOnSimulation"]}
1
+ {"version":3,"sources":["../../src/api/transactionSubmission/helpers.ts"],"sourcesContent":["export function ValidateFeePayerDataOnSubmission(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n /* eslint-disable-next-line func-names, no-param-reassign */\n descriptor.value = async function (...args: any[]) {\n const [methodArgs] = args;\n\n if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerAuthenticator) {\n throw new Error(\"You are submitting a Fee Payer transaction but missing the feePayerAuthenticator\");\n }\n\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n}\n\nexport function ValidateFeePayerDataOnSimulation(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n /* eslint-disable-next-line func-names, no-param-reassign */\n descriptor.value = async function (...args: any[]) {\n const [methodArgs] = args;\n\n if (methodArgs.transaction.feePayerAddress && !methodArgs.feePayerPublicKey) {\n throw new Error(\"You are simulating a Fee Payer transaction but missing the feePayerPublicKey\");\n }\n\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n}\n"],"mappings":";AAAO,SAAS,iCAAiC,QAAiB,aAAqB,YAAgC;AACrH,QAAM,iBAAiB,WAAW;AAElC,aAAW,QAAQ,kBAAmB,MAAa;AACjD,UAAM,CAAC,UAAU,IAAI;AAErB,QAAI,WAAW,YAAY,mBAAmB,CAAC,WAAW,uBAAuB;AAC/E,YAAM,IAAI,MAAM,kFAAkF;AAAA,IACpG;AAEA,WAAO,eAAe,MAAM,MAAM,IAAI;AAAA,EACxC;AAEA,SAAO;AACT;AAEO,SAAS,iCAAiC,QAAiB,aAAqB,YAAgC;AACrH,QAAM,iBAAiB,WAAW;AAElC,aAAW,QAAQ,kBAAmB,MAAa;AACjD,UAAM,CAAC,UAAU,IAAI;AAErB,QAAI,WAAW,YAAY,mBAAmB,CAAC,WAAW,mBAAmB;AAC3E,YAAM,IAAI,MAAM,8EAA8E;AAAA,IAChG;AAEA,WAAO,eAAe,MAAM,MAAM,IAAI;AAAA,EACxC;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,94 @@
1
+ import {
2
+ sleep
3
+ } from "./chunk-GGMTQAQP.mjs";
4
+
5
+ // src/cli/localNode.ts
6
+ import { spawn } from "child_process";
7
+ import kill from "tree-kill";
8
+ var LocalNode = class {
9
+ constructor() {
10
+ this.MAXIMUM_WAIT_TIME_SEC = 75;
11
+ this.READINESS_ENDPOINT = "http://127.0.0.1:8070/";
12
+ this.process = null;
13
+ }
14
+ /**
15
+ * kills all the descendent processes
16
+ * of the node process, including the node process itself
17
+ */
18
+ stop() {
19
+ if (!this.process?.pid)
20
+ return;
21
+ kill(this.process.pid);
22
+ }
23
+ /**
24
+ * Runs a local testnet and waits for process to be up.
25
+ *
26
+ * If local node process is already up it returns and does
27
+ * not start the process
28
+ */
29
+ async run() {
30
+ const nodeIsUp = await this.checkIfProcessIsUp();
31
+ if (nodeIsUp) {
32
+ return;
33
+ }
34
+ this.start();
35
+ await this.waitUntilProcessIsUp();
36
+ }
37
+ /**
38
+ * Starts the local testnet by running the aptos node run-local-testnet command
39
+ */
40
+ start() {
41
+ const cliCommand = "npx";
42
+ const cliArgs = ["aptos", "node", "run-local-testnet", "--force-restart", "--assume-yes", "--with-indexer-api"];
43
+ const childProcess = spawn(cliCommand, cliArgs);
44
+ this.process = childProcess;
45
+ childProcess.stderr?.on("data", (data) => {
46
+ const str = data.toString();
47
+ console.log(str);
48
+ });
49
+ childProcess.stdout?.on("data", (data) => {
50
+ const str = data.toString();
51
+ console.log(str);
52
+ });
53
+ }
54
+ /**
55
+ * Waits for the local testnet process to be up
56
+ *
57
+ * @returns Promise<boolean>
58
+ */
59
+ async waitUntilProcessIsUp() {
60
+ let operational = await this.checkIfProcessIsUp();
61
+ const start = Date.now() / 1e3;
62
+ let last = start;
63
+ while (!operational && start + this.MAXIMUM_WAIT_TIME_SEC > last) {
64
+ await sleep(1e3);
65
+ operational = await this.checkIfProcessIsUp();
66
+ last = Date.now() / 1e3;
67
+ }
68
+ if (!operational) {
69
+ throw new Error("Process failed to start");
70
+ }
71
+ return true;
72
+ }
73
+ /**
74
+ * Checks if the local testnet is up
75
+ *
76
+ * @returns Promise<boolean>
77
+ */
78
+ async checkIfProcessIsUp() {
79
+ try {
80
+ const data = await fetch(this.READINESS_ENDPOINT);
81
+ if (data.status === 200) {
82
+ return true;
83
+ }
84
+ return false;
85
+ } catch (err) {
86
+ return false;
87
+ }
88
+ }
89
+ };
90
+
91
+ export {
92
+ LocalNode
93
+ };
94
+ //# sourceMappingURL=chunk-SS3NUM5L.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/localNode.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from \"child_process\";\nimport kill from \"tree-kill\";\nimport { sleep } from \"../utils/helpers\";\n\nexport class LocalNode {\n readonly MAXIMUM_WAIT_TIME_SEC = 75;\n\n readonly READINESS_ENDPOINT = \"http://127.0.0.1:8070/\";\n\n process: ChildProcessWithoutNullStreams | null = null;\n\n /**\n * kills all the descendent processes\n * of the node process, including the node process itself\n */\n stop() {\n if (!this.process?.pid) return;\n kill(this.process.pid);\n }\n\n /**\n * Runs a local testnet and waits for process to be up.\n *\n * If local node process is already up it returns and does\n * not start the process\n */\n async run() {\n const nodeIsUp = await this.checkIfProcessIsUp();\n if (nodeIsUp) {\n return;\n }\n this.start();\n await this.waitUntilProcessIsUp();\n }\n\n /**\n * Starts the local testnet by running the aptos node run-local-testnet command\n */\n start() {\n const cliCommand = \"npx\";\n const cliArgs = [\"aptos\", \"node\", \"run-local-testnet\", \"--force-restart\", \"--assume-yes\", \"--with-indexer-api\"];\n\n const childProcess = spawn(cliCommand, cliArgs);\n this.process = childProcess;\n\n childProcess.stderr?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n\n childProcess.stdout?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n }\n\n /**\n * Waits for the local testnet process to be up\n *\n * @returns Promise<boolean>\n */\n async waitUntilProcessIsUp(): Promise<boolean> {\n let operational = await this.checkIfProcessIsUp();\n const start = Date.now() / 1000;\n let last = start;\n\n while (!operational && start + this.MAXIMUM_WAIT_TIME_SEC > last) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(1000);\n // eslint-disable-next-line no-await-in-loop\n operational = await this.checkIfProcessIsUp();\n last = Date.now() / 1000;\n }\n\n // If we are here it means something blocks the process to start.\n // Might worth checking if another process is running on port 8080\n if (!operational) {\n throw new Error(\"Process failed to start\");\n }\n\n return true;\n }\n\n /**\n * Checks if the local testnet is up\n *\n * @returns Promise<boolean>\n */\n async checkIfProcessIsUp(): Promise<boolean> {\n try {\n // Query readiness endpoint\n const data = await fetch(this.READINESS_ENDPOINT);\n if (data.status === 200) {\n return true;\n }\n return false;\n } catch (err: any) {\n return false;\n }\n }\n}\n"],"mappings":"oCAAA,OAAyC,SAAAA,MAAa,gBACtD,OAAOC,MAAU,YAGV,IAAMC,EAAN,KAAgB,CAAhB,cACL,KAAS,sBAAwB,GAEjC,KAAS,mBAAqB,yBAE9B,aAAiD,KAMjD,MAAO,CACA,KAAK,SAAS,KACnBC,EAAK,KAAK,QAAQ,GAAG,CACvB,CAQA,MAAM,KAAM,CACO,MAAM,KAAK,mBAAmB,IAI/C,KAAK,MAAM,EACX,MAAM,KAAK,qBAAqB,EAClC,CAKA,OAAQ,CAIN,IAAMC,EAAeC,EAHF,MACH,CAAC,QAAS,OAAQ,oBAAqB,kBAAmB,eAAgB,oBAAoB,CAEhE,EAC9C,KAAK,QAAUD,EAEfA,EAAa,QAAQ,GAAG,OAASE,GAAc,CAC7C,IAAMC,EAAMD,EAAK,SAAS,EAG1B,QAAQ,IAAIC,CAAG,CACjB,CAAC,EAEDH,EAAa,QAAQ,GAAG,OAASE,GAAc,CAC7C,IAAMC,EAAMD,EAAK,SAAS,EAG1B,QAAQ,IAAIC,CAAG,CACjB,CAAC,CACH,CAOA,MAAM,sBAAyC,CAC7C,IAAIC,EAAc,MAAM,KAAK,mBAAmB,EAC1CC,EAAQ,KAAK,IAAI,EAAI,IACvBC,EAAOD,EAEX,KAAO,CAACD,GAAeC,EAAQ,KAAK,sBAAwBC,GAE1D,MAAMC,EAAM,GAAI,EAEhBH,EAAc,MAAM,KAAK,mBAAmB,EAC5CE,EAAO,KAAK,IAAI,EAAI,IAKtB,GAAI,CAACF,EACH,MAAM,IAAI,MAAM,yBAAyB,EAG3C,MAAO,EACT,CAOA,MAAM,oBAAuC,CAC3C,GAAI,CAGF,OADa,MAAM,MAAM,KAAK,kBAAkB,GACvC,SAAW,GAItB,MAAmB,CACjB,MAAO,EACT,CACF,CACF","names":["spawn","kill","LocalNode","kill","childProcess","spawn","data","str","operational","start","last","sleep"]}
1
+ {"version":3,"sources":["../../src/cli/localNode.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from \"child_process\";\nimport kill from \"tree-kill\";\nimport { sleep } from \"../utils/helpers\";\n\nexport class LocalNode {\n readonly MAXIMUM_WAIT_TIME_SEC = 75;\n\n readonly READINESS_ENDPOINT = \"http://127.0.0.1:8070/\";\n\n process: ChildProcessWithoutNullStreams | null = null;\n\n /**\n * kills all the descendent processes\n * of the node process, including the node process itself\n */\n stop() {\n if (!this.process?.pid) return;\n kill(this.process.pid);\n }\n\n /**\n * Runs a local testnet and waits for process to be up.\n *\n * If local node process is already up it returns and does\n * not start the process\n */\n async run() {\n const nodeIsUp = await this.checkIfProcessIsUp();\n if (nodeIsUp) {\n return;\n }\n this.start();\n await this.waitUntilProcessIsUp();\n }\n\n /**\n * Starts the local testnet by running the aptos node run-local-testnet command\n */\n start() {\n const cliCommand = \"npx\";\n const cliArgs = [\"aptos\", \"node\", \"run-local-testnet\", \"--force-restart\", \"--assume-yes\", \"--with-indexer-api\"];\n\n const childProcess = spawn(cliCommand, cliArgs);\n this.process = childProcess;\n\n childProcess.stderr?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n\n childProcess.stdout?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n }\n\n /**\n * Waits for the local testnet process to be up\n *\n * @returns Promise<boolean>\n */\n async waitUntilProcessIsUp(): Promise<boolean> {\n let operational = await this.checkIfProcessIsUp();\n const start = Date.now() / 1000;\n let last = start;\n\n while (!operational && start + this.MAXIMUM_WAIT_TIME_SEC > last) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(1000);\n // eslint-disable-next-line no-await-in-loop\n operational = await this.checkIfProcessIsUp();\n last = Date.now() / 1000;\n }\n\n // If we are here it means something blocks the process to start.\n // Might worth checking if another process is running on port 8080\n if (!operational) {\n throw new Error(\"Process failed to start\");\n }\n\n return true;\n }\n\n /**\n * Checks if the local testnet is up\n *\n * @returns Promise<boolean>\n */\n async checkIfProcessIsUp(): Promise<boolean> {\n try {\n // Query readiness endpoint\n const data = await fetch(this.READINESS_ENDPOINT);\n if (data.status === 200) {\n return true;\n }\n return false;\n } catch (err: any) {\n return false;\n }\n }\n}\n"],"mappings":";;;;;AAAA,SAAyC,aAAa;AACtD,OAAO,UAAU;AAGV,IAAM,YAAN,MAAgB;AAAA,EAAhB;AACL,SAAS,wBAAwB;AAEjC,SAAS,qBAAqB;AAE9B,mBAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,OAAO;AACL,QAAI,CAAC,KAAK,SAAS;AAAK;AACxB,SAAK,KAAK,QAAQ,GAAG;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,MAAM;AACV,UAAM,WAAW,MAAM,KAAK,mBAAmB;AAC/C,QAAI,UAAU;AACZ;AAAA,IACF;AACA,SAAK,MAAM;AACX,UAAM,KAAK,qBAAqB;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACN,UAAM,aAAa;AACnB,UAAM,UAAU,CAAC,SAAS,QAAQ,qBAAqB,mBAAmB,gBAAgB,oBAAoB;AAE9G,UAAM,eAAe,MAAM,YAAY,OAAO;AAC9C,SAAK,UAAU;AAEf,iBAAa,QAAQ,GAAG,QAAQ,CAAC,SAAc;AAC7C,YAAM,MAAM,KAAK,SAAS;AAG1B,cAAQ,IAAI,GAAG;AAAA,IACjB,CAAC;AAED,iBAAa,QAAQ,GAAG,QAAQ,CAAC,SAAc;AAC7C,YAAM,MAAM,KAAK,SAAS;AAG1B,cAAQ,IAAI,GAAG;AAAA,IACjB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,uBAAyC;AAC7C,QAAI,cAAc,MAAM,KAAK,mBAAmB;AAChD,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,QAAI,OAAO;AAEX,WAAO,CAAC,eAAe,QAAQ,KAAK,wBAAwB,MAAM;AAEhE,YAAM,MAAM,GAAI;AAEhB,oBAAc,MAAM,KAAK,mBAAmB;AAC5C,aAAO,KAAK,IAAI,IAAI;AAAA,IACtB;AAIA,QAAI,CAAC,aAAa;AAChB,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC3C;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,qBAAuC;AAC3C,QAAI;AAEF,YAAM,OAAO,MAAM,MAAM,KAAK,kBAAkB;AAChD,UAAI,KAAK,WAAW,KAAK;AACvB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,SAAS,KAAU;AACjB,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,37 @@
1
+ import {
2
+ fundAccount
3
+ } from "./chunk-KVSQ57HU.mjs";
4
+ import {
5
+ waitForIndexer
6
+ } from "./chunk-TBHU6ZW6.mjs";
7
+
8
+ // src/api/faucet.ts
9
+ var Faucet = class {
10
+ constructor(config) {
11
+ this.config = config;
12
+ }
13
+ /**
14
+ * This creates an account if it does not exist and mints the specified amount of
15
+ * coins into that account
16
+ *
17
+ * @example
18
+ * const transaction = await aptos.fundAccount({accountAddress:"0x123", amount: 100})
19
+ *
20
+ * @param args.accountAddress Address of the account to fund
21
+ * @param args.amount Amount of tokens to fund the account with
22
+ * @param args.options Configuration options for waitForTransaction
23
+ * @returns Transaction hash of the transaction that funded the account
24
+ */
25
+ async fundAccount(args) {
26
+ const fundTxn = await fundAccount({ aptosConfig: this.config, ...args });
27
+ if (args.options?.waitForIndexer !== false) {
28
+ await waitForIndexer({ aptosConfig: this.config, minimumLedgerVersion: BigInt(fundTxn.version) });
29
+ }
30
+ return fundTxn;
31
+ }
32
+ };
33
+
34
+ export {
35
+ Faucet
36
+ };
37
+ //# sourceMappingURL=chunk-ST4QXIMI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/faucet.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fundAccount } from \"../internal/faucet\";\nimport { UserTransactionResponse, WaitForTransactionOptions } from \"../types\";\nimport { AccountAddressInput } from \"../core\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexer } from \"../internal/transaction\";\n\n/**\n * A class to query all `Faucet` related queries on Aptos.\n */\nexport class Faucet {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * This creates an account if it does not exist and mints the specified amount of\n * coins into that account\n *\n * @example\n * const transaction = await aptos.fundAccount({accountAddress:\"0x123\", amount: 100})\n *\n * @param args.accountAddress Address of the account to fund\n * @param args.amount Amount of tokens to fund the account with\n * @param args.options Configuration options for waitForTransaction\n * @returns Transaction hash of the transaction that funded the account\n */\n async fundAccount(args: {\n accountAddress: AccountAddressInput;\n amount: number;\n options?: WaitForTransactionOptions;\n }): Promise<UserTransactionResponse> {\n const fundTxn = await fundAccount({ aptosConfig: this.config, ...args });\n\n if (args.options?.waitForIndexer !== false) {\n await waitForIndexer({ aptosConfig: this.config, minimumLedgerVersion: BigInt(fundTxn.version) });\n }\n\n return fundTxn;\n }\n}\n"],"mappings":"kFAYO,IAAMA,EAAN,KAAa,CAClB,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CAc3C,MAAM,YAAYC,EAImB,CACnC,IAAMC,EAAU,MAAMC,EAAY,CAAE,YAAa,KAAK,OAAQ,GAAGF,CAAK,CAAC,EAEvE,OAAIA,EAAK,SAAS,iBAAmB,IACnC,MAAMG,EAAe,CAAE,YAAa,KAAK,OAAQ,qBAAsB,OAAOF,EAAQ,OAAO,CAAE,CAAC,EAG3FA,CACT,CACF","names":["Faucet","config","args","fundTxn","fundAccount","waitForIndexer"]}
1
+ {"version":3,"sources":["../../src/api/faucet.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fundAccount } from \"../internal/faucet\";\nimport { UserTransactionResponse, WaitForTransactionOptions } from \"../types\";\nimport { AccountAddressInput } from \"../core\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexer } from \"../internal/transaction\";\n\n/**\n * A class to query all `Faucet` related queries on Aptos.\n */\nexport class Faucet {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * This creates an account if it does not exist and mints the specified amount of\n * coins into that account\n *\n * @example\n * const transaction = await aptos.fundAccount({accountAddress:\"0x123\", amount: 100})\n *\n * @param args.accountAddress Address of the account to fund\n * @param args.amount Amount of tokens to fund the account with\n * @param args.options Configuration options for waitForTransaction\n * @returns Transaction hash of the transaction that funded the account\n */\n async fundAccount(args: {\n accountAddress: AccountAddressInput;\n amount: number;\n options?: WaitForTransactionOptions;\n }): Promise<UserTransactionResponse> {\n const fundTxn = await fundAccount({ aptosConfig: this.config, ...args });\n\n if (args.options?.waitForIndexer !== false) {\n await waitForIndexer({ aptosConfig: this.config, minimumLedgerVersion: BigInt(fundTxn.version) });\n }\n\n return fundTxn;\n }\n}\n"],"mappings":";;;;;;;;AAYO,IAAM,SAAN,MAAa;AAAA,EAClB,YAAqB,QAAqB;AAArB;AAAA,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc3C,MAAM,YAAY,MAImB;AACnC,UAAM,UAAU,MAAM,YAAY,EAAE,aAAa,KAAK,QAAQ,GAAG,KAAK,CAAC;AAEvE,QAAI,KAAK,SAAS,mBAAmB,OAAO;AAC1C,YAAM,eAAe,EAAE,aAAa,KAAK,QAAQ,sBAAsB,OAAO,QAAQ,OAAO,EAAE,CAAC;AAAA,IAClG;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}