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

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 (483) hide show
  1. package/dist/common/accountAddress-NPQwRmxn.d.ts +2121 -0
  2. package/dist/common/cli/index.d.ts +94 -1
  3. package/dist/common/cli/index.js +1 -1
  4. package/dist/common/cli/index.js.map +1 -1
  5. package/dist/common/index.d.ts +2588 -4127
  6. package/dist/common/index.js +26 -26
  7. package/dist/common/index.js.map +1 -1
  8. package/dist/esm/{Ed25519Account--qjfup2u.d.mts → Ed25519Account-9zBaZEnp.d.mts} +76 -9
  9. package/dist/esm/account/Account.d.mts +34 -0
  10. package/dist/esm/account/Account.mjs +2 -0
  11. package/dist/esm/account/Ed25519Account.d.mts +34 -0
  12. package/dist/esm/account/Ed25519Account.mjs +2 -0
  13. package/dist/esm/account/EphemeralKeyPair.d.mts +47 -0
  14. package/dist/esm/account/EphemeralKeyPair.mjs +2 -0
  15. package/dist/esm/account/KeylessAccount.d.mts +107 -0
  16. package/dist/esm/account/KeylessAccount.mjs +2 -0
  17. package/dist/esm/account/MultiKeyAccount.d.mts +134 -0
  18. package/dist/esm/account/MultiKeyAccount.mjs +2 -0
  19. package/dist/esm/account/SingleKeyAccount.d.mts +34 -0
  20. package/dist/esm/account/SingleKeyAccount.mjs +2 -0
  21. package/dist/esm/account/index.d.mts +40 -0
  22. package/dist/esm/account/index.mjs +2 -0
  23. package/dist/esm/api/account.d.mts +13 -1
  24. package/dist/esm/api/account.mjs +1 -1
  25. package/dist/esm/api/ans.d.mts +2 -2
  26. package/dist/esm/api/ans.mjs +1 -1
  27. package/dist/esm/api/aptos.d.mts +14 -8
  28. package/dist/esm/api/aptos.mjs +1 -1
  29. package/dist/esm/api/aptosConfig.d.mts +20 -0
  30. package/dist/esm/api/aptosConfig.mjs +1 -1
  31. package/dist/esm/api/coin.d.mts +7 -7
  32. package/dist/esm/api/coin.mjs +1 -1
  33. package/dist/esm/api/digitalAsset.d.mts +1 -1
  34. package/dist/esm/api/digitalAsset.mjs +1 -1
  35. package/dist/esm/api/event.mjs +1 -1
  36. package/dist/esm/api/faucet.mjs +1 -1
  37. package/dist/esm/api/fungibleAsset.d.mts +5 -5
  38. package/dist/esm/api/fungibleAsset.mjs +1 -1
  39. package/dist/esm/api/general.d.mts +7 -7
  40. package/dist/esm/api/general.mjs +1 -1
  41. package/dist/esm/api/index.d.mts +13 -8
  42. package/dist/esm/api/index.mjs +1 -1
  43. package/dist/esm/api/keyless.d.mts +67 -0
  44. package/dist/esm/api/keyless.mjs +2 -0
  45. package/dist/esm/api/keyless.mjs.map +1 -0
  46. package/dist/esm/api/staking.mjs +1 -1
  47. package/dist/esm/api/transaction.d.mts +1 -1
  48. package/dist/esm/api/transaction.mjs +1 -1
  49. package/dist/esm/api/transactionSubmission/build.d.mts +2 -2
  50. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  51. package/dist/esm/api/transactionSubmission/management.d.mts +8 -8
  52. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  53. package/dist/esm/api/transactionSubmission/sign.d.mts +1 -1
  54. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  55. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  56. package/dist/esm/api/transactionSubmission/simulate.d.mts +6 -6
  57. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  58. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  59. package/dist/esm/api/utils.mjs +1 -1
  60. package/dist/esm/bcs/index.mjs +1 -1
  61. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  62. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  63. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  64. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  65. package/dist/esm/bcs/serializer.d.mts +2 -0
  66. package/dist/esm/bcs/serializer.mjs +1 -1
  67. package/dist/esm/{chunk-IKYIJYBY.mjs → chunk-25N7RLBW.mjs} +2 -2
  68. package/dist/esm/chunk-25N7RLBW.mjs.map +1 -0
  69. package/dist/esm/chunk-32355KGV.mjs +2 -0
  70. package/dist/esm/chunk-32355KGV.mjs.map +1 -0
  71. package/dist/esm/{chunk-TBMAJ6AW.mjs → chunk-3FVRXELT.mjs} +2 -2
  72. package/dist/esm/chunk-3OELNIC6.mjs +2 -0
  73. package/dist/esm/{chunk-734YX27W.mjs.map → chunk-3OELNIC6.mjs.map} +1 -1
  74. package/dist/esm/chunk-3U5VRZLS.mjs +2 -0
  75. package/dist/esm/chunk-3U5VRZLS.mjs.map +1 -0
  76. package/dist/esm/{chunk-DMKUAQB7.mjs → chunk-3VGX3TXH.mjs} +2 -2
  77. package/dist/esm/chunk-43WARVT3.mjs +2 -0
  78. package/dist/esm/chunk-43WARVT3.mjs.map +1 -0
  79. package/dist/esm/{chunk-CU67XZNB.mjs → chunk-52ECIIIH.mjs} +2 -2
  80. package/dist/esm/chunk-56NB52W6.mjs +2 -0
  81. package/dist/esm/chunk-56NB52W6.mjs.map +1 -0
  82. package/dist/esm/chunk-5DW2AJPI.mjs +2 -0
  83. package/dist/esm/chunk-5DW2AJPI.mjs.map +1 -0
  84. package/dist/esm/chunk-5QWUIVAQ.mjs +2 -0
  85. package/dist/esm/chunk-5QWUIVAQ.mjs.map +1 -0
  86. package/dist/esm/chunk-6456EI2E.mjs +2 -0
  87. package/dist/esm/chunk-6456EI2E.mjs.map +1 -0
  88. package/dist/esm/{chunk-Q3TZGQVC.mjs → chunk-65UZZNN2.mjs} +2 -2
  89. package/dist/esm/chunk-65UZZNN2.mjs.map +1 -0
  90. package/dist/esm/{chunk-MFKMAAWA.mjs → chunk-6LOTZ4GY.mjs} +2 -2
  91. package/dist/esm/{chunk-QIAHBEEW.mjs → chunk-6RBUXB5I.mjs} +2 -2
  92. package/dist/esm/{chunk-IIPYR7PF.mjs → chunk-6SHLLRJA.mjs} +2 -2
  93. package/dist/esm/chunk-6SHLLRJA.mjs.map +1 -0
  94. package/dist/esm/chunk-73Y4NTDU.mjs +2 -0
  95. package/dist/esm/chunk-73Y4NTDU.mjs.map +1 -0
  96. package/dist/esm/chunk-7PSX4LCV.mjs +2 -0
  97. package/dist/esm/{chunk-B7TQGVGL.mjs.map → chunk-7PSX4LCV.mjs.map} +1 -1
  98. package/dist/esm/chunk-7Q2NVO5M.mjs +2 -0
  99. package/dist/esm/chunk-7Q2NVO5M.mjs.map +1 -0
  100. package/dist/esm/{chunk-NPFNYP75.mjs → chunk-7STYQ5ZE.mjs} +2 -2
  101. package/dist/esm/{chunk-PZGLV5UQ.mjs → chunk-7WJTKYRG.mjs} +2 -2
  102. package/dist/esm/chunk-7Z6DYLCA.mjs +1 -0
  103. package/dist/esm/chunk-7Z6DYLCA.mjs.map +1 -0
  104. package/dist/esm/chunk-AQ4I7VVB.mjs +1 -0
  105. package/dist/esm/chunk-AQ4I7VVB.mjs.map +1 -0
  106. package/dist/esm/{chunk-ZYYK3UXP.mjs → chunk-C3L4ETUF.mjs} +2 -2
  107. package/dist/esm/chunk-C5UVSNZW.mjs +2 -0
  108. package/dist/esm/chunk-C5UVSNZW.mjs.map +1 -0
  109. package/dist/esm/{chunk-CTIN3GTP.mjs → chunk-CLVAGDXO.mjs} +2 -2
  110. package/dist/esm/{chunk-WFZDFFBM.mjs → chunk-COW5IGYC.mjs} +2 -2
  111. package/dist/esm/chunk-D22EMNIY.mjs +2 -0
  112. package/dist/esm/{chunk-QMURTXFM.mjs.map → chunk-D22EMNIY.mjs.map} +1 -1
  113. package/dist/esm/{chunk-6CFRW26C.mjs → chunk-DLTC6PJP.mjs} +2 -2
  114. package/dist/esm/chunk-DLTC6PJP.mjs.map +1 -0
  115. package/dist/esm/{chunk-FS3NSGBF.mjs → chunk-EB7AI4B4.mjs} +2 -2
  116. package/dist/esm/{chunk-YU3KB3UV.mjs → chunk-EKABTHUZ.mjs} +2 -2
  117. package/dist/esm/chunk-EOMDZYSJ.mjs +2 -0
  118. package/dist/esm/chunk-EOMDZYSJ.mjs.map +1 -0
  119. package/dist/esm/{chunk-SG4MAOCF.mjs → chunk-FKSACFCB.mjs} +2 -2
  120. package/dist/esm/chunk-FLYEALDB.mjs +2 -0
  121. package/dist/esm/chunk-FLYEALDB.mjs.map +1 -0
  122. package/dist/esm/{chunk-WLF5YQM4.mjs → chunk-G4XSNSOT.mjs} +2 -2
  123. package/dist/esm/chunk-G4XSNSOT.mjs.map +1 -0
  124. package/dist/esm/{chunk-MACC2BLE.mjs → chunk-H3TFQ7K4.mjs} +2 -2
  125. package/dist/esm/chunk-H6LYW7HG.mjs +2 -0
  126. package/dist/esm/chunk-H6LYW7HG.mjs.map +1 -0
  127. package/dist/esm/chunk-HCGWCB5E.mjs +2 -0
  128. package/dist/esm/chunk-HCGWCB5E.mjs.map +1 -0
  129. package/dist/esm/{chunk-UML2VQZT.mjs → chunk-HGZGTBA4.mjs} +2 -2
  130. package/dist/esm/{chunk-XO3HHRJV.mjs → chunk-HXSW6X7K.mjs} +2 -2
  131. package/dist/esm/chunk-IXYXFDJZ.mjs +2 -0
  132. package/dist/esm/{chunk-UFT7US42.mjs → chunk-J7J7ZTBF.mjs} +2 -2
  133. package/dist/esm/chunk-JVKMQ64G.mjs +2 -0
  134. package/dist/esm/chunk-JVKMQ64G.mjs.map +1 -0
  135. package/dist/esm/chunk-JXCZTOYC.mjs +1 -0
  136. package/dist/esm/chunk-JXCZTOYC.mjs.map +1 -0
  137. package/dist/esm/chunk-KWNBC5MF.mjs +2 -0
  138. package/dist/esm/chunk-KWNBC5MF.mjs.map +1 -0
  139. package/dist/esm/chunk-LDQ6JFEF.mjs +2 -0
  140. package/dist/esm/chunk-LDQ6JFEF.mjs.map +1 -0
  141. package/dist/esm/{chunk-DSTKXJMA.mjs → chunk-MGOHPDX4.mjs} +2 -2
  142. package/dist/esm/{chunk-BWFJHFBQ.mjs → chunk-MWUJCP27.mjs} +2 -2
  143. package/dist/esm/{chunk-QTRYMRYK.mjs → chunk-NC5HHEEM.mjs} +2 -2
  144. package/dist/esm/chunk-NGNETNK2.mjs +2 -0
  145. package/dist/esm/chunk-NGNETNK2.mjs.map +1 -0
  146. package/dist/esm/chunk-NKCZ4KGO.mjs +2 -0
  147. package/dist/esm/chunk-NKCZ4KGO.mjs.map +1 -0
  148. package/dist/esm/chunk-NMECYE3D.mjs +2 -0
  149. package/dist/esm/chunk-NMECYE3D.mjs.map +1 -0
  150. package/dist/esm/{chunk-AU6W5OIH.mjs → chunk-NNIHTVLA.mjs} +2 -2
  151. package/dist/esm/chunk-NNW6HWIO.mjs +2 -0
  152. package/dist/esm/{chunk-G2O323HP.mjs → chunk-O34EOOVF.mjs} +2 -2
  153. package/dist/esm/chunk-OBEVVLF7.mjs +2 -0
  154. package/dist/esm/chunk-OBEVVLF7.mjs.map +1 -0
  155. package/dist/esm/chunk-OKRUEVF3.mjs +2 -0
  156. package/dist/esm/chunk-OKRUEVF3.mjs.map +1 -0
  157. package/dist/esm/{chunk-PFIMEXNN.mjs → chunk-OLGSIKFB.mjs} +2 -2
  158. package/dist/esm/chunk-OLGSIKFB.mjs.map +1 -0
  159. package/dist/esm/chunk-OZC3FCJP.mjs +2 -0
  160. package/dist/esm/chunk-OZC3FCJP.mjs.map +1 -0
  161. package/dist/esm/{chunk-U43IJHQN.mjs → chunk-PFFAQZHT.mjs} +2 -2
  162. package/dist/esm/{chunk-ZZZZVONX.mjs → chunk-PINF6ZWP.mjs} +2 -2
  163. package/dist/esm/chunk-PJXRQBF6.mjs +2 -0
  164. package/dist/esm/chunk-PJXRQBF6.mjs.map +1 -0
  165. package/dist/esm/{chunk-7QJ6YJXP.mjs → chunk-QHVZL3LZ.mjs} +2 -2
  166. package/dist/esm/{chunk-DPV25ZKR.mjs → chunk-QNHDS64I.mjs} +2 -2
  167. package/dist/esm/{chunk-O2F53NKI.mjs → chunk-RBPGL6YB.mjs} +2 -2
  168. package/dist/esm/chunk-RFSO3JRG.mjs +1 -0
  169. package/dist/esm/chunk-RFSO3JRG.mjs.map +1 -0
  170. package/dist/esm/{chunk-DM44OGQH.mjs → chunk-RJ4PSGZ4.mjs} +2 -2
  171. package/dist/esm/{chunk-B3R6G6QP.mjs → chunk-RTSEMQCK.mjs} +2 -2
  172. package/dist/esm/chunk-RTSEMQCK.mjs.map +1 -0
  173. package/dist/esm/{chunk-V3Q2KXJU.mjs → chunk-SRPTQ4VV.mjs} +2 -2
  174. package/dist/esm/{chunk-R5QUBEH6.mjs → chunk-STYDBDYL.mjs} +2 -2
  175. package/dist/esm/{chunk-IOSQVDZI.mjs → chunk-T23OVRNF.mjs} +2 -2
  176. package/dist/esm/{chunk-RIUZPGI5.mjs → chunk-TICM455H.mjs} +2 -2
  177. package/dist/esm/{chunk-52C73T26.mjs → chunk-TVRJ3M7B.mjs} +2 -2
  178. package/dist/esm/{chunk-52C73T26.mjs.map → chunk-TVRJ3M7B.mjs.map} +1 -1
  179. package/dist/esm/{chunk-3WUGR46O.mjs → chunk-TXMPXZBG.mjs} +2 -2
  180. package/dist/esm/{chunk-W4ZW7QHA.mjs → chunk-UGIJHLL3.mjs} +2 -2
  181. package/dist/esm/{chunk-O4JRPZZM.mjs → chunk-UVOU6BW2.mjs} +2 -2
  182. package/dist/esm/{chunk-GSD4OOM3.mjs → chunk-V7P6MLSY.mjs} +2 -2
  183. package/dist/esm/{chunk-V6OS74OS.mjs → chunk-VJJN3GFD.mjs} +2 -2
  184. package/dist/esm/chunk-WOLIXKOK.mjs +2 -0
  185. package/dist/esm/chunk-WOLIXKOK.mjs.map +1 -0
  186. package/dist/esm/{chunk-Z5YFM2AW.mjs → chunk-WVIPPU2C.mjs} +2 -2
  187. package/dist/esm/chunk-WVIPPU2C.mjs.map +1 -0
  188. package/dist/esm/chunk-XCR3YNHW.mjs +2 -0
  189. package/dist/esm/chunk-XCR3YNHW.mjs.map +1 -0
  190. package/dist/esm/{chunk-5P2S2SZZ.mjs → chunk-XMFPKHB5.mjs} +2 -2
  191. package/dist/esm/chunk-XN4SQWI5.mjs +2 -0
  192. package/dist/esm/chunk-XN4SQWI5.mjs.map +1 -0
  193. package/dist/esm/chunk-YE5B2S5L.mjs +2 -0
  194. package/dist/esm/chunk-YE5B2S5L.mjs.map +1 -0
  195. package/dist/esm/chunk-Z5KKUXYI.mjs +2 -0
  196. package/dist/esm/chunk-Z5KKUXYI.mjs.map +1 -0
  197. package/dist/esm/chunk-ZM436N3W.mjs +2 -0
  198. package/dist/esm/chunk-ZM436N3W.mjs.map +1 -0
  199. package/dist/esm/{chunk-RHBCVCOS.mjs → chunk-ZNEBMSNC.mjs} +2 -2
  200. package/dist/esm/cli/index.d.mts +12 -0
  201. package/dist/esm/cli/index.mjs +1 -1
  202. package/dist/esm/cli/move.d.mts +105 -0
  203. package/dist/esm/cli/move.mjs +2 -0
  204. package/dist/esm/cli/move.mjs.map +1 -0
  205. package/dist/esm/client/core.mjs +1 -1
  206. package/dist/esm/client/get.d.mts +2 -1
  207. package/dist/esm/client/get.mjs +1 -1
  208. package/dist/esm/client/index.d.mts +2 -2
  209. package/dist/esm/client/index.mjs +1 -1
  210. package/dist/esm/client/post.d.mts +3 -1
  211. package/dist/esm/client/post.mjs +1 -1
  212. package/dist/esm/core/account/index.d.mts +5 -14
  213. package/dist/esm/core/account/index.mjs +1 -1
  214. package/dist/esm/core/account/utils/address.mjs +1 -1
  215. package/dist/esm/core/account/utils/index.mjs +1 -1
  216. package/dist/esm/core/accountAddress.mjs +1 -1
  217. package/dist/esm/core/authenticationKey.mjs +1 -1
  218. package/dist/esm/core/crypto/ed25519.d.mts +0 -10
  219. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  220. package/dist/esm/core/crypto/ephemeral.d.mts +77 -0
  221. package/dist/esm/core/crypto/ephemeral.mjs +2 -0
  222. package/dist/esm/core/crypto/ephemeral.mjs.map +1 -0
  223. package/dist/esm/core/crypto/hdKey.d.mts +15 -1
  224. package/dist/esm/core/crypto/hdKey.mjs +1 -1
  225. package/dist/esm/core/crypto/index.d.mts +6 -4
  226. package/dist/esm/core/crypto/index.mjs +1 -1
  227. package/dist/esm/core/crypto/keyless.d.mts +217 -0
  228. package/dist/esm/core/crypto/keyless.mjs +2 -0
  229. package/dist/esm/core/crypto/keyless.mjs.map +1 -0
  230. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  231. package/dist/esm/core/crypto/multiKey.d.mts +7 -0
  232. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  233. package/dist/esm/core/crypto/poseidon.d.mts +7 -0
  234. package/dist/esm/core/crypto/poseidon.mjs +2 -0
  235. package/dist/esm/core/crypto/poseidon.mjs.map +1 -0
  236. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  237. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  238. package/dist/esm/core/crypto/signature.mjs +1 -1
  239. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  240. package/dist/esm/core/index.d.mts +5 -6
  241. package/dist/esm/core/index.mjs +1 -1
  242. package/dist/esm/index.d.mts +15 -9
  243. package/dist/esm/index.mjs +1 -1
  244. package/dist/esm/internal/account.d.mts +13 -1
  245. package/dist/esm/internal/account.mjs +1 -1
  246. package/dist/esm/internal/ans.d.mts +1 -1
  247. package/dist/esm/internal/ans.mjs +1 -1
  248. package/dist/esm/internal/coin.d.mts +7 -7
  249. package/dist/esm/internal/coin.mjs +1 -1
  250. package/dist/esm/internal/digitalAsset.d.mts +2 -2
  251. package/dist/esm/internal/digitalAsset.mjs +1 -1
  252. package/dist/esm/internal/event.d.mts +1 -1
  253. package/dist/esm/internal/event.mjs +1 -1
  254. package/dist/esm/internal/faucet.d.mts +1 -1
  255. package/dist/esm/internal/faucet.mjs +1 -1
  256. package/dist/esm/internal/fungibleAsset.d.mts +5 -5
  257. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  258. package/dist/esm/internal/general.mjs +1 -1
  259. package/dist/esm/internal/keyless.d.mts +67 -0
  260. package/dist/esm/internal/keyless.mjs +2 -0
  261. package/dist/esm/internal/keyless.mjs.map +1 -0
  262. package/dist/esm/internal/staking.d.mts +1 -1
  263. package/dist/esm/internal/staking.mjs +1 -1
  264. package/dist/esm/internal/transaction.mjs +1 -1
  265. package/dist/esm/internal/transactionSubmission.d.mts +1 -1
  266. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  267. package/dist/esm/internal/view.d.mts +7 -7
  268. package/dist/esm/internal/view.mjs +1 -1
  269. package/dist/esm/transactions/authenticator/account.d.mts +3 -4
  270. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  271. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  272. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  273. package/dist/esm/transactions/index.d.mts +2 -2
  274. package/dist/esm/transactions/index.mjs +1 -1
  275. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  276. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  277. package/dist/esm/transactions/instances/index.mjs +1 -1
  278. package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
  279. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  280. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  281. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  282. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  283. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  284. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  285. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
  286. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  287. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +13 -1
  288. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  289. package/dist/esm/transactions/management/index.d.mts +2 -2
  290. package/dist/esm/transactions/management/index.mjs +1 -1
  291. package/dist/esm/transactions/management/transactionWorker.d.mts +1 -1
  292. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  293. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +9 -9
  294. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  295. package/dist/esm/transactions/transactionBuilder/index.d.mts +9 -9
  296. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  297. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +6 -6
  298. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  299. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +72 -0
  300. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +2 -0
  301. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +1 -0
  302. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +6 -28
  303. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  304. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  305. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  306. package/dist/esm/transactions/types.d.mts +6 -6
  307. package/dist/esm/types/index.d.mts +17 -3
  308. package/dist/esm/types/index.mjs +1 -1
  309. package/dist/esm/types/keyless.d.mts +16 -0
  310. package/dist/esm/types/keyless.mjs +1 -0
  311. package/dist/esm/types/keyless.mjs.map +1 -0
  312. package/dist/esm/utils/apiEndpoints.d.mts +3 -2
  313. package/dist/esm/utils/apiEndpoints.mjs +1 -1
  314. package/dist/esm/utils/const.d.mts +3 -1
  315. package/dist/esm/utils/const.mjs +1 -1
  316. package/dist/esm/utils/index.d.mts +1 -1
  317. package/dist/esm/utils/index.mjs +1 -1
  318. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  319. package/dist/esm/version.d.mts +1 -1
  320. package/dist/esm/version.mjs +1 -1
  321. package/package.json +7 -2
  322. package/src/{core/account → account}/Account.ts +25 -15
  323. package/src/{core/account → account}/Ed25519Account.ts +45 -9
  324. package/src/account/EphemeralKeyPair.ts +123 -0
  325. package/src/account/KeylessAccount.ts +303 -0
  326. package/src/account/MultiKeyAccount.ts +182 -0
  327. package/src/{core/account → account}/SingleKeyAccount.ts +45 -10
  328. package/src/account/index.ts +6 -0
  329. package/src/api/account.ts +2 -1
  330. package/src/api/ans.ts +2 -1
  331. package/src/api/aptos.ts +6 -0
  332. package/src/api/aptosConfig.ts +46 -1
  333. package/src/api/digitalAsset.ts +2 -1
  334. package/src/api/fungibleAsset.ts +2 -1
  335. package/src/api/keyless.ts +35 -0
  336. package/src/api/transaction.ts +2 -1
  337. package/src/api/transactionSubmission/management.ts +1 -1
  338. package/src/api/transactionSubmission/sign.ts +1 -1
  339. package/src/bcs/serializer.ts +18 -0
  340. package/src/cli/index.ts +1 -0
  341. package/src/cli/move.ts +183 -0
  342. package/src/client/core.ts +8 -0
  343. package/src/client/get.ts +6 -0
  344. package/src/client/post.ts +12 -0
  345. package/src/core/account/index.ts +1 -3
  346. package/src/core/crypto/ed25519.ts +4 -24
  347. package/src/core/crypto/ephemeral.ts +149 -0
  348. package/src/core/crypto/hdKey.ts +31 -0
  349. package/src/core/crypto/index.ts +2 -0
  350. package/src/core/crypto/keyless.ts +508 -0
  351. package/src/core/crypto/multiKey.ts +17 -6
  352. package/src/core/crypto/poseidon.ts +134 -0
  353. package/src/core/crypto/singleKey.ts +11 -0
  354. package/src/core/index.ts +0 -1
  355. package/src/index.ts +1 -0
  356. package/src/internal/account.ts +1 -1
  357. package/src/internal/ans.ts +2 -2
  358. package/src/internal/digitalAsset.ts +2 -1
  359. package/src/internal/fungibleAsset.ts +3 -2
  360. package/src/internal/keyless.ts +118 -0
  361. package/src/internal/transactionSubmission.ts +8 -7
  362. package/src/transactions/authenticator/account.ts +6 -11
  363. package/src/transactions/management/accountSequenceNumber.ts +1 -1
  364. package/src/transactions/management/transactionWorker.ts +8 -2
  365. package/src/transactions/transactionBuilder/index.ts +1 -0
  366. package/src/transactions/transactionBuilder/signingMessage.ts +93 -0
  367. package/src/transactions/transactionBuilder/transactionBuilder.ts +2 -75
  368. package/src/types/index.ts +19 -0
  369. package/src/types/keyless.ts +6 -0
  370. package/src/utils/apiEndpoints.ts +14 -6
  371. package/src/utils/const.ts +2 -0
  372. package/src/version.ts +1 -1
  373. package/dist/esm/chunk-24IKVZBK.mjs +0 -2
  374. package/dist/esm/chunk-24IKVZBK.mjs.map +0 -1
  375. package/dist/esm/chunk-2HISPUZZ.mjs +0 -2
  376. package/dist/esm/chunk-2HISPUZZ.mjs.map +0 -1
  377. package/dist/esm/chunk-6CFRW26C.mjs.map +0 -1
  378. package/dist/esm/chunk-734YX27W.mjs +0 -2
  379. package/dist/esm/chunk-AD3VLZ7I.mjs +0 -2
  380. package/dist/esm/chunk-AD3VLZ7I.mjs.map +0 -1
  381. package/dist/esm/chunk-B3R6G6QP.mjs.map +0 -1
  382. package/dist/esm/chunk-B7TQGVGL.mjs +0 -2
  383. package/dist/esm/chunk-CNMQNPNV.mjs +0 -2
  384. package/dist/esm/chunk-CNMQNPNV.mjs.map +0 -1
  385. package/dist/esm/chunk-CYNQRMO5.mjs +0 -2
  386. package/dist/esm/chunk-CYNQRMO5.mjs.map +0 -1
  387. package/dist/esm/chunk-E7FWVXGX.mjs +0 -1
  388. package/dist/esm/chunk-EOFJFE4T.mjs +0 -2
  389. package/dist/esm/chunk-EOFJFE4T.mjs.map +0 -1
  390. package/dist/esm/chunk-FATWMUXK.mjs +0 -2
  391. package/dist/esm/chunk-FATWMUXK.mjs.map +0 -1
  392. package/dist/esm/chunk-HQ5I4Q3H.mjs +0 -2
  393. package/dist/esm/chunk-HQ5I4Q3H.mjs.map +0 -1
  394. package/dist/esm/chunk-IIPYR7PF.mjs.map +0 -1
  395. package/dist/esm/chunk-IKYIJYBY.mjs.map +0 -1
  396. package/dist/esm/chunk-KVZ4XMZS.mjs +0 -2
  397. package/dist/esm/chunk-KVZ4XMZS.mjs.map +0 -1
  398. package/dist/esm/chunk-LR65XHSF.mjs +0 -2
  399. package/dist/esm/chunk-LR65XHSF.mjs.map +0 -1
  400. package/dist/esm/chunk-MC6G725U.mjs +0 -2
  401. package/dist/esm/chunk-MC6G725U.mjs.map +0 -1
  402. package/dist/esm/chunk-MLWIHWNH.mjs +0 -1
  403. package/dist/esm/chunk-NNQJBFRB.mjs +0 -2
  404. package/dist/esm/chunk-ODRO4CSA.mjs +0 -2
  405. package/dist/esm/chunk-ODRO4CSA.mjs.map +0 -1
  406. package/dist/esm/chunk-OVJQWQ2N.mjs +0 -2
  407. package/dist/esm/chunk-OVJQWQ2N.mjs.map +0 -1
  408. package/dist/esm/chunk-OWW6SIDP.mjs +0 -2
  409. package/dist/esm/chunk-OWW6SIDP.mjs.map +0 -1
  410. package/dist/esm/chunk-PFIMEXNN.mjs.map +0 -1
  411. package/dist/esm/chunk-Q3TZGQVC.mjs.map +0 -1
  412. package/dist/esm/chunk-QMURTXFM.mjs +0 -2
  413. package/dist/esm/chunk-R7G3CLRI.mjs +0 -1
  414. package/dist/esm/chunk-SUAKPNKQ.mjs +0 -2
  415. package/dist/esm/chunk-SUAKPNKQ.mjs.map +0 -1
  416. package/dist/esm/chunk-TLOPIURC.mjs +0 -2
  417. package/dist/esm/chunk-TLOPIURC.mjs.map +0 -1
  418. package/dist/esm/chunk-UVSRX4SV.mjs +0 -1
  419. package/dist/esm/chunk-V4SRNEV3.mjs +0 -2
  420. package/dist/esm/chunk-V4SRNEV3.mjs.map +0 -1
  421. package/dist/esm/chunk-VVIG4E7Q.mjs +0 -2
  422. package/dist/esm/chunk-WLF5YQM4.mjs.map +0 -1
  423. package/dist/esm/chunk-XDGQTMDV.mjs +0 -2
  424. package/dist/esm/chunk-XDGQTMDV.mjs.map +0 -1
  425. package/dist/esm/chunk-YFRXBEOC.mjs +0 -2
  426. package/dist/esm/chunk-YFRXBEOC.mjs.map +0 -1
  427. package/dist/esm/chunk-YPTF6MLX.mjs +0 -2
  428. package/dist/esm/chunk-YPTF6MLX.mjs.map +0 -1
  429. package/dist/esm/chunk-Z5YFM2AW.mjs.map +0 -1
  430. package/dist/esm/core/account/Account.d.mts +0 -20
  431. package/dist/esm/core/account/Account.mjs +0 -2
  432. package/dist/esm/core/account/Ed25519Account.d.mts +0 -20
  433. package/dist/esm/core/account/Ed25519Account.mjs +0 -2
  434. package/dist/esm/core/account/SingleKeyAccount.d.mts +0 -20
  435. package/dist/esm/core/account/SingleKeyAccount.mjs +0 -2
  436. /package/dist/esm/{core/account → account}/Account.mjs.map +0 -0
  437. /package/dist/esm/{core/account → account}/Ed25519Account.mjs.map +0 -0
  438. /package/dist/esm/{chunk-E7FWVXGX.mjs.map → account/EphemeralKeyPair.mjs.map} +0 -0
  439. /package/dist/esm/{chunk-MLWIHWNH.mjs.map → account/KeylessAccount.mjs.map} +0 -0
  440. /package/dist/esm/{chunk-R7G3CLRI.mjs.map → account/MultiKeyAccount.mjs.map} +0 -0
  441. /package/dist/esm/{core/account → account}/SingleKeyAccount.mjs.map +0 -0
  442. /package/dist/esm/{chunk-UVSRX4SV.mjs.map → account/index.mjs.map} +0 -0
  443. /package/dist/esm/{chunk-TBMAJ6AW.mjs.map → chunk-3FVRXELT.mjs.map} +0 -0
  444. /package/dist/esm/{chunk-DMKUAQB7.mjs.map → chunk-3VGX3TXH.mjs.map} +0 -0
  445. /package/dist/esm/{chunk-CU67XZNB.mjs.map → chunk-52ECIIIH.mjs.map} +0 -0
  446. /package/dist/esm/{chunk-MFKMAAWA.mjs.map → chunk-6LOTZ4GY.mjs.map} +0 -0
  447. /package/dist/esm/{chunk-QIAHBEEW.mjs.map → chunk-6RBUXB5I.mjs.map} +0 -0
  448. /package/dist/esm/{chunk-NPFNYP75.mjs.map → chunk-7STYQ5ZE.mjs.map} +0 -0
  449. /package/dist/esm/{chunk-PZGLV5UQ.mjs.map → chunk-7WJTKYRG.mjs.map} +0 -0
  450. /package/dist/esm/{chunk-ZYYK3UXP.mjs.map → chunk-C3L4ETUF.mjs.map} +0 -0
  451. /package/dist/esm/{chunk-CTIN3GTP.mjs.map → chunk-CLVAGDXO.mjs.map} +0 -0
  452. /package/dist/esm/{chunk-WFZDFFBM.mjs.map → chunk-COW5IGYC.mjs.map} +0 -0
  453. /package/dist/esm/{chunk-FS3NSGBF.mjs.map → chunk-EB7AI4B4.mjs.map} +0 -0
  454. /package/dist/esm/{chunk-YU3KB3UV.mjs.map → chunk-EKABTHUZ.mjs.map} +0 -0
  455. /package/dist/esm/{chunk-SG4MAOCF.mjs.map → chunk-FKSACFCB.mjs.map} +0 -0
  456. /package/dist/esm/{chunk-MACC2BLE.mjs.map → chunk-H3TFQ7K4.mjs.map} +0 -0
  457. /package/dist/esm/{chunk-UML2VQZT.mjs.map → chunk-HGZGTBA4.mjs.map} +0 -0
  458. /package/dist/esm/{chunk-XO3HHRJV.mjs.map → chunk-HXSW6X7K.mjs.map} +0 -0
  459. /package/dist/esm/{chunk-VVIG4E7Q.mjs.map → chunk-IXYXFDJZ.mjs.map} +0 -0
  460. /package/dist/esm/{chunk-UFT7US42.mjs.map → chunk-J7J7ZTBF.mjs.map} +0 -0
  461. /package/dist/esm/{chunk-DSTKXJMA.mjs.map → chunk-MGOHPDX4.mjs.map} +0 -0
  462. /package/dist/esm/{chunk-BWFJHFBQ.mjs.map → chunk-MWUJCP27.mjs.map} +0 -0
  463. /package/dist/esm/{chunk-QTRYMRYK.mjs.map → chunk-NC5HHEEM.mjs.map} +0 -0
  464. /package/dist/esm/{chunk-AU6W5OIH.mjs.map → chunk-NNIHTVLA.mjs.map} +0 -0
  465. /package/dist/esm/{chunk-NNQJBFRB.mjs.map → chunk-NNW6HWIO.mjs.map} +0 -0
  466. /package/dist/esm/{chunk-G2O323HP.mjs.map → chunk-O34EOOVF.mjs.map} +0 -0
  467. /package/dist/esm/{chunk-U43IJHQN.mjs.map → chunk-PFFAQZHT.mjs.map} +0 -0
  468. /package/dist/esm/{chunk-ZZZZVONX.mjs.map → chunk-PINF6ZWP.mjs.map} +0 -0
  469. /package/dist/esm/{chunk-7QJ6YJXP.mjs.map → chunk-QHVZL3LZ.mjs.map} +0 -0
  470. /package/dist/esm/{chunk-DPV25ZKR.mjs.map → chunk-QNHDS64I.mjs.map} +0 -0
  471. /package/dist/esm/{chunk-O2F53NKI.mjs.map → chunk-RBPGL6YB.mjs.map} +0 -0
  472. /package/dist/esm/{chunk-DM44OGQH.mjs.map → chunk-RJ4PSGZ4.mjs.map} +0 -0
  473. /package/dist/esm/{chunk-V3Q2KXJU.mjs.map → chunk-SRPTQ4VV.mjs.map} +0 -0
  474. /package/dist/esm/{chunk-R5QUBEH6.mjs.map → chunk-STYDBDYL.mjs.map} +0 -0
  475. /package/dist/esm/{chunk-IOSQVDZI.mjs.map → chunk-T23OVRNF.mjs.map} +0 -0
  476. /package/dist/esm/{chunk-RIUZPGI5.mjs.map → chunk-TICM455H.mjs.map} +0 -0
  477. /package/dist/esm/{chunk-3WUGR46O.mjs.map → chunk-TXMPXZBG.mjs.map} +0 -0
  478. /package/dist/esm/{chunk-W4ZW7QHA.mjs.map → chunk-UGIJHLL3.mjs.map} +0 -0
  479. /package/dist/esm/{chunk-O4JRPZZM.mjs.map → chunk-UVOU6BW2.mjs.map} +0 -0
  480. /package/dist/esm/{chunk-GSD4OOM3.mjs.map → chunk-V7P6MLSY.mjs.map} +0 -0
  481. /package/dist/esm/{chunk-V6OS74OS.mjs.map → chunk-VJJN3GFD.mjs.map} +0 -0
  482. /package/dist/esm/{chunk-5P2S2SZZ.mjs.map → chunk-XMFPKHB5.mjs.map} +0 -0
  483. /package/dist/esm/{chunk-RHBCVCOS.mjs.map → chunk-ZNEBMSNC.mjs.map} +0 -0
@@ -4,6 +4,7 @@ import { AuthenticationKey } from "../authenticationKey";
4
4
  import { Ed25519PublicKey, Ed25519Signature } from "./ed25519";
5
5
  import { AccountPublicKey, PublicKey, VerifySignatureArgs } from "./publicKey";
6
6
  import { Secp256k1PublicKey, Secp256k1Signature } from "./secp256k1";
7
+ import { KeylessPublicKey, KeylessSignature } from "./keyless";
7
8
  import { Signature } from "./signature";
8
9
 
9
10
  /**
@@ -34,6 +35,8 @@ export class AnyPublicKey extends AccountPublicKey {
34
35
  this.variant = AnyPublicKeyVariant.Ed25519;
35
36
  } else if (publicKey instanceof Secp256k1PublicKey) {
36
37
  this.variant = AnyPublicKeyVariant.Secp256k1;
38
+ } else if (publicKey instanceof KeylessPublicKey) {
39
+ this.variant = AnyPublicKeyVariant.Keyless;
37
40
  } else {
38
41
  throw new Error("Unsupported public key type");
39
42
  }
@@ -85,6 +88,9 @@ export class AnyPublicKey extends AccountPublicKey {
85
88
  case AnyPublicKeyVariant.Secp256k1:
86
89
  publicKey = Secp256k1PublicKey.deserialize(deserializer);
87
90
  break;
91
+ case AnyPublicKeyVariant.Keyless:
92
+ publicKey = KeylessPublicKey.deserialize(deserializer);
93
+ break;
88
94
  default:
89
95
  throw new Error(`Unknown variant index for AnyPublicKey: ${variantIndex}`);
90
96
  }
@@ -138,6 +144,8 @@ export class AnySignature extends Signature {
138
144
  this.variant = AnySignatureVariant.Ed25519;
139
145
  } else if (signature instanceof Secp256k1Signature) {
140
146
  this.variant = AnySignatureVariant.Secp256k1;
147
+ } else if (signature instanceof KeylessSignature) {
148
+ this.variant = AnySignatureVariant.Keyless;
141
149
  } else {
142
150
  throw new Error("Unsupported signature type");
143
151
  }
@@ -170,6 +178,9 @@ export class AnySignature extends Signature {
170
178
  case AnySignatureVariant.Secp256k1:
171
179
  signature = Secp256k1Signature.deserialize(deserializer);
172
180
  break;
181
+ case AnySignatureVariant.Keyless:
182
+ signature = KeylessSignature.deserialize(deserializer);
183
+ break;
173
184
  default:
174
185
  throw new Error(`Unknown variant index for AnySignature: ${variantIndex}`);
175
186
  }
package/src/core/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  // Copyright © Aptos Foundation
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- export * from "./account";
5
4
  export * from "./accountAddress";
6
5
  export * from "./authenticationKey";
7
6
  export * from "./common";
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  // Copyright © Aptos Foundation
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
+ export * from "./account";
4
5
  export * from "./api";
5
6
  export * from "./bcs";
6
7
  export * from "./client";
@@ -11,7 +11,7 @@
11
11
  import { AptosConfig } from "../api/aptosConfig";
12
12
  import { AptosApiError, getAptosFullNode, paginateWithCursor } from "../client";
13
13
  import { AccountAddress, AccountAddressInput } from "../core/accountAddress";
14
- import { Account } from "../core/account";
14
+ import { Account } from "../account";
15
15
  import { AnyPublicKey, Ed25519PublicKey, PrivateKey } from "../core/crypto";
16
16
  import { getTableItem, queryIndexer } from "./general";
17
17
  import {
@@ -9,7 +9,8 @@
9
9
  */
10
10
 
11
11
  import { AptosConfig } from "../api/aptosConfig";
12
- import { Account, AccountAddress, AccountAddressInput } from "../core";
12
+ import { Account } from "../account";
13
+ import { AccountAddress, AccountAddressInput } from "../core";
13
14
  import { InputGenerateTransactionOptions } from "../transactions/types";
14
15
  import { GetANSNameResponse, MoveAddressType, OrderByArg, PaginationArgs, WhereArg } from "../types";
15
16
  import { GetNamesQuery } from "../types/generated/operations";
@@ -78,7 +79,6 @@ const NetworkToAnsContract: Record<Network, string | null> = {
78
79
  [Network.LOCAL]: LOCAL_ANS_ACCOUNT_ADDRESS,
79
80
  [Network.CUSTOM]: null,
80
81
  [Network.DEVNET]: null,
81
- [Network.RANDOMNET]: null,
82
82
  };
83
83
 
84
84
  function getRouterAddress(aptosConfig: AptosConfig): string {
@@ -10,7 +10,8 @@
10
10
 
11
11
  import { AptosConfig } from "../api/aptosConfig";
12
12
  import { Bool, MoveString, MoveVector, U64 } from "../bcs";
13
- import { Account, AccountAddress, AccountAddressInput } from "../core";
13
+ import { AccountAddress, AccountAddressInput } from "../core";
14
+ import { Account } from "../account";
14
15
  import { EntryFunctionABI, InputGenerateTransactionOptions } from "../transactions/types";
15
16
  import {
16
17
  AnyNumber,
@@ -33,7 +33,8 @@ import {
33
33
  FungibleAssetActivitiesBoolExp,
34
34
  FungibleAssetMetadataBoolExp,
35
35
  } from "../types/generated/types";
36
- import { Account, AccountAddressInput } from "../core";
36
+ import { AccountAddressInput } from "../core";
37
+ import { Account } from "../account";
37
38
  import {
38
39
  EntryFunctionABI,
39
40
  InputGenerateTransactionOptions,
@@ -117,7 +118,7 @@ export async function getCurrentFungibleAssetBalances(args: {
117
118
  }
118
119
 
119
120
  const faTransferAbi: EntryFunctionABI = {
120
- typeParameters: [],
121
+ typeParameters: [{ constraints: [] }],
121
122
  parameters: [parseTypeTag("0x1::object::Object"), new TypeTagAddress(), new TypeTagU64()],
122
123
  };
123
124
 
@@ -0,0 +1,118 @@
1
+ // Copyright © Aptos Foundation
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * This file contains the underlying implementations for exposed API surface in
6
+ * the {@link api/oidb}. By moving the methods out into a separate file,
7
+ * other namespaces and processes can access these methods without depending on the entire
8
+ * faucet namespace and without having a dependency cycle error.
9
+ */
10
+ import { jwtDecode } from "jwt-decode";
11
+ import { AptosConfig } from "../api/aptosConfig";
12
+ import { postAptosPepperService, postAptosProvingService } from "../client";
13
+ import { EPK_HORIZON_SECS, EphemeralSignature, Groth16Zkp, Hex, SignedGroth16Signature } from "../core";
14
+ import { HexInput } from "../types";
15
+ import { EphemeralKeyPair, KeylessAccount, ProofFetchCallback } from "../account";
16
+ import { PepperFetchResponse, ProverResponse } from "../types/keyless";
17
+
18
+ export async function getPepper(args: {
19
+ aptosConfig: AptosConfig;
20
+ jwt: string;
21
+ ephemeralKeyPair: EphemeralKeyPair;
22
+ uidKey?: string;
23
+ derivationPath?: string;
24
+ verify?: boolean;
25
+ }): Promise<Uint8Array> {
26
+ const { aptosConfig, jwt, ephemeralKeyPair, uidKey, derivationPath } = args;
27
+
28
+ const body = {
29
+ jwt_b64: jwt,
30
+ epk: ephemeralKeyPair.getPublicKey().bcsToHex().toStringWithoutPrefix(),
31
+ exp_date_secs: Number(ephemeralKeyPair.expiryDateSecs),
32
+ epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),
33
+ uid_key: uidKey,
34
+ derivation_path: derivationPath,
35
+ };
36
+ const { data } = await postAptosPepperService<any, PepperFetchResponse>({
37
+ aptosConfig,
38
+ path: "fetch",
39
+ body,
40
+ originMethod: "getPepper",
41
+ overrides: { WITH_CREDENTIALS: false },
42
+ });
43
+ return Hex.fromHexInput(data.pepper).toUint8Array();
44
+ }
45
+
46
+ export async function getProof(args: {
47
+ aptosConfig: AptosConfig;
48
+ jwt: string;
49
+ ephemeralKeyPair: EphemeralKeyPair;
50
+ pepper: HexInput;
51
+ uidKey?: string;
52
+ extraFieldKey?: string;
53
+ }): Promise<SignedGroth16Signature> {
54
+ const { aptosConfig, jwt, ephemeralKeyPair, pepper, uidKey, extraFieldKey } = args;
55
+ const jwtPayload = jwtDecode<{ [key: string]: string }>(jwt);
56
+ let extraField;
57
+ if (extraFieldKey) {
58
+ const extraFieldVal = jwtPayload[extraFieldKey];
59
+ extraField = `"${extraFieldKey}":"${extraFieldVal}",`;
60
+ }
61
+ const json = {
62
+ jwt_b64: jwt,
63
+ epk: ephemeralKeyPair.getPublicKey().bcsToHex().toStringWithoutPrefix(),
64
+ epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),
65
+ exp_date_secs: Number(ephemeralKeyPair.expiryDateSecs),
66
+ exp_horizon_secs: EPK_HORIZON_SECS,
67
+ pepper: Hex.fromHexInput(pepper).toStringWithoutPrefix(),
68
+ extra_field: extraFieldKey,
69
+ uid_key: uidKey || "sub",
70
+ };
71
+
72
+ const { data } = await postAptosProvingService<any, ProverResponse>({
73
+ aptosConfig,
74
+ path: "prove",
75
+ body: json,
76
+ originMethod: "getProof",
77
+ overrides: { WITH_CREDENTIALS: false },
78
+ });
79
+
80
+ const proofPoints = data.proof;
81
+ const proof = new Groth16Zkp({
82
+ a: proofPoints.a,
83
+ b: proofPoints.b,
84
+ c: proofPoints.c,
85
+ });
86
+
87
+ const signedProof = new SignedGroth16Signature({
88
+ proof,
89
+ extraField,
90
+ trainingWheelsSignature: EphemeralSignature.fromHex(data.training_wheels_signature),
91
+ });
92
+ return signedProof;
93
+ }
94
+
95
+ export async function deriveKeylessAccount(args: {
96
+ aptosConfig: AptosConfig;
97
+ jwt: string;
98
+ ephemeralKeyPair: EphemeralKeyPair;
99
+ uidKey?: string;
100
+ pepper?: HexInput;
101
+ extraFieldKey?: string;
102
+ proofFetchCallback?: ProofFetchCallback;
103
+ }): Promise<KeylessAccount> {
104
+ const { proofFetchCallback } = args;
105
+ let { pepper } = args;
106
+ if (pepper === undefined) {
107
+ pepper = await getPepper(args);
108
+ } else if (Hex.fromHexInput(pepper).toUint8Array().length !== 31) {
109
+ throw new Error("Pepper needs to be 31 bytes");
110
+ }
111
+
112
+ const proofPromise = getProof({ ...args, pepper });
113
+ const proof = proofFetchCallback ? proofPromise : await proofPromise;
114
+
115
+ const keylessAccount = KeylessAccount.fromJWTAndProof({ ...args, proof, pepper, proofFetchCallback });
116
+
117
+ return keylessAccount;
118
+ }
@@ -8,7 +8,7 @@
8
8
  import { AptosConfig } from "../api/aptosConfig";
9
9
  import { MoveVector, U8 } from "../bcs";
10
10
  import { postAptosFullNode } from "../client";
11
- import { Account } from "../core/account";
11
+ import { Account, KeylessAccount, MultiKeyAccount } from "../account";
12
12
  import { AccountAddress, AccountAddressInput } from "../core/accountAddress";
13
13
  import { PrivateKey } from "../core/crypto";
14
14
  import { AccountAuthenticator } from "../transactions/authenticator/account";
@@ -18,8 +18,6 @@ import {
18
18
  generateTransactionPayload,
19
19
  generateSignedTransactionForSimulation,
20
20
  generateSignedTransaction,
21
- sign,
22
- generateSigningMessage,
23
21
  } from "../transactions/transactionBuilder/transactionBuilder";
24
22
  import {
25
23
  InputGenerateTransactionData,
@@ -35,7 +33,7 @@ import {
35
33
  } from "../transactions/types";
36
34
  import { getInfo } from "./account";
37
35
  import { UserTransactionResponse, PendingTransactionResponse, MimeType, HexInput, TransactionResponse } from "../types";
38
- import { TypeTagU8, TypeTagVector } from "../transactions";
36
+ import { TypeTagU8, TypeTagVector, generateSigningMessageForTransaction } from "../transactions";
39
37
  import { SimpleTransaction } from "../transactions/instances/simpleTransaction";
40
38
  import { MultiAgentTransaction } from "../transactions/instances/multiAgentTransaction";
41
39
 
@@ -185,7 +183,7 @@ function isMultiAgentTransactionInput(
185
183
  */
186
184
  export function getSigningMessage(args: { transaction: AnyRawTransaction }): Uint8Array {
187
185
  const { transaction } = args;
188
- return generateSigningMessage(transaction);
186
+ return generateSigningMessageForTransaction(transaction);
189
187
  }
190
188
 
191
189
  /**
@@ -204,8 +202,8 @@ export function getSigningMessage(args: { transaction: AnyRawTransaction }): Uin
204
202
  * @return The signer AccountAuthenticator
205
203
  */
206
204
  export function signTransaction(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {
207
- const accountAuthenticator = sign({ ...args });
208
- return accountAuthenticator;
205
+ const { signer, transaction } = args;
206
+ return signer.signTransactionWithAuthenticator(transaction);
209
207
  }
210
208
 
211
209
  /**
@@ -277,6 +275,9 @@ export async function signAndSubmitTransaction(args: {
277
275
  transaction: AnyRawTransaction;
278
276
  }): Promise<PendingTransactionResponse> {
279
277
  const { aptosConfig, signer, transaction } = args;
278
+ if (signer instanceof KeylessAccount || signer instanceof MultiKeyAccount) {
279
+ await signer.waitForProofFetch();
280
+ }
280
281
  const authenticator = signTransaction({ signer, transaction });
281
282
  return submitTransaction({
282
283
  aptosConfig,
@@ -7,7 +7,7 @@ import { Serializer, Deserializer, Serializable } from "../../bcs";
7
7
  import { AnyPublicKey, AnySignature } from "../../core/crypto";
8
8
  import { Ed25519PublicKey, Ed25519Signature } from "../../core/crypto/ed25519";
9
9
  import { MultiEd25519PublicKey, MultiEd25519Signature } from "../../core/crypto/multiEd25519";
10
- import { MultiKey } from "../../core/crypto/multiKey";
10
+ import { MultiKey, MultiKeySignature } from "../../core/crypto/multiKey";
11
11
  import { AccountAuthenticatorVariant } from "../../types";
12
12
 
13
13
  export abstract class AccountAuthenticator extends Serializable {
@@ -149,28 +149,23 @@ export class AccountAuthenticatorSingleKey extends AccountAuthenticator {
149
149
  export class AccountAuthenticatorMultiKey extends AccountAuthenticator {
150
150
  public readonly public_keys: MultiKey;
151
151
 
152
- public readonly signatures: Array<AnySignature>;
152
+ public readonly signatures: MultiKeySignature;
153
153
 
154
- public readonly signatures_bitmap: Uint8Array;
155
-
156
- constructor(public_keys: MultiKey, signatures: Array<AnySignature>, signatures_bitmap: Uint8Array) {
154
+ constructor(public_keys: MultiKey, signatures: MultiKeySignature) {
157
155
  super();
158
156
  this.public_keys = public_keys;
159
157
  this.signatures = signatures;
160
- this.signatures_bitmap = signatures_bitmap;
161
158
  }
162
159
 
163
160
  serialize(serializer: Serializer): void {
164
161
  serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.MultiKey);
165
162
  this.public_keys.serialize(serializer);
166
- serializer.serializeVector<AnySignature>(this.signatures);
167
- serializer.serializeBytes(this.signatures_bitmap);
163
+ this.signatures.serialize(serializer);
168
164
  }
169
165
 
170
166
  static load(deserializer: Deserializer): AccountAuthenticatorMultiKey {
171
167
  const public_keys = MultiKey.deserialize(deserializer);
172
- const signatures = deserializer.deserializeVector(AnySignature);
173
- const signatures_bitmap = deserializer.deserializeBytes();
174
- return new AccountAuthenticatorMultiKey(public_keys, signatures, signatures_bitmap);
168
+ const signatures = MultiKeySignature.deserialize(deserializer);
169
+ return new AccountAuthenticatorMultiKey(public_keys, signatures);
175
170
  }
176
171
  }
@@ -24,7 +24,7 @@
24
24
  */
25
25
 
26
26
  import { AptosConfig } from "../../api/aptosConfig";
27
- import { Account } from "../../core";
27
+ import { Account } from "../../account";
28
28
  import { getInfo } from "../../internal/account";
29
29
  import { sleep } from "../../utils/helpers";
30
30
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  import EventEmitter from "eventemitter3";
4
4
  import { AptosConfig } from "../../api/aptosConfig";
5
- import { Account } from "../../core";
5
+ import { Account } from "../../account";
6
6
  import { waitForTransaction } from "../../internal/transaction";
7
7
  import { generateTransaction, signAndSubmitTransaction } from "../../internal/transactionSubmission";
8
8
  import { PendingTransactionResponse, TransactionResponse } from "../../types";
@@ -233,7 +233,13 @@ export class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {
233
233
  async checkTransaction(sentTransaction: PromiseFulfilledResult<PendingTransactionResponse>, sequenceNumber: bigint) {
234
234
  try {
235
235
  const waitFor: Array<Promise<TransactionResponse>> = [];
236
- waitFor.push(waitForTransaction({ aptosConfig: this.aptosConfig, transactionHash: sentTransaction.value.hash }));
236
+ waitFor.push(
237
+ waitForTransaction({
238
+ aptosConfig: this.aptosConfig,
239
+ transactionHash: sentTransaction.value.hash,
240
+ options: { timeoutSecs: 3 },
241
+ }),
242
+ );
237
243
  const sentTransactions = await Promise.allSettled(waitFor);
238
244
 
239
245
  for (let i = 0; i < sentTransactions.length; i += 1) {
@@ -4,3 +4,4 @@
4
4
  export * from "./helpers";
5
5
  export * from "./transactionBuilder";
6
6
  export * from "./remoteAbi";
7
+ export * from "./signingMessage";
@@ -0,0 +1,93 @@
1
+ // Copyright © Aptos Foundation
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * This file handles the generation of the signing message.
6
+ */
7
+ import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
8
+ import { RAW_TRANSACTION_SALT, RAW_TRANSACTION_WITH_DATA_SALT } from "../../utils/const";
9
+ import { FeePayerRawTransaction, MultiAgentRawTransaction } from "../instances";
10
+ import { AnyRawTransaction, AnyRawTransactionInstance } from "../types";
11
+ import { Serializable } from "../../bcs";
12
+
13
+ /**
14
+ * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction
15
+ *
16
+ * @param transaction A aptos transaction type
17
+ *
18
+ * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction
19
+ */
20
+ export function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {
21
+ if (transaction.feePayerAddress) {
22
+ return new FeePayerRawTransaction(
23
+ transaction.rawTransaction,
24
+ transaction.secondarySignerAddresses ?? [],
25
+ transaction.feePayerAddress,
26
+ );
27
+ }
28
+ if (transaction.secondarySignerAddresses) {
29
+ return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);
30
+ }
31
+
32
+ return transaction.rawTransaction;
33
+ }
34
+
35
+ /**
36
+ * Generates the 'signing message' form of a message to be signed.
37
+ *
38
+ * @param bytes The byte representation of the message to be signed and sent to the chain
39
+ * @param domainSeparator A domain separator that starts with 'APTOS::'
40
+ *
41
+ * @returns The Uint8Array of the signing message
42
+ */
43
+ export function generateSigningMessage(bytes: Uint8Array, domainSeparator: string): Uint8Array {
44
+ const hash = sha3Hash.create();
45
+
46
+ if (!domainSeparator.startsWith("APTOS::")) {
47
+ throw new Error(`Domain separator needs to start with 'APTOS::'. Provided - ${domainSeparator}`);
48
+ }
49
+
50
+ hash.update(domainSeparator);
51
+
52
+ const prefix = hash.digest();
53
+
54
+ const body = bytes;
55
+
56
+ const mergedArray = new Uint8Array(prefix.length + body.length);
57
+ mergedArray.set(prefix);
58
+ mergedArray.set(body, prefix.length);
59
+
60
+ return mergedArray;
61
+ }
62
+
63
+ /**
64
+ * Generates the 'signing message' form of a serilizable value. It bcs serializes the value and uses the name of
65
+ * its constructor as the domain separator.
66
+ *
67
+ * @param serializable An object that has a bcs serialized form
68
+ *
69
+ * @returns The Uint8Array of the signing message
70
+ */
71
+ export function generateSigningMessageForSerializable(serializable: Serializable): Uint8Array {
72
+ return generateSigningMessage(serializable.bcsToBytes(), `APTOS::${serializable.constructor.name}`);
73
+ }
74
+
75
+ /**
76
+ * Generates the 'signing message' form of a transaction. It derives the type of transaction and
77
+ * applies the appropriate domain separator based on if there is extra data such as a fee payer or
78
+ * secondary signers.
79
+ *
80
+ * @param transaction A transaction that is to be signed
81
+ *
82
+ * @returns The Uint8Array of the signing message
83
+ */
84
+ export function generateSigningMessageForTransaction(transaction: AnyRawTransaction): Uint8Array {
85
+ const rawTxn = deriveTransactionType(transaction);
86
+ if (transaction.feePayerAddress) {
87
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);
88
+ }
89
+ if (transaction.secondarySignerAddresses) {
90
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_WITH_DATA_SALT);
91
+ }
92
+ return generateSigningMessage(rawTxn.bcsToBytes(), RAW_TRANSACTION_SALT);
93
+ }
@@ -9,20 +9,13 @@
9
9
  import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
10
10
  import { AptosConfig } from "../../api/aptosConfig";
11
11
  import { AccountAddress, AccountAddressInput, Hex, PublicKey } from "../../core";
12
- import { Account } from "../../core/account";
13
- import { AnyPublicKey, AnySignature } from "../../core/crypto";
12
+ import { AnyPublicKey, AnySignature, Secp256k1PublicKey, Secp256k1Signature } from "../../core/crypto";
14
13
  import { Ed25519PublicKey, Ed25519Signature } from "../../core/crypto/ed25519";
15
- import { Secp256k1PublicKey, Secp256k1Signature } from "../../core/crypto/secp256k1";
16
14
  import { getInfo } from "../../internal/account";
17
15
  import { getLedgerInfo } from "../../internal/general";
18
16
  import { getGasPriceEstimation } from "../../internal/transaction";
19
17
  import { NetworkToChainId } from "../../utils/apiEndpoints";
20
- import {
21
- DEFAULT_MAX_GAS_AMOUNT,
22
- DEFAULT_TXN_EXP_SEC_FROM_NOW,
23
- RAW_TRANSACTION_SALT,
24
- RAW_TRANSACTION_WITH_DATA_SALT,
25
- } from "../../utils/const";
18
+ import { DEFAULT_MAX_GAS_AMOUNT, DEFAULT_TXN_EXP_SEC_FROM_NOW } from "../../utils/const";
26
19
  import { normalizeBundle } from "../../utils/normalizeBundle";
27
20
  import {
28
21
  AccountAuthenticator,
@@ -53,7 +46,6 @@ import { SignedTransaction } from "../instances/signedTransaction";
53
46
  import {
54
47
  AnyRawTransaction,
55
48
  AnyTransactionPayloadInstance,
56
- AnyRawTransactionInstance,
57
49
  EntryFunctionArgumentTypes,
58
50
  InputGenerateMultiAgentRawTransactionArgs,
59
51
  InputGenerateRawTransactionArgs,
@@ -466,24 +458,6 @@ export function getAuthenticatorForSimulation(publicKey: PublicKey) {
466
458
  );
467
459
  }
468
460
 
469
- /**
470
- * Sign a transaction that can later be submitted to chain
471
- *
472
- * @param args.signer The signer account to sign the transaction
473
- * @param args.transaction A aptos transaction type to sign
474
- *
475
- * @return The signer AccountAuthenticator
476
- */
477
- export function sign(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {
478
- const { signer, transaction } = args;
479
-
480
- // get the signing message
481
- const message = generateSigningMessage(transaction);
482
-
483
- // account.signMessage
484
- return signer.signWithAuthenticator(message);
485
- }
486
-
487
461
  /**
488
462
  * Prepare a transaction to be submitted to chain
489
463
  *
@@ -564,53 +538,6 @@ export function generateUserTransactionHash(args: InputSubmitTransactionData): s
564
538
  return new Hex(hashValues([TRANSACTION_PREFIX, new Uint8Array([0]), signedTransaction])).toString();
565
539
  }
566
540
 
567
- /**
568
- * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction
569
- *
570
- * @param transaction A aptos transaction type
571
- *
572
- * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction
573
- */
574
- export function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {
575
- if (transaction.feePayerAddress) {
576
- return new FeePayerRawTransaction(
577
- transaction.rawTransaction,
578
- transaction.secondarySignerAddresses ?? [],
579
- transaction.feePayerAddress,
580
- );
581
- }
582
- if (transaction.secondarySignerAddresses) {
583
- return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);
584
- }
585
-
586
- return transaction.rawTransaction;
587
- }
588
-
589
- export function generateSigningMessage(transaction: AnyRawTransaction): Uint8Array {
590
- const rawTxn = deriveTransactionType(transaction);
591
- const hash = sha3Hash.create();
592
-
593
- if (rawTxn instanceof RawTransaction) {
594
- hash.update(RAW_TRANSACTION_SALT);
595
- } else if (rawTxn instanceof MultiAgentRawTransaction) {
596
- hash.update(RAW_TRANSACTION_WITH_DATA_SALT);
597
- } else if (rawTxn instanceof FeePayerRawTransaction) {
598
- hash.update(RAW_TRANSACTION_WITH_DATA_SALT);
599
- } else {
600
- throw new Error(`Unknown transaction type to sign on: ${rawTxn}`);
601
- }
602
-
603
- const prefix = hash.digest();
604
-
605
- const body = rawTxn.bcsToBytes();
606
-
607
- const mergedArray = new Uint8Array(prefix.length + body.length);
608
- mergedArray.set(prefix);
609
- mergedArray.set(body, prefix.length);
610
-
611
- return mergedArray;
612
- }
613
-
614
541
  /**
615
542
  * Fetches and caches ABIs with allowing for pass-through on provided ABIs
616
543
  * @param key
@@ -108,11 +108,26 @@ export enum AccountAuthenticatorVariant {
108
108
  export enum AnyPublicKeyVariant {
109
109
  Ed25519 = 0,
110
110
  Secp256k1 = 1,
111
+ Keyless = 3,
111
112
  }
112
113
 
113
114
  export enum AnySignatureVariant {
114
115
  Ed25519 = 0,
115
116
  Secp256k1 = 1,
117
+ Keyless = 3,
118
+ }
119
+
120
+ export enum EphemeralPublicKeyVariant {
121
+ Ed25519 = 0,
122
+ }
123
+
124
+ export enum EphemeralSignatureVariant {
125
+ Ed25519 = 0,
126
+ }
127
+
128
+ export enum EphemeralCertificate {
129
+ ZkProof = 0,
130
+ OpenIdSignature = 1,
116
131
  }
117
132
 
118
133
  /**
@@ -140,6 +155,10 @@ export type AptosSettings = {
140
155
 
141
156
  readonly indexer?: string;
142
157
 
158
+ readonly pepper?: string;
159
+
160
+ readonly prover?: string;
161
+
143
162
  readonly clientConfig?: ClientConfig;
144
163
 
145
164
  readonly client?: Client;
@@ -0,0 +1,6 @@
1
+ export type ProverResponse = {
2
+ proof: { a: string; b: string; c: string };
3
+ public_inputs_hash: string;
4
+ training_wheels_signature: string;
5
+ };
6
+ export type PepperFetchResponse = { signature: string; pepper: string; address: string };