@aptos-labs/ts-sdk 1.14.0-zeta.0 → 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 (482) hide show
  1. package/dist/common/{accountAddress-NPQwRmxn.d.ts → accountAddress-u9wEan9p.d.ts} +32 -4
  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 +1 -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 +290 -171
  8. package/dist/common/index.js +11786 -374
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/account/Account.mjs +55 -1
  11. package/dist/esm/account/Ed25519Account.mjs +53 -1
  12. package/dist/esm/account/EphemeralKeyPair.d.mts +38 -5
  13. package/dist/esm/account/EphemeralKeyPair.mjs +36 -1
  14. package/dist/esm/account/KeylessAccount.d.mts +75 -37
  15. package/dist/esm/account/KeylessAccount.mjs +56 -1
  16. package/dist/esm/account/MultiKeyAccount.d.mts +4 -0
  17. package/dist/esm/account/MultiKeyAccount.mjs +55 -1
  18. package/dist/esm/account/SingleKeyAccount.mjs +53 -1
  19. package/dist/esm/account/index.d.mts +2 -1
  20. package/dist/esm/account/index.mjs +76 -1
  21. package/dist/esm/api/account.mjs +76 -1
  22. package/dist/esm/api/ans.mjs +87 -1
  23. package/dist/esm/api/aptos.d.mts +1 -0
  24. package/dist/esm/api/aptos.mjs +116 -1
  25. package/dist/esm/api/aptosConfig.mjs +9 -1
  26. package/dist/esm/api/coin.mjs +86 -1
  27. package/dist/esm/api/digitalAsset.mjs +87 -1
  28. package/dist/esm/api/event.mjs +54 -1
  29. package/dist/esm/api/faucet.mjs +53 -1
  30. package/dist/esm/api/fungibleAsset.mjs +87 -1
  31. package/dist/esm/api/general.mjs +84 -1
  32. package/dist/esm/api/index.d.mts +1 -0
  33. package/dist/esm/api/index.mjs +120 -1
  34. package/dist/esm/api/keyless.d.mts +19 -5
  35. package/dist/esm/api/keyless.mjs +70 -1
  36. package/dist/esm/api/staking.mjs +54 -1
  37. package/dist/esm/api/transaction.mjs +94 -1
  38. package/dist/esm/api/transactionSubmission/build.mjs +85 -1
  39. package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
  40. package/dist/esm/api/transactionSubmission/management.mjs +89 -1
  41. package/dist/esm/api/transactionSubmission/sign.mjs +109 -1
  42. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  43. package/dist/esm/api/transactionSubmission/simulate.mjs +86 -1
  44. package/dist/esm/api/transactionSubmission/submit.mjs +86 -1
  45. package/dist/esm/api/utils.mjs +34 -1
  46. package/dist/esm/bcs/consts.mjs +17 -1
  47. package/dist/esm/bcs/deserializer.d.mts +26 -0
  48. package/dist/esm/bcs/deserializer.mjs +8 -1
  49. package/dist/esm/bcs/index.mjs +57 -1
  50. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
  51. package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
  52. package/dist/esm/bcs/serializable/movePrimitives.mjs +25 -1
  53. package/dist/esm/bcs/serializable/moveStructs.mjs +18 -1
  54. package/dist/esm/bcs/serializer.mjs +18 -1
  55. package/dist/esm/chunk-2JOCR2VL.mjs +32 -0
  56. package/dist/esm/chunk-2JOCR2VL.mjs.map +1 -0
  57. package/dist/esm/chunk-2OQW7BMN.mjs +129 -0
  58. package/dist/esm/{chunk-7WJTKYRG.mjs.map → chunk-2OQW7BMN.mjs.map} +1 -1
  59. package/dist/esm/chunk-2TJJWII2.mjs +23 -0
  60. package/dist/esm/{chunk-MGOHPDX4.mjs.map → chunk-2TJJWII2.mjs.map} +1 -1
  61. package/dist/esm/chunk-2ZEGJU43.mjs +252 -0
  62. package/dist/esm/{chunk-KWNBC5MF.mjs.map → chunk-2ZEGJU43.mjs.map} +1 -1
  63. package/dist/esm/chunk-4OYYOYSO.mjs +336 -0
  64. package/dist/esm/chunk-4OYYOYSO.mjs.map +1 -0
  65. package/dist/esm/{chunk-S4SEFF4K.mjs → chunk-4PJ5FYGQ.mjs} +302 -27
  66. package/dist/esm/{chunk-S4SEFF4K.mjs.map → chunk-4PJ5FYGQ.mjs.map} +1 -1
  67. package/dist/esm/chunk-55NODGHC.mjs +135 -0
  68. package/dist/esm/{chunk-G4XSNSOT.mjs.map → chunk-55NODGHC.mjs.map} +1 -1
  69. package/dist/esm/chunk-6LRQSBRH.mjs +130 -0
  70. package/dist/esm/{chunk-C5UVSNZW.mjs.map → chunk-6LRQSBRH.mjs.map} +1 -1
  71. package/dist/esm/chunk-6MSZMIFW.mjs +23 -0
  72. package/dist/esm/{chunk-MWUJCP27.mjs.map → chunk-6MSZMIFW.mjs.map} +1 -1
  73. package/dist/esm/chunk-76TSTAU4.mjs +120 -0
  74. package/dist/esm/{chunk-FLYEALDB.mjs.map → chunk-76TSTAU4.mjs.map} +1 -1
  75. package/dist/esm/chunk-7FO3S6IZ.mjs +324 -0
  76. package/dist/esm/{chunk-3VGX3TXH.mjs.map → chunk-7FO3S6IZ.mjs.map} +1 -1
  77. package/dist/esm/chunk-7FUHWL6A.mjs +42 -0
  78. package/dist/esm/{chunk-SRPTQ4VV.mjs.map → chunk-7FUHWL6A.mjs.map} +1 -1
  79. package/dist/esm/chunk-7IDBB4J4.mjs +33 -0
  80. package/dist/esm/{chunk-PINF6ZWP.mjs.map → chunk-7IDBB4J4.mjs.map} +1 -1
  81. package/dist/esm/chunk-7JRMOHBP.mjs +247 -0
  82. package/dist/esm/chunk-7JRMOHBP.mjs.map +1 -0
  83. package/dist/esm/chunk-7REUIYF4.mjs +63 -0
  84. package/dist/esm/chunk-7REUIYF4.mjs.map +1 -0
  85. package/dist/esm/chunk-AC3OGAL6.mjs +87 -0
  86. package/dist/esm/{chunk-U6Z4FNB7.mjs.map → chunk-AC3OGAL6.mjs.map} +1 -1
  87. package/dist/esm/chunk-AR7X6GWQ.mjs +356 -0
  88. package/dist/esm/{chunk-EB7AI4B4.mjs.map → chunk-AR7X6GWQ.mjs.map} +1 -1
  89. package/dist/esm/chunk-ASF2VWOX.mjs +142 -0
  90. package/dist/esm/{chunk-O34EOOVF.mjs.map → chunk-ASF2VWOX.mjs.map} +1 -1
  91. package/dist/esm/chunk-ATVFVXR6.mjs +43 -0
  92. package/dist/esm/{chunk-IXYXFDJZ.mjs.map → chunk-ATVFVXR6.mjs.map} +1 -1
  93. package/dist/esm/chunk-B5S6DDUD.mjs +120 -0
  94. package/dist/esm/chunk-B5S6DDUD.mjs.map +1 -0
  95. package/dist/esm/chunk-BXMHDQHW.mjs +512 -0
  96. package/dist/esm/{chunk-DLTC6PJP.mjs.map → chunk-BXMHDQHW.mjs.map} +1 -1
  97. package/dist/esm/chunk-CC4DQ6NH.mjs +19 -0
  98. package/dist/esm/{chunk-H3TFQ7K4.mjs.map → chunk-CC4DQ6NH.mjs.map} +1 -1
  99. package/dist/esm/chunk-CMNJG4NN.mjs +345 -0
  100. package/dist/esm/{chunk-T23OVRNF.mjs.map → chunk-CMNJG4NN.mjs.map} +1 -1
  101. package/dist/esm/chunk-CTJSZT5V.mjs +87 -0
  102. package/dist/esm/{chunk-J7J7ZTBF.mjs.map → chunk-CTJSZT5V.mjs.map} +1 -1
  103. package/dist/esm/chunk-CX3NAVRD.mjs +205 -0
  104. package/dist/esm/chunk-CX3NAVRD.mjs.map +1 -0
  105. package/dist/esm/chunk-CXUGZXED.mjs +307 -0
  106. package/dist/esm/{chunk-EKABTHUZ.mjs.map → chunk-CXUGZXED.mjs.map} +1 -1
  107. package/dist/esm/chunk-D2BVBXWO.mjs +7 -0
  108. package/dist/esm/{chunk-7PSX4LCV.mjs.map → chunk-D2BVBXWO.mjs.map} +1 -1
  109. package/dist/esm/chunk-DGV7DYU4.mjs +413 -0
  110. package/dist/esm/{chunk-7Q2NVO5M.mjs.map → chunk-DGV7DYU4.mjs.map} +1 -1
  111. package/dist/esm/chunk-DIYZRGR6.mjs +242 -0
  112. package/dist/esm/{chunk-UVOU6BW2.mjs.map → chunk-DIYZRGR6.mjs.map} +1 -1
  113. package/dist/esm/chunk-DNPMS2OF.mjs +236 -0
  114. package/dist/esm/{chunk-PFFAQZHT.mjs.map → chunk-DNPMS2OF.mjs.map} +1 -1
  115. package/dist/esm/chunk-DVPQGCFT.mjs +74 -0
  116. package/dist/esm/{chunk-RBPGL6YB.mjs.map → chunk-DVPQGCFT.mjs.map} +1 -1
  117. package/dist/esm/chunk-EYHRMZPO.mjs +34 -0
  118. package/dist/esm/{chunk-AH44UPM4.mjs.map → chunk-EYHRMZPO.mjs.map} +1 -1
  119. package/dist/esm/chunk-F2ZWA7B7.mjs +412 -0
  120. package/dist/esm/{chunk-RTSEMQCK.mjs.map → chunk-F2ZWA7B7.mjs.map} +1 -1
  121. package/dist/esm/chunk-FDWJNY4U.mjs +22 -0
  122. package/dist/esm/{chunk-STYDBDYL.mjs.map → chunk-FDWJNY4U.mjs.map} +1 -1
  123. package/dist/esm/chunk-FF4JPDKD.mjs +315 -0
  124. package/dist/esm/{chunk-5DW2AJPI.mjs.map → chunk-FF4JPDKD.mjs.map} +1 -1
  125. package/dist/esm/chunk-FQQW55X7.mjs +288 -0
  126. package/dist/esm/{chunk-TVRJ3M7B.mjs.map → chunk-FQQW55X7.mjs.map} +1 -1
  127. package/dist/esm/chunk-FXKSE3ZP.mjs +25 -0
  128. package/dist/esm/{chunk-COW5IGYC.mjs.map → chunk-FXKSE3ZP.mjs.map} +1 -1
  129. package/dist/esm/chunk-GBEVD2VM.mjs +99 -0
  130. package/dist/esm/chunk-GBEVD2VM.mjs.map +1 -0
  131. package/dist/esm/chunk-GGMTQAQP.mjs +11 -0
  132. package/dist/esm/{chunk-3JPVQHOR.mjs.map → chunk-GGMTQAQP.mjs.map} +1 -1
  133. package/dist/esm/chunk-GSVQ6EUD.mjs +649 -0
  134. package/dist/esm/{chunk-WOLIXKOK.mjs.map → chunk-GSVQ6EUD.mjs.map} +1 -1
  135. package/dist/esm/chunk-HBNSRCZN.mjs +100 -0
  136. package/dist/esm/{chunk-FKSACFCB.mjs.map → chunk-HBNSRCZN.mjs.map} +1 -1
  137. package/dist/esm/chunk-IC56GQFJ.mjs +127 -0
  138. package/dist/esm/{chunk-XN4SQWI5.mjs.map → chunk-IC56GQFJ.mjs.map} +1 -1
  139. package/dist/esm/chunk-IHNPN5CQ.mjs +256 -0
  140. package/dist/esm/chunk-IHNPN5CQ.mjs.map +1 -0
  141. package/dist/esm/chunk-JHDHNGJ3.mjs +126 -0
  142. package/dist/esm/{chunk-JVKMQ64G.mjs.map → chunk-JHDHNGJ3.mjs.map} +1 -1
  143. package/dist/esm/chunk-JL2JHVS4.mjs +49 -0
  144. package/dist/esm/{chunk-ZNEBMSNC.mjs.map → chunk-JL2JHVS4.mjs.map} +1 -1
  145. package/dist/esm/chunk-JV3GSIJW.mjs +268 -0
  146. package/dist/esm/chunk-JV3GSIJW.mjs.map +1 -0
  147. package/dist/esm/chunk-KK2BSALW.mjs +32 -0
  148. package/dist/esm/{chunk-3FVRXELT.mjs.map → chunk-KK2BSALW.mjs.map} +1 -1
  149. package/dist/esm/chunk-KMXSRHJ6.mjs +93 -0
  150. package/dist/esm/{chunk-NMECYE3D.mjs.map → chunk-KMXSRHJ6.mjs.map} +1 -1
  151. package/dist/esm/chunk-KVSQ57HU.mjs +45 -0
  152. package/dist/esm/{chunk-NNW6HWIO.mjs.map → chunk-KVSQ57HU.mjs.map} +1 -1
  153. package/dist/esm/chunk-LI2QV6RU.mjs +129 -0
  154. package/dist/esm/chunk-LI2QV6RU.mjs.map +1 -0
  155. package/dist/esm/chunk-LLLQJWRZ.mjs +35 -0
  156. package/dist/esm/{chunk-QNHDS64I.mjs.map → chunk-LLLQJWRZ.mjs.map} +1 -1
  157. package/dist/esm/chunk-LYK4TQZO.mjs +70 -0
  158. package/dist/esm/{chunk-OZC3FCJP.mjs.map → chunk-LYK4TQZO.mjs.map} +1 -1
  159. package/dist/esm/chunk-LYMY63SO.mjs +124 -0
  160. package/dist/esm/{chunk-UGIJHLL3.mjs.map → chunk-LYMY63SO.mjs.map} +1 -1
  161. package/dist/esm/chunk-MZZLEY6O.mjs +92 -0
  162. package/dist/esm/{chunk-NKCZ4KGO.mjs.map → chunk-MZZLEY6O.mjs.map} +1 -1
  163. package/dist/esm/chunk-N4WKFNQ6.mjs +156 -0
  164. package/dist/esm/{chunk-LDQ6JFEF.mjs.map → chunk-N4WKFNQ6.mjs.map} +1 -1
  165. package/dist/esm/chunk-NFJCQRVK.mjs +37 -0
  166. package/dist/esm/{chunk-YE5B2S5L.mjs.map → chunk-NFJCQRVK.mjs.map} +1 -1
  167. package/dist/esm/chunk-NMKCJNQM.mjs +20 -0
  168. package/dist/esm/{chunk-TJDC5PWD.mjs.map → chunk-NMKCJNQM.mjs.map} +1 -1
  169. package/dist/esm/chunk-NW45SCPY.mjs +36 -0
  170. package/dist/esm/{chunk-V7P6MLSY.mjs.map → chunk-NW45SCPY.mjs.map} +1 -1
  171. package/dist/esm/chunk-NXFO2W4G.mjs +84 -0
  172. package/dist/esm/{chunk-D22EMNIY.mjs.map → chunk-NXFO2W4G.mjs.map} +1 -1
  173. package/dist/esm/chunk-NYL77J4X.mjs +97 -0
  174. package/dist/esm/{chunk-43WARVT3.mjs.map → chunk-NYL77J4X.mjs.map} +1 -1
  175. package/dist/esm/chunk-O6PSHSN3.mjs +53 -0
  176. package/dist/esm/{chunk-6LOTZ4GY.mjs.map → chunk-O6PSHSN3.mjs.map} +1 -1
  177. package/dist/esm/chunk-OR7TEZ25.mjs +16 -0
  178. package/dist/esm/chunk-PCLNX6FS.mjs +17 -0
  179. package/dist/esm/{chunk-6FBKUTGF.mjs.map → chunk-PCLNX6FS.mjs.map} +1 -1
  180. package/dist/esm/chunk-PIMQHG2J.mjs +49 -0
  181. package/dist/esm/{chunk-C3L4ETUF.mjs.map → chunk-PIMQHG2J.mjs.map} +1 -1
  182. package/dist/esm/chunk-PU5AFUX3.mjs +52 -0
  183. package/dist/esm/chunk-PU5AFUX3.mjs.map +1 -0
  184. package/dist/esm/chunk-PYLOAMR2.mjs +29 -0
  185. package/dist/esm/{chunk-HGZGTBA4.mjs.map → chunk-PYLOAMR2.mjs.map} +1 -1
  186. package/dist/esm/chunk-QBBTUC66.mjs +15 -0
  187. package/dist/esm/{chunk-ROXFCLDT.mjs.map → chunk-QBBTUC66.mjs.map} +1 -1
  188. package/dist/esm/chunk-QFOG4LIN.mjs +319 -0
  189. package/dist/esm/{chunk-RJ4PSGZ4.mjs.map → chunk-QFOG4LIN.mjs.map} +1 -1
  190. package/dist/esm/chunk-QMM2KL6C.mjs +12 -0
  191. package/dist/esm/{chunk-FBPNHF54.mjs.map → chunk-QMM2KL6C.mjs.map} +1 -1
  192. package/dist/esm/chunk-RCQMWXEW.mjs +35 -0
  193. package/dist/esm/{chunk-TXMPXZBG.mjs.map → chunk-RCQMWXEW.mjs.map} +1 -1
  194. package/dist/esm/chunk-RX4VG2AT.mjs +314 -0
  195. package/dist/esm/chunk-RX4VG2AT.mjs.map +1 -0
  196. package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
  197. package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
  198. package/dist/esm/chunk-SIJELMDP.mjs +29 -0
  199. package/dist/esm/{chunk-6EMN3BOV.mjs.map → chunk-SIJELMDP.mjs.map} +1 -1
  200. package/dist/esm/chunk-SS3NUM5L.mjs +94 -0
  201. package/dist/esm/{chunk-L54P6EGN.mjs.map → chunk-SS3NUM5L.mjs.map} +1 -1
  202. package/dist/esm/chunk-ST4QXIMI.mjs +37 -0
  203. package/dist/esm/{chunk-XMFPKHB5.mjs.map → chunk-ST4QXIMI.mjs.map} +1 -1
  204. package/dist/esm/chunk-TBHU6ZW6.mjs +215 -0
  205. package/dist/esm/{chunk-QHVZL3LZ.mjs.map → chunk-TBHU6ZW6.mjs.map} +1 -1
  206. package/dist/esm/chunk-TLNHRJB2.mjs +155 -0
  207. package/dist/esm/{chunk-H6LYW7HG.mjs.map → chunk-TLNHRJB2.mjs.map} +1 -1
  208. package/dist/esm/chunk-U3IUCR2G.mjs +54 -0
  209. package/dist/esm/{chunk-52ECIIIH.mjs.map → chunk-U3IUCR2G.mjs.map} +1 -1
  210. package/dist/esm/chunk-U7QBZ6PP.mjs +400 -0
  211. package/dist/esm/{chunk-ZM436N3W.mjs.map → chunk-U7QBZ6PP.mjs.map} +1 -1
  212. package/dist/esm/chunk-UEBBLQJ5.mjs +94 -0
  213. package/dist/esm/{chunk-7STYQ5ZE.mjs.map → chunk-UEBBLQJ5.mjs.map} +1 -1
  214. package/dist/esm/chunk-UKU6A2W2.mjs +232 -0
  215. package/dist/esm/{chunk-HXSW6X7K.mjs.map → chunk-UKU6A2W2.mjs.map} +1 -1
  216. package/dist/esm/chunk-UX5NSZEN.mjs +134 -0
  217. package/dist/esm/{chunk-WVIPPU2C.mjs.map → chunk-UX5NSZEN.mjs.map} +1 -1
  218. package/dist/esm/chunk-VDJBDX3A.mjs +79 -0
  219. package/dist/esm/{chunk-25N7RLBW.mjs.map → chunk-VDJBDX3A.mjs.map} +1 -1
  220. package/dist/esm/chunk-VJP2VWMF.mjs +58 -0
  221. package/dist/esm/{chunk-56NB52W6.mjs.map → chunk-VJP2VWMF.mjs.map} +1 -1
  222. package/dist/esm/chunk-VKJQORON.mjs +93 -0
  223. package/dist/esm/{chunk-3OELNIC6.mjs.map → chunk-VKJQORON.mjs.map} +1 -1
  224. package/dist/esm/chunk-VPWUODU4.mjs +51 -0
  225. package/dist/esm/{chunk-NNIHTVLA.mjs.map → chunk-VPWUODU4.mjs.map} +1 -1
  226. package/dist/esm/chunk-VZQXLVEP.mjs +197 -0
  227. package/dist/esm/{chunk-VJJN3GFD.mjs.map → chunk-VZQXLVEP.mjs.map} +1 -1
  228. package/dist/esm/chunk-W76MGKZB.mjs +33 -0
  229. package/dist/esm/{chunk-CLVAGDXO.mjs.map → chunk-W76MGKZB.mjs.map} +1 -1
  230. package/dist/esm/chunk-WDRH2URB.mjs +91 -0
  231. package/dist/esm/{chunk-65UZZNN2.mjs.map → chunk-WDRH2URB.mjs.map} +1 -1
  232. package/dist/esm/chunk-WHBWEN6N.mjs +206 -0
  233. package/dist/esm/{chunk-NGNETNK2.mjs.map → chunk-WHBWEN6N.mjs.map} +1 -1
  234. package/dist/esm/chunk-WK5ZSNE2.mjs +173 -0
  235. package/dist/esm/{chunk-6RBUXB5I.mjs.map → chunk-WK5ZSNE2.mjs.map} +1 -1
  236. package/dist/esm/chunk-WLTBF4DF.mjs +22 -0
  237. package/dist/esm/chunk-WLTBF4DF.mjs.map +1 -0
  238. package/dist/esm/chunk-WVGO4D7K.mjs +254 -0
  239. package/dist/esm/{chunk-OLGSIKFB.mjs.map → chunk-WVGO4D7K.mjs.map} +1 -1
  240. package/dist/esm/chunk-XANFAUBD.mjs +44 -0
  241. package/dist/esm/{chunk-NC5HHEEM.mjs.map → chunk-XANFAUBD.mjs.map} +1 -1
  242. package/dist/esm/chunk-Y2LV3S5W.mjs +410 -0
  243. package/dist/esm/{chunk-6SHLLRJA.mjs.map → chunk-Y2LV3S5W.mjs.map} +1 -1
  244. package/dist/esm/chunk-YV7M4CFP.mjs +137 -0
  245. package/dist/esm/{chunk-AOCNYMMX.mjs.map → chunk-YV7M4CFP.mjs.map} +1 -1
  246. package/dist/esm/chunk-YYOPNUX5.mjs +41 -0
  247. package/dist/esm/chunk-YYOPNUX5.mjs.map +1 -0
  248. package/dist/esm/chunk-ZAHJ7KXB.mjs +81 -0
  249. package/dist/esm/{chunk-Z5KKUXYI.mjs.map → chunk-ZAHJ7KXB.mjs.map} +1 -1
  250. package/dist/esm/chunk-ZMFKQUHL.mjs +117 -0
  251. package/dist/esm/{chunk-TICM455H.mjs.map → chunk-ZMFKQUHL.mjs.map} +1 -1
  252. package/dist/esm/cli/index.mjs +12 -1
  253. package/dist/esm/cli/localNode.mjs +8 -1
  254. package/dist/esm/cli/move.mjs +7 -1
  255. package/dist/esm/client/core.mjs +27 -1
  256. package/dist/esm/client/get.mjs +32 -1
  257. package/dist/esm/client/index.mjs +55 -1
  258. package/dist/esm/client/post.mjs +36 -1
  259. package/dist/esm/client/types.d.mts +5 -1
  260. package/dist/esm/client/types.mjs +7 -1
  261. package/dist/esm/core/account/index.mjs +19 -1
  262. package/dist/esm/core/account/utils/address.mjs +18 -1
  263. package/dist/esm/core/account/utils/index.mjs +19 -1
  264. package/dist/esm/core/accountAddress.mjs +15 -1
  265. package/dist/esm/core/authenticationKey.mjs +14 -1
  266. package/dist/esm/core/common.mjs +7 -1
  267. package/dist/esm/core/crypto/ed25519.d.mts +10 -0
  268. package/dist/esm/core/crypto/ed25519.mjs +29 -1
  269. package/dist/esm/core/crypto/ephemeral.d.mts +16 -20
  270. package/dist/esm/core/crypto/ephemeral.mjs +28 -1
  271. package/dist/esm/core/crypto/hdKey.d.mts +1 -15
  272. package/dist/esm/core/crypto/hdKey.mjs +25 -1
  273. package/dist/esm/core/crypto/index.d.mts +3 -2
  274. package/dist/esm/core/crypto/index.mjs +124 -1
  275. package/dist/esm/core/crypto/keyless.d.mts +121 -106
  276. package/dist/esm/core/crypto/keyless.mjs +55 -1
  277. package/dist/esm/core/crypto/multiEd25519.mjs +28 -1
  278. package/dist/esm/core/crypto/multiKey.mjs +34 -1
  279. package/dist/esm/core/crypto/poseidon.mjs +15 -1
  280. package/dist/esm/core/crypto/privateKey.mjs +1 -1
  281. package/dist/esm/core/crypto/proof.d.mts +21 -0
  282. package/dist/esm/core/crypto/proof.mjs +20 -0
  283. package/dist/esm/core/crypto/proof.mjs.map +1 -0
  284. package/dist/esm/core/crypto/publicKey.mjs +21 -1
  285. package/dist/esm/core/crypto/secp256k1.mjs +27 -1
  286. package/dist/esm/core/crypto/signature.mjs +19 -1
  287. package/dist/esm/core/crypto/singleKey.mjs +33 -1
  288. package/dist/esm/core/crypto/utils.mjs +9 -1
  289. package/dist/esm/core/hex.mjs +10 -1
  290. package/dist/esm/core/index.d.mts +3 -2
  291. package/dist/esm/core/index.mjs +141 -1
  292. package/dist/esm/index.d.mts +5 -4
  293. package/dist/esm/index.mjs +635 -1
  294. package/dist/esm/internal/account.mjs +106 -1
  295. package/dist/esm/internal/ans.mjs +120 -1
  296. package/dist/esm/internal/coin.mjs +85 -1
  297. package/dist/esm/internal/digitalAsset.mjs +127 -1
  298. package/dist/esm/internal/event.mjs +55 -1
  299. package/dist/esm/internal/faucet.mjs +52 -1
  300. package/dist/esm/internal/fungibleAsset.mjs +91 -1
  301. package/dist/esm/internal/general.mjs +46 -1
  302. package/dist/esm/internal/keyless.d.mts +4 -3
  303. package/dist/esm/internal/keyless.mjs +73 -1
  304. package/dist/esm/internal/staking.mjs +53 -1
  305. package/dist/esm/internal/transaction.mjs +51 -1
  306. package/dist/esm/internal/transactionSubmission.mjs +102 -1
  307. package/dist/esm/internal/view.mjs +83 -1
  308. package/dist/esm/transactions/authenticator/account.mjs +44 -1
  309. package/dist/esm/transactions/authenticator/index.mjs +60 -1
  310. package/dist/esm/transactions/authenticator/transaction.mjs +48 -1
  311. package/dist/esm/transactions/index.mjs +284 -1
  312. package/dist/esm/transactions/instances/chainId.mjs +11 -1
  313. package/dist/esm/transactions/instances/identifier.mjs +11 -1
  314. package/dist/esm/transactions/instances/index.mjs +96 -1
  315. package/dist/esm/transactions/instances/moduleId.mjs +38 -1
  316. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +43 -1
  317. package/dist/esm/transactions/instances/rawTransaction.mjs +48 -1
  318. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +20 -1
  319. package/dist/esm/transactions/instances/signedTransaction.mjs +45 -1
  320. package/dist/esm/transactions/instances/simpleTransaction.mjs +43 -1
  321. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  322. package/dist/esm/transactions/instances/transactionPayload.mjs +56 -1
  323. package/dist/esm/transactions/management/accountSequenceNumber.mjs +74 -1
  324. package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
  325. package/dist/esm/transactions/management/index.mjs +95 -1
  326. package/dist/esm/transactions/management/transactionWorker.mjs +91 -1
  327. package/dist/esm/transactions/transactionBuilder/helpers.mjs +75 -1
  328. package/dist/esm/transactions/transactionBuilder/index.mjs +162 -1
  329. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +85 -1
  330. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +58 -1
  331. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +98 -1
  332. package/dist/esm/transactions/typeTag/index.mjs +74 -1
  333. package/dist/esm/transactions/typeTag/parser.mjs +43 -1
  334. package/dist/esm/transactions/types.mjs +1 -1
  335. package/dist/esm/types/generated/queries.mjs +57 -1
  336. package/dist/esm/types/generated/types.mjs +809 -1
  337. package/dist/esm/types/generated/types.mjs.map +1 -1
  338. package/dist/esm/types/index.d.mts +6 -4
  339. package/dist/esm/types/index.mjs +68 -1
  340. package/dist/esm/types/indexer.mjs +1 -1
  341. package/dist/esm/types/keyless.d.mts +54 -1
  342. package/dist/esm/types/keyless.mjs +9 -0
  343. package/dist/esm/utils/apiEndpoints.mjs +21 -1
  344. package/dist/esm/utils/const.mjs +21 -1
  345. package/dist/esm/utils/helpers.mjs +7 -1
  346. package/dist/esm/utils/index.mjs +56 -1
  347. package/dist/esm/utils/memoize.mjs +9 -1
  348. package/dist/esm/utils/normalizeBundle.mjs +19 -1
  349. package/dist/esm/version.d.mts +1 -1
  350. package/dist/esm/version.mjs +7 -1
  351. package/package.json +5 -2
  352. package/src/account/EphemeralKeyPair.ts +45 -7
  353. package/src/account/KeylessAccount.ts +152 -113
  354. package/src/account/MultiKeyAccount.ts +4 -0
  355. package/src/api/keyless.ts +17 -4
  356. package/src/bcs/deserializer.ts +40 -0
  357. package/src/client/core.ts +1 -1
  358. package/src/client/types.ts +1 -1
  359. package/src/core/account/index.ts +0 -1
  360. package/src/core/crypto/ed25519.ts +24 -4
  361. package/src/core/crypto/ephemeral.ts +17 -28
  362. package/src/core/crypto/hdKey.ts +0 -31
  363. package/src/core/crypto/keyless.ts +231 -286
  364. package/src/core/crypto/proof.ts +16 -0
  365. package/src/internal/keyless.ts +16 -15
  366. package/src/internal/transactionSubmission.ts +16 -6
  367. package/src/transactions/management/transactionWorker.ts +1 -7
  368. package/src/types/index.ts +5 -2
  369. package/src/types/keyless.ts +31 -0
  370. package/src/utils/apiEndpoints.ts +6 -6
  371. package/src/version.ts +1 -1
  372. package/dist/common/chunk-KSEUZTKY.js +0 -2
  373. package/dist/common/chunk-KSEUZTKY.js.map +0 -1
  374. package/dist/esm/chunk-25N7RLBW.mjs +0 -2
  375. package/dist/esm/chunk-32355KGV.mjs +0 -2
  376. package/dist/esm/chunk-32355KGV.mjs.map +0 -1
  377. package/dist/esm/chunk-3FVRXELT.mjs +0 -2
  378. package/dist/esm/chunk-3JPVQHOR.mjs +0 -2
  379. package/dist/esm/chunk-3OELNIC6.mjs +0 -2
  380. package/dist/esm/chunk-3U5VRZLS.mjs +0 -2
  381. package/dist/esm/chunk-3U5VRZLS.mjs.map +0 -1
  382. package/dist/esm/chunk-3VGX3TXH.mjs +0 -2
  383. package/dist/esm/chunk-43WARVT3.mjs +0 -2
  384. package/dist/esm/chunk-52ECIIIH.mjs +0 -2
  385. package/dist/esm/chunk-56CNRT2K.mjs +0 -2
  386. package/dist/esm/chunk-56NB52W6.mjs +0 -2
  387. package/dist/esm/chunk-5DW2AJPI.mjs +0 -2
  388. package/dist/esm/chunk-5QWUIVAQ.mjs +0 -2
  389. package/dist/esm/chunk-5QWUIVAQ.mjs.map +0 -1
  390. package/dist/esm/chunk-6456EI2E.mjs +0 -2
  391. package/dist/esm/chunk-6456EI2E.mjs.map +0 -1
  392. package/dist/esm/chunk-65UZZNN2.mjs +0 -2
  393. package/dist/esm/chunk-6EMN3BOV.mjs +0 -2
  394. package/dist/esm/chunk-6FBKUTGF.mjs +0 -2
  395. package/dist/esm/chunk-6IFMQ5AS.mjs +0 -2
  396. package/dist/esm/chunk-6IFMQ5AS.mjs.map +0 -1
  397. package/dist/esm/chunk-6LOTZ4GY.mjs +0 -2
  398. package/dist/esm/chunk-6RBUXB5I.mjs +0 -2
  399. package/dist/esm/chunk-6SHLLRJA.mjs +0 -2
  400. package/dist/esm/chunk-73Y4NTDU.mjs +0 -2
  401. package/dist/esm/chunk-73Y4NTDU.mjs.map +0 -1
  402. package/dist/esm/chunk-7PSX4LCV.mjs +0 -2
  403. package/dist/esm/chunk-7Q2NVO5M.mjs +0 -2
  404. package/dist/esm/chunk-7STYQ5ZE.mjs +0 -2
  405. package/dist/esm/chunk-7WJTKYRG.mjs +0 -2
  406. package/dist/esm/chunk-AH44UPM4.mjs +0 -2
  407. package/dist/esm/chunk-AOCNYMMX.mjs +0 -2
  408. package/dist/esm/chunk-C3L4ETUF.mjs +0 -2
  409. package/dist/esm/chunk-C5UVSNZW.mjs +0 -2
  410. package/dist/esm/chunk-CLVAGDXO.mjs +0 -2
  411. package/dist/esm/chunk-COW5IGYC.mjs +0 -2
  412. package/dist/esm/chunk-D22EMNIY.mjs +0 -2
  413. package/dist/esm/chunk-DLTC6PJP.mjs +0 -2
  414. package/dist/esm/chunk-EB7AI4B4.mjs +0 -2
  415. package/dist/esm/chunk-EKABTHUZ.mjs +0 -2
  416. package/dist/esm/chunk-EOMDZYSJ.mjs +0 -2
  417. package/dist/esm/chunk-EOMDZYSJ.mjs.map +0 -1
  418. package/dist/esm/chunk-FBPNHF54.mjs +0 -2
  419. package/dist/esm/chunk-FKSACFCB.mjs +0 -2
  420. package/dist/esm/chunk-FLYEALDB.mjs +0 -2
  421. package/dist/esm/chunk-FVA2OPG4.mjs +0 -2
  422. package/dist/esm/chunk-G4XSNSOT.mjs +0 -2
  423. package/dist/esm/chunk-H3TFQ7K4.mjs +0 -2
  424. package/dist/esm/chunk-H6LYW7HG.mjs +0 -2
  425. package/dist/esm/chunk-HCGWCB5E.mjs +0 -2
  426. package/dist/esm/chunk-HCGWCB5E.mjs.map +0 -1
  427. package/dist/esm/chunk-HGZGTBA4.mjs +0 -2
  428. package/dist/esm/chunk-HXSW6X7K.mjs +0 -2
  429. package/dist/esm/chunk-IXYXFDJZ.mjs +0 -2
  430. package/dist/esm/chunk-J7J7ZTBF.mjs +0 -2
  431. package/dist/esm/chunk-JVKMQ64G.mjs +0 -2
  432. package/dist/esm/chunk-KWNBC5MF.mjs +0 -2
  433. package/dist/esm/chunk-L54P6EGN.mjs +0 -2
  434. package/dist/esm/chunk-LDQ6JFEF.mjs +0 -2
  435. package/dist/esm/chunk-MGOHPDX4.mjs +0 -2
  436. package/dist/esm/chunk-MWUJCP27.mjs +0 -2
  437. package/dist/esm/chunk-NC5HHEEM.mjs +0 -2
  438. package/dist/esm/chunk-NGNETNK2.mjs +0 -2
  439. package/dist/esm/chunk-NKCZ4KGO.mjs +0 -2
  440. package/dist/esm/chunk-NMECYE3D.mjs +0 -2
  441. package/dist/esm/chunk-NNIHTVLA.mjs +0 -2
  442. package/dist/esm/chunk-NNW6HWIO.mjs +0 -2
  443. package/dist/esm/chunk-O34EOOVF.mjs +0 -2
  444. package/dist/esm/chunk-OBEVVLF7.mjs +0 -2
  445. package/dist/esm/chunk-OBEVVLF7.mjs.map +0 -1
  446. package/dist/esm/chunk-OKRUEVF3.mjs +0 -2
  447. package/dist/esm/chunk-OKRUEVF3.mjs.map +0 -1
  448. package/dist/esm/chunk-OLGSIKFB.mjs +0 -2
  449. package/dist/esm/chunk-OZC3FCJP.mjs +0 -2
  450. package/dist/esm/chunk-PFFAQZHT.mjs +0 -2
  451. package/dist/esm/chunk-PINF6ZWP.mjs +0 -2
  452. package/dist/esm/chunk-PJXRQBF6.mjs +0 -2
  453. package/dist/esm/chunk-PJXRQBF6.mjs.map +0 -1
  454. package/dist/esm/chunk-QHVZL3LZ.mjs +0 -2
  455. package/dist/esm/chunk-QNHDS64I.mjs +0 -2
  456. package/dist/esm/chunk-RBPGL6YB.mjs +0 -2
  457. package/dist/esm/chunk-RJ4PSGZ4.mjs +0 -2
  458. package/dist/esm/chunk-ROXFCLDT.mjs +0 -2
  459. package/dist/esm/chunk-RTSEMQCK.mjs +0 -2
  460. package/dist/esm/chunk-SRPTQ4VV.mjs +0 -2
  461. package/dist/esm/chunk-STYDBDYL.mjs +0 -2
  462. package/dist/esm/chunk-T23OVRNF.mjs +0 -2
  463. package/dist/esm/chunk-TICM455H.mjs +0 -2
  464. package/dist/esm/chunk-TJDC5PWD.mjs +0 -2
  465. package/dist/esm/chunk-TVRJ3M7B.mjs +0 -2
  466. package/dist/esm/chunk-TXMPXZBG.mjs +0 -2
  467. package/dist/esm/chunk-U6Z4FNB7.mjs +0 -2
  468. package/dist/esm/chunk-UGIJHLL3.mjs +0 -2
  469. package/dist/esm/chunk-UVOU6BW2.mjs +0 -2
  470. package/dist/esm/chunk-V7P6MLSY.mjs +0 -2
  471. package/dist/esm/chunk-VJJN3GFD.mjs +0 -2
  472. package/dist/esm/chunk-WOLIXKOK.mjs +0 -2
  473. package/dist/esm/chunk-WVIPPU2C.mjs +0 -2
  474. package/dist/esm/chunk-XCR3YNHW.mjs +0 -2
  475. package/dist/esm/chunk-XCR3YNHW.mjs.map +0 -1
  476. package/dist/esm/chunk-XMFPKHB5.mjs +0 -2
  477. package/dist/esm/chunk-XN4SQWI5.mjs +0 -2
  478. package/dist/esm/chunk-YE5B2S5L.mjs +0 -2
  479. package/dist/esm/chunk-Z5KKUXYI.mjs +0 -2
  480. package/dist/esm/chunk-ZM436N3W.mjs +0 -2
  481. package/dist/esm/chunk-ZNEBMSNC.mjs +0 -2
  482. /package/dist/esm/{chunk-FVA2OPG4.mjs.map → chunk-OR7TEZ25.mjs.map} +0 -0
@@ -0,0 +1,268 @@
1
+ import {
2
+ EphemeralKeyPair
3
+ } from "./chunk-LI2QV6RU.mjs";
4
+ import {
5
+ deriveTransactionType,
6
+ generateSigningMessageForSerializable
7
+ } from "./chunk-VJP2VWMF.mjs";
8
+ import {
9
+ AccountAuthenticatorSingleKey
10
+ } from "./chunk-IC56GQFJ.mjs";
11
+ import {
12
+ AnyPublicKey,
13
+ AnySignature
14
+ } from "./chunk-TLNHRJB2.mjs";
15
+ import {
16
+ EphemeralCertificate,
17
+ KeylessPublicKey,
18
+ KeylessSignature,
19
+ ZeroKnowledgeSig
20
+ } from "./chunk-4OYYOYSO.mjs";
21
+ import {
22
+ AccountAddress
23
+ } from "./chunk-CMNJG4NN.mjs";
24
+ import {
25
+ Deserializer
26
+ } from "./chunk-7JRMOHBP.mjs";
27
+ import {
28
+ Serializable
29
+ } from "./chunk-FQQW55X7.mjs";
30
+ import {
31
+ Hex
32
+ } from "./chunk-YV7M4CFP.mjs";
33
+
34
+ // src/account/KeylessAccount.ts
35
+ import { jwtDecode } from "jwt-decode";
36
+ import { JwksClient } from "jwks-rsa";
37
+ import { decode } from "base-64";
38
+ import EventEmitter from "eventemitter3";
39
+ var IssuerToJwkEndpoint = {
40
+ "https://accounts.google.com": "https://www.googleapis.com/oauth2/v3/certs"
41
+ };
42
+ var _KeylessAccount = class _KeylessAccount extends Serializable {
43
+ constructor(args) {
44
+ super();
45
+ const { address, ephemeralKeyPair, uidKey, uidVal, aud, pepper, proofOrFetcher, proofFetchCallback, jwt } = args;
46
+ this.ephemeralKeyPair = ephemeralKeyPair;
47
+ this.publicKey = KeylessPublicKey.create(args);
48
+ this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
49
+ this.uidKey = uidKey;
50
+ this.uidVal = uidVal;
51
+ this.aud = aud;
52
+ this.jwt = jwt;
53
+ this.emitter = new EventEmitter();
54
+ this.proofOrPromise = proofOrFetcher;
55
+ if (proofOrFetcher instanceof ZeroKnowledgeSig) {
56
+ this.proof = proofOrFetcher;
57
+ } else {
58
+ if (proofFetchCallback === void 0) {
59
+ throw new Error("Must provide callback for async proof fetch");
60
+ }
61
+ this.emitter.on("proofFetchFinish", async (status) => {
62
+ await proofFetchCallback(status);
63
+ this.emitter.removeAllListeners();
64
+ });
65
+ this.init(proofOrFetcher);
66
+ }
67
+ this.signingScheme = 2 /* SingleKey */;
68
+ const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();
69
+ if (pepperBytes.length !== _KeylessAccount.PEPPER_LENGTH) {
70
+ throw new Error(`Pepper length in bytes should be ${_KeylessAccount.PEPPER_LENGTH}`);
71
+ }
72
+ this.pepper = pepperBytes;
73
+ this.isJwtValid = true;
74
+ }
75
+ /**
76
+ * This initializes the asyncronous proof fetch
77
+ * @return
78
+ */
79
+ async init(promise) {
80
+ try {
81
+ this.proof = await promise;
82
+ this.emitter.emit("proofFetchFinish", { status: "Success" });
83
+ } catch (error) {
84
+ if (error instanceof Error) {
85
+ this.emitter.emit("proofFetchFinish", { status: "Failed", error: error.toString() });
86
+ } else {
87
+ this.emitter.emit("proofFetchFinish", { status: "Failed", error: "Unknown" });
88
+ }
89
+ }
90
+ }
91
+ serialize(serializer) {
92
+ serializer.serializeStr(this.jwt);
93
+ serializer.serializeStr(this.uidKey);
94
+ serializer.serializeFixedBytes(this.pepper);
95
+ this.ephemeralKeyPair.serialize(serializer);
96
+ if (this.proof === void 0) {
97
+ throw new Error("Connot serialize - proof undefined");
98
+ }
99
+ this.proof.serialize(serializer);
100
+ }
101
+ static deserialize(deserializer) {
102
+ const jwt = deserializer.deserializeStr();
103
+ const uidKey = deserializer.deserializeStr();
104
+ const pepper = deserializer.deserializeFixedBytes(31);
105
+ const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
106
+ const proof = ZeroKnowledgeSig.deserialize(deserializer);
107
+ return _KeylessAccount.fromJWTAndProof({
108
+ proof,
109
+ pepper,
110
+ uidKey,
111
+ jwt,
112
+ ephemeralKeyPair
113
+ });
114
+ }
115
+ /**
116
+ * Checks if the proof is expired. If so the account must be rederived with a new EphemeralKeyPair
117
+ * and JWT token.
118
+ * @return boolean
119
+ */
120
+ isExpired() {
121
+ return this.ephemeralKeyPair.isExpired();
122
+ }
123
+ /**
124
+ * Checks if the the JWK used to verify the token still exists on the issuer's JWK uri.
125
+ * Caches the result.
126
+ * @return boolean
127
+ */
128
+ async checkJwkValidity() {
129
+ if (!this.isJwtValid) {
130
+ return false;
131
+ }
132
+ const jwtHeader = jwtDecode(this.jwt, { header: true });
133
+ const client = new JwksClient({
134
+ jwksUri: IssuerToJwkEndpoint[this.publicKey.iss]
135
+ });
136
+ try {
137
+ await client.getSigningKey(jwtHeader.kid);
138
+ return true;
139
+ } catch (error) {
140
+ this.isJwtValid = false;
141
+ return false;
142
+ }
143
+ }
144
+ /**
145
+ * Sign a message using Keyless.
146
+ * @param message the message to sign, as binary input
147
+ * @return the AccountAuthenticator containing the signature, together with the account's public key
148
+ */
149
+ signWithAuthenticator(message) {
150
+ const signature = new AnySignature(this.sign(message));
151
+ const publicKey = new AnyPublicKey(this.publicKey);
152
+ return new AccountAuthenticatorSingleKey(publicKey, signature);
153
+ }
154
+ /**
155
+ * Sign a transaction using Keyless.
156
+ * @param transaction the raw transaction
157
+ * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
158
+ */
159
+ signTransactionWithAuthenticator(transaction) {
160
+ const signature = new AnySignature(this.signTransaction(transaction));
161
+ const publicKey = new AnyPublicKey(this.publicKey);
162
+ return new AccountAuthenticatorSingleKey(publicKey, signature);
163
+ }
164
+ /**
165
+ * Waits for asyncronous proof fetching to finish.
166
+ * @return
167
+ */
168
+ async waitForProofFetch() {
169
+ if (this.proofOrPromise instanceof Promise) {
170
+ await this.proofOrPromise;
171
+ }
172
+ }
173
+ /**
174
+ * Sign the given message using Keyless.
175
+ * @param message in HexInput format
176
+ * @returns Signature
177
+ */
178
+ sign(data) {
179
+ const { expiryDateSecs } = this.ephemeralKeyPair;
180
+ if (this.isExpired()) {
181
+ throw new Error("Ephemeral key pair is expired.");
182
+ }
183
+ if (this.proof === void 0) {
184
+ throw new Error("Proof not found");
185
+ }
186
+ if (!this.isJwtValid) {
187
+ throw new Error("The proof has expired. Please refetch proof");
188
+ }
189
+ const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();
190
+ const ephemeralSignature = this.ephemeralKeyPair.sign(data);
191
+ return new KeylessSignature({
192
+ jwtHeader: base64UrlDecode(this.jwt.split(".")[0]),
193
+ ephemeralCertificate: new EphemeralCertificate(this.proof, 0 /* ZkProof */),
194
+ expiryDateSecs,
195
+ ephemeralPublicKey,
196
+ ephemeralSignature
197
+ });
198
+ }
199
+ /**
200
+ * Sign the given transaction with Keyless.
201
+ * Signs the transaction and proof to guard against proof malleability.
202
+ * @param transaction the transaction to be signed
203
+ * @returns KeylessSignature
204
+ */
205
+ signTransaction(transaction) {
206
+ if (this.proof === void 0) {
207
+ throw new Error("Proof not found");
208
+ }
209
+ const raw = deriveTransactionType(transaction);
210
+ const txnAndProof = new TransactionAndProof(raw, this.proof.proof);
211
+ const signMess = generateSigningMessageForSerializable(txnAndProof);
212
+ return this.sign(signMess);
213
+ }
214
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this
215
+ verifySignature(args) {
216
+ throw new Error("Not implemented");
217
+ }
218
+ static fromBytes(bytes) {
219
+ return _KeylessAccount.deserialize(new Deserializer(bytes));
220
+ }
221
+ static fromJWTAndProof(args) {
222
+ const { proof, jwt, ephemeralKeyPair, pepper, proofFetchCallback } = args;
223
+ const uidKey = args.uidKey ?? "sub";
224
+ const jwtPayload = jwtDecode(jwt);
225
+ const iss = jwtPayload.iss;
226
+ if (typeof jwtPayload.aud !== "string") {
227
+ throw new Error("aud was not found or an array of values");
228
+ }
229
+ const aud = jwtPayload.aud;
230
+ const uidVal = jwtPayload[uidKey];
231
+ return new _KeylessAccount({
232
+ proofOrFetcher: proof,
233
+ ephemeralKeyPair,
234
+ iss,
235
+ uidKey,
236
+ uidVal,
237
+ aud,
238
+ pepper,
239
+ jwt,
240
+ proofFetchCallback
241
+ });
242
+ }
243
+ };
244
+ _KeylessAccount.PEPPER_LENGTH = 31;
245
+ var KeylessAccount = _KeylessAccount;
246
+ var TransactionAndProof = class extends Serializable {
247
+ constructor(transaction, proof) {
248
+ super();
249
+ this.transaction = transaction;
250
+ this.proof = proof;
251
+ }
252
+ serialize(serializer) {
253
+ serializer.serializeFixedBytes(this.transaction.bcsToBytes());
254
+ serializer.serializeOption(this.proof);
255
+ }
256
+ };
257
+ function base64UrlDecode(base64Url) {
258
+ const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/");
259
+ const paddedBase64 = base64 + "==".substring(0, (3 - base64.length % 3) % 3);
260
+ const decodedString = decode(paddedBase64);
261
+ return decodedString;
262
+ }
263
+
264
+ export {
265
+ IssuerToJwkEndpoint,
266
+ KeylessAccount
267
+ };
268
+ //# sourceMappingURL=chunk-JV3GSIJW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/account/KeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { JwtPayload, jwtDecode } from \"jwt-decode\";\nimport { JwksClient } from \"jwks-rsa\";\nimport { decode } from \"base-64\";\nimport EventEmitter from \"eventemitter3\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n Signature,\n ZeroKnowledgeSig,\n ZkProof,\n} from \"../core/crypto\";\n\nimport { Account } from \"./Account\";\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport {\n deriveTransactionType,\n generateSigningMessageForSerializable,\n} from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\n\nexport const IssuerToJwkEndpoint: Record<string, string> = {\n \"https://accounts.google.com\": \"https://www.googleapis.com/oauth2/v3/certs\",\n};\n\nexport class KeylessAccount extends Serializable implements Account {\n static readonly PEPPER_LENGTH: number = 31;\n\n readonly publicKey: KeylessPublicKey;\n\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n readonly uidKey: string;\n\n readonly uidVal: string;\n\n readonly aud: string;\n\n readonly pepper: Uint8Array;\n\n readonly accountAddress: AccountAddress;\n\n proof: ZeroKnowledgeSig | undefined;\n\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n readonly signingScheme: SigningScheme;\n\n private jwt: string;\n\n private isJwtValid: boolean;\n\n readonly emitter: EventEmitter<ProofFetchEvents>;\n\n constructor(args: {\n address?: AccountAddress;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proofOrFetcher: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n }) {\n super();\n const { address, ephemeralKeyPair, uidKey, uidVal, aud, pepper, proofOrFetcher, proofFetchCallback, jwt } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = KeylessPublicKey.create(args);\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proofOrFetcher;\n if (proofOrFetcher instanceof ZeroKnowledgeSig) {\n this.proof = proofOrFetcher;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n this.init(proofOrFetcher);\n }\n this.signingScheme = SigningScheme.SingleKey;\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== KeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${KeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n this.isJwtValid = true;\n }\n\n /**\n * This initializes the asyncronous proof fetch\n * @return\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Connot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessAccount {\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n return KeylessAccount.fromJWTAndProof({\n proof,\n pepper,\n uidKey,\n jwt,\n ephemeralKeyPair,\n });\n }\n\n /**\n * Checks if the proof is expired. If so the account must be rederived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Checks if the the JWK used to verify the token still exists on the issuer's JWK uri.\n * Caches the result.\n * @return boolean\n */\n async checkJwkValidity(): Promise<boolean> {\n if (!this.isJwtValid) {\n return false;\n }\n const jwtHeader = jwtDecode(this.jwt, { header: true });\n const client = new JwksClient({\n jwksUri: IssuerToJwkEndpoint[this.publicKey.iss],\n });\n try {\n await client.getSigningKey(jwtHeader.kid);\n return true;\n } catch (error) {\n this.isJwtValid = false;\n return false;\n }\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asyncronous proof fetching to finish.\n * @return\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n */\n sign(data: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw new Error(\"Ephemeral key pair is expired.\");\n }\n if (this.proof === undefined) {\n throw new Error(\"Proof not found\");\n }\n if (!this.isJwtValid) {\n throw new Error(\"The proof has expired. Please refetch proof\");\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(data);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw new Error(\"Proof not found\");\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = generateSigningMessageForSerializable(txnAndProof);\n return this.sign(signMess);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n verifySignature(args: { message: HexInput; signature: Signature }): boolean {\n throw new Error(\"Not implemented\");\n }\n\n static fromBytes(bytes: Uint8Array): KeylessAccount {\n return KeylessAccount.deserialize(new Deserializer(bytes));\n }\n\n static fromJWTAndProof(args: {\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n pepper: HexInput;\n uidKey?: string;\n proofFetchCallback?: ProofFetchCallback;\n }): KeylessAccount {\n const { proof, jwt, ephemeralKeyPair, pepper, proofFetchCallback } = args;\n const uidKey = args.uidKey ?? \"sub\";\n\n const jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n const iss = jwtPayload.iss!;\n if (typeof jwtPayload.aud !== \"string\") {\n throw new Error(\"aud was not found or an array of values\");\n }\n const aud = jwtPayload.aud!;\n const uidVal = jwtPayload[uidKey];\n return new KeylessAccount({\n proofOrFetcher: proof,\n ephemeralKeyPair,\n iss,\n uidKey,\n uidVal,\n aud,\n pepper,\n jwt,\n proofFetchCallback,\n });\n }\n}\n\nclass TransactionAndProof extends Serializable {\n transaction: AnyRawTransactionInstance;\n\n proof?: ZkProof;\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n}\n\nfunction base64UrlDecode(base64Url: string): string {\n // Replace base64url-specific characters\n const base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n // Pad the string with '=' characters if needed\n const paddedBase64 = base64 + \"==\".substring(0, (3 - (base64.length % 3)) % 3);\n // Decode the base64 string using the base-64 library\n const decodedString = decode(paddedBase64);\n return decodedString;\n}\n\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,32 @@
1
+ import {
2
+ Serializable
3
+ } from "./chunk-FQQW55X7.mjs";
4
+ import {
5
+ Hex
6
+ } from "./chunk-YV7M4CFP.mjs";
7
+
8
+ // src/bcs/serializable/fixedBytes.ts
9
+ var FixedBytes = class _FixedBytes extends Serializable {
10
+ constructor(value) {
11
+ super();
12
+ this.value = Hex.fromHexInput(value).toUint8Array();
13
+ }
14
+ serialize(serializer) {
15
+ serializer.serializeFixedBytes(this.value);
16
+ }
17
+ serializeForEntryFunction(serializer) {
18
+ serializer.serialize(this);
19
+ }
20
+ serializeForScriptFunction(serializer) {
21
+ serializer.serialize(this);
22
+ }
23
+ static deserialize(deserializer, length) {
24
+ const bytes = deserializer.deserializeFixedBytes(length);
25
+ return new _FixedBytes(bytes);
26
+ }
27
+ };
28
+
29
+ export {
30
+ FixedBytes
31
+ };
32
+ //# sourceMappingURL=chunk-KK2BSALW.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bcs/serializable/fixedBytes.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Serializer, Serializable } from \"../serializer\";\nimport { Deserializer } from \"../deserializer\";\nimport { HexInput } from \"../../types\";\nimport { Hex } from \"../../core/hex\";\nimport { TransactionArgument } from \"../../transactions/instances/transactionArgument\";\n\n/**\n * This class exists to represent a contiguous sequence of already serialized BCS-bytes.\n *\n * It differs from most other Serializable classes in that its internal byte buffer is serialized to BCS\n * bytes exactly as-is, without prepending the length of the bytes.\n *\n * If you want to write your own serialization function and pass the bytes as a transaction argument,\n * you should use this class.\n *\n * This class is also more generally used to represent type-agnostic BCS bytes as a vector<u8>.\n *\n * An example of this is the bytes resulting from entry function arguments that have been serialized\n * for an entry function.\n *\n * @example\n * const yourCustomSerializedBytes = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);\n * const fixedBytes = new FixedBytes(yourCustomSerializedBytes);\n * const payload = await generateTransactionPayload({\n * function: \"0xbeefcafe::your_module::your_function_that_requires_custom_serialization\",\n * functionArguments: [yourCustomBytes],\n * });\n *\n * For example, if you store each of the 32 bytes for an address as a U8 in a MoveVector<U8>, when you\n * serialize that MoveVector<U8>, it will be serialized to 33 bytes. If you solely want to pass around\n * the 32 bytes as a Serializable class that *does not* prepend the length to the BCS-serialized representation,\n * use this class.\n *\n * @params value: HexInput representing a sequence of Uint8 bytes\n * @returns a Serializable FixedBytes instance, which when serialized, does not prepend the length of the bytes\n * @see EntryFunctionBytes\n */\nexport class FixedBytes extends Serializable implements TransactionArgument {\n public value: Uint8Array;\n\n constructor(value: HexInput) {\n super();\n this.value = Hex.fromHexInput(value).toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.value);\n }\n\n serializeForEntryFunction(serializer: Serializer): void {\n serializer.serialize(this);\n }\n\n serializeForScriptFunction(serializer: Serializer): void {\n serializer.serialize(this);\n }\n\n static deserialize(deserializer: Deserializer, length: number): FixedBytes {\n const bytes = deserializer.deserializeFixedBytes(length);\n return new FixedBytes(bytes);\n }\n}\n"],"mappings":"kFAwCO,IAAMA,EAAN,MAAMC,UAAmBC,CAA4C,CAG1E,YAAYC,EAAiB,CAC3B,MAAM,EACN,KAAK,MAAQC,EAAI,aAAaD,CAAK,EAAE,aAAa,CACpD,CAEA,UAAUE,EAA8B,CACtCA,EAAW,oBAAoB,KAAK,KAAK,CAC3C,CAEA,0BAA0BA,EAA8B,CACtDA,EAAW,UAAU,IAAI,CAC3B,CAEA,2BAA2BA,EAA8B,CACvDA,EAAW,UAAU,IAAI,CAC3B,CAEA,OAAO,YAAYC,EAA4BC,EAA4B,CACzE,IAAMC,EAAQF,EAAa,sBAAsBC,CAAM,EACvD,OAAO,IAAIN,EAAWO,CAAK,CAC7B,CACF","names":["FixedBytes","_FixedBytes","Serializable","value","Hex","serializer","deserializer","length","bytes"]}
1
+ {"version":3,"sources":["../../src/bcs/serializable/fixedBytes.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Serializer, Serializable } from \"../serializer\";\nimport { Deserializer } from \"../deserializer\";\nimport { HexInput } from \"../../types\";\nimport { Hex } from \"../../core/hex\";\nimport { TransactionArgument } from \"../../transactions/instances/transactionArgument\";\n\n/**\n * This class exists to represent a contiguous sequence of already serialized BCS-bytes.\n *\n * It differs from most other Serializable classes in that its internal byte buffer is serialized to BCS\n * bytes exactly as-is, without prepending the length of the bytes.\n *\n * If you want to write your own serialization function and pass the bytes as a transaction argument,\n * you should use this class.\n *\n * This class is also more generally used to represent type-agnostic BCS bytes as a vector<u8>.\n *\n * An example of this is the bytes resulting from entry function arguments that have been serialized\n * for an entry function.\n *\n * @example\n * const yourCustomSerializedBytes = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);\n * const fixedBytes = new FixedBytes(yourCustomSerializedBytes);\n * const payload = await generateTransactionPayload({\n * function: \"0xbeefcafe::your_module::your_function_that_requires_custom_serialization\",\n * functionArguments: [yourCustomBytes],\n * });\n *\n * For example, if you store each of the 32 bytes for an address as a U8 in a MoveVector<U8>, when you\n * serialize that MoveVector<U8>, it will be serialized to 33 bytes. If you solely want to pass around\n * the 32 bytes as a Serializable class that *does not* prepend the length to the BCS-serialized representation,\n * use this class.\n *\n * @params value: HexInput representing a sequence of Uint8 bytes\n * @returns a Serializable FixedBytes instance, which when serialized, does not prepend the length of the bytes\n * @see EntryFunctionBytes\n */\nexport class FixedBytes extends Serializable implements TransactionArgument {\n public value: Uint8Array;\n\n constructor(value: HexInput) {\n super();\n this.value = Hex.fromHexInput(value).toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.value);\n }\n\n serializeForEntryFunction(serializer: Serializer): void {\n serializer.serialize(this);\n }\n\n serializeForScriptFunction(serializer: Serializer): void {\n serializer.serialize(this);\n }\n\n static deserialize(deserializer: Deserializer, length: number): FixedBytes {\n const bytes = deserializer.deserializeFixedBytes(length);\n return new FixedBytes(bytes);\n }\n}\n"],"mappings":";;;;;;;;AAwCO,IAAM,aAAN,MAAM,oBAAmB,aAA4C;AAAA,EAG1E,YAAY,OAAiB;AAC3B,UAAM;AACN,SAAK,QAAQ,IAAI,aAAa,KAAK,EAAE,aAAa;AAAA,EACpD;AAAA,EAEA,UAAU,YAA8B;AACtC,eAAW,oBAAoB,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,0BAA0B,YAA8B;AACtD,eAAW,UAAU,IAAI;AAAA,EAC3B;AAAA,EAEA,2BAA2B,YAA8B;AACvD,eAAW,UAAU,IAAI;AAAA,EAC3B;AAAA,EAEA,OAAO,YAAY,cAA4B,QAA4B;AACzE,UAAM,QAAQ,aAAa,sBAAsB,MAAM;AACvD,WAAO,IAAI,YAAW,KAAK;AAAA,EAC7B;AACF;","names":[]}
@@ -0,0 +1,93 @@
1
+ import {
2
+ generateSigningMessageForTransaction
3
+ } from "./chunk-VJP2VWMF.mjs";
4
+ import {
5
+ AccountAuthenticatorEd25519
6
+ } from "./chunk-IC56GQFJ.mjs";
7
+ import {
8
+ Ed25519PrivateKey
9
+ } from "./chunk-RX4VG2AT.mjs";
10
+ import {
11
+ AccountAddress
12
+ } from "./chunk-CMNJG4NN.mjs";
13
+
14
+ // src/account/Ed25519Account.ts
15
+ var Ed25519Account = class _Ed25519Account {
16
+ // region Constructors
17
+ constructor(args) {
18
+ this.signingScheme = 0 /* Ed25519 */;
19
+ const { privateKey, address } = args;
20
+ this.privateKey = privateKey;
21
+ this.publicKey = privateKey.publicKey();
22
+ this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
23
+ }
24
+ /**
25
+ * Derives a signer from a randomly generated private key
26
+ */
27
+ static generate() {
28
+ const privateKey = Ed25519PrivateKey.generate();
29
+ return new _Ed25519Account({ privateKey });
30
+ }
31
+ /**
32
+ * Derives an account with bip44 path and mnemonics
33
+ *
34
+ * @param args.path the BIP44 derive hardened path e.g. m/44'/637'/0'/0'/0'
35
+ * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}
36
+ * @param args.mnemonic the mnemonic seed phrase of the account
37
+ */
38
+ static fromDerivationPath(args) {
39
+ const { path, mnemonic } = args;
40
+ const privateKey = Ed25519PrivateKey.fromDerivationPath(path, mnemonic);
41
+ return new _Ed25519Account({ privateKey });
42
+ }
43
+ // endregion
44
+ // region Account
45
+ /**
46
+ * Verify the given message and signature with the public key.
47
+ *
48
+ * @param args.message raw message data in HexInput format
49
+ * @param args.signature signed message Signature
50
+ * @returns
51
+ */
52
+ verifySignature(args) {
53
+ return this.publicKey.verifySignature(args);
54
+ }
55
+ /**
56
+ * Sign a message using the account's Ed25519 private key.
57
+ * @param message the signing message, as binary input
58
+ * @return the AccountAuthenticator containing the signature, together with the account's public key
59
+ */
60
+ signWithAuthenticator(message) {
61
+ return new AccountAuthenticatorEd25519(this.publicKey, this.privateKey.sign(message));
62
+ }
63
+ /**
64
+ * Sign a transaction using the account's Ed25519 private key.
65
+ * @param transaction the raw transaction
66
+ * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
67
+ */
68
+ signTransactionWithAuthenticator(transaction) {
69
+ return new AccountAuthenticatorEd25519(this.publicKey, this.signTransaction(transaction));
70
+ }
71
+ /**
72
+ * Sign the given message using the account's Ed25519 private key.
73
+ * @param message in HexInput format
74
+ * @returns Signature
75
+ */
76
+ sign(message) {
77
+ return this.privateKey.sign(message);
78
+ }
79
+ /**
80
+ * Sign the given transaction using the available signing capabilities.
81
+ * @param transaction the transaction to be signed
82
+ * @returns Signature
83
+ */
84
+ signTransaction(transaction) {
85
+ return this.sign(generateSigningMessageForTransaction(transaction));
86
+ }
87
+ // endregion
88
+ };
89
+
90
+ export {
91
+ Ed25519Account
92
+ };
93
+ //# sourceMappingURL=chunk-KMXSRHJ6.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/Ed25519Account.ts"],"sourcesContent":["import { AccountAuthenticatorEd25519 } from \"../transactions/authenticator/account\";\nimport { HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { Ed25519PrivateKey, Ed25519PublicKey, Ed25519Signature } from \"../core/crypto\";\nimport type { Account } from \"./Account\";\nimport { AnyRawTransaction } from \"../transactions/types\";\nimport { generateSigningMessageForTransaction } from \"../transactions/transactionBuilder/signingMessage\";\n\nexport interface Ed25519SignerConstructorArgs {\n privateKey: Ed25519PrivateKey;\n address?: AccountAddressInput;\n}\n\nexport interface Ed25519SignerFromDerivationPathArgs {\n path: string;\n mnemonic: string;\n}\n\nexport interface VerifyEd25519SignatureArgs {\n message: HexInput;\n signature: Ed25519Signature;\n}\n\n/**\n * Signer implementation for the Ed25519 authentication scheme.\n * This extends an {@link Ed25519Account} by adding signing capabilities through an {@link Ed25519PrivateKey}.\n *\n * Note: Generating a signer instance does not create the account on-chain.\n */\nexport class Ed25519Account implements Account {\n /**\n * Private key associated with the account\n */\n readonly privateKey: Ed25519PrivateKey;\n\n readonly publicKey: Ed25519PublicKey;\n\n readonly accountAddress: AccountAddress;\n\n readonly signingScheme = SigningScheme.Ed25519;\n\n // region Constructors\n\n constructor(args: Ed25519SignerConstructorArgs) {\n const { privateKey, address } = args;\n this.privateKey = privateKey;\n this.publicKey = privateKey.publicKey();\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n }\n\n /**\n * Derives a signer from a randomly generated private key\n */\n static generate() {\n const privateKey = Ed25519PrivateKey.generate();\n return new Ed25519Account({ privateKey });\n }\n\n /**\n * Derives an account with bip44 path and mnemonics\n *\n * @param args.path the BIP44 derive hardened path e.g. m/44'/637'/0'/0'/0'\n * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}\n * @param args.mnemonic the mnemonic seed phrase of the account\n */\n static fromDerivationPath(args: Ed25519SignerFromDerivationPathArgs) {\n const { path, mnemonic } = args;\n const privateKey = Ed25519PrivateKey.fromDerivationPath(path, mnemonic);\n return new Ed25519Account({ privateKey });\n }\n\n // endregion\n\n // region Account\n\n /**\n * Verify the given message and signature with the public key.\n *\n * @param args.message raw message data in HexInput format\n * @param args.signature signed message Signature\n * @returns\n */\n verifySignature(args: VerifyEd25519SignatureArgs): boolean {\n return this.publicKey.verifySignature(args);\n }\n\n /**\n * Sign a message using the account's Ed25519 private key.\n * @param message the signing message, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorEd25519 {\n return new AccountAuthenticatorEd25519(this.publicKey, this.privateKey.sign(message));\n }\n\n /**\n * Sign a transaction using the account's Ed25519 private key.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorEd25519 {\n return new AccountAuthenticatorEd25519(this.publicKey, this.signTransaction(transaction));\n }\n\n /**\n * Sign the given message using the account's Ed25519 private key.\n * @param message in HexInput format\n * @returns Signature\n */\n sign(message: HexInput): Ed25519Signature {\n return this.privateKey.sign(message);\n }\n\n /**\n * Sign the given transaction using the available signing capabilities.\n * @param transaction the transaction to be signed\n * @returns Signature\n */\n signTransaction(transaction: AnyRawTransaction): Ed25519Signature {\n return this.sign(generateSigningMessageForTransaction(transaction));\n }\n\n // endregion\n}\n"],"mappings":"oKA6BO,IAAMA,EAAN,MAAMC,CAAkC,CAc7C,YAAYC,EAAoC,CAJhD,KAAS,cAAgB,EAKvB,GAAM,CAAE,WAAAC,EAAY,QAAAC,CAAQ,EAAIF,EAChC,KAAK,WAAaC,EAClB,KAAK,UAAYA,EAAW,UAAU,EACtC,KAAK,eAAiBC,EAAUC,EAAe,KAAKD,CAAO,EAAI,KAAK,UAAU,QAAQ,EAAE,eAAe,CACzG,CAKA,OAAO,UAAW,CAChB,IAAMD,EAAaG,EAAkB,SAAS,EAC9C,OAAO,IAAIL,EAAe,CAAE,WAAAE,CAAW,CAAC,CAC1C,CASA,OAAO,mBAAmBD,EAA2C,CACnE,GAAM,CAAE,KAAAK,EAAM,SAAAC,CAAS,EAAIN,EACrBC,EAAaG,EAAkB,mBAAmBC,EAAMC,CAAQ,EACtE,OAAO,IAAIP,EAAe,CAAE,WAAAE,CAAW,CAAC,CAC1C,CAaA,gBAAgBD,EAA2C,CACzD,OAAO,KAAK,UAAU,gBAAgBA,CAAI,CAC5C,CAOA,sBAAsBO,EAAgD,CACpE,OAAO,IAAIC,EAA4B,KAAK,UAAW,KAAK,WAAW,KAAKD,CAAO,CAAC,CACtF,CAOA,iCAAiCE,EAA6D,CAC5F,OAAO,IAAID,EAA4B,KAAK,UAAW,KAAK,gBAAgBC,CAAW,CAAC,CAC1F,CAOA,KAAKF,EAAqC,CACxC,OAAO,KAAK,WAAW,KAAKA,CAAO,CACrC,CAOA,gBAAgBE,EAAkD,CAChE,OAAO,KAAK,KAAKC,EAAqCD,CAAW,CAAC,CACpE,CAGF","names":["Ed25519Account","_Ed25519Account","args","privateKey","address","AccountAddress","Ed25519PrivateKey","path","mnemonic","message","AccountAuthenticatorEd25519","transaction","generateSigningMessageForTransaction"]}
1
+ {"version":3,"sources":["../../src/account/Ed25519Account.ts"],"sourcesContent":["import { AccountAuthenticatorEd25519 } from \"../transactions/authenticator/account\";\nimport { HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { Ed25519PrivateKey, Ed25519PublicKey, Ed25519Signature } from \"../core/crypto\";\nimport type { Account } from \"./Account\";\nimport { AnyRawTransaction } from \"../transactions/types\";\nimport { generateSigningMessageForTransaction } from \"../transactions/transactionBuilder/signingMessage\";\n\nexport interface Ed25519SignerConstructorArgs {\n privateKey: Ed25519PrivateKey;\n address?: AccountAddressInput;\n}\n\nexport interface Ed25519SignerFromDerivationPathArgs {\n path: string;\n mnemonic: string;\n}\n\nexport interface VerifyEd25519SignatureArgs {\n message: HexInput;\n signature: Ed25519Signature;\n}\n\n/**\n * Signer implementation for the Ed25519 authentication scheme.\n * This extends an {@link Ed25519Account} by adding signing capabilities through an {@link Ed25519PrivateKey}.\n *\n * Note: Generating a signer instance does not create the account on-chain.\n */\nexport class Ed25519Account implements Account {\n /**\n * Private key associated with the account\n */\n readonly privateKey: Ed25519PrivateKey;\n\n readonly publicKey: Ed25519PublicKey;\n\n readonly accountAddress: AccountAddress;\n\n readonly signingScheme = SigningScheme.Ed25519;\n\n // region Constructors\n\n constructor(args: Ed25519SignerConstructorArgs) {\n const { privateKey, address } = args;\n this.privateKey = privateKey;\n this.publicKey = privateKey.publicKey();\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n }\n\n /**\n * Derives a signer from a randomly generated private key\n */\n static generate() {\n const privateKey = Ed25519PrivateKey.generate();\n return new Ed25519Account({ privateKey });\n }\n\n /**\n * Derives an account with bip44 path and mnemonics\n *\n * @param args.path the BIP44 derive hardened path e.g. m/44'/637'/0'/0'/0'\n * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}\n * @param args.mnemonic the mnemonic seed phrase of the account\n */\n static fromDerivationPath(args: Ed25519SignerFromDerivationPathArgs) {\n const { path, mnemonic } = args;\n const privateKey = Ed25519PrivateKey.fromDerivationPath(path, mnemonic);\n return new Ed25519Account({ privateKey });\n }\n\n // endregion\n\n // region Account\n\n /**\n * Verify the given message and signature with the public key.\n *\n * @param args.message raw message data in HexInput format\n * @param args.signature signed message Signature\n * @returns\n */\n verifySignature(args: VerifyEd25519SignatureArgs): boolean {\n return this.publicKey.verifySignature(args);\n }\n\n /**\n * Sign a message using the account's Ed25519 private key.\n * @param message the signing message, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorEd25519 {\n return new AccountAuthenticatorEd25519(this.publicKey, this.privateKey.sign(message));\n }\n\n /**\n * Sign a transaction using the account's Ed25519 private key.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorEd25519 {\n return new AccountAuthenticatorEd25519(this.publicKey, this.signTransaction(transaction));\n }\n\n /**\n * Sign the given message using the account's Ed25519 private key.\n * @param message in HexInput format\n * @returns Signature\n */\n sign(message: HexInput): Ed25519Signature {\n return this.privateKey.sign(message);\n }\n\n /**\n * Sign the given transaction using the available signing capabilities.\n * @param transaction the transaction to be signed\n * @returns Signature\n */\n signTransaction(transaction: AnyRawTransaction): Ed25519Signature {\n return this.sign(generateSigningMessageForTransaction(transaction));\n }\n\n // endregion\n}\n"],"mappings":";;;;;;;;;;;;;;AA6BO,IAAM,iBAAN,MAAM,gBAAkC;AAAA;AAAA,EAc7C,YAAY,MAAoC;AAJhD,SAAS;AAKP,UAAM,EAAE,YAAY,QAAQ,IAAI;AAChC,SAAK,aAAa;AAClB,SAAK,YAAY,WAAW,UAAU;AACtC,SAAK,iBAAiB,UAAU,eAAe,KAAK,OAAO,IAAI,KAAK,UAAU,QAAQ,EAAE,eAAe;AAAA,EACzG;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAAW;AAChB,UAAM,aAAa,kBAAkB,SAAS;AAC9C,WAAO,IAAI,gBAAe,EAAE,WAAW,CAAC;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAO,mBAAmB,MAA2C;AACnE,UAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,UAAM,aAAa,kBAAkB,mBAAmB,MAAM,QAAQ;AACtE,WAAO,IAAI,gBAAe,EAAE,WAAW,CAAC;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,gBAAgB,MAA2C;AACzD,WAAO,KAAK,UAAU,gBAAgB,IAAI;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,sBAAsB,SAAgD;AACpE,WAAO,IAAI,4BAA4B,KAAK,WAAW,KAAK,WAAW,KAAK,OAAO,CAAC;AAAA,EACtF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iCAAiC,aAA6D;AAC5F,WAAO,IAAI,4BAA4B,KAAK,WAAW,KAAK,gBAAgB,WAAW,CAAC;AAAA,EAC1F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,SAAqC;AACxC,WAAO,KAAK,WAAW,KAAK,OAAO;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAAgB,aAAkD;AAChE,WAAO,KAAK,KAAK,qCAAqC,WAAW,CAAC;AAAA,EACpE;AAAA;AAGF;","names":[]}
@@ -0,0 +1,45 @@
1
+ import {
2
+ waitForTransaction
3
+ } from "./chunk-TBHU6ZW6.mjs";
4
+ import {
5
+ postAptosFaucet
6
+ } from "./chunk-NXFO2W4G.mjs";
7
+ import {
8
+ DEFAULT_TXN_TIMEOUT_SEC
9
+ } from "./chunk-NFJCQRVK.mjs";
10
+ import {
11
+ AccountAddress
12
+ } from "./chunk-CMNJG4NN.mjs";
13
+
14
+ // src/internal/faucet.ts
15
+ async function fundAccount(args) {
16
+ const { aptosConfig, accountAddress, amount, options } = args;
17
+ const timeout = options?.timeoutSecs || DEFAULT_TXN_TIMEOUT_SEC;
18
+ const { data } = await postAptosFaucet({
19
+ aptosConfig,
20
+ path: "fund",
21
+ body: {
22
+ address: AccountAddress.from(accountAddress).toString(),
23
+ amount
24
+ },
25
+ originMethod: "fundAccount"
26
+ });
27
+ const txnHash = data.txn_hashes[0];
28
+ const res = await waitForTransaction({
29
+ aptosConfig,
30
+ transactionHash: txnHash,
31
+ options: {
32
+ timeoutSecs: timeout,
33
+ checkSuccess: options?.checkSuccess
34
+ }
35
+ });
36
+ if (res.type === "user_transaction" /* User */) {
37
+ return res;
38
+ }
39
+ throw new Error(`Unexpected transaction received for fund account: ${res.type}`);
40
+ }
41
+
42
+ export {
43
+ fundAccount
44
+ };
45
+ //# sourceMappingURL=chunk-KVSQ57HU.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/faucet.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/faucet}. 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 { postAptosFaucet } from \"../client\";\nimport { AccountAddress, AccountAddressInput } from \"../core\";\nimport { TransactionResponseType, UserTransactionResponse, WaitForTransactionOptions } from \"../types\";\nimport { DEFAULT_TXN_TIMEOUT_SEC } from \"../utils/const\";\nimport { waitForTransaction } from \"./transaction\";\n\nexport async function fundAccount(args: {\n aptosConfig: AptosConfig;\n accountAddress: AccountAddressInput;\n amount: number;\n options?: WaitForTransactionOptions;\n}): Promise<UserTransactionResponse> {\n const { aptosConfig, accountAddress, amount, options } = args;\n const timeout = options?.timeoutSecs || DEFAULT_TXN_TIMEOUT_SEC;\n const { data } = await postAptosFaucet<any, { txn_hashes: Array<string> }>({\n aptosConfig,\n path: \"fund\",\n body: {\n address: AccountAddress.from(accountAddress).toString(),\n amount,\n },\n originMethod: \"fundAccount\",\n });\n\n const txnHash = data.txn_hashes[0];\n\n const res = await waitForTransaction({\n aptosConfig,\n transactionHash: txnHash,\n options: {\n timeoutSecs: timeout,\n checkSuccess: options?.checkSuccess,\n },\n });\n\n // Response is always User transaction for a user submitted transaction\n if (res.type === TransactionResponseType.User) {\n return res;\n }\n\n throw new Error(`Unexpected transaction received for fund account: ${res.type}`);\n}\n"],"mappings":"oKAiBA,eAAsBA,EAAYC,EAKG,CACnC,GAAM,CAAE,YAAAC,EAAa,eAAAC,EAAgB,OAAAC,EAAQ,QAAAC,CAAQ,EAAIJ,EACnDK,EAAUD,GAAS,aAAe,GAClC,CAAE,KAAAE,CAAK,EAAI,MAAMC,EAAoD,CACzE,YAAAN,EACA,KAAM,OACN,KAAM,CACJ,QAASO,EAAe,KAAKN,CAAc,EAAE,SAAS,EACtD,OAAAC,CACF,EACA,aAAc,aAChB,CAAC,EAEKM,EAAUH,EAAK,WAAW,CAAC,EAE3BI,EAAM,MAAMC,EAAmB,CACnC,YAAAV,EACA,gBAAiBQ,EACjB,QAAS,CACP,YAAaJ,EACb,aAAcD,GAAS,YACzB,CACF,CAAC,EAGD,GAAIM,EAAI,0BACN,OAAOA,EAGT,MAAM,IAAI,MAAM,qDAAqDA,EAAI,IAAI,EAAE,CACjF","names":["fundAccount","args","aptosConfig","accountAddress","amount","options","timeout","data","postAptosFaucet","AccountAddress","txnHash","res","waitForTransaction"]}
1
+ {"version":3,"sources":["../../src/internal/faucet.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/faucet}. 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 { postAptosFaucet } from \"../client\";\nimport { AccountAddress, AccountAddressInput } from \"../core\";\nimport { TransactionResponseType, UserTransactionResponse, WaitForTransactionOptions } from \"../types\";\nimport { DEFAULT_TXN_TIMEOUT_SEC } from \"../utils/const\";\nimport { waitForTransaction } from \"./transaction\";\n\nexport async function fundAccount(args: {\n aptosConfig: AptosConfig;\n accountAddress: AccountAddressInput;\n amount: number;\n options?: WaitForTransactionOptions;\n}): Promise<UserTransactionResponse> {\n const { aptosConfig, accountAddress, amount, options } = args;\n const timeout = options?.timeoutSecs || DEFAULT_TXN_TIMEOUT_SEC;\n const { data } = await postAptosFaucet<any, { txn_hashes: Array<string> }>({\n aptosConfig,\n path: \"fund\",\n body: {\n address: AccountAddress.from(accountAddress).toString(),\n amount,\n },\n originMethod: \"fundAccount\",\n });\n\n const txnHash = data.txn_hashes[0];\n\n const res = await waitForTransaction({\n aptosConfig,\n transactionHash: txnHash,\n options: {\n timeoutSecs: timeout,\n checkSuccess: options?.checkSuccess,\n },\n });\n\n // Response is always User transaction for a user submitted transaction\n if (res.type === TransactionResponseType.User) {\n return res;\n }\n\n throw new Error(`Unexpected transaction received for fund account: ${res.type}`);\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,eAAsB,YAAY,MAKG;AACnC,QAAM,EAAE,aAAa,gBAAgB,QAAQ,QAAQ,IAAI;AACzD,QAAM,UAAU,SAAS,eAAe;AACxC,QAAM,EAAE,KAAK,IAAI,MAAM,gBAAoD;AAAA,IACzE;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,SAAS,eAAe,KAAK,cAAc,EAAE,SAAS;AAAA,MACtD;AAAA,IACF;AAAA,IACA,cAAc;AAAA,EAChB,CAAC;AAED,QAAM,UAAU,KAAK,WAAW,CAAC;AAEjC,QAAM,MAAM,MAAM,mBAAmB;AAAA,IACnC;AAAA,IACA,iBAAiB;AAAA,IACjB,SAAS;AAAA,MACP,aAAa;AAAA,MACb,cAAc,SAAS;AAAA,IACzB;AAAA,EACF,CAAC;AAGD,MAAI,IAAI,wCAAuC;AAC7C,WAAO;AAAA,EACT;AAEA,QAAM,IAAI,MAAM,qDAAqD,IAAI,IAAI,EAAE;AACjF;","names":[]}