@aptos-labs/ts-sdk 1.15.0 → 1.16.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 (495) hide show
  1. package/dist/common/{accountAddress-ccLvlUQe.d.ts → accountAddress-OUd5ov6z.d.ts} +97 -5
  2. package/dist/common/chunk-VLEH6QBR.js +2 -0
  3. package/dist/common/chunk-VLEH6QBR.js.map +1 -0
  4. package/dist/common/cli/index.d.ts +1 -1
  5. package/dist/common/cli/index.js +1 -1
  6. package/dist/common/cli/index.js.map +1 -1
  7. package/dist/common/index.d.ts +757 -58
  8. package/dist/common/index.js +28 -28
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/esm/{Ed25519Account-B1VMJOY2.d.mts → Ed25519Account-9zBaZEnp.d.mts} +1 -1
  11. package/dist/esm/account/Account.d.mts +2 -2
  12. package/dist/esm/account/Account.mjs +1 -1
  13. package/dist/esm/account/Ed25519Account.d.mts +2 -2
  14. package/dist/esm/account/Ed25519Account.mjs +1 -1
  15. package/dist/esm/account/EphemeralKeyPair.d.mts +85 -0
  16. package/dist/esm/account/EphemeralKeyPair.mjs +2 -0
  17. package/dist/esm/account/KeylessAccount.d.mts +225 -0
  18. package/dist/esm/account/KeylessAccount.mjs +2 -0
  19. package/dist/esm/account/MultiKeyAccount.d.mts +13 -7
  20. package/dist/esm/account/MultiKeyAccount.mjs +1 -1
  21. package/dist/esm/account/SingleKeyAccount.d.mts +2 -2
  22. package/dist/esm/account/SingleKeyAccount.mjs +1 -1
  23. package/dist/esm/account/index.d.mts +10 -2
  24. package/dist/esm/account/index.mjs +1 -1
  25. package/dist/esm/api/account.d.mts +2 -2
  26. package/dist/esm/api/account.mjs +1 -1
  27. package/dist/esm/api/ans.d.mts +2 -2
  28. package/dist/esm/api/ans.mjs +1 -1
  29. package/dist/esm/api/aptos.d.mts +13 -3
  30. package/dist/esm/api/aptos.mjs +1 -1
  31. package/dist/esm/api/aptosConfig.d.mts +20 -0
  32. package/dist/esm/api/aptosConfig.mjs +1 -1
  33. package/dist/esm/api/coin.d.mts +1 -1
  34. package/dist/esm/api/coin.mjs +1 -1
  35. package/dist/esm/api/digitalAsset.d.mts +2 -2
  36. package/dist/esm/api/digitalAsset.mjs +1 -1
  37. package/dist/esm/api/event.mjs +1 -1
  38. package/dist/esm/api/faucet.mjs +1 -1
  39. package/dist/esm/api/fungibleAsset.d.mts +2 -2
  40. package/dist/esm/api/fungibleAsset.mjs +1 -1
  41. package/dist/esm/api/general.d.mts +1 -1
  42. package/dist/esm/api/general.mjs +1 -1
  43. package/dist/esm/api/index.d.mts +11 -2
  44. package/dist/esm/api/index.mjs +1 -1
  45. package/dist/esm/api/keyless.d.mts +88 -0
  46. package/dist/esm/api/keyless.mjs +2 -0
  47. package/dist/esm/api/keyless.mjs.map +1 -0
  48. package/dist/esm/api/staking.mjs +1 -1
  49. package/dist/esm/api/table.mjs +1 -1
  50. package/dist/esm/api/transaction.d.mts +2 -2
  51. package/dist/esm/api/transaction.mjs +1 -1
  52. package/dist/esm/api/transactionSubmission/build.d.mts +1 -1
  53. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  54. package/dist/esm/api/transactionSubmission/management.d.mts +2 -2
  55. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  56. package/dist/esm/api/transactionSubmission/sign.d.mts +2 -2
  57. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  58. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  59. package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -1
  60. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  61. package/dist/esm/api/transactionSubmission/submit.d.mts +1 -1
  62. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  63. package/dist/esm/api/utils.mjs +1 -1
  64. package/dist/esm/bcs/deserializer.d.mts +32 -0
  65. package/dist/esm/bcs/deserializer.mjs +1 -1
  66. package/dist/esm/bcs/index.mjs +1 -1
  67. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  68. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  69. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  70. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  71. package/dist/esm/bcs/serializer.d.mts +42 -0
  72. package/dist/esm/bcs/serializer.mjs +1 -1
  73. package/dist/esm/{chunk-36QXVFR5.mjs → chunk-272NA6H5.mjs} +2 -2
  74. package/dist/esm/{chunk-36QXVFR5.mjs.map → chunk-272NA6H5.mjs.map} +1 -1
  75. package/dist/esm/{chunk-R5ST36VJ.mjs → chunk-34WI7I3Z.mjs} +2 -2
  76. package/dist/esm/chunk-3DP4R3FI.mjs +2 -0
  77. package/dist/esm/{chunk-FFGY7Z4B.mjs → chunk-3J53BCEQ.mjs} +2 -2
  78. package/dist/esm/chunk-3SXTTG2X.mjs +2 -0
  79. package/dist/esm/chunk-3SXTTG2X.mjs.map +1 -0
  80. package/dist/esm/{chunk-4GWNWSZP.mjs → chunk-3YIUOKWW.mjs} +2 -2
  81. package/dist/esm/{chunk-EA2DKJPX.mjs → chunk-45ESRYGP.mjs} +2 -2
  82. package/dist/esm/chunk-4RXGVY2H.mjs +2 -0
  83. package/dist/esm/chunk-4RXGVY2H.mjs.map +1 -0
  84. package/dist/esm/chunk-4VAYXBD2.mjs +2 -0
  85. package/dist/esm/chunk-5SGIYAB7.mjs +2 -0
  86. package/dist/esm/chunk-5SGIYAB7.mjs.map +1 -0
  87. package/dist/esm/chunk-5VLCYHNJ.mjs +2 -0
  88. package/dist/esm/chunk-5VLCYHNJ.mjs.map +1 -0
  89. package/dist/esm/{chunk-JGSOTNJ5.mjs → chunk-6F3HFDL3.mjs} +2 -2
  90. package/dist/esm/{chunk-BN22EYXR.mjs → chunk-6MDYCC7P.mjs} +2 -2
  91. package/dist/esm/{chunk-F7NLNWHN.mjs → chunk-7CJAEAQZ.mjs} +2 -2
  92. package/dist/esm/chunk-7QGIAVW4.mjs +2 -0
  93. package/dist/esm/chunk-7QGIAVW4.mjs.map +1 -0
  94. package/dist/esm/chunk-7UBKXR37.mjs +2 -0
  95. package/dist/esm/chunk-7UBKXR37.mjs.map +1 -0
  96. package/dist/esm/{chunk-JQIGQMNZ.mjs → chunk-7Y6AWDBZ.mjs} +2 -2
  97. package/dist/esm/chunk-7Z6DYLCA.mjs +1 -0
  98. package/dist/esm/chunk-7Z6DYLCA.mjs.map +1 -0
  99. package/dist/esm/{chunk-BCUSI3N6.mjs → chunk-AOCNYMMX.mjs} +2 -2
  100. package/dist/esm/chunk-AQ4I7VVB.mjs +1 -0
  101. package/dist/esm/chunk-AQ4I7VVB.mjs.map +1 -0
  102. package/dist/esm/chunk-AUAL3H36.mjs +2 -0
  103. package/dist/esm/{chunk-I5T6PHDV.mjs → chunk-AUV4VAXK.mjs} +2 -2
  104. package/dist/esm/{chunk-2X7A4HUS.mjs → chunk-AVWAYKNS.mjs} +2 -2
  105. package/dist/esm/{chunk-EZPUVLME.mjs → chunk-BNA3SGG6.mjs} +2 -2
  106. package/dist/esm/chunk-CEGCSC3T.mjs +2 -0
  107. package/dist/esm/chunk-CIPPNT3W.mjs +2 -0
  108. package/dist/esm/chunk-CIPPNT3W.mjs.map +1 -0
  109. package/dist/esm/{chunk-F4GDEXZ6.mjs → chunk-CZOUSIAD.mjs} +2 -2
  110. package/dist/esm/chunk-D76FE35G.mjs +2 -0
  111. package/dist/esm/chunk-D76FE35G.mjs.map +1 -0
  112. package/dist/esm/{chunk-A4JUQZXI.mjs → chunk-DSVNXD5A.mjs} +2 -2
  113. package/dist/esm/chunk-EJ7ODMDA.mjs +2 -0
  114. package/dist/esm/{chunk-UR3JTLIT.mjs → chunk-EJURLI4L.mjs} +2 -2
  115. package/dist/esm/chunk-FBPNHF54.mjs +2 -0
  116. package/dist/esm/chunk-FUQDDIKQ.mjs +2 -0
  117. package/dist/esm/chunk-FUQDDIKQ.mjs.map +1 -0
  118. package/dist/esm/chunk-FWTJQHJR.mjs +2 -0
  119. package/dist/esm/chunk-FWTJQHJR.mjs.map +1 -0
  120. package/dist/esm/{chunk-AHW3SKT7.mjs → chunk-GHHIUWPP.mjs} +2 -2
  121. package/dist/esm/{chunk-G56GPLTB.mjs → chunk-GS5Z3HO7.mjs} +2 -2
  122. package/dist/esm/chunk-HGRU3HWY.mjs +2 -0
  123. package/dist/esm/{chunk-P5TZBE3L.mjs.map → chunk-HGRU3HWY.mjs.map} +1 -1
  124. package/dist/esm/{chunk-XFSDV3ND.mjs → chunk-HOX6Q6ZP.mjs} +2 -2
  125. package/dist/esm/chunk-HQK6MF3G.mjs +2 -0
  126. package/dist/esm/chunk-IMVC2JKU.mjs +2 -0
  127. package/dist/esm/{chunk-2XK53QFA.mjs.map → chunk-IMVC2JKU.mjs.map} +1 -1
  128. package/dist/esm/chunk-ISXBJPLD.mjs +2 -0
  129. package/dist/esm/{chunk-JX75UKJX.mjs → chunk-IU6REVKX.mjs} +2 -2
  130. package/dist/esm/{chunk-ERIPXWXJ.mjs → chunk-IWKIZLFW.mjs} +2 -2
  131. package/dist/esm/{chunk-PIVZMT5D.mjs → chunk-J534ICWA.mjs} +2 -2
  132. package/dist/esm/chunk-J577ODDM.mjs +2 -0
  133. package/dist/esm/chunk-JBTLE33X.mjs +2 -0
  134. package/dist/esm/{chunk-CJDEPZ4J.mjs.map → chunk-JBTLE33X.mjs.map} +1 -1
  135. package/dist/esm/chunk-JCDZ2WXX.mjs +2 -0
  136. package/dist/esm/chunk-JCDZ2WXX.mjs.map +1 -0
  137. package/dist/esm/{chunk-YK63A5T6.mjs → chunk-LLRWILVZ.mjs} +2 -2
  138. package/dist/esm/chunk-M4Q4XDVR.mjs +2 -0
  139. package/dist/esm/chunk-M4Q4XDVR.mjs.map +1 -0
  140. package/dist/esm/chunk-MEOBWD6V.mjs +2 -0
  141. package/dist/esm/chunk-MEOBWD6V.mjs.map +1 -0
  142. package/dist/esm/{chunk-35EWRSDK.mjs → chunk-MLQT5I6K.mjs} +2 -2
  143. package/dist/esm/chunk-MSGHGK52.mjs +2 -0
  144. package/dist/esm/{chunk-5EN52MUT.mjs → chunk-NGTNMV6Q.mjs} +2 -2
  145. package/dist/esm/{chunk-P46OPJB4.mjs → chunk-NH466YFP.mjs} +2 -2
  146. package/dist/esm/chunk-NMD45OTM.mjs +2 -0
  147. package/dist/esm/chunk-NMD45OTM.mjs.map +1 -0
  148. package/dist/esm/{chunk-ZM33M6QO.mjs → chunk-NUBYALZP.mjs} +2 -2
  149. package/dist/esm/{chunk-CHWE77CR.mjs → chunk-OFC75EWS.mjs} +2 -2
  150. package/dist/esm/{chunk-H6FEXRTK.mjs → chunk-OOYRJQPD.mjs} +2 -2
  151. package/dist/esm/chunk-OZ3GSAFK.mjs +2 -0
  152. package/dist/esm/chunk-OZ3GSAFK.mjs.map +1 -0
  153. package/dist/esm/chunk-PENBUSGL.mjs +2 -0
  154. package/dist/esm/chunk-PENBUSGL.mjs.map +1 -0
  155. package/dist/esm/{chunk-WN3JL7ZT.mjs → chunk-PG7KSUMN.mjs} +2 -2
  156. package/dist/esm/{chunk-KAGLWBIJ.mjs → chunk-PGP2XMDE.mjs} +2 -2
  157. package/dist/esm/chunk-Q6LFIZ3L.mjs +2 -0
  158. package/dist/esm/chunk-Q6LFIZ3L.mjs.map +1 -0
  159. package/dist/esm/{chunk-CYTRYBWN.mjs → chunk-QJIMZI32.mjs} +2 -2
  160. package/dist/esm/{chunk-E56MTU2U.mjs → chunk-QLE5JL4X.mjs} +2 -2
  161. package/dist/esm/{chunk-WNPL4SEJ.mjs → chunk-QOOHLRRJ.mjs} +2 -2
  162. package/dist/esm/chunk-QYEJOEWB.mjs +2 -0
  163. package/dist/esm/chunk-QYEJOEWB.mjs.map +1 -0
  164. package/dist/esm/{chunk-TM7NDDT3.mjs → chunk-R4HLV32L.mjs} +2 -2
  165. package/dist/esm/chunk-RAHMGSBW.mjs +2 -0
  166. package/dist/esm/chunk-RAHMGSBW.mjs.map +1 -0
  167. package/dist/esm/{chunk-GHYE26Q5.mjs → chunk-RKHPXZM6.mjs} +2 -2
  168. package/dist/esm/{chunk-GHYE26Q5.mjs.map → chunk-RKHPXZM6.mjs.map} +1 -1
  169. package/dist/esm/{chunk-MCRRHBFQ.mjs → chunk-RWYPGTNL.mjs} +2 -2
  170. package/dist/esm/chunk-SCHMTP4N.mjs +2 -0
  171. package/dist/esm/chunk-SCHZ67F3.mjs +2 -0
  172. package/dist/esm/chunk-SCHZ67F3.mjs.map +1 -0
  173. package/dist/esm/{chunk-GP6Z47HM.mjs → chunk-SCRIQQV3.mjs} +2 -2
  174. package/dist/esm/{chunk-NGQR5UQ3.mjs → chunk-SNBE5YAC.mjs} +2 -2
  175. package/dist/esm/chunk-SSDWEOF7.mjs +2 -0
  176. package/dist/esm/chunk-SSDWEOF7.mjs.map +1 -0
  177. package/dist/esm/chunk-SZ6KR73C.mjs +2 -0
  178. package/dist/esm/chunk-SZ6KR73C.mjs.map +1 -0
  179. package/dist/esm/{chunk-UW2FPXYA.mjs → chunk-THURV6CN.mjs} +2 -2
  180. package/dist/esm/chunk-TJDC5PWD.mjs +2 -0
  181. package/dist/esm/{chunk-GUALXVFI.mjs → chunk-TU6VKYDC.mjs} +2 -2
  182. package/dist/esm/{chunk-DZSDCUP2.mjs → chunk-UFMIMN7W.mjs} +2 -2
  183. package/dist/esm/{chunk-3Y46WJUR.mjs → chunk-ULW5LX5H.mjs} +2 -2
  184. package/dist/esm/chunk-V6M7FGQT.mjs +2 -0
  185. package/dist/esm/chunk-V6M7FGQT.mjs.map +1 -0
  186. package/dist/esm/{chunk-U3YYSIIT.mjs → chunk-VBODXPT3.mjs} +2 -2
  187. package/dist/esm/chunk-VMVSUH2K.mjs +2 -0
  188. package/dist/esm/{chunk-QRS4DGP3.mjs → chunk-WHSN42R2.mjs} +2 -2
  189. package/dist/esm/{chunk-QRS4DGP3.mjs.map → chunk-WHSN42R2.mjs.map} +1 -1
  190. package/dist/esm/{chunk-ZCG6WBLE.mjs → chunk-WJIICWOB.mjs} +2 -2
  191. package/dist/esm/{chunk-T2AGN5YT.mjs → chunk-WOLLRMXR.mjs} +2 -2
  192. package/dist/esm/chunk-WSVJNBSJ.mjs +2 -0
  193. package/dist/esm/{chunk-YMB2XW2O.mjs.map → chunk-WSVJNBSJ.mjs.map} +1 -1
  194. package/dist/esm/chunk-WXLSJF4A.mjs +2 -0
  195. package/dist/esm/chunk-WXLSJF4A.mjs.map +1 -0
  196. package/dist/esm/{chunk-GM56MMNJ.mjs → chunk-XQ7I34AL.mjs} +2 -2
  197. package/dist/esm/{chunk-RT6LEYHZ.mjs → chunk-Y24BMR2W.mjs} +2 -2
  198. package/dist/esm/chunk-YE5B2S5L.mjs +2 -0
  199. package/dist/esm/chunk-YE5B2S5L.mjs.map +1 -0
  200. package/dist/esm/{chunk-HSJTQLI2.mjs → chunk-YLQJBXUF.mjs} +2 -2
  201. package/dist/esm/chunk-ZAXWW7VW.mjs +2 -0
  202. package/dist/esm/chunk-ZAXWW7VW.mjs.map +1 -0
  203. package/dist/esm/chunk-ZV5P2GSJ.mjs +2 -0
  204. package/dist/esm/{chunk-SRDIYE3M.mjs.map → chunk-ZV5P2GSJ.mjs.map} +1 -1
  205. package/dist/esm/cli/index.mjs +1 -1
  206. package/dist/esm/cli/localNode.mjs +1 -1
  207. package/dist/esm/cli/move.mjs +1 -1
  208. package/dist/esm/client/core.mjs +1 -1
  209. package/dist/esm/client/get.d.mts +8 -1
  210. package/dist/esm/client/get.mjs +1 -1
  211. package/dist/esm/client/index.d.mts +2 -2
  212. package/dist/esm/client/index.mjs +1 -1
  213. package/dist/esm/client/post.d.mts +9 -1
  214. package/dist/esm/client/post.mjs +1 -1
  215. package/dist/esm/client/types.d.mts +5 -1
  216. package/dist/esm/client/types.mjs +1 -1
  217. package/dist/esm/core/account/index.mjs +1 -1
  218. package/dist/esm/core/account/utils/address.mjs +1 -1
  219. package/dist/esm/core/account/utils/index.mjs +1 -1
  220. package/dist/esm/core/accountAddress.mjs +1 -1
  221. package/dist/esm/core/authenticationKey.d.mts +1 -1
  222. package/dist/esm/core/authenticationKey.mjs +1 -1
  223. package/dist/esm/core/common.mjs +1 -1
  224. package/dist/esm/core/crypto/cryptoHasher.d.mts +21 -0
  225. package/dist/esm/core/crypto/cryptoHasher.mjs +2 -0
  226. package/dist/esm/core/crypto/cryptoHasher.mjs.map +1 -0
  227. package/dist/esm/core/crypto/ed25519.d.mts +1 -1
  228. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  229. package/dist/esm/core/crypto/ephemeral.d.mts +73 -0
  230. package/dist/esm/core/crypto/ephemeral.mjs +2 -0
  231. package/dist/esm/core/crypto/ephemeral.mjs.map +1 -0
  232. package/dist/esm/core/crypto/index.d.mts +5 -1
  233. package/dist/esm/core/crypto/index.mjs +1 -1
  234. package/dist/esm/core/crypto/keyless.d.mts +276 -0
  235. package/dist/esm/core/crypto/keyless.mjs +2 -0
  236. package/dist/esm/core/crypto/keyless.mjs.map +1 -0
  237. package/dist/esm/core/crypto/multiEd25519.d.mts +1 -1
  238. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  239. package/dist/esm/core/crypto/multiKey.d.mts +1 -1
  240. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  241. package/dist/esm/core/crypto/poseidon.d.mts +19 -0
  242. package/dist/esm/core/crypto/poseidon.mjs +2 -0
  243. package/dist/esm/core/crypto/poseidon.mjs.map +1 -0
  244. package/dist/esm/core/crypto/privateKey.d.mts +1 -1
  245. package/dist/esm/core/crypto/proof.d.mts +21 -0
  246. package/dist/esm/core/crypto/proof.mjs +2 -0
  247. package/dist/esm/core/crypto/proof.mjs.map +1 -0
  248. package/dist/esm/core/crypto/publicKey.d.mts +1 -1
  249. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  250. package/dist/esm/core/crypto/secp256k1.d.mts +1 -1
  251. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  252. package/dist/esm/core/crypto/signature.mjs +1 -1
  253. package/dist/esm/core/crypto/singleKey.d.mts +1 -1
  254. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  255. package/dist/esm/core/crypto/utils.mjs +1 -1
  256. package/dist/esm/core/hex.mjs +1 -1
  257. package/dist/esm/core/index.d.mts +5 -1
  258. package/dist/esm/core/index.mjs +1 -1
  259. package/dist/esm/index.d.mts +16 -8
  260. package/dist/esm/index.mjs +1 -1
  261. package/dist/esm/internal/account.d.mts +2 -2
  262. package/dist/esm/internal/account.mjs +1 -1
  263. package/dist/esm/internal/ans.d.mts +2 -2
  264. package/dist/esm/internal/ans.mjs +1 -1
  265. package/dist/esm/internal/coin.d.mts +1 -1
  266. package/dist/esm/internal/coin.mjs +1 -1
  267. package/dist/esm/internal/digitalAsset.d.mts +2 -2
  268. package/dist/esm/internal/digitalAsset.mjs +1 -1
  269. package/dist/esm/internal/event.mjs +1 -1
  270. package/dist/esm/internal/faucet.mjs +1 -1
  271. package/dist/esm/internal/fungibleAsset.d.mts +2 -2
  272. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  273. package/dist/esm/internal/general.mjs +1 -1
  274. package/dist/esm/internal/keyless.d.mts +78 -0
  275. package/dist/esm/internal/keyless.mjs +2 -0
  276. package/dist/esm/internal/keyless.mjs.map +1 -0
  277. package/dist/esm/internal/staking.mjs +1 -1
  278. package/dist/esm/internal/table.mjs +1 -1
  279. package/dist/esm/internal/transaction.mjs +1 -1
  280. package/dist/esm/internal/transactionSubmission.d.mts +2 -2
  281. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  282. package/dist/esm/internal/view.d.mts +1 -1
  283. package/dist/esm/internal/view.mjs +1 -1
  284. package/dist/esm/transactions/authenticator/account.d.mts +1 -1
  285. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  286. package/dist/esm/transactions/authenticator/index.d.mts +1 -1
  287. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  288. package/dist/esm/transactions/authenticator/transaction.d.mts +1 -1
  289. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  290. package/dist/esm/transactions/index.d.mts +3 -3
  291. package/dist/esm/transactions/index.mjs +1 -1
  292. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  293. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  294. package/dist/esm/transactions/instances/index.d.mts +1 -1
  295. package/dist/esm/transactions/instances/index.mjs +1 -1
  296. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  297. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  298. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  299. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -1
  300. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  301. package/dist/esm/transactions/instances/signedTransaction.d.mts +1 -1
  302. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  303. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  304. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  305. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +2 -2
  306. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  307. package/dist/esm/transactions/management/index.d.mts +2 -2
  308. package/dist/esm/transactions/management/index.mjs +1 -1
  309. package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
  310. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  311. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +1 -1
  312. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  313. package/dist/esm/transactions/transactionBuilder/index.d.mts +2 -2
  314. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  315. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +3 -3
  316. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  317. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +4 -13
  318. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
  319. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -1
  320. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  321. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  322. package/dist/esm/transactions/typeTag/parser.d.mts +3 -1
  323. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  324. package/dist/esm/transactions/types.d.mts +23 -5
  325. package/dist/esm/types/index.d.mts +21 -5
  326. package/dist/esm/types/index.mjs +1 -1
  327. package/dist/esm/types/keyless.d.mts +52 -0
  328. package/dist/esm/types/keyless.mjs +1 -0
  329. package/dist/esm/types/keyless.mjs.map +1 -0
  330. package/dist/esm/utils/apiEndpoints.d.mts +3 -1
  331. package/dist/esm/utils/apiEndpoints.mjs +1 -1
  332. package/dist/esm/utils/const.d.mts +3 -1
  333. package/dist/esm/utils/const.mjs +1 -1
  334. package/dist/esm/utils/helpers.d.mts +4 -1
  335. package/dist/esm/utils/helpers.mjs +1 -1
  336. package/dist/esm/utils/index.d.mts +1 -1
  337. package/dist/esm/utils/index.mjs +1 -1
  338. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  339. package/dist/esm/version.d.mts +1 -1
  340. package/dist/esm/version.mjs +1 -1
  341. package/package.json +11 -3
  342. package/src/account/EphemeralKeyPair.ts +157 -0
  343. package/src/account/KeylessAccount.ts +404 -0
  344. package/src/account/MultiKeyAccount.ts +11 -0
  345. package/src/account/index.ts +2 -0
  346. package/src/api/aptos.ts +6 -0
  347. package/src/api/aptosConfig.ts +46 -1
  348. package/src/api/keyless.ts +59 -0
  349. package/src/bcs/deserializer.ts +46 -0
  350. package/src/bcs/serializer.ts +58 -0
  351. package/src/cli/localNode.ts +11 -1
  352. package/src/cli/move.ts +11 -1
  353. package/src/client/core.ts +5 -0
  354. package/src/client/get.ts +12 -0
  355. package/src/client/post.ts +18 -0
  356. package/src/client/types.ts +1 -1
  357. package/src/core/crypto/cryptoHasher.ts +16 -0
  358. package/src/core/crypto/ephemeral.ts +138 -0
  359. package/src/core/crypto/index.ts +2 -0
  360. package/src/core/crypto/keyless.ts +589 -0
  361. package/src/core/crypto/poseidon.ts +142 -0
  362. package/src/core/crypto/proof.ts +16 -0
  363. package/src/core/crypto/singleKey.ts +11 -0
  364. package/src/internal/keyless.ts +175 -0
  365. package/src/internal/transactionSubmission.ts +7 -2
  366. package/src/transactions/transactionBuilder/remoteAbi.ts +16 -2
  367. package/src/transactions/transactionBuilder/signingMessage.ts +0 -13
  368. package/src/transactions/transactionBuilder/transactionBuilder.ts +22 -2
  369. package/src/transactions/typeTag/parser.ts +98 -52
  370. package/src/transactions/types.ts +22 -3
  371. package/src/types/index.ts +24 -2
  372. package/src/types/keyless.ts +42 -0
  373. package/src/utils/apiEndpoints.ts +16 -0
  374. package/src/utils/const.ts +2 -0
  375. package/src/utils/helpers.ts +25 -0
  376. package/src/version.ts +1 -1
  377. package/dist/common/chunk-KSEUZTKY.js +0 -2
  378. package/dist/common/chunk-KSEUZTKY.js.map +0 -1
  379. package/dist/esm/chunk-2XK53QFA.mjs +0 -2
  380. package/dist/esm/chunk-3JPVQHOR.mjs +0 -2
  381. package/dist/esm/chunk-3JPVQHOR.mjs.map +0 -1
  382. package/dist/esm/chunk-4NHWV5AI.mjs +0 -2
  383. package/dist/esm/chunk-53INTTOI.mjs +0 -2
  384. package/dist/esm/chunk-6IFMQ5AS.mjs +0 -2
  385. package/dist/esm/chunk-6IFMQ5AS.mjs.map +0 -1
  386. package/dist/esm/chunk-AF5WNJOP.mjs +0 -2
  387. package/dist/esm/chunk-B7X6PSE7.mjs +0 -2
  388. package/dist/esm/chunk-BBKE2QJU.mjs +0 -2
  389. package/dist/esm/chunk-BBKE2QJU.mjs.map +0 -1
  390. package/dist/esm/chunk-CEHCDA3G.mjs +0 -2
  391. package/dist/esm/chunk-CJDEPZ4J.mjs +0 -2
  392. package/dist/esm/chunk-CYNQRMO5.mjs +0 -2
  393. package/dist/esm/chunk-CYNQRMO5.mjs.map +0 -1
  394. package/dist/esm/chunk-F7EMGK4M.mjs +0 -2
  395. package/dist/esm/chunk-GPEM3JVU.mjs +0 -2
  396. package/dist/esm/chunk-HYCGMFC2.mjs +0 -2
  397. package/dist/esm/chunk-HYCGMFC2.mjs.map +0 -1
  398. package/dist/esm/chunk-IENCDVPF.mjs +0 -2
  399. package/dist/esm/chunk-IENCDVPF.mjs.map +0 -1
  400. package/dist/esm/chunk-L54P6EGN.mjs +0 -2
  401. package/dist/esm/chunk-L54P6EGN.mjs.map +0 -1
  402. package/dist/esm/chunk-LDQ6JFEF.mjs +0 -2
  403. package/dist/esm/chunk-LDQ6JFEF.mjs.map +0 -1
  404. package/dist/esm/chunk-LG7RJQ57.mjs +0 -2
  405. package/dist/esm/chunk-LQNPI3IR.mjs +0 -2
  406. package/dist/esm/chunk-LQNPI3IR.mjs.map +0 -1
  407. package/dist/esm/chunk-MJPUASSD.mjs +0 -2
  408. package/dist/esm/chunk-MJPUASSD.mjs.map +0 -1
  409. package/dist/esm/chunk-N3U47Y6Y.mjs +0 -2
  410. package/dist/esm/chunk-O2K7RZWM.mjs +0 -2
  411. package/dist/esm/chunk-O2K7RZWM.mjs.map +0 -1
  412. package/dist/esm/chunk-O4WVPLUX.mjs +0 -2
  413. package/dist/esm/chunk-OWW6SIDP.mjs +0 -2
  414. package/dist/esm/chunk-OWW6SIDP.mjs.map +0 -1
  415. package/dist/esm/chunk-P5TZBE3L.mjs +0 -2
  416. package/dist/esm/chunk-PF57EOJY.mjs +0 -2
  417. package/dist/esm/chunk-PZ4SAXY7.mjs +0 -2
  418. package/dist/esm/chunk-PZ4SAXY7.mjs.map +0 -1
  419. package/dist/esm/chunk-RFZ5LTGP.mjs +0 -2
  420. package/dist/esm/chunk-RFZ5LTGP.mjs.map +0 -1
  421. package/dist/esm/chunk-ROXFCLDT.mjs +0 -2
  422. package/dist/esm/chunk-RTSWVT2Q.mjs +0 -2
  423. package/dist/esm/chunk-RTSWVT2Q.mjs.map +0 -1
  424. package/dist/esm/chunk-S2VSJJRJ.mjs +0 -2
  425. package/dist/esm/chunk-S2VSJJRJ.mjs.map +0 -1
  426. package/dist/esm/chunk-SRDIYE3M.mjs +0 -2
  427. package/dist/esm/chunk-UGPALAPN.mjs +0 -2
  428. package/dist/esm/chunk-UO3NZ5AH.mjs +0 -1
  429. package/dist/esm/chunk-UVSRX4SV.mjs +0 -1
  430. package/dist/esm/chunk-YCC6HN74.mjs +0 -2
  431. package/dist/esm/chunk-YCC6HN74.mjs.map +0 -1
  432. package/dist/esm/chunk-YMB2XW2O.mjs +0 -2
  433. /package/dist/esm/{chunk-UO3NZ5AH.mjs.map → account/EphemeralKeyPair.mjs.map} +0 -0
  434. /package/dist/esm/{chunk-UVSRX4SV.mjs.map → account/KeylessAccount.mjs.map} +0 -0
  435. /package/dist/esm/{chunk-R5ST36VJ.mjs.map → chunk-34WI7I3Z.mjs.map} +0 -0
  436. /package/dist/esm/{chunk-53INTTOI.mjs.map → chunk-3DP4R3FI.mjs.map} +0 -0
  437. /package/dist/esm/{chunk-FFGY7Z4B.mjs.map → chunk-3J53BCEQ.mjs.map} +0 -0
  438. /package/dist/esm/{chunk-4GWNWSZP.mjs.map → chunk-3YIUOKWW.mjs.map} +0 -0
  439. /package/dist/esm/{chunk-EA2DKJPX.mjs.map → chunk-45ESRYGP.mjs.map} +0 -0
  440. /package/dist/esm/{chunk-PF57EOJY.mjs.map → chunk-4VAYXBD2.mjs.map} +0 -0
  441. /package/dist/esm/{chunk-JGSOTNJ5.mjs.map → chunk-6F3HFDL3.mjs.map} +0 -0
  442. /package/dist/esm/{chunk-BN22EYXR.mjs.map → chunk-6MDYCC7P.mjs.map} +0 -0
  443. /package/dist/esm/{chunk-F7NLNWHN.mjs.map → chunk-7CJAEAQZ.mjs.map} +0 -0
  444. /package/dist/esm/{chunk-JQIGQMNZ.mjs.map → chunk-7Y6AWDBZ.mjs.map} +0 -0
  445. /package/dist/esm/{chunk-BCUSI3N6.mjs.map → chunk-AOCNYMMX.mjs.map} +0 -0
  446. /package/dist/esm/{chunk-4NHWV5AI.mjs.map → chunk-AUAL3H36.mjs.map} +0 -0
  447. /package/dist/esm/{chunk-I5T6PHDV.mjs.map → chunk-AUV4VAXK.mjs.map} +0 -0
  448. /package/dist/esm/{chunk-2X7A4HUS.mjs.map → chunk-AVWAYKNS.mjs.map} +0 -0
  449. /package/dist/esm/{chunk-EZPUVLME.mjs.map → chunk-BNA3SGG6.mjs.map} +0 -0
  450. /package/dist/esm/{chunk-GPEM3JVU.mjs.map → chunk-CEGCSC3T.mjs.map} +0 -0
  451. /package/dist/esm/{chunk-F4GDEXZ6.mjs.map → chunk-CZOUSIAD.mjs.map} +0 -0
  452. /package/dist/esm/{chunk-A4JUQZXI.mjs.map → chunk-DSVNXD5A.mjs.map} +0 -0
  453. /package/dist/esm/{chunk-AF5WNJOP.mjs.map → chunk-EJ7ODMDA.mjs.map} +0 -0
  454. /package/dist/esm/{chunk-UR3JTLIT.mjs.map → chunk-EJURLI4L.mjs.map} +0 -0
  455. /package/dist/esm/{chunk-LG7RJQ57.mjs.map → chunk-FBPNHF54.mjs.map} +0 -0
  456. /package/dist/esm/{chunk-AHW3SKT7.mjs.map → chunk-GHHIUWPP.mjs.map} +0 -0
  457. /package/dist/esm/{chunk-G56GPLTB.mjs.map → chunk-GS5Z3HO7.mjs.map} +0 -0
  458. /package/dist/esm/{chunk-XFSDV3ND.mjs.map → chunk-HOX6Q6ZP.mjs.map} +0 -0
  459. /package/dist/esm/{chunk-ROXFCLDT.mjs.map → chunk-HQK6MF3G.mjs.map} +0 -0
  460. /package/dist/esm/{chunk-O4WVPLUX.mjs.map → chunk-ISXBJPLD.mjs.map} +0 -0
  461. /package/dist/esm/{chunk-JX75UKJX.mjs.map → chunk-IU6REVKX.mjs.map} +0 -0
  462. /package/dist/esm/{chunk-ERIPXWXJ.mjs.map → chunk-IWKIZLFW.mjs.map} +0 -0
  463. /package/dist/esm/{chunk-PIVZMT5D.mjs.map → chunk-J534ICWA.mjs.map} +0 -0
  464. /package/dist/esm/{chunk-UGPALAPN.mjs.map → chunk-J577ODDM.mjs.map} +0 -0
  465. /package/dist/esm/{chunk-YK63A5T6.mjs.map → chunk-LLRWILVZ.mjs.map} +0 -0
  466. /package/dist/esm/{chunk-35EWRSDK.mjs.map → chunk-MLQT5I6K.mjs.map} +0 -0
  467. /package/dist/esm/{chunk-N3U47Y6Y.mjs.map → chunk-MSGHGK52.mjs.map} +0 -0
  468. /package/dist/esm/{chunk-5EN52MUT.mjs.map → chunk-NGTNMV6Q.mjs.map} +0 -0
  469. /package/dist/esm/{chunk-P46OPJB4.mjs.map → chunk-NH466YFP.mjs.map} +0 -0
  470. /package/dist/esm/{chunk-ZM33M6QO.mjs.map → chunk-NUBYALZP.mjs.map} +0 -0
  471. /package/dist/esm/{chunk-CHWE77CR.mjs.map → chunk-OFC75EWS.mjs.map} +0 -0
  472. /package/dist/esm/{chunk-H6FEXRTK.mjs.map → chunk-OOYRJQPD.mjs.map} +0 -0
  473. /package/dist/esm/{chunk-WN3JL7ZT.mjs.map → chunk-PG7KSUMN.mjs.map} +0 -0
  474. /package/dist/esm/{chunk-KAGLWBIJ.mjs.map → chunk-PGP2XMDE.mjs.map} +0 -0
  475. /package/dist/esm/{chunk-CYTRYBWN.mjs.map → chunk-QJIMZI32.mjs.map} +0 -0
  476. /package/dist/esm/{chunk-E56MTU2U.mjs.map → chunk-QLE5JL4X.mjs.map} +0 -0
  477. /package/dist/esm/{chunk-WNPL4SEJ.mjs.map → chunk-QOOHLRRJ.mjs.map} +0 -0
  478. /package/dist/esm/{chunk-TM7NDDT3.mjs.map → chunk-R4HLV32L.mjs.map} +0 -0
  479. /package/dist/esm/{chunk-MCRRHBFQ.mjs.map → chunk-RWYPGTNL.mjs.map} +0 -0
  480. /package/dist/esm/{chunk-CEHCDA3G.mjs.map → chunk-SCHMTP4N.mjs.map} +0 -0
  481. /package/dist/esm/{chunk-GP6Z47HM.mjs.map → chunk-SCRIQQV3.mjs.map} +0 -0
  482. /package/dist/esm/{chunk-NGQR5UQ3.mjs.map → chunk-SNBE5YAC.mjs.map} +0 -0
  483. /package/dist/esm/{chunk-UW2FPXYA.mjs.map → chunk-THURV6CN.mjs.map} +0 -0
  484. /package/dist/esm/{chunk-F7EMGK4M.mjs.map → chunk-TJDC5PWD.mjs.map} +0 -0
  485. /package/dist/esm/{chunk-GUALXVFI.mjs.map → chunk-TU6VKYDC.mjs.map} +0 -0
  486. /package/dist/esm/{chunk-DZSDCUP2.mjs.map → chunk-UFMIMN7W.mjs.map} +0 -0
  487. /package/dist/esm/{chunk-3Y46WJUR.mjs.map → chunk-ULW5LX5H.mjs.map} +0 -0
  488. /package/dist/esm/{chunk-U3YYSIIT.mjs.map → chunk-VBODXPT3.mjs.map} +0 -0
  489. /package/dist/esm/{chunk-B7X6PSE7.mjs.map → chunk-VMVSUH2K.mjs.map} +0 -0
  490. /package/dist/esm/{chunk-ZCG6WBLE.mjs.map → chunk-WJIICWOB.mjs.map} +0 -0
  491. /package/dist/esm/{chunk-T2AGN5YT.mjs.map → chunk-WOLLRMXR.mjs.map} +0 -0
  492. /package/dist/esm/{chunk-GM56MMNJ.mjs.map → chunk-XQ7I34AL.mjs.map} +0 -0
  493. /package/dist/esm/{chunk-RT6LEYHZ.mjs.map → chunk-Y24BMR2W.mjs.map} +0 -0
  494. /package/dist/esm/{chunk-HSJTQLI2.mjs.map → chunk-YLQJBXUF.mjs.map} +0 -0
  495. /package/dist/esm/{publicKey-B3XRNhHO.d.mts → publicKey-lq5djCIY.d.mts} +0 -0
@@ -0,0 +1,59 @@
1
+ // Copyright © Aptos Foundation
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { EphemeralKeyPair, KeylessAccount, ProofFetchCallback } from "../account";
5
+ import { KeylessConfiguration } from "../core";
6
+ import { deriveKeylessAccount, getKeylessConfig, getPepper } from "../internal/keyless";
7
+ import { HexInput, LedgerVersionArg } from "../types";
8
+ import { AptosConfig } from "./aptosConfig";
9
+
10
+ /**
11
+ * A class to query all `Keyless` related queries on Aptos.
12
+ */
13
+ export class Keyless {
14
+ constructor(readonly config: AptosConfig) {}
15
+
16
+ /**
17
+ * Gets the parameters of how Keyless Accounts are configured on chain.
18
+ *
19
+ * @param args.options.ledgerVersion The ledger version to query, if not provided it will get the latest version
20
+ * @returns KeylessConfiguration
21
+ */
22
+ async getKeylessConfig(
23
+ options?: LedgerVersionArg
24
+ ): Promise<KeylessConfiguration> {
25
+ return getKeylessConfig({ aptosConfig: this.config, options });
26
+ }
27
+
28
+ /**
29
+ * Fetches the pepper from the Aptos pepper service API.
30
+ *
31
+ * @param args.jwt JWT token
32
+ * @param args.ephemeralKeyPair the EphemeralKeyPair used to generate the nonce in the JWT token
33
+ * @returns The pepper which is a Uint8Array of length 31.
34
+ */
35
+ async getPepper(args: { jwt: string; ephemeralKeyPair: EphemeralKeyPair }): Promise<Uint8Array> {
36
+ return getPepper({ aptosConfig: this.config, ...args });
37
+ }
38
+
39
+ /**
40
+ * Fetches the pepper from the Aptos pepper service API.
41
+ *
42
+ * @param args.jwt JWT token
43
+ * @param args.ephemeralKeyPair the EphemeralKeyPair used to generate the nonce in the JWT token
44
+ * @param args.uidKey a key in the JWT token to use to set the uidVal in the IdCommitment
45
+ * @param args.pepper the pepper
46
+ * @param args.proofFetchCallback a callback function that if set, the fetch of the proof will be done asyncronously. Once
47
+ * if finishes the callback function will be called.
48
+ * @returns A KeylessAccount that can be used to sign transactions
49
+ */
50
+ async deriveKeylessAccount(args: {
51
+ jwt: string;
52
+ ephemeralKeyPair: EphemeralKeyPair;
53
+ uidKey?: string;
54
+ pepper?: HexInput;
55
+ proofFetchCallback?: ProofFetchCallback;
56
+ }): Promise<KeylessAccount> {
57
+ return deriveKeylessAccount({ aptosConfig: this.config, ...args });
58
+ }
59
+ }
@@ -56,6 +56,52 @@ export class Deserializer {
56
56
  return textDecoder.decode(value);
57
57
  }
58
58
 
59
+ /**
60
+ * Deserializes a an optional string.
61
+ *
62
+ * BCS layout for Optional<String>: 0 if none, else 1 | string_length | string_content
63
+ * @example
64
+ * ```ts
65
+ * const deserializer = new Deserializer(new Uint8Array([0x00]));
66
+ * assert(deserializer.deserializeOptionStr() === undefined);
67
+ * const deserializer = new Deserializer(new Uint8Array([1, 8, 49, 50, 51, 52, 97, 98, 99, 100]));
68
+ * assert(deserializer.deserializeOptionStr() === "1234abcd");
69
+ * ```
70
+ */
71
+ deserializeOptionStr(): string | undefined {
72
+ const exists = this.deserializeUleb128AsU32();
73
+ if (exists === 1) {
74
+ return this.deserializeStr();
75
+ }
76
+ return undefined;
77
+ }
78
+
79
+ /**
80
+ * Deserializes a an optional deserializable class.
81
+ *
82
+ * BCS layout for Optional<T>: 0 if none, else 1 | bcs representation of class
83
+ *
84
+ * @example
85
+ * const deserializer = new Deserializer(new Uint8Array([1, 2, 3]));
86
+ * const value = deserializer.deserializeOption(MyClass); // where MyClass has a `deserialize` function
87
+ * // value is now an instance of MyClass
88
+ *
89
+ * const deserializer = new Deserializer(new Uint8Array([0]));
90
+ * const value = deserializer.deserializeOption(MyClass); // where MyClass has a `deserialize` function
91
+ * // value is undefined
92
+ *
93
+ * @param cls The BCS-deserializable class to deserialize the buffered bytes into.
94
+ *
95
+ * @returns the deserialized value of class type T
96
+ */
97
+ deserializeOption<T>(cls: Deserializable<T>): T | undefined {
98
+ const exists = this.deserializeUleb128AsU32();
99
+ if (exists === 1) {
100
+ return this.deserialize(cls);
101
+ }
102
+ return undefined;
103
+ }
104
+
59
105
  /**
60
106
  * Deserializes an array of bytes.
61
107
  *
@@ -316,6 +316,64 @@ export class Serializer {
316
316
  item.serialize(this);
317
317
  });
318
318
  }
319
+
320
+ /**
321
+ * Serializes a BCS Serializable values into a serializer instance or undefined.
322
+ * Note that this does not return anything. The bytes are added to the serializer instance's byte buffer.
323
+ *
324
+ * @param values The array of BCS Serializable values
325
+ *
326
+ * @example
327
+ * ```ts
328
+ * const serializer = new Serializer();
329
+ * serializer.serializeOption(new AccountAddress(...));
330
+ * const serializedBytes = serializer.toUint8Array();
331
+ * // serializedBytes is now the BCS-serialized byte representation of AccountAddress
332
+ *
333
+ * const serializer = new Serializer();
334
+ * serializer.serializeOption(undefined);
335
+ * assert(serializer.toUint8Array() === new Uint8Array([0x00]));
336
+ * ```
337
+ */
338
+ serializeOption<T extends Serializable>(value?: T): void {
339
+ if (value === undefined) {
340
+ this.serializeU32AsUleb128(0);
341
+ } else {
342
+ this.serializeU32AsUleb128(1);
343
+ value.serialize(this);
344
+ }
345
+ }
346
+
347
+ /**
348
+ * Serializes an optional string. UTF8 string is supported.
349
+ *
350
+ * The existence of the string is encoded first, 0 if undefined and 1 if it exists.
351
+ * Them the number of bytes in the string content is serialized, as a uleb128-encoded u32 integer.
352
+ * Then the string content is serialized as UTF8 encoded bytes.
353
+ *
354
+ * BCS layout for optional "string": 1 | string_length | string_content
355
+ * where string_length is a u32 integer encoded as a uleb128 integer, equal to the number of bytes in string_content.
356
+ *
357
+ * BCS layout for undefined: 0
358
+ * @example
359
+ * ```ts
360
+ * const serializer = new Serializer();
361
+ * serializer.serializeOptionStr("1234abcd");
362
+ * assert(serializer.toUint8Array() === new Uint8Array([1, 8, 49, 50, 51, 52, 97, 98, 99, 100]));
363
+ *
364
+ * const serializer = new Serializer();
365
+ * serializer.serializeOptionStr(undefined);
366
+ * assert(serializer.toUint8Array() === new Uint8Array([0]));
367
+ * ```
368
+ */
369
+ serializeOptionStr(value?: string): void {
370
+ if (value === undefined) {
371
+ this.serializeU32AsUleb128(0);
372
+ } else {
373
+ this.serializeU32AsUleb128(1);
374
+ this.serializeStr(value);
375
+ }
376
+ }
319
377
  }
320
378
 
321
379
  export function ensureBoolean(value: unknown): asserts value is boolean {
@@ -1,5 +1,7 @@
1
1
  import { ChildProcessWithoutNullStreams, spawn } from "child_process";
2
2
  import kill from "tree-kill";
3
+ import { platform } from "os";
4
+
3
5
  import { sleep } from "../utils/helpers";
4
6
 
5
7
  export class LocalNode {
@@ -40,7 +42,15 @@ export class LocalNode {
40
42
  const cliCommand = "npx";
41
43
  const cliArgs = ["aptos", "node", "run-local-testnet", "--force-restart", "--assume-yes", "--with-indexer-api"];
42
44
 
43
- const childProcess = spawn(cliCommand, cliArgs);
45
+ const currentPlatform = platform();
46
+ let childProcess;
47
+ // Check if current OS is windows
48
+ if (currentPlatform === "win32") {
49
+ childProcess = spawn(cliCommand, cliArgs, { shell: true });
50
+ } else {
51
+ childProcess = spawn(cliCommand, cliArgs);
52
+ }
53
+
44
54
  this.process = childProcess;
45
55
 
46
56
  childProcess.stderr?.on("data", (data: any) => {
package/src/cli/move.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { spawn } from "child_process";
2
+ import { platform } from "os";
3
+
2
4
  import { AccountAddress } from "../core";
3
5
  import { Network } from "../utils";
4
6
 
@@ -114,7 +116,15 @@ export class Move {
114
116
  // eslint-disable-next-line class-methods-use-this
115
117
  private async runCommand(args: Array<string>): Promise<boolean> {
116
118
  return new Promise((resolve, reject) => {
117
- const childProcess = spawn("npx", args);
119
+ const currentPlatform = platform();
120
+ let childProcess;
121
+
122
+ // Check if current OS is windows
123
+ if (currentPlatform === "win32") {
124
+ childProcess = spawn("npx", args, { shell: true });
125
+ } else {
126
+ childProcess = spawn("npx", args);
127
+ }
118
128
 
119
129
  childProcess.stdout.pipe(process.stdout);
120
130
  childProcess.stderr.pipe(process.stderr);
@@ -100,12 +100,17 @@ export async function aptosRequest<Req extends {}, Res extends {}>(
100
100
  );
101
101
  }
102
102
  result.data = indexerResponse.data as Res;
103
+ } else if (apiType === AptosApiType.PEPPER || apiType === AptosApiType.PROVER) {
104
+ if (result.status >= 500) {
105
+ throw new AptosApiError(options, result, `${response.data}`);
106
+ }
103
107
  }
104
108
 
105
109
  if (result.status >= 200 && result.status < 300) {
106
110
  return result;
107
111
  }
108
112
 
113
+
109
114
  let errorMessage: string;
110
115
 
111
116
  if (result && result.data && "message" in result.data && "error_code" in result.data) {
package/src/client/get.ts CHANGED
@@ -89,6 +89,18 @@ export async function getAptosFullNode<Req extends {}, Res extends {}>(
89
89
  });
90
90
  }
91
91
 
92
+ /**
93
+ * Makes a get request to the pepper service
94
+ *
95
+ * @param options GetAptosRequestOptions
96
+ * @returns AptosResponse
97
+ */
98
+ export async function getAptosPepperService<Req extends {}, Res extends {}>(
99
+ options: GetAptosRequestOptions,
100
+ ): Promise<AptosResponse<Req, Res>> {
101
+ return get<Req, Res>({ ...options, type: AptosApiType.PEPPER });
102
+ }
103
+
92
104
  /// This function is a helper for paginating using a function wrapping an API
93
105
  export async function paginateWithCursor<Req extends Record<string, any>, Res extends Array<{}>>(
94
106
  options: GetAptosRequestOptions,
@@ -135,3 +135,21 @@ export async function postAptosFaucet<Req extends {}, Res extends {}>(
135
135
  },
136
136
  });
137
137
  }
138
+
139
+ /**
140
+ * Makes a post request to the pepper service
141
+ *
142
+ * @param options GetAptosRequestOptions
143
+ * @returns AptosResponse
144
+ */
145
+ export async function postAptosPepperService<Req extends {}, Res extends {}>(
146
+ options: PostAptosRequestOptions,
147
+ ): Promise<AptosResponse<Req, Res>> {
148
+ return post<Req, Res>({ ...options, type: AptosApiType.PEPPER });
149
+ }
150
+
151
+ export async function postAptosProvingService<Req extends {}, Res extends {}>(
152
+ options: PostAptosRequestOptions,
153
+ ): Promise<AptosResponse<Req, Res>> {
154
+ return post<Req, Res>({ ...options, type: AptosApiType.PROVER });
155
+ }
@@ -41,7 +41,7 @@ export class AptosApiError extends Error {
41
41
 
42
42
  readonly statusText: string;
43
43
 
44
- readonly data: any;
44
+ readonly data: { message: string; error_code?: string; vm_error_code?: number };
45
45
 
46
46
  readonly request: AptosRequest;
47
47
 
@@ -0,0 +1,16 @@
1
+ import { generateSigningMessage } from "../../transactions/transactionBuilder/signingMessage";
2
+ import { Serializable } from "../../bcs/serializer";
3
+
4
+ export type AptsoDomainSeparator = `APTOS::${string}`;
5
+ export abstract class CryptoHashable extends Serializable {
6
+ abstract readonly domainSeparator: AptsoDomainSeparator;
7
+
8
+ /**
9
+ * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.
10
+ *
11
+ * @returns Uint8Array
12
+ */
13
+ hash(): Uint8Array {
14
+ return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);
15
+ }
16
+ }
@@ -0,0 +1,138 @@
1
+ import { Serializer, Deserializer } from "../../bcs";
2
+ import { EphemeralPublicKeyVariant, EphemeralSignatureVariant, HexInput } from "../../types";
3
+ import { PublicKey } from "./publicKey";
4
+ import { Signature } from "./signature";
5
+ import { Ed25519PublicKey, Ed25519Signature } from "./ed25519";
6
+ import { Hex } from "../hex";
7
+
8
+ /**
9
+ * Represents ephemeral public keys for Aptos Keyless accounts.
10
+ *
11
+ * These are not public keys used as a public key on an account. They are only used ephemerally on Keyless accounts.
12
+ */
13
+ export class EphemeralPublicKey extends PublicKey {
14
+ /**
15
+ * The public key itself
16
+ */
17
+ public readonly publicKey: PublicKey;
18
+
19
+ /**
20
+ * An enum indicating the scheme of the ephemeral public key
21
+ */
22
+ public readonly variant: EphemeralPublicKeyVariant;
23
+
24
+ constructor(publicKey: PublicKey) {
25
+ super();
26
+ const publicKeyType = publicKey.constructor.name;
27
+ switch (publicKeyType) {
28
+ case Ed25519PublicKey.name:
29
+ this.publicKey = publicKey;
30
+ this.variant = EphemeralPublicKeyVariant.Ed25519;
31
+ break;
32
+ default:
33
+ throw new Error(`Unsupported key for EphemeralPublicKey - ${publicKeyType}`);
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Get the public key in bytes (Uint8Array).
39
+ *
40
+ * @returns Uint8Array representation of the public key
41
+ */
42
+ toUint8Array(): Uint8Array {
43
+ return this.bcsToBytes();
44
+ }
45
+
46
+ /**
47
+ * Verifies a signed data with a the ephemeral public key
48
+ *
49
+ * @param args.message message
50
+ * @param args.signature The signature that was signed by the private key of the ephemeral public key
51
+ * @returns true if the signature is valid
52
+ */
53
+ verifySignature(args: { message: HexInput; signature: EphemeralSignature }): boolean {
54
+ const { message, signature } = args;
55
+ return this.publicKey.verifySignature({ message, signature });
56
+ }
57
+
58
+ serialize(serializer: Serializer): void {
59
+ if (this.publicKey instanceof Ed25519PublicKey) {
60
+ serializer.serializeU32AsUleb128(EphemeralPublicKeyVariant.Ed25519);
61
+ this.publicKey.serialize(serializer);
62
+ } else {
63
+ throw new Error("Unknown public key type");
64
+ }
65
+ }
66
+
67
+ static deserialize(deserializer: Deserializer): EphemeralPublicKey {
68
+ const index = deserializer.deserializeUleb128AsU32();
69
+ switch (index) {
70
+ case EphemeralPublicKeyVariant.Ed25519:
71
+ return new EphemeralPublicKey(Ed25519PublicKey.deserialize(deserializer));
72
+ default:
73
+ throw new Error(`Unknown variant index for EphemeralPublicKey: ${index}`);
74
+ }
75
+ }
76
+
77
+ static isPublicKey(publicKey: PublicKey): publicKey is EphemeralPublicKey {
78
+ return publicKey instanceof EphemeralPublicKey;
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Represents ephemeral signatures used in Aptos Keyless accounts.
84
+ *
85
+ * These signatures are used inside of KeylessSignature
86
+ */
87
+ export class EphemeralSignature extends Signature {
88
+ /**
89
+ * The signature signed by the private key of an EphemeralKeyPair
90
+ */
91
+ public readonly signature: Signature;
92
+
93
+ constructor(signature: Signature) {
94
+ super();
95
+ const signatureType = signature.constructor.name;
96
+ switch (signatureType) {
97
+ case Ed25519Signature.name:
98
+ this.signature = signature;
99
+ break;
100
+ default:
101
+ throw new Error(`Unsupported signature for EphemeralSignature - ${signatureType}`);
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Get the public key in bytes (Uint8Array).
107
+ *
108
+ * @returns Uint8Array representation of the public key
109
+ */
110
+ toUint8Array(): Uint8Array {
111
+ return this.bcsToBytes();
112
+ }
113
+
114
+ static fromHex(hexInput: HexInput): EphemeralSignature {
115
+ const data = Hex.fromHexInput(hexInput);
116
+ const deserializer = new Deserializer(data.toUint8Array());
117
+ return EphemeralSignature.deserialize(deserializer);
118
+ }
119
+
120
+ serialize(serializer: Serializer): void {
121
+ if (this.signature instanceof Ed25519Signature) {
122
+ serializer.serializeU32AsUleb128(EphemeralSignatureVariant.Ed25519);
123
+ this.signature.serialize(serializer);
124
+ } else {
125
+ throw new Error("Unknown signature type");
126
+ }
127
+ }
128
+
129
+ static deserialize(deserializer: Deserializer): EphemeralSignature {
130
+ const index = deserializer.deserializeUleb128AsU32();
131
+ switch (index) {
132
+ case EphemeralSignatureVariant.Ed25519:
133
+ return new EphemeralSignature(Ed25519Signature.deserialize(deserializer));
134
+ default:
135
+ throw new Error(`Unknown variant index for EphemeralSignature: ${index}`);
136
+ }
137
+ }
138
+ }
@@ -5,6 +5,8 @@ export * from "./ed25519";
5
5
  export * from "./hdKey";
6
6
  export * from "./multiEd25519";
7
7
  export * from "./multiKey";
8
+ export * from "./ephemeral";
9
+ export * from "./keyless";
8
10
  export * from "./privateKey";
9
11
  export * from "./publicKey";
10
12
  export * from "./secp256k1";