@aptos-labs/ts-sdk 1.13.3-zeta.1 → 1.14.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 (482) hide show
  1. package/dist/common/accountAddress-csDQ8Gnp.d.ts +2103 -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 +2250 -4805
  6. package/dist/common/index.js +26 -26
  7. package/dist/common/index.js.map +1 -1
  8. package/dist/esm/{Ed25519Account-8gJF5t3F.d.mts → Ed25519Account--qjfup2u.d.mts} +12 -10
  9. package/dist/esm/api/account.d.mts +1 -13
  10. package/dist/esm/api/account.mjs +1 -1
  11. package/dist/esm/api/ans.d.mts +2 -2
  12. package/dist/esm/api/ans.mjs +1 -1
  13. package/dist/esm/api/aptos.d.mts +8 -14
  14. package/dist/esm/api/aptos.mjs +1 -1
  15. package/dist/esm/api/aptosConfig.d.mts +0 -20
  16. package/dist/esm/api/aptosConfig.mjs +1 -1
  17. package/dist/esm/api/coin.d.mts +7 -7
  18. package/dist/esm/api/coin.mjs +1 -1
  19. package/dist/esm/api/digitalAsset.d.mts +1 -1
  20. package/dist/esm/api/digitalAsset.mjs +1 -1
  21. package/dist/esm/api/event.mjs +1 -1
  22. package/dist/esm/api/faucet.mjs +1 -1
  23. package/dist/esm/api/fungibleAsset.d.mts +5 -5
  24. package/dist/esm/api/fungibleAsset.mjs +1 -1
  25. package/dist/esm/api/general.d.mts +7 -7
  26. package/dist/esm/api/general.mjs +1 -1
  27. package/dist/esm/api/index.d.mts +8 -13
  28. package/dist/esm/api/index.mjs +1 -1
  29. package/dist/esm/api/staking.mjs +1 -1
  30. package/dist/esm/api/transaction.d.mts +1 -1
  31. package/dist/esm/api/transaction.mjs +1 -1
  32. package/dist/esm/api/transactionSubmission/build.d.mts +2 -2
  33. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  34. package/dist/esm/api/transactionSubmission/management.d.mts +8 -8
  35. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  36. package/dist/esm/api/transactionSubmission/sign.d.mts +1 -1
  37. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  38. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  39. package/dist/esm/api/transactionSubmission/simulate.d.mts +6 -6
  40. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  41. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  42. package/dist/esm/api/utils.mjs +1 -1
  43. package/dist/esm/bcs/index.mjs +1 -1
  44. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  45. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  46. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  47. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  48. package/dist/esm/bcs/serializer.d.mts +0 -2
  49. package/dist/esm/bcs/serializer.mjs +1 -1
  50. package/dist/esm/{chunk-MJGZJL3W.mjs → chunk-2G4ZSGL4.mjs} +2 -2
  51. package/dist/esm/{chunk-UKJUHLZW.mjs → chunk-3YZGJLW7.mjs} +2 -2
  52. package/dist/esm/{chunk-TV64AINP.mjs → chunk-4374JPA6.mjs} +2 -2
  53. package/dist/esm/chunk-4374JPA6.mjs.map +1 -0
  54. package/dist/esm/{chunk-KFJMLLOA.mjs → chunk-4P5EKAJB.mjs} +2 -2
  55. package/dist/esm/{chunk-TVRJ3M7B.mjs → chunk-52C73T26.mjs} +2 -2
  56. package/dist/esm/{chunk-TVRJ3M7B.mjs.map → chunk-52C73T26.mjs.map} +1 -1
  57. package/dist/esm/{chunk-DIBNAYZ2.mjs → chunk-5HY3DEPF.mjs} +2 -2
  58. package/dist/esm/chunk-62P5CJAJ.mjs +2 -0
  59. package/dist/esm/chunk-62P5CJAJ.mjs.map +1 -0
  60. package/dist/esm/{chunk-NPNAKSCR.mjs → chunk-6OV2PQS5.mjs} +2 -2
  61. package/dist/esm/chunk-APDALGDD.mjs +2 -0
  62. package/dist/esm/chunk-APDALGDD.mjs.map +1 -0
  63. package/dist/esm/chunk-AT2A6UGB.mjs +2 -0
  64. package/dist/esm/chunk-AT2A6UGB.mjs.map +1 -0
  65. package/dist/esm/chunk-B3BRR4WP.mjs +2 -0
  66. package/dist/esm/chunk-B3BRR4WP.mjs.map +1 -0
  67. package/dist/esm/{chunk-W637YAND.mjs → chunk-BAV4XY7C.mjs} +2 -2
  68. package/dist/esm/{chunk-3YNRBMPS.mjs → chunk-BE4FOV6X.mjs} +2 -2
  69. package/dist/esm/{chunk-33WBJV5U.mjs → chunk-BIAEC6FO.mjs} +2 -2
  70. package/dist/esm/{chunk-MWUJCP27.mjs → chunk-BWFJHFBQ.mjs} +2 -2
  71. package/dist/esm/{chunk-37CYBCWS.mjs → chunk-CDB34C4N.mjs} +2 -2
  72. package/dist/esm/chunk-CDB34C4N.mjs.map +1 -0
  73. package/dist/esm/{chunk-ZGTJMNZG.mjs → chunk-CF5R4HVB.mjs} +2 -2
  74. package/dist/esm/chunk-CNMQNPNV.mjs +2 -0
  75. package/dist/esm/chunk-CNMQNPNV.mjs.map +1 -0
  76. package/dist/esm/chunk-CPBGL37X.mjs +2 -0
  77. package/dist/esm/{chunk-X7GVXVT4.mjs.map → chunk-CPBGL37X.mjs.map} +1 -1
  78. package/dist/esm/chunk-CYNQRMO5.mjs +2 -0
  79. package/dist/esm/chunk-CYNQRMO5.mjs.map +1 -0
  80. package/dist/esm/{chunk-3VGX3TXH.mjs → chunk-DMKUAQB7.mjs} +2 -2
  81. package/dist/esm/{chunk-MGOHPDX4.mjs → chunk-DSTKXJMA.mjs} +2 -2
  82. package/dist/esm/chunk-E7FWVXGX.mjs +1 -0
  83. package/dist/esm/{chunk-EB7AI4B4.mjs → chunk-FS3NSGBF.mjs} +2 -2
  84. package/dist/esm/{chunk-7H3HRFVM.mjs → chunk-FXNFWLQC.mjs} +2 -2
  85. package/dist/esm/{chunk-DOCYCNXV.mjs → chunk-HG4Q4EFG.mjs} +2 -2
  86. package/dist/esm/chunk-HG4Q4EFG.mjs.map +1 -0
  87. package/dist/esm/{chunk-GKCO5PQJ.mjs → chunk-HWECUBBA.mjs} +2 -2
  88. package/dist/esm/chunk-HWECUBBA.mjs.map +1 -0
  89. package/dist/esm/chunk-HYCGMFC2.mjs +2 -0
  90. package/dist/esm/chunk-HYCGMFC2.mjs.map +1 -0
  91. package/dist/esm/{chunk-T23OVRNF.mjs → chunk-IOSQVDZI.mjs} +2 -2
  92. package/dist/esm/{chunk-YGB7MEH3.mjs → chunk-IR46T46A.mjs} +2 -2
  93. package/dist/esm/{chunk-RDNPWCZ4.mjs → chunk-JCD72AW7.mjs} +2 -2
  94. package/dist/esm/{chunk-GI52SX32.mjs → chunk-L5IL2IAB.mjs} +2 -2
  95. package/dist/esm/chunk-LBGYH45K.mjs +2 -0
  96. package/dist/esm/chunk-LBGYH45K.mjs.map +1 -0
  97. package/dist/esm/chunk-LDQ6JFEF.mjs +2 -0
  98. package/dist/esm/chunk-LDQ6JFEF.mjs.map +1 -0
  99. package/dist/esm/chunk-LR65XHSF.mjs +2 -0
  100. package/dist/esm/chunk-LR65XHSF.mjs.map +1 -0
  101. package/dist/esm/chunk-MFL3UCKA.mjs +2 -0
  102. package/dist/esm/chunk-MFL3UCKA.mjs.map +1 -0
  103. package/dist/esm/chunk-MLWIHWNH.mjs +1 -0
  104. package/dist/esm/{chunk-A7L2Z5DW.mjs → chunk-N77VJHW5.mjs} +2 -2
  105. package/dist/esm/chunk-NBCHJ75L.mjs +2 -0
  106. package/dist/esm/chunk-NBCHJ75L.mjs.map +1 -0
  107. package/dist/esm/{chunk-7STYQ5ZE.mjs → chunk-NPFNYP75.mjs} +2 -2
  108. package/dist/esm/{chunk-LV7OW245.mjs → chunk-NWYIE7ZX.mjs} +2 -2
  109. package/dist/esm/chunk-NZGRLKRG.mjs +2 -0
  110. package/dist/esm/{chunk-PTIZKRON.mjs → chunk-O4JRPZZM.mjs} +2 -2
  111. package/dist/esm/{chunk-Z2ZR4PTF.mjs → chunk-OGHE4AQA.mjs} +2 -2
  112. package/dist/esm/chunk-OWW6SIDP.mjs +2 -0
  113. package/dist/esm/chunk-OWW6SIDP.mjs.map +1 -0
  114. package/dist/esm/{chunk-DX62SMGM.mjs → chunk-P3UFJZY5.mjs} +2 -2
  115. package/dist/esm/chunk-P3UFJZY5.mjs.map +1 -0
  116. package/dist/esm/chunk-PJPXC22D.mjs +2 -0
  117. package/dist/esm/chunk-PJPXC22D.mjs.map +1 -0
  118. package/dist/esm/{chunk-TFJCMFKE.mjs → chunk-PMUT3HZE.mjs} +2 -2
  119. package/dist/esm/chunk-PMUT3HZE.mjs.map +1 -0
  120. package/dist/esm/chunk-PXFIA4BL.mjs +2 -0
  121. package/dist/esm/{chunk-EKOIHFAW.mjs.map → chunk-PXFIA4BL.mjs.map} +1 -1
  122. package/dist/esm/{chunk-IM32PZOD.mjs → chunk-PYXJYEAC.mjs} +2 -2
  123. package/dist/esm/chunk-PYXJYEAC.mjs.map +1 -0
  124. package/dist/esm/{chunk-OKG6X5TX.mjs → chunk-QD2Y3VK4.mjs} +2 -2
  125. package/dist/esm/chunk-QD2Y3VK4.mjs.map +1 -0
  126. package/dist/esm/{chunk-6RBUXB5I.mjs → chunk-QIAHBEEW.mjs} +2 -2
  127. package/dist/esm/{chunk-ODTNF2YP.mjs → chunk-QIAU5K5Y.mjs} +2 -2
  128. package/dist/esm/{chunk-NC5HHEEM.mjs → chunk-QTRYMRYK.mjs} +2 -2
  129. package/dist/esm/{chunk-STYDBDYL.mjs → chunk-R5QUBEH6.mjs} +2 -2
  130. package/dist/esm/chunk-R7G3CLRI.mjs +1 -0
  131. package/dist/esm/{chunk-ZNEBMSNC.mjs → chunk-RHBCVCOS.mjs} +2 -2
  132. package/dist/esm/chunk-RR7I2HLA.mjs +2 -0
  133. package/dist/esm/chunk-RR7I2HLA.mjs.map +1 -0
  134. package/dist/esm/chunk-RTSWVT2Q.mjs +2 -0
  135. package/dist/esm/chunk-RTSWVT2Q.mjs.map +1 -0
  136. package/dist/esm/chunk-RW2A63WK.mjs +2 -0
  137. package/dist/esm/chunk-RW2A63WK.mjs.map +1 -0
  138. package/dist/esm/{chunk-T7JIGO3O.mjs → chunk-S2LTZKM4.mjs} +2 -2
  139. package/dist/esm/{chunk-6CQH7JPF.mjs → chunk-SPU745XV.mjs} +2 -2
  140. package/dist/esm/{chunk-3FVRXELT.mjs → chunk-TBMAJ6AW.mjs} +2 -2
  141. package/dist/esm/{chunk-IEZO4PIG.mjs → chunk-TGXZVNR5.mjs} +2 -2
  142. package/dist/esm/{chunk-PFFAQZHT.mjs → chunk-U43IJHQN.mjs} +2 -2
  143. package/dist/esm/chunk-UDRSFVAK.mjs +2 -0
  144. package/dist/esm/{chunk-CHQ6IKE3.mjs.map → chunk-UDRSFVAK.mjs.map} +1 -1
  145. package/dist/esm/chunk-UF534PKA.mjs +2 -0
  146. package/dist/esm/chunk-UF534PKA.mjs.map +1 -0
  147. package/dist/esm/chunk-UMDTVVQC.mjs +2 -0
  148. package/dist/esm/chunk-UMDTVVQC.mjs.map +1 -0
  149. package/dist/esm/{chunk-HGZGTBA4.mjs → chunk-UML2VQZT.mjs} +2 -2
  150. package/dist/esm/chunk-UNU3RVRJ.mjs +2 -0
  151. package/dist/esm/{chunk-MKUAW7KW.mjs → chunk-UPIN5AIO.mjs} +2 -2
  152. package/dist/esm/chunk-UVSRX4SV.mjs +1 -0
  153. package/dist/esm/{chunk-YI7FZPIK.mjs → chunk-WCVUDO5S.mjs} +2 -2
  154. package/dist/esm/{chunk-COW5IGYC.mjs → chunk-WFZDFFBM.mjs} +2 -2
  155. package/dist/esm/chunk-XIJHRBDL.mjs +2 -0
  156. package/dist/esm/chunk-XIJHRBDL.mjs.map +1 -0
  157. package/dist/esm/{chunk-XHPLLMR5.mjs → chunk-XO3HHRJV.mjs} +2 -2
  158. package/dist/esm/chunk-ZEHKHKBP.mjs +2 -0
  159. package/dist/esm/chunk-ZEHKHKBP.mjs.map +1 -0
  160. package/dist/esm/{chunk-C3L4ETUF.mjs → chunk-ZYYK3UXP.mjs} +2 -2
  161. package/dist/esm/cli/index.d.mts +12 -0
  162. package/dist/esm/cli/index.mjs +1 -1
  163. package/dist/esm/cli/move.d.mts +105 -0
  164. package/dist/esm/cli/move.mjs +2 -0
  165. package/dist/esm/client/core.mjs +1 -1
  166. package/dist/esm/client/get.d.mts +1 -2
  167. package/dist/esm/client/get.mjs +1 -1
  168. package/dist/esm/client/index.d.mts +2 -2
  169. package/dist/esm/client/index.mjs +1 -1
  170. package/dist/esm/client/post.d.mts +1 -3
  171. package/dist/esm/client/post.mjs +1 -1
  172. package/dist/esm/core/account/Account.d.mts +20 -0
  173. package/dist/esm/core/account/Account.mjs +2 -0
  174. package/dist/esm/core/account/Ed25519Account.d.mts +20 -0
  175. package/dist/esm/core/account/Ed25519Account.mjs +2 -0
  176. package/dist/esm/core/account/SingleKeyAccount.d.mts +20 -0
  177. package/dist/esm/core/account/SingleKeyAccount.mjs +2 -0
  178. package/dist/esm/core/account/index.d.mts +14 -5
  179. package/dist/esm/core/account/index.mjs +1 -1
  180. package/dist/esm/core/account/utils/address.mjs +1 -1
  181. package/dist/esm/core/account/utils/index.mjs +1 -1
  182. package/dist/esm/core/accountAddress.mjs +1 -1
  183. package/dist/esm/core/authenticationKey.mjs +1 -1
  184. package/dist/esm/core/crypto/ed25519.d.mts +10 -0
  185. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  186. package/dist/esm/core/crypto/hdKey.d.mts +1 -15
  187. package/dist/esm/core/crypto/hdKey.mjs +1 -1
  188. package/dist/esm/core/crypto/index.d.mts +5 -7
  189. package/dist/esm/core/crypto/index.mjs +1 -1
  190. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  191. package/dist/esm/core/crypto/multiKey.d.mts +3 -4
  192. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  193. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  194. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  195. package/dist/esm/core/crypto/signature.mjs +1 -1
  196. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  197. package/dist/esm/core/index.d.mts +7 -6
  198. package/dist/esm/core/index.mjs +1 -1
  199. package/dist/esm/index.d.mts +10 -16
  200. package/dist/esm/index.mjs +1 -1
  201. package/dist/esm/internal/account.d.mts +2 -14
  202. package/dist/esm/internal/account.mjs +1 -1
  203. package/dist/esm/internal/ans.d.mts +2 -2
  204. package/dist/esm/internal/ans.mjs +1 -1
  205. package/dist/esm/internal/coin.d.mts +7 -7
  206. package/dist/esm/internal/coin.mjs +1 -1
  207. package/dist/esm/internal/digitalAsset.d.mts +2 -2
  208. package/dist/esm/internal/digitalAsset.mjs +1 -1
  209. package/dist/esm/internal/event.d.mts +1 -1
  210. package/dist/esm/internal/event.mjs +1 -1
  211. package/dist/esm/internal/faucet.d.mts +1 -1
  212. package/dist/esm/internal/faucet.mjs +1 -1
  213. package/dist/esm/internal/fungibleAsset.d.mts +5 -5
  214. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  215. package/dist/esm/internal/general.mjs +1 -1
  216. package/dist/esm/internal/staking.d.mts +1 -1
  217. package/dist/esm/internal/staking.mjs +1 -1
  218. package/dist/esm/internal/transaction.mjs +1 -1
  219. package/dist/esm/internal/transactionSubmission.d.mts +1 -1
  220. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  221. package/dist/esm/internal/view.d.mts +7 -7
  222. package/dist/esm/internal/view.mjs +1 -1
  223. package/dist/esm/transactions/authenticator/account.d.mts +4 -3
  224. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  225. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  226. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  227. package/dist/esm/transactions/index.d.mts +2 -2
  228. package/dist/esm/transactions/index.mjs +1 -1
  229. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  230. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  231. package/dist/esm/transactions/instances/index.mjs +1 -1
  232. package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
  233. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  234. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  235. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  236. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  237. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  238. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  239. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
  240. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  241. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +1 -13
  242. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  243. package/dist/esm/transactions/management/index.d.mts +2 -2
  244. package/dist/esm/transactions/management/index.mjs +1 -1
  245. package/dist/esm/transactions/management/transactionWorker.d.mts +1 -1
  246. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  247. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +9 -9
  248. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  249. package/dist/esm/transactions/transactionBuilder/index.d.mts +9 -9
  250. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  251. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +6 -6
  252. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  253. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +25 -13
  254. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  255. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  256. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  257. package/dist/esm/transactions/types.d.mts +6 -6
  258. package/dist/esm/types/index.d.mts +3 -17
  259. package/dist/esm/types/index.mjs +1 -1
  260. package/dist/esm/utils/apiEndpoints.d.mts +1 -4
  261. package/dist/esm/utils/apiEndpoints.mjs +1 -1
  262. package/dist/esm/utils/const.d.mts +1 -3
  263. package/dist/esm/utils/const.mjs +1 -1
  264. package/dist/esm/utils/index.d.mts +1 -1
  265. package/dist/esm/utils/index.mjs +1 -1
  266. package/dist/esm/utils/normalizeBundle.mjs +1 -1
  267. package/dist/esm/version.d.mts +1 -1
  268. package/dist/esm/version.mjs +1 -1
  269. package/package.json +2 -7
  270. package/src/api/account.ts +1 -2
  271. package/src/api/ans.ts +1 -2
  272. package/src/api/aptos.ts +0 -6
  273. package/src/api/aptosConfig.ts +1 -46
  274. package/src/api/digitalAsset.ts +1 -2
  275. package/src/api/fungibleAsset.ts +1 -2
  276. package/src/api/transaction.ts +1 -2
  277. package/src/api/transactionSubmission/management.ts +1 -1
  278. package/src/api/transactionSubmission/sign.ts +1 -1
  279. package/src/bcs/serializer.ts +0 -18
  280. package/src/cli/index.ts +1 -0
  281. package/src/cli/move.ts +183 -0
  282. package/src/client/core.ts +0 -8
  283. package/src/client/get.ts +0 -6
  284. package/src/client/post.ts +0 -12
  285. package/src/{account → core/account}/Account.ts +16 -12
  286. package/src/{account → core/account}/Ed25519Account.ts +7 -13
  287. package/src/{account → core/account}/SingleKeyAccount.ts +8 -13
  288. package/src/core/account/index.ts +3 -1
  289. package/src/core/crypto/ed25519.ts +24 -4
  290. package/src/core/crypto/hdKey.ts +0 -31
  291. package/src/core/crypto/index.ts +0 -2
  292. package/src/core/crypto/multiKey.ts +11 -21
  293. package/src/core/crypto/singleKey.ts +0 -11
  294. package/src/core/index.ts +1 -0
  295. package/src/index.ts +0 -1
  296. package/src/internal/account.ts +1 -1
  297. package/src/internal/ans.ts +1 -3
  298. package/src/internal/digitalAsset.ts +1 -2
  299. package/src/internal/fungibleAsset.ts +2 -3
  300. package/src/internal/transactionSubmission.ts +7 -8
  301. package/src/transactions/authenticator/account.ts +11 -6
  302. package/src/transactions/management/accountSequenceNumber.ts +1 -1
  303. package/src/transactions/management/transactionWorker.ts +2 -8
  304. package/src/transactions/transactionBuilder/index.ts +0 -1
  305. package/src/transactions/transactionBuilder/transactionBuilder.ts +68 -41
  306. package/src/types/index.ts +0 -19
  307. package/src/utils/apiEndpoints.ts +0 -20
  308. package/src/utils/const.ts +0 -2
  309. package/src/version.ts +1 -1
  310. package/dist/esm/account/Account.d.mts +0 -34
  311. package/dist/esm/account/Account.mjs +0 -2
  312. package/dist/esm/account/Ed25519Account.d.mts +0 -34
  313. package/dist/esm/account/Ed25519Account.mjs +0 -2
  314. package/dist/esm/account/EphemeralKeyPair.d.mts +0 -47
  315. package/dist/esm/account/EphemeralKeyPair.mjs +0 -2
  316. package/dist/esm/account/KeylessAccount.d.mts +0 -106
  317. package/dist/esm/account/KeylessAccount.mjs +0 -2
  318. package/dist/esm/account/MultiKeyAccount.d.mts +0 -99
  319. package/dist/esm/account/MultiKeyAccount.mjs +0 -2
  320. package/dist/esm/account/SingleKeyAccount.d.mts +0 -34
  321. package/dist/esm/account/SingleKeyAccount.mjs +0 -2
  322. package/dist/esm/account/index.d.mts +0 -40
  323. package/dist/esm/account/index.mjs +0 -2
  324. package/dist/esm/api/keyless.d.mts +0 -67
  325. package/dist/esm/api/keyless.mjs +0 -2
  326. package/dist/esm/chunk-2Q6K4CLJ.mjs +0 -2
  327. package/dist/esm/chunk-2Q6K4CLJ.mjs.map +0 -1
  328. package/dist/esm/chunk-2YDIOWRJ.mjs +0 -2
  329. package/dist/esm/chunk-2YDIOWRJ.mjs.map +0 -1
  330. package/dist/esm/chunk-37CYBCWS.mjs.map +0 -1
  331. package/dist/esm/chunk-3QHRPREO.mjs +0 -2
  332. package/dist/esm/chunk-3QHRPREO.mjs.map +0 -1
  333. package/dist/esm/chunk-4XB3D2ZD.mjs +0 -2
  334. package/dist/esm/chunk-4XB3D2ZD.mjs.map +0 -1
  335. package/dist/esm/chunk-5QBTBH64.mjs +0 -2
  336. package/dist/esm/chunk-5VSMDXZ6.mjs +0 -2
  337. package/dist/esm/chunk-5VSMDXZ6.mjs.map +0 -1
  338. package/dist/esm/chunk-6GQAHQGW.mjs +0 -2
  339. package/dist/esm/chunk-6GQAHQGW.mjs.map +0 -1
  340. package/dist/esm/chunk-6J3CB3DN.mjs +0 -2
  341. package/dist/esm/chunk-6J3CB3DN.mjs.map +0 -1
  342. package/dist/esm/chunk-6M6XXPQQ.mjs +0 -2
  343. package/dist/esm/chunk-6M6XXPQQ.mjs.map +0 -1
  344. package/dist/esm/chunk-7JNPSNL6.mjs +0 -2
  345. package/dist/esm/chunk-7JNPSNL6.mjs.map +0 -1
  346. package/dist/esm/chunk-7Z6DYLCA.mjs +0 -1
  347. package/dist/esm/chunk-7Z6DYLCA.mjs.map +0 -1
  348. package/dist/esm/chunk-AQ4I7VVB.mjs +0 -1
  349. package/dist/esm/chunk-AQ4I7VVB.mjs.map +0 -1
  350. package/dist/esm/chunk-CHQ6IKE3.mjs +0 -2
  351. package/dist/esm/chunk-DMKFITUM.mjs +0 -2
  352. package/dist/esm/chunk-DMKFITUM.mjs.map +0 -1
  353. package/dist/esm/chunk-DOCYCNXV.mjs.map +0 -1
  354. package/dist/esm/chunk-DX62SMGM.mjs.map +0 -1
  355. package/dist/esm/chunk-EFRNRARV.mjs +0 -2
  356. package/dist/esm/chunk-EFRNRARV.mjs.map +0 -1
  357. package/dist/esm/chunk-EKOIHFAW.mjs +0 -2
  358. package/dist/esm/chunk-FLYEALDB.mjs +0 -2
  359. package/dist/esm/chunk-FLYEALDB.mjs.map +0 -1
  360. package/dist/esm/chunk-GKCO5PQJ.mjs.map +0 -1
  361. package/dist/esm/chunk-HJULFJXF.mjs +0 -2
  362. package/dist/esm/chunk-HJULFJXF.mjs.map +0 -1
  363. package/dist/esm/chunk-IM32PZOD.mjs.map +0 -1
  364. package/dist/esm/chunk-IOVRZ2CA.mjs +0 -2
  365. package/dist/esm/chunk-IOVRZ2CA.mjs.map +0 -1
  366. package/dist/esm/chunk-ITEV72BZ.mjs +0 -2
  367. package/dist/esm/chunk-ITEV72BZ.mjs.map +0 -1
  368. package/dist/esm/chunk-JXCZTOYC.mjs +0 -1
  369. package/dist/esm/chunk-JXCZTOYC.mjs.map +0 -1
  370. package/dist/esm/chunk-KGJITNRZ.mjs +0 -2
  371. package/dist/esm/chunk-KGJITNRZ.mjs.map +0 -1
  372. package/dist/esm/chunk-KOCKKI4F.mjs +0 -2
  373. package/dist/esm/chunk-NWLZDI2I.mjs +0 -2
  374. package/dist/esm/chunk-NWLZDI2I.mjs.map +0 -1
  375. package/dist/esm/chunk-OKG6X5TX.mjs.map +0 -1
  376. package/dist/esm/chunk-OKRUEVF3.mjs +0 -2
  377. package/dist/esm/chunk-OKRUEVF3.mjs.map +0 -1
  378. package/dist/esm/chunk-OYTLWUQT.mjs +0 -2
  379. package/dist/esm/chunk-OYTLWUQT.mjs.map +0 -1
  380. package/dist/esm/chunk-P5VCS2F5.mjs +0 -2
  381. package/dist/esm/chunk-P5VCS2F5.mjs.map +0 -1
  382. package/dist/esm/chunk-R4UIPTBH.mjs +0 -2
  383. package/dist/esm/chunk-R4UIPTBH.mjs.map +0 -1
  384. package/dist/esm/chunk-R7BAM2G6.mjs +0 -2
  385. package/dist/esm/chunk-R7BAM2G6.mjs.map +0 -1
  386. package/dist/esm/chunk-RFSO3JRG.mjs +0 -1
  387. package/dist/esm/chunk-RFSO3JRG.mjs.map +0 -1
  388. package/dist/esm/chunk-S5HG2QUD.mjs +0 -2
  389. package/dist/esm/chunk-S5HG2QUD.mjs.map +0 -1
  390. package/dist/esm/chunk-SA7MZPM3.mjs +0 -2
  391. package/dist/esm/chunk-SA7MZPM3.mjs.map +0 -1
  392. package/dist/esm/chunk-TFJCMFKE.mjs.map +0 -1
  393. package/dist/esm/chunk-TV64AINP.mjs.map +0 -1
  394. package/dist/esm/chunk-VTX77UM3.mjs +0 -2
  395. package/dist/esm/chunk-VTX77UM3.mjs.map +0 -1
  396. package/dist/esm/chunk-WPVBC4JS.mjs +0 -2
  397. package/dist/esm/chunk-WPVBC4JS.mjs.map +0 -1
  398. package/dist/esm/chunk-WTVN3XGK.mjs +0 -2
  399. package/dist/esm/chunk-WTVN3XGK.mjs.map +0 -1
  400. package/dist/esm/chunk-X7GVXVT4.mjs +0 -2
  401. package/dist/esm/chunk-YE5B2S5L.mjs +0 -2
  402. package/dist/esm/chunk-YE5B2S5L.mjs.map +0 -1
  403. package/dist/esm/chunk-YH6UKGIX.mjs +0 -2
  404. package/dist/esm/chunk-YH6UKGIX.mjs.map +0 -1
  405. package/dist/esm/core/crypto/ephemeral.d.mts +0 -77
  406. package/dist/esm/core/crypto/ephemeral.mjs +0 -2
  407. package/dist/esm/core/crypto/ephemeral.mjs.map +0 -1
  408. package/dist/esm/core/crypto/keyless.d.mts +0 -217
  409. package/dist/esm/core/crypto/keyless.mjs +0 -2
  410. package/dist/esm/core/crypto/keyless.mjs.map +0 -1
  411. package/dist/esm/core/crypto/poseidon.d.mts +0 -7
  412. package/dist/esm/core/crypto/poseidon.mjs +0 -2
  413. package/dist/esm/core/crypto/poseidon.mjs.map +0 -1
  414. package/dist/esm/internal/keyless.d.mts +0 -67
  415. package/dist/esm/internal/keyless.mjs +0 -2
  416. package/dist/esm/internal/keyless.mjs.map +0 -1
  417. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +0 -47
  418. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +0 -2
  419. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +0 -1
  420. package/dist/esm/types/keyless.d.mts +0 -14
  421. package/dist/esm/types/keyless.mjs +0 -1
  422. package/dist/esm/types/keyless.mjs.map +0 -1
  423. package/src/account/EphemeralKeyPair.ts +0 -123
  424. package/src/account/KeylessAccount.ts +0 -299
  425. package/src/account/MultiKeyAccount.ts +0 -119
  426. package/src/account/index.ts +0 -6
  427. package/src/api/keyless.ts +0 -35
  428. package/src/core/crypto/ephemeral.ts +0 -149
  429. package/src/core/crypto/keyless.ts +0 -508
  430. package/src/core/crypto/poseidon.ts +0 -134
  431. package/src/internal/keyless.ts +0 -188
  432. package/src/transactions/transactionBuilder/signingMessage.ts +0 -70
  433. package/src/types/keyless.ts +0 -6
  434. /package/dist/esm/{chunk-MJGZJL3W.mjs.map → chunk-2G4ZSGL4.mjs.map} +0 -0
  435. /package/dist/esm/{chunk-UKJUHLZW.mjs.map → chunk-3YZGJLW7.mjs.map} +0 -0
  436. /package/dist/esm/{chunk-KFJMLLOA.mjs.map → chunk-4P5EKAJB.mjs.map} +0 -0
  437. /package/dist/esm/{chunk-DIBNAYZ2.mjs.map → chunk-5HY3DEPF.mjs.map} +0 -0
  438. /package/dist/esm/{chunk-NPNAKSCR.mjs.map → chunk-6OV2PQS5.mjs.map} +0 -0
  439. /package/dist/esm/{chunk-W637YAND.mjs.map → chunk-BAV4XY7C.mjs.map} +0 -0
  440. /package/dist/esm/{chunk-3YNRBMPS.mjs.map → chunk-BE4FOV6X.mjs.map} +0 -0
  441. /package/dist/esm/{chunk-33WBJV5U.mjs.map → chunk-BIAEC6FO.mjs.map} +0 -0
  442. /package/dist/esm/{chunk-MWUJCP27.mjs.map → chunk-BWFJHFBQ.mjs.map} +0 -0
  443. /package/dist/esm/{chunk-ZGTJMNZG.mjs.map → chunk-CF5R4HVB.mjs.map} +0 -0
  444. /package/dist/esm/{chunk-3VGX3TXH.mjs.map → chunk-DMKUAQB7.mjs.map} +0 -0
  445. /package/dist/esm/{chunk-MGOHPDX4.mjs.map → chunk-DSTKXJMA.mjs.map} +0 -0
  446. /package/dist/esm/{account/Account.mjs.map → chunk-E7FWVXGX.mjs.map} +0 -0
  447. /package/dist/esm/{chunk-EB7AI4B4.mjs.map → chunk-FS3NSGBF.mjs.map} +0 -0
  448. /package/dist/esm/{chunk-7H3HRFVM.mjs.map → chunk-FXNFWLQC.mjs.map} +0 -0
  449. /package/dist/esm/{chunk-T23OVRNF.mjs.map → chunk-IOSQVDZI.mjs.map} +0 -0
  450. /package/dist/esm/{chunk-YGB7MEH3.mjs.map → chunk-IR46T46A.mjs.map} +0 -0
  451. /package/dist/esm/{chunk-RDNPWCZ4.mjs.map → chunk-JCD72AW7.mjs.map} +0 -0
  452. /package/dist/esm/{chunk-GI52SX32.mjs.map → chunk-L5IL2IAB.mjs.map} +0 -0
  453. /package/dist/esm/{account/Ed25519Account.mjs.map → chunk-MLWIHWNH.mjs.map} +0 -0
  454. /package/dist/esm/{chunk-A7L2Z5DW.mjs.map → chunk-N77VJHW5.mjs.map} +0 -0
  455. /package/dist/esm/{chunk-7STYQ5ZE.mjs.map → chunk-NPFNYP75.mjs.map} +0 -0
  456. /package/dist/esm/{chunk-LV7OW245.mjs.map → chunk-NWYIE7ZX.mjs.map} +0 -0
  457. /package/dist/esm/{chunk-5QBTBH64.mjs.map → chunk-NZGRLKRG.mjs.map} +0 -0
  458. /package/dist/esm/{chunk-PTIZKRON.mjs.map → chunk-O4JRPZZM.mjs.map} +0 -0
  459. /package/dist/esm/{chunk-Z2ZR4PTF.mjs.map → chunk-OGHE4AQA.mjs.map} +0 -0
  460. /package/dist/esm/{chunk-6RBUXB5I.mjs.map → chunk-QIAHBEEW.mjs.map} +0 -0
  461. /package/dist/esm/{chunk-ODTNF2YP.mjs.map → chunk-QIAU5K5Y.mjs.map} +0 -0
  462. /package/dist/esm/{chunk-NC5HHEEM.mjs.map → chunk-QTRYMRYK.mjs.map} +0 -0
  463. /package/dist/esm/{chunk-STYDBDYL.mjs.map → chunk-R5QUBEH6.mjs.map} +0 -0
  464. /package/dist/esm/{account/EphemeralKeyPair.mjs.map → chunk-R7G3CLRI.mjs.map} +0 -0
  465. /package/dist/esm/{chunk-ZNEBMSNC.mjs.map → chunk-RHBCVCOS.mjs.map} +0 -0
  466. /package/dist/esm/{chunk-T7JIGO3O.mjs.map → chunk-S2LTZKM4.mjs.map} +0 -0
  467. /package/dist/esm/{chunk-6CQH7JPF.mjs.map → chunk-SPU745XV.mjs.map} +0 -0
  468. /package/dist/esm/{chunk-3FVRXELT.mjs.map → chunk-TBMAJ6AW.mjs.map} +0 -0
  469. /package/dist/esm/{chunk-IEZO4PIG.mjs.map → chunk-TGXZVNR5.mjs.map} +0 -0
  470. /package/dist/esm/{chunk-PFFAQZHT.mjs.map → chunk-U43IJHQN.mjs.map} +0 -0
  471. /package/dist/esm/{chunk-HGZGTBA4.mjs.map → chunk-UML2VQZT.mjs.map} +0 -0
  472. /package/dist/esm/{chunk-KOCKKI4F.mjs.map → chunk-UNU3RVRJ.mjs.map} +0 -0
  473. /package/dist/esm/{chunk-MKUAW7KW.mjs.map → chunk-UPIN5AIO.mjs.map} +0 -0
  474. /package/dist/esm/{account/KeylessAccount.mjs.map → chunk-UVSRX4SV.mjs.map} +0 -0
  475. /package/dist/esm/{chunk-YI7FZPIK.mjs.map → chunk-WCVUDO5S.mjs.map} +0 -0
  476. /package/dist/esm/{chunk-COW5IGYC.mjs.map → chunk-WFZDFFBM.mjs.map} +0 -0
  477. /package/dist/esm/{chunk-XHPLLMR5.mjs.map → chunk-XO3HHRJV.mjs.map} +0 -0
  478. /package/dist/esm/{chunk-C3L4ETUF.mjs.map → chunk-ZYYK3UXP.mjs.map} +0 -0
  479. /package/dist/esm/{account/MultiKeyAccount.mjs.map → cli/move.mjs.map} +0 -0
  480. /package/dist/esm/{account/SingleKeyAccount.mjs.map → core/account/Account.mjs.map} +0 -0
  481. /package/dist/esm/{account/index.mjs.map → core/account/Ed25519Account.mjs.map} +0 -0
  482. /package/dist/esm/{api/keyless.mjs.map → core/account/SingleKeyAccount.mjs.map} +0 -0
@@ -1,299 +0,0 @@
1
- // Copyright © Aptos Foundation
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { JwtPayload, jwtDecode } from "jwt-decode";
5
- import { decode } from "base-64";
6
- import EventEmitter from "eventemitter3";
7
- import { HexInput, SigningScheme } from "../types";
8
- import { AccountAddress } from "../core/accountAddress";
9
- import {
10
- AnyPublicKey,
11
- AnySignature,
12
- KeylessPublicKey,
13
- KeylessSignature,
14
- OpenIdSignature,
15
- OpenIdSignatureOrZkProof,
16
- Signature,
17
- SignedGroth16Signature,
18
- computeAddressSeed,
19
- fromDerivationPath as fromDerivationPathInner,
20
- } from "../core/crypto";
21
-
22
- import { Account } from "./Account";
23
- import { EphemeralKeyPair } from "./EphemeralKeyPair";
24
- import { Hex } from "../core/hex";
25
- import { AccountAuthenticatorSingleKey } from "../transactions/authenticator/account";
26
- import { Deserializer, Serializer } from "../bcs";
27
- import { deriveTransactionType, generateSigningMessage } from "../transactions/transactionBuilder/signingMessage";
28
- import { AnyRawTransaction } from "../transactions/types";
29
-
30
- function base64UrlDecode(base64Url: string): string {
31
- // Replace base64url-specific characters
32
- const base64 = base64Url.replace(/-/g, "+").replace(/_/g, "/");
33
-
34
- // Pad the string with '=' characters if needed
35
- const paddedBase64 = base64 + "==".substring(0, (3 - (base64.length % 3)) % 3);
36
-
37
- // Decode the base64 string using the base-64 library
38
- const decodedString = decode(paddedBase64);
39
-
40
- return decodedString;
41
- }
42
-
43
- export type ProofFetchSuccess = {
44
- status: "Success";
45
- };
46
-
47
- export type ProofFetchFailure = {
48
- status: "Failed";
49
- error: string;
50
- };
51
-
52
- export type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure
53
-
54
- export type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;
55
-
56
- export interface ProofFetchEvents {
57
- proofFetchFinish: (status: ProofFetchStatus) => void;
58
- }
59
-
60
- export class KeylessAccount implements Account {
61
- static readonly PEPPER_LENGTH: number = 31;
62
-
63
- static readonly SLIP_0010_SEED: string = "32 bytes";
64
-
65
- publicKey: KeylessPublicKey;
66
-
67
- ephemeralKeyPair: EphemeralKeyPair;
68
-
69
- uidKey: string;
70
-
71
- uidVal: string;
72
-
73
- aud: string;
74
-
75
- pepper: Uint8Array;
76
-
77
- accountAddress: AccountAddress;
78
-
79
- proof: SignedGroth16Signature | undefined;
80
-
81
- proofOrPromise: SignedGroth16Signature | Promise<SignedGroth16Signature>;
82
-
83
- signingScheme: SigningScheme;
84
-
85
- jwt: string;
86
-
87
- emitter: EventEmitter<ProofFetchEvents>;
88
-
89
- constructor(args: {
90
- address?: AccountAddress;
91
- ephemeralKeyPair: EphemeralKeyPair;
92
- iss: string;
93
- uidKey: string;
94
- uidVal: string;
95
- aud: string;
96
- pepper: HexInput;
97
- proofOrFetcher: SignedGroth16Signature | Promise<SignedGroth16Signature>;
98
- proofFetchCallback?: ProofFetchCallback
99
- jwt: string;
100
- }) {
101
- const { address, ephemeralKeyPair, iss, uidKey, uidVal, aud, pepper, proofOrFetcher, proofFetchCallback, jwt } = args;
102
- this.ephemeralKeyPair = ephemeralKeyPair;
103
- const addressSeed = computeAddressSeed(args);
104
- this.publicKey = new KeylessPublicKey(iss, addressSeed);
105
- this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
106
- this.uidKey = uidKey;
107
- this.uidVal = uidVal;
108
- this.aud = aud;
109
- this.jwt = jwt;
110
- this.emitter = new EventEmitter<ProofFetchEvents>();
111
- this.proofOrPromise = proofOrFetcher;
112
- if (proofOrFetcher instanceof SignedGroth16Signature) {
113
- this.proof = proofOrFetcher;
114
- } else {
115
- if (proofFetchCallback === undefined) {
116
- throw new Error("Must provide callback")
117
- }
118
- this.emitter.on("proofFetchFinish", async (status) => {
119
- await proofFetchCallback(status);
120
- this.emitter.removeAllListeners();
121
- });
122
- this.init(proofOrFetcher);
123
- }
124
-
125
-
126
- this.signingScheme = SigningScheme.SingleKey;
127
- const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();
128
- if (pepperBytes.length !== KeylessAccount.PEPPER_LENGTH) {
129
- throw new Error(`Pepper length in bytes should be ${KeylessAccount.PEPPER_LENGTH}`);
130
- }
131
- this.pepper = pepperBytes;
132
- }
133
-
134
- async init(promise: Promise<SignedGroth16Signature>) {
135
- try {
136
- this.proof = await promise;
137
- this.emitter.emit("proofFetchFinish", {status: "Success"});
138
- } catch (error) {
139
- if (error instanceof Error) {
140
- this.emitter.emit("proofFetchFinish", {status: "Failed", error: error.toString()});
141
- } else {
142
- this.emitter.emit("proofFetchFinish", {status: "Failed", error: "Unknown"});
143
- }
144
- }
145
- }
146
-
147
- serialize(serializer: Serializer): void {
148
- serializer.serializeStr(this.jwt);
149
- serializer.serializeStr(this.uidKey);
150
- serializer.serializeFixedBytes(this.pepper);
151
- this.ephemeralKeyPair.serialize(serializer);
152
- if (this.proof === undefined) {
153
- throw new Error("Connot serialize - proof undefined")
154
- }
155
- this.proof.serialize(serializer);
156
- }
157
-
158
- static deserialize(deserializer: Deserializer): KeylessAccount {
159
- const jwt = deserializer.deserializeStr();
160
- const uidKey = deserializer.deserializeStr();
161
- const pepper = deserializer.deserializeFixedBytes(31);
162
- const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
163
- const proof = SignedGroth16Signature.deserialize(deserializer);
164
- return KeylessAccount.fromJWTAndProof({
165
- proof,
166
- pepper,
167
- uidKey,
168
- jwt,
169
- ephemeralKeyPair,
170
- });
171
- }
172
-
173
- isExpired(): boolean {
174
- return this.ephemeralKeyPair.isExpired();
175
- }
176
-
177
- bcsToBytes(): Uint8Array {
178
- const serializer = new Serializer();
179
- this.serialize(serializer);
180
- return serializer.toUint8Array();
181
- }
182
-
183
- bcsToHex(): Hex {
184
- const bcsBytes = this.bcsToBytes();
185
- return Hex.fromHexInput(bcsBytes);
186
- }
187
-
188
- signWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {
189
- const raw = deriveTransactionType(transaction);
190
- const signature = new AnySignature(this.sign(raw.bcsToBytes()));
191
- const publicKey = new AnyPublicKey(this.publicKey);
192
- return new AccountAuthenticatorSingleKey(publicKey, signature);
193
- }
194
-
195
- async waitForProofFetch() {
196
- if (this.proofOrPromise instanceof Promise) {
197
- await this.proofOrPromise;
198
- }
199
- }
200
-
201
- sign(data: HexInput): Signature {
202
- const { expiryDateSecs } = this.ephemeralKeyPair;
203
- const currentTimeInSeconds = Math.floor(new Date().getTime() / 1000);
204
- if (expiryDateSecs < currentTimeInSeconds) {
205
- throw new Error("Ephemeral key pair is expired.");
206
- }
207
- if (this.proof === undefined) {
208
- throw new Error("Proof not found");
209
- }
210
- const jwtHeader = this.jwt.split(".")[0];
211
- const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();
212
-
213
- const serializer = new Serializer();
214
- serializer.serializeFixedBytes(Hex.fromHexInput(data).toUint8Array());
215
- serializer.serializeOption(this.proof.proof);
216
- const signMess = generateSigningMessage(serializer.toUint8Array(), "APTOS::TransactionAndProof");
217
-
218
- const ephemeralSignature = this.ephemeralKeyPair.sign(signMess);
219
-
220
- return new KeylessSignature({
221
- jwtHeader: base64UrlDecode(jwtHeader),
222
- openIdSignatureOrZkProof: new OpenIdSignatureOrZkProof(this.proof),
223
- expiryDateSecs,
224
- ephemeralPublicKey,
225
- ephemeralSignature,
226
- });
227
- }
228
-
229
- signTransaction(transaction: AnyRawTransaction): Signature {
230
- const raw = deriveTransactionType(transaction);
231
- return this.sign(raw.bcsToBytes());
232
- }
233
-
234
- signWithOpenIdSignature(data: HexInput): Signature {
235
- const [jwtHeader, jwtPayload, jwtSignature] = this.jwt.split(".");
236
- const openIdSig = new OpenIdSignature({
237
- jwtSignature,
238
- jwtPayloadJson: jwtPayload,
239
- uidKey: this.uidKey,
240
- epkBlinder: this.ephemeralKeyPair.blinder,
241
- pepper: this.pepper,
242
- });
243
-
244
- const { expiryDateSecs } = this.ephemeralKeyPair;
245
- const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();
246
- const ephemeralSignature = this.ephemeralKeyPair.sign(data);
247
- return new KeylessSignature({
248
- jwtHeader,
249
- openIdSignatureOrZkProof: new OpenIdSignatureOrZkProof(openIdSig),
250
- expiryDateSecs,
251
- ephemeralPublicKey,
252
- ephemeralSignature,
253
- });
254
- }
255
-
256
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this
257
- verifySignature(args: { message: HexInput; signature: Signature }): boolean {
258
- return true;
259
- }
260
-
261
- static fromBytes(bytes: Uint8Array): KeylessAccount {
262
- return KeylessAccount.deserialize(new Deserializer(bytes));
263
- }
264
-
265
- static fromJWTAndProof(args: {
266
- proof: SignedGroth16Signature | Promise<SignedGroth16Signature>;
267
- jwt: string;
268
- ephemeralKeyPair: EphemeralKeyPair;
269
- pepper: HexInput;
270
- uidKey?: string;
271
- proofFetchCallback?: ProofFetchCallback;
272
- }): KeylessAccount {
273
- const { proof, jwt, ephemeralKeyPair, pepper, proofFetchCallback } = args;
274
- const uidKey = args.uidKey ?? "sub";
275
-
276
- const jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);
277
- const iss = jwtPayload.iss!;
278
- if (typeof jwtPayload.aud !== "string") {
279
- throw new Error("aud was not found or an array of values");
280
- }
281
- const aud = jwtPayload.aud!;
282
- const uidVal = jwtPayload[uidKey];
283
- return new KeylessAccount({
284
- proofOrFetcher: proof,
285
- ephemeralKeyPair,
286
- iss,
287
- uidKey,
288
- uidVal,
289
- aud,
290
- pepper,
291
- jwt,
292
- proofFetchCallback,
293
- });
294
- }
295
-
296
- static fromDerivationPath(path: string, seed: Uint8Array): Uint8Array {
297
- return fromDerivationPathInner(path, KeylessAccount.SLIP_0010_SEED, seed);
298
- }
299
- }
@@ -1,119 +0,0 @@
1
- // Copyright © Aptos Foundation
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { Account } from "./Account";
5
- import { MultiKey, MultiSignature, PublicKey, Signature } from "../core/crypto";
6
- import { AccountAddress } from "../core/accountAddress";
7
- import { HexInput, SigningScheme } from "../types";
8
- import { AccountAuthenticatorMultiKey } from "../transactions/authenticator/account";
9
- import { AnyRawTransaction } from "../transactions/types";
10
- import { KeylessAccount } from "./KeylessAccount";
11
-
12
- export class MultiKeyAccount implements Account {
13
- /**
14
- * Public key associated with the account
15
- */
16
- readonly publicKey: MultiKey;
17
-
18
- /**
19
- * Account address associated with the account
20
- */
21
- readonly accountAddress: AccountAddress;
22
-
23
- /**
24
- * Signing scheme used to sign transactions
25
- */
26
- readonly signingScheme: SigningScheme;
27
-
28
- signers: Account[];
29
-
30
- signaturesBitmap: Uint8Array;
31
-
32
- /**
33
- * constructor for Account
34
- *
35
- * Need to update this to use the new crypto library if new schemes are added.
36
- *
37
- * @param args.privateKey PrivateKey - private key of the account
38
- * @param args.address AccountAddress - address of the account
39
- * @param args.legacy optional. If set to false, the keypair authentication keys will be derived with a unified scheme.
40
- * Defaults to deriving an authentication key with the legacy scheme.
41
- *
42
- * This method is private because it should only be called by the factory static methods.
43
- * @returns Account
44
- */
45
- constructor(args: { multiKey: MultiKey; signers: Account[] }) {
46
- const { multiKey, signers } = args;
47
-
48
- this.publicKey = multiKey;
49
- this.signers = signers;
50
- this.signingScheme = SigningScheme.MultiKey;
51
-
52
- this.accountAddress = this.publicKey.authKey().derivedAddress();
53
-
54
- const bits: number[] = [];
55
- for (const signer of signers) {
56
- bits.push(this.publicKey.getIndex(signer.publicKey));
57
- }
58
- this.signaturesBitmap = this.publicKey.createBitmap({ bits });
59
- }
60
-
61
- static fromPublicKeysAndSigners(args: {
62
- publicKeys: PublicKey[];
63
- signaturesRequired: number;
64
- signers: Account[];
65
- }): MultiKeyAccount {
66
- const { publicKeys, signaturesRequired, signers } = args;
67
- const multiKey = new MultiKey({ publicKeys, signaturesRequired });
68
- return new MultiKeyAccount({ multiKey, signers });
69
- }
70
-
71
- static isMultiKeySigner(account: Account): account is MultiKeyAccount {
72
- return account instanceof MultiKeyAccount;
73
- }
74
-
75
- signWithAuthenticator(transaction: AnyRawTransaction) {
76
- return new AccountAuthenticatorMultiKey(this.publicKey, this.signTransaction(transaction));
77
- }
78
-
79
- async waitForProofFetch() {
80
- const keylessSigners = this.signers.filter((signer) => signer instanceof KeylessAccount) as KeylessAccount[];
81
- await Promise.all(keylessSigners.filter((signer) => signer.proof instanceof Promise).map((signer) => signer.proof));
82
- }
83
-
84
- /**
85
- * Sign the given message with the private key.
86
- *
87
- * TODO: Add sign transaction or specific types
88
- *
89
- * @param data in HexInput format
90
- * @returns Signature
91
- */
92
- sign(data: HexInput): MultiSignature {
93
- const signatures = [];
94
- for (const signer of this.signers) {
95
- signatures.push(signer.sign(data));
96
- }
97
- return new MultiSignature({ signatures, bitmap: this.signaturesBitmap });
98
- }
99
-
100
- signTransaction(transaction: AnyRawTransaction) {
101
- const signatures = [];
102
- for (const signer of this.signers) {
103
- signatures.push(signer.signTransaction(transaction));
104
- }
105
- return new MultiSignature({ signatures, bitmap: this.signaturesBitmap });
106
- }
107
-
108
- /**
109
- * Verify the given message and signature with the public key.
110
- *
111
- * @param args.message raw message data in HexInput format
112
- * @param args.signature signed message Signature
113
- * @returns
114
- */
115
- // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
116
- verifySignature(args: { message: HexInput; signature: Signature }): boolean {
117
- return true;
118
- }
119
- }
@@ -1,6 +0,0 @@
1
- export * from "./Ed25519Account";
2
- export * from "./Account";
3
- export * from "./SingleKeyAccount";
4
- export * from "./KeylessAccount";
5
- export * from "./EphemeralKeyPair";
6
- export * from "./MultiKeyAccount";
@@ -1,35 +0,0 @@
1
- // Copyright © Aptos Foundation
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { EphemeralKeyPair, KeylessAccount, ProofFetchCallback } from "../account";
5
- import { deriveKeylessAccount, getPepper } from "../internal/keyless";
6
- import { HexInput } from "../types";
7
- import { AptosConfig } from "./aptosConfig";
8
-
9
- /**
10
- * A class to query all `OIDB` related queries on Aptos.
11
- */
12
- export class Keyless {
13
- constructor(readonly config: AptosConfig) {}
14
-
15
- /**
16
- * TODO
17
- *
18
- * @param args.jwt jwt token
19
- * @returns The pepper
20
- */
21
- async getPepper(args: { jwt: string; ephemeralKeyPair: EphemeralKeyPair }): Promise<Uint8Array> {
22
- return getPepper({ aptosConfig: this.config, ...args });
23
- }
24
-
25
- async deriveKeylessAccount(args: {
26
- jwt: string;
27
- ephemeralKeyPair: EphemeralKeyPair;
28
- uidKey?: string;
29
- pepper?: HexInput;
30
- extraFieldKey?: string;
31
- proofFetchCallback?: ProofFetchCallback;
32
- }): Promise<KeylessAccount> {
33
- return deriveKeylessAccount({ aptosConfig: this.config, ...args });
34
- }
35
- }
@@ -1,149 +0,0 @@
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 keys and signatures for Aptos Keyless accounts.
10
- *
11
- * TODO
12
- */
13
- export class EphemeralPublicKey extends PublicKey {
14
- /**
15
- * Reference to the inner public key
16
- */
17
- public readonly publicKey: PublicKey;
18
-
19
- public readonly variant: EphemeralPublicKeyVariant;
20
-
21
- constructor(publicKey: PublicKey) {
22
- super();
23
- const publicKeyType = publicKey.constructor.name;
24
- switch (publicKeyType) {
25
- case Ed25519PublicKey.name:
26
- this.publicKey = publicKey;
27
- this.variant = EphemeralPublicKeyVariant.Ed25519;
28
- break;
29
- default:
30
- throw new Error(`Unsupported key for EphemeralPublicKey - ${publicKeyType}`);
31
- }
32
- }
33
-
34
- /**
35
- * Get the public key in bytes (Uint8Array).
36
- *
37
- * @returns Uint8Array representation of the public key
38
- */
39
- toUint8Array(): Uint8Array {
40
- return this.bcsToBytes();
41
- }
42
-
43
- /**
44
- * Get the public key as a hex string with the 0x prefix.
45
- *
46
- * @returns string representation of the public key
47
- */
48
- toString(): string {
49
- return this.bcsToHex().toString();
50
- }
51
-
52
- /**
53
- * Verifies a signed data with a public key
54
- *
55
- * @param args.message message
56
- * @param args.signature The signature
57
- * @returns true if the signature is valid
58
- */
59
- verifySignature(args: { message: HexInput; signature: EphemeralSignature }): boolean {
60
- const { message, signature } = args;
61
- return this.publicKey.verifySignature({ message, signature });
62
- }
63
-
64
- serialize(serializer: Serializer): void {
65
- if (this.publicKey instanceof Ed25519PublicKey) {
66
- serializer.serializeU32AsUleb128(EphemeralPublicKeyVariant.Ed25519);
67
- this.publicKey.serialize(serializer);
68
- } else {
69
- throw new Error("Unknown public key type");
70
- }
71
- }
72
-
73
- static deserialize(deserializer: Deserializer): EphemeralPublicKey {
74
- const index = deserializer.deserializeUleb128AsU32();
75
- switch (index) {
76
- case EphemeralPublicKeyVariant.Ed25519:
77
- return new EphemeralPublicKey(Ed25519PublicKey.deserialize(deserializer));
78
- default:
79
- throw new Error(`Unknown variant index for EphemeralPublicKey: ${index}`);
80
- }
81
- }
82
-
83
- static isPublicKey(publicKey: PublicKey): publicKey is EphemeralPublicKey {
84
- return publicKey instanceof EphemeralPublicKey;
85
- }
86
-
87
- isEd25519(): this is Ed25519PublicKey {
88
- return this.publicKey instanceof Ed25519PublicKey;
89
- }
90
- }
91
-
92
- export class EphemeralSignature extends Signature {
93
- public readonly signature: Signature;
94
-
95
- constructor(signature: Signature) {
96
- super();
97
- const signatureType = signature.constructor.name;
98
- switch (signatureType) {
99
- case Ed25519Signature.name:
100
- this.signature = signature;
101
- break;
102
- default:
103
- throw new Error(`Unsupported signature for EphemeralSignature - ${signatureType}`);
104
- }
105
- }
106
-
107
- /**
108
- * Get the public key in bytes (Uint8Array).
109
- *
110
- * @returns Uint8Array representation of the public key
111
- */
112
- toUint8Array(): Uint8Array {
113
- return this.signature.toUint8Array();
114
- }
115
-
116
- /**
117
- * Get the public key as a hex string with the 0x prefix.
118
- *
119
- * @returns string representation of the public key
120
- */
121
- toString(): string {
122
- return this.signature.toString();
123
- }
124
-
125
- static fromHex(hexInput: HexInput): EphemeralSignature {
126
- const data = Hex.fromHexInput(hexInput);
127
- const deserializer = new Deserializer(data.toUint8Array());
128
- return EphemeralSignature.deserialize(deserializer);
129
- }
130
-
131
- serialize(serializer: Serializer): void {
132
- if (this.signature instanceof Ed25519Signature) {
133
- serializer.serializeU32AsUleb128(EphemeralSignatureVariant.Ed25519);
134
- this.signature.serialize(serializer);
135
- } else {
136
- throw new Error("Unknown signature type");
137
- }
138
- }
139
-
140
- static deserialize(deserializer: Deserializer): EphemeralSignature {
141
- const index = deserializer.deserializeUleb128AsU32();
142
- switch (index) {
143
- case EphemeralSignatureVariant.Ed25519:
144
- return new EphemeralSignature(Ed25519Signature.deserialize(deserializer));
145
- default:
146
- throw new Error(`Unknown variant index for EphemeralSignature: ${index}`);
147
- }
148
- }
149
- }