@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,79 @@
1
+ import {
2
+ Ed25519Account
3
+ } from "./chunk-KMXSRHJ6.mjs";
4
+ import {
5
+ SingleKeyAccount
6
+ } from "./chunk-JHDHNGJ3.mjs";
7
+ import {
8
+ Ed25519PrivateKey
9
+ } from "./chunk-RX4VG2AT.mjs";
10
+
11
+ // src/account/Account.ts
12
+ var Account = class {
13
+ static generate(args = {}) {
14
+ const { scheme = 0 /* Ed25519 */, legacy = true } = args;
15
+ if (scheme === 0 /* Ed25519 */ && legacy) {
16
+ return Ed25519Account.generate();
17
+ }
18
+ return SingleKeyAccount.generate({ scheme });
19
+ }
20
+ static fromPrivateKey(args) {
21
+ const { privateKey, address, legacy = true } = args;
22
+ if (privateKey instanceof Ed25519PrivateKey && legacy) {
23
+ return new Ed25519Account({
24
+ privateKey,
25
+ address
26
+ });
27
+ }
28
+ return new SingleKeyAccount({ privateKey, address });
29
+ }
30
+ /**
31
+ * @deprecated use `fromPrivateKey` instead.
32
+ * Instantiates an account given a private key and a specified account address.
33
+ * This is primarily used to instantiate an `Account` that has had its authentication key rotated.
34
+ *
35
+ * @param args.privateKey PrivateKey - the underlying private key for the account
36
+ * @param args.address AccountAddress - The account address the `Account` will sign for
37
+ * @param args.legacy optional. If set to false, the keypair generated is a Unified keypair. Defaults
38
+ * to generating a Legacy Ed25519 keypair
39
+ *
40
+ * @returns Account
41
+ */
42
+ static fromPrivateKeyAndAddress(args) {
43
+ return this.fromPrivateKey(args);
44
+ }
45
+ static fromDerivationPath(args) {
46
+ const { scheme = 0 /* Ed25519 */, mnemonic, path, legacy = true } = args;
47
+ if (scheme === 0 /* Ed25519 */ && legacy) {
48
+ return Ed25519Account.fromDerivationPath({ mnemonic, path });
49
+ }
50
+ return SingleKeyAccount.fromDerivationPath({ scheme, mnemonic, path });
51
+ }
52
+ /**
53
+ * @deprecated use `publicKey.authKey()` instead.
54
+ * This key enables account owners to rotate their private key(s)
55
+ * associated with the account without changing the address that hosts their account.
56
+ * See here for more info: {@link https://aptos.dev/concepts/accounts#single-signer-authentication}
57
+ *
58
+ * @param args.publicKey PublicKey - public key of the account
59
+ * @returns The authentication key for the associated account
60
+ */
61
+ static authKey(args) {
62
+ const { publicKey } = args;
63
+ return publicKey.authKey();
64
+ }
65
+ /**
66
+ * Verify the given message and signature with the public key.
67
+ * @param args.message raw message data in HexInput format
68
+ * @param args.signature signed message Signature
69
+ * @returns
70
+ */
71
+ verifySignature(args) {
72
+ return this.publicKey.verifySignature(args);
73
+ }
74
+ };
75
+
76
+ export {
77
+ Account
78
+ };
79
+ //# sourceMappingURL=chunk-VDJBDX3A.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/Account.ts"],"sourcesContent":["import type { AccountAuthenticator } from \"../transactions/authenticator/account\";\nimport { HexInput, SigningScheme, SigningSchemeInput } from \"../types\";\nimport type { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { AuthenticationKey } from \"../core/authenticationKey\";\nimport { AccountPublicKey, Ed25519PrivateKey, PrivateKey, Signature, VerifySignatureArgs } from \"../core/crypto\";\nimport { Ed25519Account } from \"./Ed25519Account\";\nimport { SingleKeyAccount } from \"./SingleKeyAccount\";\nimport { AnyRawTransaction } from \"../transactions/types\";\n\n/**\n * Arguments for creating an `Ed25519Account` from an `Ed25519PrivateKey`.\n * This is the default input type when passing an `Ed25519PrivateKey`.\n * In order to use the SingleKey authentication scheme, `legacy` needs to be explicitly set to false.\n */\nexport interface CreateEd25519AccountFromPrivateKeyArgs {\n privateKey: Ed25519PrivateKey;\n address?: AccountAddressInput;\n legacy?: true;\n}\n\n/**\n * Arguments for creating an `SingleKeyAccount` from an `Ed25519PrivateKey`.\n * The `legacy` argument needs to be explicitly set to false in order to\n * use the `SingleKey` authentication scheme.\n */\nexport interface CreateEd25519SingleKeyAccountFromPrivateKeyArgs {\n privateKey: Ed25519PrivateKey;\n address?: AccountAddressInput;\n legacy: false;\n}\n\n/**\n * Arguments for creating an `SingleKeyAccount` from any supported private key\n * that is not an `Ed25519PrivateKey`.\n * The `legacy` argument defaults to false and cannot be explicitly set to true.\n */\nexport interface CreateSingleKeyAccountFromPrivateKeyArgs {\n privateKey: Exclude<PrivateKey, Ed25519PrivateKey>;\n address?: AccountAddressInput;\n legacy?: false;\n}\n\n/**\n * Arguments for creating an opaque `Account` from any supported private key.\n * This is used when the private key type is not known at compilation time.\n */\nexport interface CreateAccountFromPrivateKeyArgs {\n privateKey: PrivateKey;\n address?: AccountAddressInput;\n legacy?: boolean;\n}\n\n/**\n * Arguments for generating an `Ed25519Account`.\n * This is the input type used by default.\n */\nexport interface GenerateEd25519AccountArgs {\n scheme?: SigningSchemeInput.Ed25519;\n legacy?: true;\n}\n\n/**\n * Arguments for generating an `SingleKeyAccount` with ah underlying `Ed25519PrivateKey`.\n * The `legacy` argument needs to be explicitly set to false,\n * otherwise an `Ed25519Account` will be returned instead.\n */\nexport interface GenerateEd25519SingleKeyAccountArgs {\n scheme?: SigningSchemeInput.Ed25519;\n legacy: false;\n}\n\n/**\n * Arguments for generating an `SingleKeyAccount` with any supported private key\n * that is not an `Ed25519PrivateKey`.\n * The `legacy` argument defaults to false and cannot be explicitly set to true.\n */\nexport interface GenerateSingleKeyAccountArgs {\n scheme: Exclude<SigningSchemeInput, SigningSchemeInput.Ed25519>;\n legacy?: false;\n}\n\n/**\n * Arguments for generating an opaque `Account`.\n * This is used when the input signature scheme is not known at compilation time.\n */\nexport interface GenerateAccountArgs {\n scheme?: SigningSchemeInput;\n legacy?: boolean;\n}\n\n/**\n * Arguments for deriving a private key from a mnemonic phrase and a BIP44 path.\n */\nexport interface PrivateKeyFromDerivationPathArgs {\n path: string;\n mnemonic: string;\n}\n\n/**\n * Interface for a generic Aptos account.\n *\n * The interface is defined as abstract class to provide a single entrypoint for account generation,\n * either through `Account.generate()` or `Account.fromDerivationPath`.\n * Despite this being an abstract class, it should be treated as an interface and enforced using\n * the `implements` keyword.\n *\n * Note: Generating an account instance does not create the account on-chain.\n */\nexport abstract class Account {\n /**\n * Public key associated with the account\n */\n abstract readonly publicKey: AccountPublicKey;\n\n /**\n * Account address associated with the account\n */\n abstract readonly accountAddress: AccountAddress;\n\n /**\n * Signing scheme used to sign transactions\n */\n abstract signingScheme: SigningScheme;\n\n /**\n * Derives an account from a randomly generated private key.\n * @param args.scheme The signature scheme to use, to generate the private key\n * @param args.legacy Whether to use a legacy authentication scheme, when applicable\n * @returns An account compatible with the provided signature scheme\n */\n static generate(args?: GenerateEd25519AccountArgs): Ed25519Account;\n static generate(args: GenerateEd25519SingleKeyAccountArgs): SingleKeyAccount;\n static generate(args: GenerateSingleKeyAccountArgs): SingleKeyAccount;\n static generate(args: GenerateAccountArgs): Account;\n static generate(args: GenerateAccountArgs = {}) {\n const { scheme = SigningSchemeInput.Ed25519, legacy = true } = args;\n if (scheme === SigningSchemeInput.Ed25519 && legacy) {\n return Ed25519Account.generate();\n }\n return SingleKeyAccount.generate({ scheme });\n }\n\n /**\n * Creates an account from the provided private key.\n *\n * @param args.privateKey a valid private key\n * @param args.address the account's address. If not provided, it will be derived from the public key.\n * @param args.legacy Whether to use a legacy authentication scheme, when applicable\n */\n static fromPrivateKey(args: CreateEd25519AccountFromPrivateKeyArgs): Ed25519Account;\n static fromPrivateKey(args: CreateEd25519SingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;\n static fromPrivateKey(args: CreateSingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;\n static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs): Account;\n static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs) {\n const { privateKey, address, legacy = true } = args;\n if (privateKey instanceof Ed25519PrivateKey && legacy) {\n return new Ed25519Account({\n privateKey,\n address,\n });\n }\n return new SingleKeyAccount({ privateKey, address });\n }\n\n /**\n * @deprecated use `fromPrivateKey` instead.\n * Instantiates an account given a private key and a specified account address.\n * This is primarily used to instantiate an `Account` that has had its authentication key rotated.\n *\n * @param args.privateKey PrivateKey - the underlying private key for the account\n * @param args.address AccountAddress - The account address the `Account` will sign for\n * @param args.legacy optional. If set to false, the keypair generated is a Unified keypair. Defaults\n * to generating a Legacy Ed25519 keypair\n *\n * @returns Account\n */\n static fromPrivateKeyAndAddress(args: CreateAccountFromPrivateKeyArgs) {\n return this.fromPrivateKey(args);\n }\n\n /**\n * Derives an account with bip44 path and mnemonics\n *\n * @param args.scheme The signature scheme to derive the private key with\n * @param args.path the BIP44 derive hardened path (e.g. m/44'/637'/0'/0'/0') for Ed25519,\n * or non-hardened path (e.g. m/44'/637'/0'/0/0) for secp256k1\n * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}\n * @param args.mnemonic the mnemonic seed phrase of the account\n */\n static fromDerivationPath(args: GenerateEd25519AccountArgs & PrivateKeyFromDerivationPathArgs): Ed25519Account;\n static fromDerivationPath(\n args: GenerateEd25519SingleKeyAccountArgs & PrivateKeyFromDerivationPathArgs,\n ): SingleKeyAccount;\n static fromDerivationPath(args: GenerateSingleKeyAccountArgs & PrivateKeyFromDerivationPathArgs): SingleKeyAccount;\n static fromDerivationPath(args: GenerateAccountArgs & PrivateKeyFromDerivationPathArgs): Account;\n static fromDerivationPath(args: GenerateAccountArgs & PrivateKeyFromDerivationPathArgs) {\n const { scheme = SigningSchemeInput.Ed25519, mnemonic, path, legacy = true } = args;\n if (scheme === SigningSchemeInput.Ed25519 && legacy) {\n return Ed25519Account.fromDerivationPath({ mnemonic, path });\n }\n return SingleKeyAccount.fromDerivationPath({ scheme, mnemonic, path });\n }\n\n /**\n * @deprecated use `publicKey.authKey()` instead.\n * This key enables account owners to rotate their private key(s)\n * associated with the account without changing the address that hosts their account.\n * See here for more info: {@link https://aptos.dev/concepts/accounts#single-signer-authentication}\n *\n * @param args.publicKey PublicKey - public key of the account\n * @returns The authentication key for the associated account\n */\n static authKey(args: { publicKey: AccountPublicKey }): AuthenticationKey {\n const { publicKey } = args;\n return publicKey.authKey();\n }\n\n /**\n * Sign a message using the available signing capabilities.\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 abstract signWithAuthenticator(message: HexInput): AccountAuthenticator;\n\n /**\n * Sign a transaction using the available signing capabilities.\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 abstract signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticator;\n\n /**\n * Sign the given message using the available signing capabilities.\n * @param message in HexInput format\n * @returns Signature\n */\n abstract sign(message: HexInput): Signature;\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 abstract signTransaction(transaction: AnyRawTransaction): Signature;\n\n /**\n * Verify the given message and signature with the public key.\n * @param args.message raw message data in HexInput format\n * @param args.signature signed message Signature\n * @returns\n */\n verifySignature(args: VerifySignatureArgs): boolean {\n return this.publicKey.verifySignature(args);\n }\n}\n"],"mappings":"2HA4GO,IAAeA,EAAf,KAAuB,CA0B5B,OAAO,SAASC,EAA4B,CAAC,EAAG,CAC9C,GAAM,CAAE,OAAAC,IAAqC,OAAAC,EAAS,EAAK,EAAIF,EAC/D,OAAIC,IAAW,GAA8BC,EACpCC,EAAe,SAAS,EAE1BC,EAAiB,SAAS,CAAE,OAAAH,CAAO,CAAC,CAC7C,CAaA,OAAO,eAAeD,EAAuC,CAC3D,GAAM,CAAE,WAAAK,EAAY,QAAAC,EAAS,OAAAJ,EAAS,EAAK,EAAIF,EAC/C,OAAIK,aAAsBE,GAAqBL,EACtC,IAAIC,EAAe,CACxB,WAAAE,EACA,QAAAC,CACF,CAAC,EAEI,IAAIF,EAAiB,CAAE,WAAAC,EAAY,QAAAC,CAAQ,CAAC,CACrD,CAcA,OAAO,yBAAyBN,EAAuC,CACrE,OAAO,KAAK,eAAeA,CAAI,CACjC,CAiBA,OAAO,mBAAmBA,EAA8D,CACtF,GAAM,CAAE,OAAAC,IAAqC,SAAAO,EAAU,KAAAC,EAAM,OAAAP,EAAS,EAAK,EAAIF,EAC/E,OAAIC,IAAW,GAA8BC,EACpCC,EAAe,mBAAmB,CAAE,SAAAK,EAAU,KAAAC,CAAK,CAAC,EAEtDL,EAAiB,mBAAmB,CAAE,OAAAH,EAAQ,SAAAO,EAAU,KAAAC,CAAK,CAAC,CACvE,CAWA,OAAO,QAAQT,EAA0D,CACvE,GAAM,CAAE,UAAAU,CAAU,EAAIV,EACtB,OAAOU,EAAU,QAAQ,CAC3B,CAoCA,gBAAgBV,EAAoC,CAClD,OAAO,KAAK,UAAU,gBAAgBA,CAAI,CAC5C,CACF","names":["Account","args","scheme","legacy","Ed25519Account","SingleKeyAccount","privateKey","address","Ed25519PrivateKey","mnemonic","path","publicKey"]}
1
+ {"version":3,"sources":["../../src/account/Account.ts"],"sourcesContent":["import type { AccountAuthenticator } from \"../transactions/authenticator/account\";\nimport { HexInput, SigningScheme, SigningSchemeInput } from \"../types\";\nimport type { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { AuthenticationKey } from \"../core/authenticationKey\";\nimport { AccountPublicKey, Ed25519PrivateKey, PrivateKey, Signature, VerifySignatureArgs } from \"../core/crypto\";\nimport { Ed25519Account } from \"./Ed25519Account\";\nimport { SingleKeyAccount } from \"./SingleKeyAccount\";\nimport { AnyRawTransaction } from \"../transactions/types\";\n\n/**\n * Arguments for creating an `Ed25519Account` from an `Ed25519PrivateKey`.\n * This is the default input type when passing an `Ed25519PrivateKey`.\n * In order to use the SingleKey authentication scheme, `legacy` needs to be explicitly set to false.\n */\nexport interface CreateEd25519AccountFromPrivateKeyArgs {\n privateKey: Ed25519PrivateKey;\n address?: AccountAddressInput;\n legacy?: true;\n}\n\n/**\n * Arguments for creating an `SingleKeyAccount` from an `Ed25519PrivateKey`.\n * The `legacy` argument needs to be explicitly set to false in order to\n * use the `SingleKey` authentication scheme.\n */\nexport interface CreateEd25519SingleKeyAccountFromPrivateKeyArgs {\n privateKey: Ed25519PrivateKey;\n address?: AccountAddressInput;\n legacy: false;\n}\n\n/**\n * Arguments for creating an `SingleKeyAccount` from any supported private key\n * that is not an `Ed25519PrivateKey`.\n * The `legacy` argument defaults to false and cannot be explicitly set to true.\n */\nexport interface CreateSingleKeyAccountFromPrivateKeyArgs {\n privateKey: Exclude<PrivateKey, Ed25519PrivateKey>;\n address?: AccountAddressInput;\n legacy?: false;\n}\n\n/**\n * Arguments for creating an opaque `Account` from any supported private key.\n * This is used when the private key type is not known at compilation time.\n */\nexport interface CreateAccountFromPrivateKeyArgs {\n privateKey: PrivateKey;\n address?: AccountAddressInput;\n legacy?: boolean;\n}\n\n/**\n * Arguments for generating an `Ed25519Account`.\n * This is the input type used by default.\n */\nexport interface GenerateEd25519AccountArgs {\n scheme?: SigningSchemeInput.Ed25519;\n legacy?: true;\n}\n\n/**\n * Arguments for generating an `SingleKeyAccount` with ah underlying `Ed25519PrivateKey`.\n * The `legacy` argument needs to be explicitly set to false,\n * otherwise an `Ed25519Account` will be returned instead.\n */\nexport interface GenerateEd25519SingleKeyAccountArgs {\n scheme?: SigningSchemeInput.Ed25519;\n legacy: false;\n}\n\n/**\n * Arguments for generating an `SingleKeyAccount` with any supported private key\n * that is not an `Ed25519PrivateKey`.\n * The `legacy` argument defaults to false and cannot be explicitly set to true.\n */\nexport interface GenerateSingleKeyAccountArgs {\n scheme: Exclude<SigningSchemeInput, SigningSchemeInput.Ed25519>;\n legacy?: false;\n}\n\n/**\n * Arguments for generating an opaque `Account`.\n * This is used when the input signature scheme is not known at compilation time.\n */\nexport interface GenerateAccountArgs {\n scheme?: SigningSchemeInput;\n legacy?: boolean;\n}\n\n/**\n * Arguments for deriving a private key from a mnemonic phrase and a BIP44 path.\n */\nexport interface PrivateKeyFromDerivationPathArgs {\n path: string;\n mnemonic: string;\n}\n\n/**\n * Interface for a generic Aptos account.\n *\n * The interface is defined as abstract class to provide a single entrypoint for account generation,\n * either through `Account.generate()` or `Account.fromDerivationPath`.\n * Despite this being an abstract class, it should be treated as an interface and enforced using\n * the `implements` keyword.\n *\n * Note: Generating an account instance does not create the account on-chain.\n */\nexport abstract class Account {\n /**\n * Public key associated with the account\n */\n abstract readonly publicKey: AccountPublicKey;\n\n /**\n * Account address associated with the account\n */\n abstract readonly accountAddress: AccountAddress;\n\n /**\n * Signing scheme used to sign transactions\n */\n abstract signingScheme: SigningScheme;\n\n /**\n * Derives an account from a randomly generated private key.\n * @param args.scheme The signature scheme to use, to generate the private key\n * @param args.legacy Whether to use a legacy authentication scheme, when applicable\n * @returns An account compatible with the provided signature scheme\n */\n static generate(args?: GenerateEd25519AccountArgs): Ed25519Account;\n static generate(args: GenerateEd25519SingleKeyAccountArgs): SingleKeyAccount;\n static generate(args: GenerateSingleKeyAccountArgs): SingleKeyAccount;\n static generate(args: GenerateAccountArgs): Account;\n static generate(args: GenerateAccountArgs = {}) {\n const { scheme = SigningSchemeInput.Ed25519, legacy = true } = args;\n if (scheme === SigningSchemeInput.Ed25519 && legacy) {\n return Ed25519Account.generate();\n }\n return SingleKeyAccount.generate({ scheme });\n }\n\n /**\n * Creates an account from the provided private key.\n *\n * @param args.privateKey a valid private key\n * @param args.address the account's address. If not provided, it will be derived from the public key.\n * @param args.legacy Whether to use a legacy authentication scheme, when applicable\n */\n static fromPrivateKey(args: CreateEd25519AccountFromPrivateKeyArgs): Ed25519Account;\n static fromPrivateKey(args: CreateEd25519SingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;\n static fromPrivateKey(args: CreateSingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;\n static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs): Account;\n static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs) {\n const { privateKey, address, legacy = true } = args;\n if (privateKey instanceof Ed25519PrivateKey && legacy) {\n return new Ed25519Account({\n privateKey,\n address,\n });\n }\n return new SingleKeyAccount({ privateKey, address });\n }\n\n /**\n * @deprecated use `fromPrivateKey` instead.\n * Instantiates an account given a private key and a specified account address.\n * This is primarily used to instantiate an `Account` that has had its authentication key rotated.\n *\n * @param args.privateKey PrivateKey - the underlying private key for the account\n * @param args.address AccountAddress - The account address the `Account` will sign for\n * @param args.legacy optional. If set to false, the keypair generated is a Unified keypair. Defaults\n * to generating a Legacy Ed25519 keypair\n *\n * @returns Account\n */\n static fromPrivateKeyAndAddress(args: CreateAccountFromPrivateKeyArgs) {\n return this.fromPrivateKey(args);\n }\n\n /**\n * Derives an account with bip44 path and mnemonics\n *\n * @param args.scheme The signature scheme to derive the private key with\n * @param args.path the BIP44 derive hardened path (e.g. m/44'/637'/0'/0'/0') for Ed25519,\n * or non-hardened path (e.g. m/44'/637'/0'/0/0) for secp256k1\n * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}\n * @param args.mnemonic the mnemonic seed phrase of the account\n */\n static fromDerivationPath(args: GenerateEd25519AccountArgs & PrivateKeyFromDerivationPathArgs): Ed25519Account;\n static fromDerivationPath(\n args: GenerateEd25519SingleKeyAccountArgs & PrivateKeyFromDerivationPathArgs,\n ): SingleKeyAccount;\n static fromDerivationPath(args: GenerateSingleKeyAccountArgs & PrivateKeyFromDerivationPathArgs): SingleKeyAccount;\n static fromDerivationPath(args: GenerateAccountArgs & PrivateKeyFromDerivationPathArgs): Account;\n static fromDerivationPath(args: GenerateAccountArgs & PrivateKeyFromDerivationPathArgs) {\n const { scheme = SigningSchemeInput.Ed25519, mnemonic, path, legacy = true } = args;\n if (scheme === SigningSchemeInput.Ed25519 && legacy) {\n return Ed25519Account.fromDerivationPath({ mnemonic, path });\n }\n return SingleKeyAccount.fromDerivationPath({ scheme, mnemonic, path });\n }\n\n /**\n * @deprecated use `publicKey.authKey()` instead.\n * This key enables account owners to rotate their private key(s)\n * associated with the account without changing the address that hosts their account.\n * See here for more info: {@link https://aptos.dev/concepts/accounts#single-signer-authentication}\n *\n * @param args.publicKey PublicKey - public key of the account\n * @returns The authentication key for the associated account\n */\n static authKey(args: { publicKey: AccountPublicKey }): AuthenticationKey {\n const { publicKey } = args;\n return publicKey.authKey();\n }\n\n /**\n * Sign a message using the available signing capabilities.\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 abstract signWithAuthenticator(message: HexInput): AccountAuthenticator;\n\n /**\n * Sign a transaction using the available signing capabilities.\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 abstract signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticator;\n\n /**\n * Sign the given message using the available signing capabilities.\n * @param message in HexInput format\n * @returns Signature\n */\n abstract sign(message: HexInput): Signature;\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 abstract signTransaction(transaction: AnyRawTransaction): Signature;\n\n /**\n * Verify the given message and signature with the public key.\n * @param args.message raw message data in HexInput format\n * @param args.signature signed message Signature\n * @returns\n */\n verifySignature(args: VerifySignatureArgs): boolean {\n return this.publicKey.verifySignature(args);\n }\n}\n"],"mappings":";;;;;;;;;;;AA4GO,IAAe,UAAf,MAAuB;AAAA,EA0B5B,OAAO,SAAS,OAA4B,CAAC,GAAG;AAC9C,UAAM,EAAE,0BAAqC,SAAS,KAAK,IAAI;AAC/D,QAAI,8BAAyC,QAAQ;AACnD,aAAO,eAAe,SAAS;AAAA,IACjC;AACA,WAAO,iBAAiB,SAAS,EAAE,OAAO,CAAC;AAAA,EAC7C;AAAA,EAaA,OAAO,eAAe,MAAuC;AAC3D,UAAM,EAAE,YAAY,SAAS,SAAS,KAAK,IAAI;AAC/C,QAAI,sBAAsB,qBAAqB,QAAQ;AACrD,aAAO,IAAI,eAAe;AAAA,QACxB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AACA,WAAO,IAAI,iBAAiB,EAAE,YAAY,QAAQ,CAAC;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,OAAO,yBAAyB,MAAuC;AACrE,WAAO,KAAK,eAAe,IAAI;AAAA,EACjC;AAAA,EAiBA,OAAO,mBAAmB,MAA8D;AACtF,UAAM,EAAE,0BAAqC,UAAU,MAAM,SAAS,KAAK,IAAI;AAC/E,QAAI,8BAAyC,QAAQ;AACnD,aAAO,eAAe,mBAAmB,EAAE,UAAU,KAAK,CAAC;AAAA,IAC7D;AACA,WAAO,iBAAiB,mBAAmB,EAAE,QAAQ,UAAU,KAAK,CAAC;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,OAAO,QAAQ,MAA0D;AACvE,UAAM,EAAE,UAAU,IAAI;AACtB,WAAO,UAAU,QAAQ;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoCA,gBAAgB,MAAoC;AAClD,WAAO,KAAK,UAAU,gBAAgB,IAAI;AAAA,EAC5C;AACF;","names":[]}
@@ -0,0 +1,58 @@
1
+ import {
2
+ FeePayerRawTransaction,
3
+ MultiAgentRawTransaction
4
+ } from "./chunk-2OQW7BMN.mjs";
5
+ import {
6
+ RAW_TRANSACTION_SALT,
7
+ RAW_TRANSACTION_WITH_DATA_SALT
8
+ } from "./chunk-NFJCQRVK.mjs";
9
+
10
+ // src/transactions/transactionBuilder/signingMessage.ts
11
+ import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
12
+ function deriveTransactionType(transaction) {
13
+ if (transaction.feePayerAddress) {
14
+ return new FeePayerRawTransaction(
15
+ transaction.rawTransaction,
16
+ transaction.secondarySignerAddresses ?? [],
17
+ transaction.feePayerAddress
18
+ );
19
+ }
20
+ if (transaction.secondarySignerAddresses) {
21
+ return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);
22
+ }
23
+ return transaction.rawTransaction;
24
+ }
25
+ function generateSigningMessage(bytes, domainSeparator) {
26
+ const hash = sha3Hash.create();
27
+ if (!domainSeparator.startsWith("APTOS::")) {
28
+ throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);
29
+ }
30
+ hash.update(domainSeparator);
31
+ const prefix = hash.digest();
32
+ const body = bytes;
33
+ const mergedArray = new Uint8Array(prefix.length + body.length);
34
+ mergedArray.set(prefix);
35
+ mergedArray.set(body, prefix.length);
36
+ return mergedArray;
37
+ }
38
+ function generateSigningMessageForSerializable(serializable) {
39
+ return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);
40
+ }
41
+ function generateSigningMessageForTransaction(transaction) {
42
+ const rawTxn = deriveTransactionType(transaction);
43
+ if (transaction.feePayerAddress) {
44
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);
45
+ }
46
+ if (transaction.secondarySignerAddresses) {
47
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);
48
+ }
49
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);
50
+ }
51
+
52
+ export {
53
+ deriveTransactionType,
54
+ generateSigningMessage,
55
+ generateSigningMessageForSerializable,
56
+ generateSigningMessageForTransaction
57
+ };
58
+ //# sourceMappingURL=chunk-VJP2VWMF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transactions/transactionBuilder/signingMessage.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the generation of the signing message.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { RAW_TRANSACTION_SALT, RAW_TRANSACTION_WITH_DATA_SALT } from \"../../utils/const\";\nimport { FeePayerRawTransaction, MultiAgentRawTransaction } from \"../instances\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../types\";\nimport { Serializable } from \"../../bcs\";\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction;\n}\n\n/**\n * Generates the 'signing message' form of a message to be signed.\n *\n * @param bytes The byte representation of the message to be signed and sent to the chain\n * @param domainSeparator A domain separator that starts with 'APTOS::'\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessage(bytes: Uint8Array, domainSeparator: string): Uint8Array {\n const hash = sha3Hash.create();\n\n if (!domainSeparator.startsWith(\"APTOS::\")) {\n throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);\n }\n\n hash.update(domainSeparator);\n\n const prefix = hash.digest();\n\n const body = bytes;\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n\n/**\n * Generates the 'signing message' form of a serilizable value. It bcs serializes the value and uses the name of\n * its constructor as the domain separator.\n *\n * @param serializable An object that has a bcs serialized form\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForSerializable(serializable: Serializable): Uint8Array {\n return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);\n}\n\n/**\n * Generates the 'signing message' form of a transaction. It derives the type of transaction and\n * applies the appropriate domain separator based on if there is extra data such as a fee payer or\n * secondary signers.\n *\n * @param transaction A transaction that is to be signed\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForTransaction(transaction: AnyRawTransaction): Uint8Array {\n const rawTxn = deriveTransactionType(transaction);\n if (transaction.feePayerAddress) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n if (transaction.secondarySignerAddresses) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);\n}\n"],"mappings":"gGAMA,OAAS,YAAYA,MAAgB,qBAa9B,SAASC,EAAsBC,EAA2D,CAC/F,OAAIA,EAAY,gBACP,IAAIC,EACTD,EAAY,eACZA,EAAY,0BAA4B,CAAC,EACzCA,EAAY,eACd,EAEEA,EAAY,yBACP,IAAIE,EAAyBF,EAAY,eAAgBA,EAAY,wBAAwB,EAG/FA,EAAY,cACrB,CAUO,SAASG,EAAuBC,EAAmBC,EAAqC,CAC7F,IAAMC,EAAOC,EAAS,OAAO,EAE7B,GAAI,CAACF,EAAgB,WAAW,SAAS,EACvC,MAAM,IAAI,MAAM,+DAA+DA,CAAe,EAAE,EAGlGC,EAAK,OAAOD,CAAe,EAE3B,IAAMG,EAASF,EAAK,OAAO,EAErBG,EAAOL,EAEPM,EAAc,IAAI,WAAWF,EAAO,OAASC,EAAK,MAAM,EAC9D,OAAAC,EAAY,IAAIF,CAAM,EACtBE,EAAY,IAAID,EAAMD,EAAO,MAAM,EAE5BE,CACT,CAUO,SAASC,EAAsCC,EAAwC,CAC5F,OAAOT,EAAuBS,EAAa,WAAW,EAAG,UAAUA,EAAa,YAAY,IAAI,EAAE,CACpG,CAWO,SAASC,EAAqCb,EAA4C,CAC/F,IAAMc,EAASf,EAAsBC,CAAW,EAChD,OAAIA,EAAY,gBACPG,EAAuBW,EAAO,WAAW,EAAGC,CAA8B,EAE/Ef,EAAY,yBACPG,EAAuBW,EAAO,WAAW,EAAGC,CAA8B,EAE5EZ,EAAuBW,EAAO,WAAW,EAAGE,CAAoB,CACzE","names":["sha3Hash","deriveTransactionType","transaction","FeePayerRawTransaction","MultiAgentRawTransaction","generateSigningMessage","bytes","domainSeparator","hash","sha3Hash","prefix","body","mergedArray","generateSigningMessageForSerializable","serializable","generateSigningMessageForTransaction","rawTxn","RAW_TRANSACTION_WITH_DATA_SALT","RAW_TRANSACTION_SALT"]}
1
+ {"version":3,"sources":["../../src/transactions/transactionBuilder/signingMessage.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the generation of the signing message.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { RAW_TRANSACTION_SALT, RAW_TRANSACTION_WITH_DATA_SALT } from \"../../utils/const\";\nimport { FeePayerRawTransaction, MultiAgentRawTransaction } from \"../instances\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../types\";\nimport { Serializable } from \"../../bcs\";\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction;\n}\n\n/**\n * Generates the 'signing message' form of a message to be signed.\n *\n * @param bytes The byte representation of the message to be signed and sent to the chain\n * @param domainSeparator A domain separator that starts with 'APTOS::'\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessage(bytes: Uint8Array, domainSeparator: string): Uint8Array {\n const hash = sha3Hash.create();\n\n if (!domainSeparator.startsWith(\"APTOS::\")) {\n throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);\n }\n\n hash.update(domainSeparator);\n\n const prefix = hash.digest();\n\n const body = bytes;\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n\n/**\n * Generates the 'signing message' form of a serilizable value. It bcs serializes the value and uses the name of\n * its constructor as the domain separator.\n *\n * @param serializable An object that has a bcs serialized form\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForSerializable(serializable: Serializable): Uint8Array {\n return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);\n}\n\n/**\n * Generates the 'signing message' form of a transaction. It derives the type of transaction and\n * applies the appropriate domain separator based on if there is extra data such as a fee payer or\n * secondary signers.\n *\n * @param transaction A transaction that is to be signed\n *\n * @returns The Uint8Array of the signing message\n */\nexport function generateSigningMessageForTransaction(transaction: AnyRawTransaction): Uint8Array {\n const rawTxn = deriveTransactionType(transaction);\n if (transaction.feePayerAddress) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n if (transaction.secondarySignerAddresses) {\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);\n }\n return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);\n}\n"],"mappings":";;;;;;;;;;AAMA,SAAS,YAAY,gBAAgB;AAa9B,SAAS,sBAAsB,aAA2D;AAC/F,MAAI,YAAY,iBAAiB;AAC/B,WAAO,IAAI;AAAA,MACT,YAAY;AAAA,MACZ,YAAY,4BAA4B,CAAC;AAAA,MACzC,YAAY;AAAA,IACd;AAAA,EACF;AACA,MAAI,YAAY,0BAA0B;AACxC,WAAO,IAAI,yBAAyB,YAAY,gBAAgB,YAAY,wBAAwB;AAAA,EACtG;AAEA,SAAO,YAAY;AACrB;AAUO,SAAS,uBAAuB,OAAmB,iBAAqC;AAC7F,QAAM,OAAO,SAAS,OAAO;AAE7B,MAAI,CAAC,gBAAgB,WAAW,SAAS,GAAG;AAC1C,UAAM,IAAI,MAAM,+DAA+D,eAAe,EAAE;AAAA,EAClG;AAEA,OAAK,OAAO,eAAe;AAE3B,QAAM,SAAS,KAAK,OAAO;AAE3B,QAAM,OAAO;AAEb,QAAM,cAAc,IAAI,WAAW,OAAO,SAAS,KAAK,MAAM;AAC9D,cAAY,IAAI,MAAM;AACtB,cAAY,IAAI,MAAM,OAAO,MAAM;AAEnC,SAAO;AACT;AAUO,SAAS,sCAAsC,cAAwC;AAC5F,SAAO,uBAAuB,aAAa,WAAW,GAAG,UAAU,aAAa,YAAY,IAAI,EAAE;AACpG;AAWO,SAAS,qCAAqC,aAA4C;AAC/F,QAAM,SAAS,sBAAsB,WAAW;AAChD,MAAI,YAAY,iBAAiB;AAC/B,WAAO,uBAAuB,OAAO,WAAW,GAAG,8BAA8B;AAAA,EACnF;AACA,MAAI,YAAY,0BAA0B;AACxC,WAAO,uBAAuB,OAAO,WAAW,GAAG,8BAA8B;AAAA,EACnF;AACA,SAAO,uBAAuB,OAAO,WAAW,GAAG,oBAAoB;AACzE;","names":[]}
@@ -0,0 +1,93 @@
1
+ import {
2
+ AptosApiError
3
+ } from "./chunk-PCLNX6FS.mjs";
4
+ import {
5
+ VERSION
6
+ } from "./chunk-D2BVBXWO.mjs";
7
+
8
+ // src/client/core.ts
9
+ var errors = {
10
+ 400: "Bad Request",
11
+ 401: "Unauthorized",
12
+ 403: "Forbidden",
13
+ 404: "Not Found",
14
+ 429: "Too Many Requests",
15
+ 500: "Internal Server Error",
16
+ 502: "Bad Gateway",
17
+ 503: "Service Unavailable"
18
+ };
19
+ async function request(options, client) {
20
+ const { url, method, body, contentType, params, overrides, originMethod } = options;
21
+ const headers = {
22
+ ...overrides?.HEADERS,
23
+ "x-aptos-client": `aptos-typescript-sdk/${VERSION}`,
24
+ "content-type": contentType ?? "application/json" /* JSON */,
25
+ "x-aptos-typescript-sdk-origin-method": originMethod
26
+ };
27
+ if (overrides?.AUTH_TOKEN) {
28
+ headers.Authorization = `Bearer ${overrides?.AUTH_TOKEN}`;
29
+ }
30
+ if (overrides?.API_KEY) {
31
+ headers.Authorization = `Bearer ${overrides?.API_KEY}`;
32
+ }
33
+ return client.provider({
34
+ url,
35
+ method,
36
+ body,
37
+ params,
38
+ headers,
39
+ overrides
40
+ });
41
+ }
42
+ async function aptosRequest(options, aptosConfig, apiType) {
43
+ const { url, path } = options;
44
+ const fullUrl = path ? `${url}/${path}` : url;
45
+ const response = await request({ ...options, url: fullUrl }, aptosConfig.client);
46
+ const result = {
47
+ status: response.status,
48
+ statusText: response.statusText,
49
+ data: response.data,
50
+ headers: response.headers,
51
+ config: response.config,
52
+ request: response.request,
53
+ url: fullUrl
54
+ };
55
+ if (result.status === 401) {
56
+ throw new AptosApiError(options, result, `Error: ${result.data}`);
57
+ }
58
+ if (apiType === "Indexer" /* INDEXER */) {
59
+ const indexerResponse = result.data;
60
+ if (indexerResponse.errors) {
61
+ throw new AptosApiError(
62
+ options,
63
+ result,
64
+ `Indexer error: ${indexerResponse.errors[0].message}` ?? `Indexer unhandled Error ${response.status} : ${response.statusText}`
65
+ );
66
+ }
67
+ result.data = indexerResponse.data;
68
+ }
69
+ if (result.status >= 200 && result.status < 300) {
70
+ return result;
71
+ }
72
+ if (result.status >= 500) {
73
+ throw new AptosApiError(options, result, `${response.data}`);
74
+ }
75
+ if (aptosConfig.isPepperServiceRequest(url) || aptosConfig.isProverServiceRequest(url)) {
76
+ throw new AptosApiError(options, result, `${response.data}`);
77
+ }
78
+ let errorMessage;
79
+ if (result && result.data && "message" in result.data && "error_code" in result.data) {
80
+ errorMessage = JSON.stringify(result.data);
81
+ } else if (result.status in errors) {
82
+ errorMessage = errors[result.status];
83
+ } else {
84
+ errorMessage = `Unhandled Error ${result.status} : ${result.statusText}`;
85
+ }
86
+ throw new AptosApiError(options, result, `${apiType} error: ${errorMessage}`);
87
+ }
88
+
89
+ export {
90
+ request,
91
+ aptosRequest
92
+ };
93
+ //# sourceMappingURL=chunk-VKJQORON.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/core.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AptosApiError, AptosResponse } from \"./types\";\nimport { VERSION } from \"../version\";\nimport { AnyNumber, AptosRequest, Client, ClientRequest, ClientResponse, MimeType } from \"../types\";\nimport { AptosApiType } from \"../utils\";\n\n/**\n * Meaningful errors map\n */\nconst errors: Record<number, string> = {\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 429: \"Too Many Requests\",\n 500: \"Internal Server Error\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n};\n\n/**\n * Given a url and method, sends the request with axios and\n * returns the response.\n */\nexport async function request<Req, Res>(options: ClientRequest<Req>, client: Client): Promise<ClientResponse<Res>> {\n const { url, method, body, contentType, params, overrides, originMethod } = options;\n const headers: Record<string, string | AnyNumber | boolean | undefined> = {\n ...overrides?.HEADERS,\n \"x-aptos-client\": `aptos-typescript-sdk/${VERSION}`,\n \"content-type\": contentType ?? MimeType.JSON,\n \"x-aptos-typescript-sdk-origin-method\": originMethod,\n };\n\n if (overrides?.AUTH_TOKEN) {\n headers.Authorization = `Bearer ${overrides?.AUTH_TOKEN}`;\n }\n if (overrides?.API_KEY) {\n headers.Authorization = `Bearer ${overrides?.API_KEY}`;\n }\n\n /*\n * make a call using the @aptos-labs/aptos-client package\n * {@link https://www.npmjs.com/package/@aptos-labs/aptos-client}\n */\n return client.provider<Req, Res>({\n url,\n method,\n body,\n params,\n headers,\n overrides,\n });\n}\n\n/**\n * The main function to use when doing an API request.\n *\n * @param options AptosRequest\n * @param aptosConfig The config information for the SDK client instance\n * @returns the response or AptosApiError\n */\nexport async function aptosRequest<Req extends {}, Res extends {}>(\n options: AptosRequest,\n aptosConfig: AptosConfig,\n apiType: AptosApiType,\n): Promise<AptosResponse<Req, Res>> {\n const { url, path } = options;\n const fullUrl = path ? `${url}/${path}` : url;\n const response = await request<Req, Res>({ ...options, url: fullUrl }, aptosConfig.client);\n\n const result: AptosResponse<Req, Res> = {\n status: response.status,\n statusText: response.statusText!,\n data: response.data,\n headers: response.headers,\n config: response.config,\n request: response.request,\n url: fullUrl,\n };\n\n // Handle case for `Unauthorized` error (i.e API_KEY error)\n if (result.status === 401) {\n throw new AptosApiError(options, result, `Error: ${result.data}`);\n }\n\n // to support both fullnode and indexer responses,\n // check if it is an indexer query, and adjust response.data\n if (apiType === AptosApiType.INDEXER) {\n const indexerResponse = result.data as any;\n // Handle Indexer general errors\n if (indexerResponse.errors) {\n throw new AptosApiError(\n options,\n result,\n `Indexer error: ${indexerResponse.errors[0].message}` ??\n `Indexer unhandled Error ${response.status} : ${response.statusText}`,\n );\n }\n result.data = indexerResponse.data as Res;\n }\n\n if (result.status >= 200 && result.status < 300) {\n return result;\n }\n\n if (result.status >= 500) {\n throw new AptosApiError(options, result, `${response.data}`);\n }\n\n if (aptosConfig.isPepperServiceRequest(url)) {\n throw new AptosApiError(options, result, `${response.data}`);\n }\n\n let errorMessage: string;\n\n if (result && result.data && \"message\" in result.data && \"error_code\" in result.data) {\n errorMessage = JSON.stringify(result.data);\n } else if (result.status in errors) {\n // If it's not an API type, it must come form infra, these are prehandled\n errorMessage = errors[result.status];\n } else {\n // Everything else is unhandled\n errorMessage = `Unhandled Error ${result.status} : ${result.statusText}`;\n }\n\n // We have to explicitly check for all request types, because if the error is a non-indexer error, but\n // comes from an indexer request (e.g. 404), we'll need to mention it appropriately\n throw new AptosApiError(options, result, `${apiType} error: ${errorMessage}`);\n}\n"],"mappings":"6EAYA,IAAMA,EAAiC,CACrC,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,YACL,IAAK,oBACL,IAAK,wBACL,IAAK,cACL,IAAK,qBACP,EAMA,eAAsBC,EAAkBC,EAA6BC,EAA8C,CACjH,GAAM,CAAE,IAAAC,EAAK,OAAAC,EAAQ,KAAAC,EAAM,YAAAC,EAAa,OAAAC,EAAQ,UAAAC,EAAW,aAAAC,CAAa,EAAIR,EACtES,EAAoE,CACxE,GAAGF,GAAW,QACd,iBAAkB,wBAAwBG,CAAO,GACjD,eAAgBL,sBAChB,uCAAwCG,CAC1C,EAEA,OAAID,GAAW,aACbE,EAAQ,cAAgB,UAAUF,GAAW,UAAU,IAErDA,GAAW,UACbE,EAAQ,cAAgB,UAAUF,GAAW,OAAO,IAO/CN,EAAO,SAAmB,CAC/B,IAAAC,EACA,OAAAC,EACA,KAAAC,EACA,OAAAE,EACA,QAAAG,EACA,UAAAF,CACF,CAAC,CACH,CASA,eAAsBI,EACpBX,EACAY,EACAC,EACkC,CAClC,GAAM,CAAE,IAAAX,EAAK,KAAAY,CAAK,EAAId,EAChBe,EAAUD,EAAO,GAAGZ,CAAG,IAAIY,CAAI,GAAKZ,EACpCc,EAAW,MAAMjB,EAAkB,CAAE,GAAGC,EAAS,IAAKe,CAAQ,EAAGH,EAAY,MAAM,EAEnFK,EAAkC,CACtC,OAAQD,EAAS,OACjB,WAAYA,EAAS,WACrB,KAAMA,EAAS,KACf,QAASA,EAAS,QAClB,OAAQA,EAAS,OACjB,QAASA,EAAS,QAClB,IAAKD,CACP,EAGA,GAAIE,EAAO,SAAW,IACpB,MAAM,IAAIC,EAAclB,EAASiB,EAAQ,UAAUA,EAAO,IAAI,EAAE,EAKlE,GAAIJ,cAAkC,CACpC,IAAMM,EAAkBF,EAAO,KAE/B,GAAIE,EAAgB,OAClB,MAAM,IAAID,EACRlB,EACAiB,EACA,kBAAkBE,EAAgB,OAAO,CAAC,EAAE,OAAO,IACjD,2BAA2BH,EAAS,MAAM,MAAMA,EAAS,UAAU,EACvE,EAEFC,EAAO,KAAOE,EAAgB,IAChC,CAEA,GAAIF,EAAO,QAAU,KAAOA,EAAO,OAAS,IAC1C,OAAOA,EAGT,GAAIA,EAAO,QAAU,IACnB,MAAM,IAAIC,EAAclB,EAASiB,EAAQ,GAAGD,EAAS,IAAI,EAAE,EAG7D,GAAIJ,EAAY,uBAAuBV,CAAG,EACxC,MAAM,IAAIgB,EAAclB,EAASiB,EAAQ,GAAGD,EAAS,IAAI,EAAE,EAG7D,IAAII,EAEJ,MAAIH,GAAUA,EAAO,MAAQ,YAAaA,EAAO,MAAQ,eAAgBA,EAAO,KAC9EG,EAAe,KAAK,UAAUH,EAAO,IAAI,EAChCA,EAAO,UAAUnB,EAE1BsB,EAAetB,EAAOmB,EAAO,MAAM,EAGnCG,EAAe,mBAAmBH,EAAO,MAAM,MAAMA,EAAO,UAAU,GAKlE,IAAIC,EAAclB,EAASiB,EAAQ,GAAGJ,CAAO,WAAWO,CAAY,EAAE,CAC9E","names":["errors","request","options","client","url","method","body","contentType","params","overrides","originMethod","headers","VERSION","aptosRequest","aptosConfig","apiType","path","fullUrl","response","result","AptosApiError","indexerResponse","errorMessage"]}
1
+ {"version":3,"sources":["../../src/client/core.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AptosApiError, AptosResponse } from \"./types\";\nimport { VERSION } from \"../version\";\nimport { AnyNumber, AptosRequest, Client, ClientRequest, ClientResponse, MimeType } from \"../types\";\nimport { AptosApiType } from \"../utils\";\n\n/**\n * Meaningful errors map\n */\nconst errors: Record<number, string> = {\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 429: \"Too Many Requests\",\n 500: \"Internal Server Error\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n};\n\n/**\n * Given a url and method, sends the request with axios and\n * returns the response.\n */\nexport async function request<Req, Res>(options: ClientRequest<Req>, client: Client): Promise<ClientResponse<Res>> {\n const { url, method, body, contentType, params, overrides, originMethod } = options;\n const headers: Record<string, string | AnyNumber | boolean | undefined> = {\n ...overrides?.HEADERS,\n \"x-aptos-client\": `aptos-typescript-sdk/${VERSION}`,\n \"content-type\": contentType ?? MimeType.JSON,\n \"x-aptos-typescript-sdk-origin-method\": originMethod,\n };\n\n if (overrides?.AUTH_TOKEN) {\n headers.Authorization = `Bearer ${overrides?.AUTH_TOKEN}`;\n }\n if (overrides?.API_KEY) {\n headers.Authorization = `Bearer ${overrides?.API_KEY}`;\n }\n\n /*\n * make a call using the @aptos-labs/aptos-client package\n * {@link https://www.npmjs.com/package/@aptos-labs/aptos-client}\n */\n return client.provider<Req, Res>({\n url,\n method,\n body,\n params,\n headers,\n overrides,\n });\n}\n\n/**\n * The main function to use when doing an API request.\n *\n * @param options AptosRequest\n * @param aptosConfig The config information for the SDK client instance\n * @returns the response or AptosApiError\n */\nexport async function aptosRequest<Req extends {}, Res extends {}>(\n options: AptosRequest,\n aptosConfig: AptosConfig,\n apiType: AptosApiType,\n): Promise<AptosResponse<Req, Res>> {\n const { url, path } = options;\n const fullUrl = path ? `${url}/${path}` : url;\n const response = await request<Req, Res>({ ...options, url: fullUrl }, aptosConfig.client);\n\n const result: AptosResponse<Req, Res> = {\n status: response.status,\n statusText: response.statusText!,\n data: response.data,\n headers: response.headers,\n config: response.config,\n request: response.request,\n url: fullUrl,\n };\n\n // Handle case for `Unauthorized` error (i.e API_KEY error)\n if (result.status === 401) {\n throw new AptosApiError(options, result, `Error: ${result.data}`);\n }\n\n // to support both fullnode and indexer responses,\n // check if it is an indexer query, and adjust response.data\n if (apiType === AptosApiType.INDEXER) {\n const indexerResponse = result.data as any;\n // Handle Indexer general errors\n if (indexerResponse.errors) {\n throw new AptosApiError(\n options,\n result,\n `Indexer error: ${indexerResponse.errors[0].message}` ??\n `Indexer unhandled Error ${response.status} : ${response.statusText}`,\n );\n }\n result.data = indexerResponse.data as Res;\n }\n\n if (result.status >= 200 && result.status < 300) {\n return result;\n }\n\n if (result.status >= 500) {\n throw new AptosApiError(options, result, `${response.data}`);\n }\n\n if (aptosConfig.isPepperServiceRequest(url) || aptosConfig.isProverServiceRequest(url)) {\n throw new AptosApiError(options, result, `${response.data}`);\n }\n\n let errorMessage: string;\n\n if (result && result.data && \"message\" in result.data && \"error_code\" in result.data) {\n errorMessage = JSON.stringify(result.data);\n } else if (result.status in errors) {\n // If it's not an API type, it must come form infra, these are prehandled\n errorMessage = errors[result.status];\n } else {\n // Everything else is unhandled\n errorMessage = `Unhandled Error ${result.status} : ${result.statusText}`;\n }\n\n // We have to explicitly check for all request types, because if the error is a non-indexer error, but\n // comes from an indexer request (e.g. 404), we'll need to mention it appropriately\n throw new AptosApiError(options, result, `${apiType} error: ${errorMessage}`);\n}\n"],"mappings":";;;;;;;;AAYA,IAAM,SAAiC;AAAA,EACrC,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AAMA,eAAsB,QAAkB,SAA6B,QAA8C;AACjH,QAAM,EAAE,KAAK,QAAQ,MAAM,aAAa,QAAQ,WAAW,aAAa,IAAI;AAC5E,QAAM,UAAoE;AAAA,IACxE,GAAG,WAAW;AAAA,IACd,kBAAkB,wBAAwB,OAAO;AAAA,IACjD,gBAAgB;AAAA,IAChB,wCAAwC;AAAA,EAC1C;AAEA,MAAI,WAAW,YAAY;AACzB,YAAQ,gBAAgB,UAAU,WAAW,UAAU;AAAA,EACzD;AACA,MAAI,WAAW,SAAS;AACtB,YAAQ,gBAAgB,UAAU,WAAW,OAAO;AAAA,EACtD;AAMA,SAAO,OAAO,SAAmB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AASA,eAAsB,aACpB,SACA,aACA,SACkC;AAClC,QAAM,EAAE,KAAK,KAAK,IAAI;AACtB,QAAM,UAAU,OAAO,GAAG,GAAG,IAAI,IAAI,KAAK;AAC1C,QAAM,WAAW,MAAM,QAAkB,EAAE,GAAG,SAAS,KAAK,QAAQ,GAAG,YAAY,MAAM;AAEzF,QAAM,SAAkC;AAAA,IACtC,QAAQ,SAAS;AAAA,IACjB,YAAY,SAAS;AAAA,IACrB,MAAM,SAAS;AAAA,IACf,SAAS,SAAS;AAAA,IAClB,QAAQ,SAAS;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,KAAK;AAAA,EACP;AAGA,MAAI,OAAO,WAAW,KAAK;AACzB,UAAM,IAAI,cAAc,SAAS,QAAQ,UAAU,OAAO,IAAI,EAAE;AAAA,EAClE;AAIA,MAAI,qCAAkC;AACpC,UAAM,kBAAkB,OAAO;AAE/B,QAAI,gBAAgB,QAAQ;AAC1B,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA,kBAAkB,gBAAgB,OAAO,CAAC,EAAE,OAAO,MACjD,2BAA2B,SAAS,MAAM,MAAM,SAAS,UAAU;AAAA,MACvE;AAAA,IACF;AACA,WAAO,OAAO,gBAAgB;AAAA,EAChC;AAEA,MAAI,OAAO,UAAU,OAAO,OAAO,SAAS,KAAK;AAC/C,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,UAAU,KAAK;AACxB,UAAM,IAAI,cAAc,SAAS,QAAQ,GAAG,SAAS,IAAI,EAAE;AAAA,EAC7D;AAEA,MAAI,YAAY,uBAAuB,GAAG,KAAK,YAAY,uBAAuB,GAAG,GAAG;AACtF,UAAM,IAAI,cAAc,SAAS,QAAQ,GAAG,SAAS,IAAI,EAAE;AAAA,EAC7D;AAEA,MAAI;AAEJ,MAAI,UAAU,OAAO,QAAQ,aAAa,OAAO,QAAQ,gBAAgB,OAAO,MAAM;AACpF,mBAAe,KAAK,UAAU,OAAO,IAAI;AAAA,EAC3C,WAAW,OAAO,UAAU,QAAQ;AAElC,mBAAe,OAAO,OAAO,MAAM;AAAA,EACrC,OAAO;AAEL,mBAAe,mBAAmB,OAAO,MAAM,MAAM,OAAO,UAAU;AAAA,EACxE;AAIA,QAAM,IAAI,cAAc,SAAS,QAAQ,GAAG,OAAO,WAAW,YAAY,EAAE;AAC9E;","names":[]}
@@ -0,0 +1,51 @@
1
+ import {
2
+ RawTransaction
3
+ } from "./chunk-2OQW7BMN.mjs";
4
+ import {
5
+ AccountAddress
6
+ } from "./chunk-CMNJG4NN.mjs";
7
+ import {
8
+ Serializable
9
+ } from "./chunk-FQQW55X7.mjs";
10
+
11
+ // src/transactions/instances/simpleTransaction.ts
12
+ var SimpleTransaction = class _SimpleTransaction extends Serializable {
13
+ /**
14
+ * SimpleTransaction represents a simple transaction type of a single signer that
15
+ * can be submitted to Aptos chain for execution.
16
+ *
17
+ * SimpleTransaction metadata contains the Raw Transaction and an optional
18
+ * sponsor Account Address to pay the gas fees.
19
+ *
20
+ * @param rawTransaction The Raw Tranasaction
21
+ * @param feePayerAddress The sponsor Account Address
22
+ */
23
+ constructor(rawTransaction, feePayerAddress) {
24
+ super();
25
+ this.rawTransaction = rawTransaction;
26
+ this.feePayerAddress = feePayerAddress;
27
+ }
28
+ serialize(serializer) {
29
+ this.rawTransaction.serialize(serializer);
30
+ if (this.feePayerAddress === void 0) {
31
+ serializer.serializeBool(false);
32
+ } else {
33
+ serializer.serializeBool(true);
34
+ this.feePayerAddress.serialize(serializer);
35
+ }
36
+ }
37
+ static deserialize(deserializer) {
38
+ const rawTransaction = RawTransaction.deserialize(deserializer);
39
+ const feepayerPresent = deserializer.deserializeBool();
40
+ let feePayerAddress;
41
+ if (feepayerPresent) {
42
+ feePayerAddress = AccountAddress.deserialize(deserializer);
43
+ }
44
+ return new _SimpleTransaction(rawTransaction, feePayerAddress);
45
+ }
46
+ };
47
+
48
+ export {
49
+ SimpleTransaction
50
+ };
51
+ //# sourceMappingURL=chunk-VPWUODU4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transactions/instances/simpleTransaction.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { AccountAddress } from \"../../core\";\nimport { RawTransaction } from \"./rawTransaction\";\n\n/**\n * Representation of a SimpleTransaction that can serialized and deserialized\n */\nexport class SimpleTransaction extends Serializable {\n public rawTransaction: RawTransaction;\n\n public feePayerAddress?: AccountAddress | undefined;\n\n // We dont really need it, we add it for type checkings we do\n // throughout the SDK\n public readonly secondarySignerAddresses: undefined;\n\n /**\n * SimpleTransaction represents a simple transaction type of a single signer that\n * can be submitted to Aptos chain for execution.\n *\n * SimpleTransaction metadata contains the Raw Transaction and an optional\n * sponsor Account Address to pay the gas fees.\n *\n * @param rawTransaction The Raw Tranasaction\n * @param feePayerAddress The sponsor Account Address\n */\n constructor(rawTransaction: RawTransaction, feePayerAddress?: AccountAddress) {\n super();\n this.rawTransaction = rawTransaction;\n this.feePayerAddress = feePayerAddress;\n }\n\n serialize(serializer: Serializer): void {\n this.rawTransaction.serialize(serializer);\n\n if (this.feePayerAddress === undefined) {\n serializer.serializeBool(false);\n } else {\n serializer.serializeBool(true);\n this.feePayerAddress.serialize(serializer);\n }\n }\n\n static deserialize(deserializer: Deserializer): SimpleTransaction {\n const rawTransaction = RawTransaction.deserialize(deserializer);\n const feepayerPresent = deserializer.deserializeBool();\n let feePayerAddress;\n if (feepayerPresent) {\n feePayerAddress = AccountAddress.deserialize(deserializer);\n }\n\n return new SimpleTransaction(rawTransaction, feePayerAddress);\n }\n}\n"],"mappings":"2HAaO,IAAMA,EAAN,MAAMC,UAA0BC,CAAa,CAmBlD,YAAYC,EAAgCC,EAAkC,CAC5E,MAAM,EACN,KAAK,eAAiBD,EACtB,KAAK,gBAAkBC,CACzB,CAEA,UAAUC,EAA8B,CACtC,KAAK,eAAe,UAAUA,CAAU,EAEpC,KAAK,kBAAoB,OAC3BA,EAAW,cAAc,EAAK,GAE9BA,EAAW,cAAc,EAAI,EAC7B,KAAK,gBAAgB,UAAUA,CAAU,EAE7C,CAEA,OAAO,YAAYC,EAA+C,CAChE,IAAMH,EAAiBI,EAAe,YAAYD,CAAY,EACxDE,EAAkBF,EAAa,gBAAgB,EACjDF,EACJ,OAAII,IACFJ,EAAkBK,EAAe,YAAYH,CAAY,GAGpD,IAAIL,EAAkBE,EAAgBC,CAAe,CAC9D,CACF","names":["SimpleTransaction","_SimpleTransaction","Serializable","rawTransaction","feePayerAddress","serializer","deserializer","RawTransaction","feepayerPresent","AccountAddress"]}
1
+ {"version":3,"sources":["../../src/transactions/instances/simpleTransaction.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { AccountAddress } from \"../../core\";\nimport { RawTransaction } from \"./rawTransaction\";\n\n/**\n * Representation of a SimpleTransaction that can serialized and deserialized\n */\nexport class SimpleTransaction extends Serializable {\n public rawTransaction: RawTransaction;\n\n public feePayerAddress?: AccountAddress | undefined;\n\n // We dont really need it, we add it for type checkings we do\n // throughout the SDK\n public readonly secondarySignerAddresses: undefined;\n\n /**\n * SimpleTransaction represents a simple transaction type of a single signer that\n * can be submitted to Aptos chain for execution.\n *\n * SimpleTransaction metadata contains the Raw Transaction and an optional\n * sponsor Account Address to pay the gas fees.\n *\n * @param rawTransaction The Raw Tranasaction\n * @param feePayerAddress The sponsor Account Address\n */\n constructor(rawTransaction: RawTransaction, feePayerAddress?: AccountAddress) {\n super();\n this.rawTransaction = rawTransaction;\n this.feePayerAddress = feePayerAddress;\n }\n\n serialize(serializer: Serializer): void {\n this.rawTransaction.serialize(serializer);\n\n if (this.feePayerAddress === undefined) {\n serializer.serializeBool(false);\n } else {\n serializer.serializeBool(true);\n this.feePayerAddress.serialize(serializer);\n }\n }\n\n static deserialize(deserializer: Deserializer): SimpleTransaction {\n const rawTransaction = RawTransaction.deserialize(deserializer);\n const feepayerPresent = deserializer.deserializeBool();\n let feePayerAddress;\n if (feepayerPresent) {\n feePayerAddress = AccountAddress.deserialize(deserializer);\n }\n\n return new SimpleTransaction(rawTransaction, feePayerAddress);\n }\n}\n"],"mappings":";;;;;;;;;;;AAaO,IAAM,oBAAN,MAAM,2BAA0B,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBlD,YAAY,gBAAgC,iBAAkC;AAC5E,UAAM;AACN,SAAK,iBAAiB;AACtB,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,UAAU,YAA8B;AACtC,SAAK,eAAe,UAAU,UAAU;AAExC,QAAI,KAAK,oBAAoB,QAAW;AACtC,iBAAW,cAAc,KAAK;AAAA,IAChC,OAAO;AACL,iBAAW,cAAc,IAAI;AAC7B,WAAK,gBAAgB,UAAU,UAAU;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,OAAO,YAAY,cAA+C;AAChE,UAAM,iBAAiB,eAAe,YAAY,YAAY;AAC9D,UAAM,kBAAkB,aAAa,gBAAgB;AACrD,QAAI;AACJ,QAAI,iBAAiB;AACnB,wBAAkB,eAAe,YAAY,YAAY;AAAA,IAC3D;AAEA,WAAO,IAAI,mBAAkB,gBAAgB,eAAe;AAAA,EAC9D;AACF;","names":[]}
@@ -0,0 +1,197 @@
1
+ import {
2
+ view
3
+ } from "./chunk-RCQMWXEW.mjs";
4
+ import {
5
+ getBlockByHeight,
6
+ getBlockByVersion,
7
+ getChainTopUserTransactions,
8
+ getIndexerLastSuccessVersion,
9
+ getLedgerInfo,
10
+ getProcessorStatus,
11
+ getTableItem,
12
+ queryIndexer
13
+ } from "./chunk-LYMY63SO.mjs";
14
+
15
+ // src/api/general.ts
16
+ var General = class {
17
+ constructor(config) {
18
+ this.config = config;
19
+ }
20
+ /**
21
+ * Queries for the Aptos ledger info
22
+ *
23
+ * @returns Aptos Ledger Info
24
+ *
25
+ * @example
26
+ * const ledgerInfo = await aptos.getLedgerInfo()
27
+ * // an example of the returned data
28
+ * ```
29
+ * {
30
+ * "chain_id": 4,
31
+ * "epoch": "8",
32
+ * "ledger_version": "714",
33
+ * "oldest_ledger_version": "0",
34
+ * "ledger_timestamp": "1694695496521775",
35
+ * "node_role": "validator",
36
+ * "oldest_block_height": "0",
37
+ * "block_height": "359",
38
+ * "git_hash": "c82193f36f4e185fed9f68c4ad21f6c6dd390c6e"
39
+ * }
40
+ * ```
41
+ */
42
+ async getLedgerInfo() {
43
+ return getLedgerInfo({ aptosConfig: this.config });
44
+ }
45
+ /**
46
+ * Queries for the chain id
47
+ *
48
+ * @example
49
+ * const chainId = await aptos.getChainId()
50
+ *
51
+ * @returns The chain id
52
+ */
53
+ async getChainId() {
54
+ const result = await this.getLedgerInfo();
55
+ return result.chain_id;
56
+ }
57
+ /**
58
+ * Queries for block by transaction version
59
+ *
60
+ * @example
61
+ * const block = await aptos.getBlockByVersion({ledgerVersion:5})
62
+ *
63
+ * @param args.ledgerVersion Ledger version to lookup block information for
64
+ * @param args.options.withTransactions If set to true, include all transactions in the block
65
+ *
66
+ * @returns Block information with optional transactions
67
+ */
68
+ async getBlockByVersion(args) {
69
+ return getBlockByVersion({
70
+ aptosConfig: this.config,
71
+ ...args
72
+ });
73
+ }
74
+ /**
75
+ * Get block by block height
76
+ *
77
+ * @example
78
+ * const block = await aptos.getBlockByVersion({blockHeight:5})
79
+ *
80
+ * @param args.blockHeight Block height to lookup. Starts at 0
81
+ * @param args.options.withTransactions If set to true, include all transactions in the block
82
+ *
83
+ * @returns Block with optional transactions
84
+ */
85
+ async getBlockByHeight(args) {
86
+ return getBlockByHeight({ aptosConfig: this.config, ...args });
87
+ }
88
+ /**
89
+ * Queries for a table item for a table identified by the handle and the key for the item.
90
+ * Key and value types need to be passed in to help with key serialization and value deserialization.
91
+ *
92
+ * @example https://api.devnet.aptoslabs.com/v1/accounts/0x1/resource/0x1::coin::CoinInfo%3C0x1::aptos_coin::AptosCoin%3E
93
+ * const tableItem = await aptos.getTableItem({
94
+ * handle: "0x123",
95
+ * data: {
96
+ * key_type: "address", // Move type of table key
97
+ * value_type: "u128", // Move type of table value
98
+ * key: "0x619dc29a0aac8fa146714058e8dd6d2d0f3bdf5f6331907bf91f3acd81e6935" // Value of table key
99
+ * },
100
+ * })
101
+ *
102
+ * @param args.handle A pointer to where that table is stored
103
+ * @param args.data Object that describes table item
104
+ * @param args.options.ledgerVersion The ledger version to query, if not provided it will get the latest version
105
+ *
106
+ * @returns Table item value rendered in JSON
107
+ */
108
+ async getTableItem(args) {
109
+ return getTableItem({ aptosConfig: this.config, ...args });
110
+ }
111
+ /**
112
+ * Queries for a Move view function
113
+ * @param args.payload Payload for the view function
114
+ * @param args.options.ledgerVersion The ledger version to query, if not provided it will get the latest version
115
+ *
116
+ * @example
117
+ * const data = await aptos.view({
118
+ * payload: {
119
+ * function: "0x1::coin::balance",
120
+ * typeArguments: ["0x1::aptos_coin::AptosCoin"],
121
+ * functionArguments: [accountAddress],
122
+ * }
123
+ * })
124
+ *
125
+ * @returns an array of Move values
126
+ */
127
+ async view(args) {
128
+ return view({ aptosConfig: this.config, ...args });
129
+ }
130
+ /**
131
+ * Queries top user transactions
132
+ *
133
+ * @example
134
+ * const topUserTransactions = await aptos.getChainTopUserTransactions({limit:5})
135
+ *
136
+ * @param args.limit The number of transactions to return
137
+ * @returns GetChainTopUserTransactionsResponse
138
+ */
139
+ async getChainTopUserTransactions(args) {
140
+ return getChainTopUserTransactions({
141
+ aptosConfig: this.config,
142
+ ...args
143
+ });
144
+ }
145
+ /**
146
+ * A generic function for retrieving data from Aptos Indexer.
147
+ * For more detailed queries specification see
148
+ * {@link https://cloud.hasura.io/public/graphiql?endpoint=https://api.mainnet.aptoslabs.com/v1/graphql}
149
+ *
150
+ * @example
151
+ * const topUserTransactions = await aptos.queryIndexer({
152
+ * query: `query MyQuery {
153
+ * ledger_infos {
154
+ * chain_id
155
+ * }}`;
156
+ * })
157
+ *
158
+ * @param args.query.query A GraphQL query
159
+ * @param args.query.variables The variables for the query
160
+ *
161
+ * @return The provided T type
162
+ */
163
+ async queryIndexer(args) {
164
+ return queryIndexer({
165
+ aptosConfig: this.config,
166
+ ...args
167
+ });
168
+ }
169
+ /**
170
+ * Queries for the last successful indexer version
171
+ *
172
+ * This is useful to tell what ledger version the indexer is updated to, as it can be behind the full nodes.
173
+ *
174
+ * @example
175
+ * const version = await aptos.getIndexerLastSuccessVersion()
176
+ */
177
+ async getIndexerLastSuccessVersion() {
178
+ return getIndexerLastSuccessVersion({ aptosConfig: this.config });
179
+ }
180
+ /**
181
+ * Query the processor status for a specific processor type.
182
+ *
183
+ * @example
184
+ * const status = await aptos.getProcessorStatus({processorType:"account_transactions_processor"})
185
+ *
186
+ * @param processorType The processor type to query
187
+ * @returns
188
+ */
189
+ async getProcessorStatus(processorType) {
190
+ return getProcessorStatus({ aptosConfig: this.config, processorType });
191
+ }
192
+ };
193
+
194
+ export {
195
+ General
196
+ };
197
+ //# sourceMappingURL=chunk-VZQXLVEP.mjs.map