@aptos-labs/ts-sdk 1.12.2 → 1.13.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 (536) hide show
  1. package/dist/common/chunk-KSEUZTKY.js +2 -0
  2. package/dist/common/chunk-KSEUZTKY.js.map +1 -0
  3. package/dist/common/cli/index.d.ts +37 -0
  4. package/dist/common/cli/index.js +2 -0
  5. package/dist/common/cli/index.js.map +1 -0
  6. package/dist/common/index.d.ts +2133 -1399
  7. package/dist/common/index.js +26 -26
  8. package/dist/common/index.js.map +1 -1
  9. package/dist/esm/{Ed25519Account-DHqzsb8B.d.mts → Ed25519Account-hkKk3b4Z.d.mts} +12 -14
  10. package/dist/esm/account/Account.d.mts +34 -0
  11. package/dist/esm/account/Account.mjs +2 -0
  12. package/dist/esm/account/Ed25519Account.d.mts +34 -0
  13. package/dist/esm/account/Ed25519Account.mjs +2 -0
  14. package/dist/esm/account/EphemeralKeyPair.d.mts +42 -0
  15. package/dist/esm/account/EphemeralKeyPair.mjs +2 -0
  16. package/dist/esm/account/KeylessAccount.d.mts +85 -0
  17. package/dist/esm/account/KeylessAccount.mjs +2 -0
  18. package/dist/esm/account/MultiKeyAccount.d.mts +99 -0
  19. package/dist/esm/account/MultiKeyAccount.mjs +2 -0
  20. package/dist/esm/account/SingleKeyAccount.d.mts +34 -0
  21. package/dist/esm/account/SingleKeyAccount.mjs +2 -0
  22. package/dist/esm/account/index.d.mts +39 -0
  23. package/dist/esm/account/index.mjs +2 -0
  24. package/dist/esm/api/account.d.mts +62 -9
  25. package/dist/esm/api/account.mjs +1 -1
  26. package/dist/esm/api/ans.d.mts +20 -28
  27. package/dist/esm/api/ans.mjs +1 -1
  28. package/dist/esm/api/aptos.d.mts +20 -9
  29. package/dist/esm/api/aptos.mjs +1 -1
  30. package/dist/esm/api/aptosConfig.d.mts +24 -0
  31. package/dist/esm/api/aptosConfig.mjs +1 -1
  32. package/dist/esm/api/coin.d.mts +14 -7
  33. package/dist/esm/api/coin.mjs +1 -1
  34. package/dist/esm/api/digitalAsset.d.mts +149 -10
  35. package/dist/esm/api/digitalAsset.mjs +1 -1
  36. package/dist/esm/api/event.d.mts +13 -8
  37. package/dist/esm/api/event.mjs +1 -1
  38. package/dist/esm/api/faucet.d.mts +3 -0
  39. package/dist/esm/api/faucet.mjs +1 -1
  40. package/dist/esm/api/fungibleAsset.d.mts +36 -13
  41. package/dist/esm/api/fungibleAsset.mjs +1 -1
  42. package/dist/esm/api/general.d.mts +55 -32
  43. package/dist/esm/api/general.mjs +1 -1
  44. package/dist/esm/api/index.d.mts +15 -9
  45. package/dist/esm/api/index.mjs +1 -1
  46. package/dist/esm/api/keyless.d.mts +75 -0
  47. package/dist/esm/api/keyless.mjs +2 -0
  48. package/dist/esm/api/staking.d.mts +9 -0
  49. package/dist/esm/api/staking.mjs +1 -1
  50. package/dist/esm/api/transaction.d.mts +59 -16
  51. package/dist/esm/api/transaction.mjs +1 -1
  52. package/dist/esm/api/transactionSubmission/build.d.mts +2 -2
  53. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  54. package/dist/esm/api/transactionSubmission/management.d.mts +9 -9
  55. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  56. package/dist/esm/api/transactionSubmission/sign.d.mts +2 -2
  57. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  58. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  59. package/dist/esm/api/transactionSubmission/simulate.d.mts +7 -7
  60. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  61. package/dist/esm/api/transactionSubmission/submit.d.mts +1 -1
  62. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  63. package/dist/esm/api/utils.mjs +1 -1
  64. package/dist/esm/bcs/index.mjs +1 -1
  65. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
  66. package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
  67. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  68. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  69. package/dist/esm/bcs/serializer.d.mts +2 -0
  70. package/dist/esm/bcs/serializer.mjs +1 -1
  71. package/dist/esm/chunk-2HXKDHMA.mjs +2 -0
  72. package/dist/esm/chunk-2HXKDHMA.mjs.map +1 -0
  73. package/dist/esm/{chunk-IYSHHN5A.mjs → chunk-2I2XAOH7.mjs} +2 -2
  74. package/dist/esm/{chunk-5RUPEEIG.mjs → chunk-2PW2EHCH.mjs} +2 -2
  75. package/dist/esm/chunk-2PW2EHCH.mjs.map +1 -0
  76. package/dist/esm/{chunk-6ILDDGAX.mjs → chunk-2XIT7I5L.mjs} +2 -2
  77. package/dist/esm/chunk-3FVRXELT.mjs +2 -0
  78. package/dist/esm/{chunk-U3YYSIIT.mjs → chunk-3VGX3TXH.mjs} +2 -2
  79. package/dist/esm/{chunk-Y2MYVQVT.mjs → chunk-45D3YXLT.mjs} +2 -2
  80. package/dist/esm/chunk-4FQ63Z6Y.mjs +2 -0
  81. package/dist/esm/chunk-4FQ63Z6Y.mjs.map +1 -0
  82. package/dist/esm/{chunk-OWXKKVWD.mjs → chunk-4QWFCYP2.mjs} +2 -2
  83. package/dist/esm/chunk-4QWFCYP2.mjs.map +1 -0
  84. package/dist/esm/{chunk-Q73VKL3A.mjs → chunk-5IM5TQN4.mjs} +2 -2
  85. package/dist/esm/{chunk-KS7UY4W5.mjs → chunk-67QYMEZE.mjs} +2 -2
  86. package/dist/esm/{chunk-GHYE26Q5.mjs → chunk-6FBKUTGF.mjs} +2 -2
  87. package/dist/esm/chunk-6Q2GNDKL.mjs +2 -0
  88. package/dist/esm/chunk-6RBUXB5I.mjs +2 -0
  89. package/dist/esm/{chunk-SRDIYE3M.mjs.map → chunk-6RBUXB5I.mjs.map} +1 -1
  90. package/dist/esm/{chunk-GQR35QW3.mjs → chunk-77MI5DFB.mjs} +2 -2
  91. package/dist/esm/chunk-77MI5DFB.mjs.map +1 -0
  92. package/dist/esm/{chunk-5EN52MUT.mjs → chunk-7STYQ5ZE.mjs} +2 -2
  93. package/dist/esm/chunk-7Z6DYLCA.mjs +1 -0
  94. package/dist/esm/{chunk-2EZJOBD2.mjs → chunk-ABBKCXG4.mjs} +2 -2
  95. package/dist/esm/chunk-ABBKCXG4.mjs.map +1 -0
  96. package/dist/esm/chunk-ACOL3VVP.mjs +2 -0
  97. package/dist/esm/chunk-ACOL3VVP.mjs.map +1 -0
  98. package/dist/esm/chunk-AFPBV2BQ.mjs +2 -0
  99. package/dist/esm/{chunk-BCUSI3N6.mjs → chunk-AOCNYMMX.mjs} +2 -2
  100. package/dist/esm/chunk-AQ4I7VVB.mjs +1 -0
  101. package/dist/esm/chunk-AQ4I7VVB.mjs.map +1 -0
  102. package/dist/esm/{chunk-IHPWATYH.mjs → chunk-AWMOLZCX.mjs} +2 -2
  103. package/dist/esm/chunk-AWMOLZCX.mjs.map +1 -0
  104. package/dist/esm/chunk-C3L4ETUF.mjs +2 -0
  105. package/dist/esm/chunk-CITY3EV2.mjs +2 -0
  106. package/dist/esm/chunk-CITY3EV2.mjs.map +1 -0
  107. package/dist/esm/chunk-COW5IGYC.mjs +2 -0
  108. package/dist/esm/chunk-CYA2GSRV.mjs +2 -0
  109. package/dist/esm/chunk-CYA2GSRV.mjs.map +1 -0
  110. package/dist/esm/{chunk-TTUXAKCV.mjs → chunk-CYWA4AJF.mjs} +2 -2
  111. package/dist/esm/{chunk-TVHLZDCO.mjs → chunk-DANNIPX2.mjs} +2 -2
  112. package/dist/esm/chunk-DANNIPX2.mjs.map +1 -0
  113. package/dist/esm/{chunk-V6FZ7WZH.mjs → chunk-E3YEX3FR.mjs} +2 -2
  114. package/dist/esm/{chunk-G56GPLTB.mjs → chunk-EB7AI4B4.mjs} +2 -2
  115. package/dist/esm/chunk-EMFDNUP2.mjs +2 -0
  116. package/dist/esm/chunk-EMFDNUP2.mjs.map +1 -0
  117. package/dist/esm/chunk-FBPNHF54.mjs +2 -0
  118. package/dist/esm/chunk-FCVWPGXD.mjs +2 -0
  119. package/dist/esm/chunk-FCVWPGXD.mjs.map +1 -0
  120. package/dist/esm/chunk-FLYEALDB.mjs +2 -0
  121. package/dist/esm/chunk-FLYEALDB.mjs.map +1 -0
  122. package/dist/esm/chunk-G7S2ZX5A.mjs +2 -0
  123. package/dist/esm/chunk-G7S2ZX5A.mjs.map +1 -0
  124. package/dist/esm/{chunk-KAGLWBIJ.mjs → chunk-HGZGTBA4.mjs} +2 -2
  125. package/dist/esm/{chunk-3AYBWD76.mjs → chunk-HJVGZBKN.mjs} +2 -2
  126. package/dist/esm/chunk-HJVGZBKN.mjs.map +1 -0
  127. package/dist/esm/{chunk-KXR3IUJ7.mjs → chunk-INYYKAXD.mjs} +2 -2
  128. package/dist/esm/chunk-J7YWDDUB.mjs +2 -0
  129. package/dist/esm/chunk-J7YWDDUB.mjs.map +1 -0
  130. package/dist/esm/chunk-JDD6TMHU.mjs +2 -0
  131. package/dist/esm/chunk-JDD6TMHU.mjs.map +1 -0
  132. package/dist/esm/chunk-JM3W7AQP.mjs +2 -0
  133. package/dist/esm/chunk-JM3W7AQP.mjs.map +1 -0
  134. package/dist/esm/{chunk-GKGTODGE.mjs → chunk-JNAI5UFZ.mjs} +2 -2
  135. package/dist/esm/chunk-JXCZTOYC.mjs +1 -0
  136. package/dist/esm/chunk-JXCZTOYC.mjs.map +1 -0
  137. package/dist/esm/chunk-KDTQD56P.mjs +2 -0
  138. package/dist/esm/{chunk-MXO53VAI.mjs.map → chunk-KDTQD56P.mjs.map} +1 -1
  139. package/dist/esm/{chunk-C7YANDB2.mjs → chunk-KOWGEMJZ.mjs} +2 -2
  140. package/dist/esm/chunk-KOWGEMJZ.mjs.map +1 -0
  141. package/dist/esm/chunk-KPAKF3K7.mjs +2 -0
  142. package/dist/esm/chunk-KPAKF3K7.mjs.map +1 -0
  143. package/dist/esm/{chunk-UEKKYJGA.mjs → chunk-KR3NQRBA.mjs} +2 -2
  144. package/dist/esm/chunk-KR3NQRBA.mjs.map +1 -0
  145. package/dist/esm/chunk-L4CV3DRL.mjs +2 -0
  146. package/dist/esm/chunk-L4CV3DRL.mjs.map +1 -0
  147. package/dist/esm/{chunk-LPB7SZHL.mjs → chunk-LFTWUMLK.mjs} +2 -2
  148. package/dist/esm/chunk-LPFIDI6C.mjs +2 -0
  149. package/dist/esm/chunk-LPFIDI6C.mjs.map +1 -0
  150. package/dist/esm/chunk-LVYKZS54.mjs +2 -0
  151. package/dist/esm/{chunk-CXR7MOBW.mjs.map → chunk-LVYKZS54.mjs.map} +1 -1
  152. package/dist/esm/chunk-MGOHPDX4.mjs +2 -0
  153. package/dist/esm/chunk-MLPJOS5C.mjs +2 -0
  154. package/dist/esm/chunk-MWUJCP27.mjs +2 -0
  155. package/dist/esm/{chunk-KLAYDUFD.mjs → chunk-MZGNUGEY.mjs} +2 -2
  156. package/dist/esm/chunk-MZGNUGEY.mjs.map +1 -0
  157. package/dist/esm/chunk-NNT3XRRO.mjs +2 -0
  158. package/dist/esm/chunk-NNT3XRRO.mjs.map +1 -0
  159. package/dist/esm/chunk-NUDRQTYI.mjs +2 -0
  160. package/dist/esm/chunk-NUR3TCTI.mjs +2 -0
  161. package/dist/esm/chunk-OOSPASLD.mjs +2 -0
  162. package/dist/esm/chunk-OOSPASLD.mjs.map +1 -0
  163. package/dist/esm/chunk-OVXWFD2N.mjs +2 -0
  164. package/dist/esm/{chunk-CAGDOGXS.mjs.map → chunk-OVXWFD2N.mjs.map} +1 -1
  165. package/dist/esm/{chunk-MJPUASSD.mjs → chunk-PFFAQZHT.mjs} +2 -2
  166. package/dist/esm/chunk-PTIZKRON.mjs +2 -0
  167. package/dist/esm/chunk-PTIZKRON.mjs.map +1 -0
  168. package/dist/esm/chunk-QREYDZ5R.mjs +2 -0
  169. package/dist/esm/chunk-RFSO3JRG.mjs +1 -0
  170. package/dist/esm/chunk-RFSO3JRG.mjs.map +1 -0
  171. package/dist/esm/chunk-S5HG2QUD.mjs +2 -0
  172. package/dist/esm/chunk-S5HG2QUD.mjs.map +1 -0
  173. package/dist/esm/chunk-SHL6OAGA.mjs +2 -0
  174. package/dist/esm/chunk-SHL6OAGA.mjs.map +1 -0
  175. package/dist/esm/chunk-SKXGYGDX.mjs +2 -0
  176. package/dist/esm/chunk-SKXGYGDX.mjs.map +1 -0
  177. package/dist/esm/chunk-STYDBDYL.mjs +2 -0
  178. package/dist/esm/{chunk-QRS4DGP3.mjs → chunk-T23OVRNF.mjs} +2 -2
  179. package/dist/esm/{chunk-QRS4DGP3.mjs.map → chunk-T23OVRNF.mjs.map} +1 -1
  180. package/dist/esm/chunk-T47T7HX4.mjs +2 -0
  181. package/dist/esm/chunk-T47T7HX4.mjs.map +1 -0
  182. package/dist/esm/chunk-TB2KXA2B.mjs +2 -0
  183. package/dist/esm/chunk-TB2KXA2B.mjs.map +1 -0
  184. package/dist/esm/{chunk-EKR6HLSN.mjs → chunk-THVGZXKD.mjs} +2 -2
  185. package/dist/esm/chunk-THVGZXKD.mjs.map +1 -0
  186. package/dist/esm/chunk-TJDC5PWD.mjs +2 -0
  187. package/dist/esm/chunk-TJTZVCPS.mjs +2 -0
  188. package/dist/esm/chunk-TJTZVCPS.mjs.map +1 -0
  189. package/dist/esm/chunk-TR6Q7RSZ.mjs +2 -0
  190. package/dist/esm/chunk-TR6Q7RSZ.mjs.map +1 -0
  191. package/dist/esm/{chunk-36QXVFR5.mjs → chunk-TVRJ3M7B.mjs} +2 -2
  192. package/dist/esm/{chunk-36QXVFR5.mjs.map → chunk-TVRJ3M7B.mjs.map} +1 -1
  193. package/dist/esm/chunk-U7AY6CMF.mjs +2 -0
  194. package/dist/esm/chunk-U7AY6CMF.mjs.map +1 -0
  195. package/dist/esm/{chunk-WHA7RISE.mjs → chunk-UYMZF37A.mjs} +2 -2
  196. package/dist/esm/chunk-VHC2KC7B.mjs +2 -0
  197. package/dist/esm/chunk-VHC2KC7B.mjs.map +1 -0
  198. package/dist/esm/chunk-VHCJCXVZ.mjs +2 -0
  199. package/dist/esm/chunk-VHCJCXVZ.mjs.map +1 -0
  200. package/dist/esm/chunk-VVGV4S24.mjs +2 -0
  201. package/dist/esm/chunk-VVGV4S24.mjs.map +1 -0
  202. package/dist/esm/{chunk-6APZ5TPE.mjs → chunk-W2R2FURG.mjs} +2 -2
  203. package/dist/esm/chunk-W2R2FURG.mjs.map +1 -0
  204. package/dist/esm/chunk-W57M6DIK.mjs +2 -0
  205. package/dist/esm/chunk-WRY7462X.mjs +2 -0
  206. package/dist/esm/chunk-WRY7462X.mjs.map +1 -0
  207. package/dist/esm/chunk-X5XBBEVT.mjs +2 -0
  208. package/dist/esm/chunk-X5XBBEVT.mjs.map +1 -0
  209. package/dist/esm/{chunk-XDXI3TRT.mjs → chunk-XBQEFZD7.mjs} +2 -2
  210. package/dist/esm/{chunk-U43KR4TW.mjs → chunk-Y5ZK4UII.mjs} +2 -2
  211. package/dist/esm/chunk-Y5ZK4UII.mjs.map +1 -0
  212. package/dist/esm/chunk-YP3RMVL3.mjs +2 -0
  213. package/dist/esm/chunk-YP3RMVL3.mjs.map +1 -0
  214. package/dist/esm/{chunk-35EWRSDK.mjs → chunk-ZNEBMSNC.mjs} +2 -2
  215. package/dist/esm/client/core.mjs +1 -1
  216. package/dist/esm/client/get.d.mts +2 -1
  217. package/dist/esm/client/get.mjs +1 -1
  218. package/dist/esm/client/index.d.mts +2 -2
  219. package/dist/esm/client/index.mjs +1 -1
  220. package/dist/esm/client/post.d.mts +3 -1
  221. package/dist/esm/client/post.mjs +1 -1
  222. package/dist/esm/client/types.mjs +1 -1
  223. package/dist/esm/core/account/utils/address.mjs +1 -1
  224. package/dist/esm/core/account/utils/index.mjs +1 -1
  225. package/dist/esm/core/accountAddress.mjs +1 -1
  226. package/dist/esm/core/authenticationKey.d.mts +1 -1
  227. package/dist/esm/core/authenticationKey.mjs +1 -1
  228. package/dist/esm/core/common.mjs +1 -1
  229. package/dist/esm/core/crypto/ed25519.d.mts +9 -12
  230. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  231. package/dist/esm/core/crypto/ephemeral.d.mts +76 -0
  232. package/dist/esm/core/crypto/ephemeral.mjs +2 -0
  233. package/dist/esm/core/crypto/ephemeral.mjs.map +1 -0
  234. package/dist/esm/core/crypto/hdKey.d.mts +15 -1
  235. package/dist/esm/core/crypto/hdKey.mjs +1 -1
  236. package/dist/esm/core/crypto/index.d.mts +8 -6
  237. package/dist/esm/core/crypto/index.mjs +1 -1
  238. package/dist/esm/core/crypto/keyless.d.mts +217 -0
  239. package/dist/esm/core/crypto/keyless.mjs +2 -0
  240. package/dist/esm/core/crypto/keyless.mjs.map +1 -0
  241. package/dist/esm/core/crypto/multiEd25519.d.mts +1 -1
  242. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  243. package/dist/esm/core/crypto/multiKey.d.mts +5 -4
  244. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  245. package/dist/esm/core/crypto/poseidon.d.mts +7 -0
  246. package/dist/esm/core/crypto/poseidon.mjs +2 -0
  247. package/dist/esm/core/crypto/poseidon.mjs.map +1 -0
  248. package/dist/esm/core/crypto/privateKey.d.mts +1 -1
  249. package/dist/esm/core/crypto/publicKey.d.mts +1 -1
  250. package/dist/esm/core/crypto/publicKey.mjs +1 -1
  251. package/dist/esm/core/crypto/secp256k1.d.mts +8 -1
  252. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  253. package/dist/esm/core/crypto/signature.mjs +1 -1
  254. package/dist/esm/core/crypto/singleKey.d.mts +1 -1
  255. package/dist/esm/core/crypto/singleKey.mjs +1 -1
  256. package/dist/esm/core/crypto/utils.mjs +1 -1
  257. package/dist/esm/core/hex.mjs +1 -1
  258. package/dist/esm/core/index.d.mts +7 -8
  259. package/dist/esm/core/index.mjs +1 -1
  260. package/dist/esm/index.d.mts +16 -10
  261. package/dist/esm/index.mjs +1 -1
  262. package/dist/esm/internal/account.d.mts +14 -2
  263. package/dist/esm/internal/account.mjs +1 -1
  264. package/dist/esm/internal/ans.d.mts +4 -4
  265. package/dist/esm/internal/ans.mjs +1 -1
  266. package/dist/esm/internal/coin.d.mts +8 -8
  267. package/dist/esm/internal/coin.mjs +1 -1
  268. package/dist/esm/internal/digitalAsset.d.mts +11 -11
  269. package/dist/esm/internal/digitalAsset.mjs +1 -1
  270. package/dist/esm/internal/event.d.mts +1 -1
  271. package/dist/esm/internal/event.mjs +1 -1
  272. package/dist/esm/internal/faucet.d.mts +1 -1
  273. package/dist/esm/internal/faucet.mjs +1 -1
  274. package/dist/esm/internal/fungibleAsset.d.mts +12 -12
  275. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  276. package/dist/esm/internal/general.mjs +1 -1
  277. package/dist/esm/internal/keyless.d.mts +68 -0
  278. package/dist/esm/internal/keyless.mjs +2 -0
  279. package/dist/esm/internal/keyless.mjs.map +1 -0
  280. package/dist/esm/internal/staking.d.mts +1 -1
  281. package/dist/esm/internal/staking.mjs +1 -1
  282. package/dist/esm/internal/transaction.d.mts +5 -1
  283. package/dist/esm/internal/transaction.mjs +1 -1
  284. package/dist/esm/internal/transactionSubmission.d.mts +2 -2
  285. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  286. package/dist/esm/internal/view.d.mts +7 -7
  287. package/dist/esm/internal/view.mjs +1 -1
  288. package/dist/esm/transactions/authenticator/account.d.mts +4 -5
  289. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  290. package/dist/esm/transactions/authenticator/index.d.mts +1 -1
  291. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  292. package/dist/esm/transactions/authenticator/transaction.d.mts +1 -1
  293. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  294. package/dist/esm/transactions/index.d.mts +3 -3
  295. package/dist/esm/transactions/index.mjs +1 -1
  296. package/dist/esm/transactions/instances/chainId.mjs +1 -1
  297. package/dist/esm/transactions/instances/identifier.mjs +1 -1
  298. package/dist/esm/transactions/instances/index.d.mts +1 -1
  299. package/dist/esm/transactions/instances/index.mjs +1 -1
  300. package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
  301. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  302. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
  303. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  304. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -1
  305. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  306. package/dist/esm/transactions/instances/signedTransaction.d.mts +1 -1
  307. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  308. package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
  309. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
  310. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  311. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +14 -2
  312. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  313. package/dist/esm/transactions/management/index.d.mts +3 -3
  314. package/dist/esm/transactions/management/index.mjs +1 -1
  315. package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
  316. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  317. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +9 -9
  318. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  319. package/dist/esm/transactions/transactionBuilder/index.d.mts +9 -9
  320. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  321. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +6 -6
  322. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  323. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +47 -0
  324. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +2 -0
  325. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +1 -0
  326. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +7 -29
  327. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  328. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  329. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  330. package/dist/esm/transactions/types.d.mts +7 -7
  331. package/dist/esm/types/index.d.mts +18 -3
  332. package/dist/esm/types/index.mjs +1 -1
  333. package/dist/esm/types/keyless.d.mts +14 -0
  334. package/dist/esm/types/keyless.mjs +1 -0
  335. package/dist/esm/types/keyless.mjs.map +1 -0
  336. package/dist/esm/utils/apiEndpoints.d.mts +3 -1
  337. package/dist/esm/utils/apiEndpoints.mjs +1 -1
  338. package/dist/esm/utils/const.d.mts +5 -3
  339. package/dist/esm/utils/const.mjs +1 -1
  340. package/dist/esm/utils/index.d.mts +1 -1
  341. package/dist/esm/utils/index.mjs +1 -1
  342. package/dist/esm/version.d.mts +1 -1
  343. package/dist/esm/version.mjs +1 -1
  344. package/package.json +13 -7
  345. package/src/{core/account → account}/Account.ts +12 -16
  346. package/src/{core/account → account}/Ed25519Account.ts +13 -7
  347. package/src/account/EphemeralKeyPair.ts +78 -0
  348. package/src/account/KeylessAccount.ts +230 -0
  349. package/src/account/MultiKeyAccount.ts +121 -0
  350. package/src/{core/account → account}/SingleKeyAccount.ts +13 -7
  351. package/src/account/index.ts +6 -0
  352. package/src/api/account.ts +50 -8
  353. package/src/api/ans.ts +10 -17
  354. package/src/api/aptos.ts +10 -0
  355. package/src/api/aptosConfig.ts +50 -1
  356. package/src/api/coin.ts +7 -0
  357. package/src/api/digitalAsset.ts +142 -2
  358. package/src/api/event.ts +13 -8
  359. package/src/api/faucet.ts +3 -0
  360. package/src/api/fungibleAsset.ts +28 -4
  361. package/src/api/general.ts +48 -25
  362. package/src/api/keyless.ts +55 -0
  363. package/src/api/staking.ts +9 -0
  364. package/src/api/transaction.ts +59 -15
  365. package/src/api/transactionSubmission/management.ts +1 -1
  366. package/src/api/transactionSubmission/sign.ts +1 -1
  367. package/src/bcs/serializer.ts +18 -0
  368. package/src/client/core.ts +10 -1
  369. package/src/client/get.ts +6 -0
  370. package/src/client/post.ts +13 -0
  371. package/src/core/crypto/ed25519.ts +50 -34
  372. package/src/core/crypto/ephemeral.ts +147 -0
  373. package/src/core/crypto/hdKey.ts +31 -0
  374. package/src/core/crypto/index.ts +2 -0
  375. package/src/core/crypto/keyless.ts +502 -0
  376. package/src/core/crypto/multiKey.ts +23 -11
  377. package/src/core/crypto/poseidon.ts +134 -0
  378. package/src/core/crypto/secp256k1.ts +9 -3
  379. package/src/core/crypto/singleKey.ts +11 -0
  380. package/src/core/index.ts +0 -1
  381. package/src/index.ts +1 -0
  382. package/src/internal/account.ts +7 -10
  383. package/src/internal/ans.ts +2 -1
  384. package/src/internal/digitalAsset.ts +3 -2
  385. package/src/internal/fungibleAsset.ts +4 -3
  386. package/src/internal/keyless.ts +205 -0
  387. package/src/internal/transaction.ts +48 -10
  388. package/src/internal/transactionSubmission.ts +8 -7
  389. package/src/transactions/authenticator/account.ts +6 -11
  390. package/src/transactions/management/accountSequenceNumber.ts +1 -1
  391. package/src/transactions/management/transactionWorker.ts +8 -2
  392. package/src/transactions/transactionBuilder/index.ts +2 -0
  393. package/src/transactions/transactionBuilder/signingMessage.ts +75 -0
  394. package/src/transactions/transactionBuilder/transactionBuilder.ts +3 -80
  395. package/src/types/index.ts +21 -0
  396. package/src/types/keyless.ts +6 -0
  397. package/src/utils/apiEndpoints.ts +14 -0
  398. package/src/utils/const.ts +4 -2
  399. package/src/version.ts +1 -1
  400. package/dist/esm/chunk-2EZJOBD2.mjs.map +0 -1
  401. package/dist/esm/chunk-3AYBWD76.mjs.map +0 -1
  402. package/dist/esm/chunk-45ZZWQ7X.mjs +0 -2
  403. package/dist/esm/chunk-45ZZWQ7X.mjs.map +0 -1
  404. package/dist/esm/chunk-4ILXLBGX.mjs +0 -2
  405. package/dist/esm/chunk-4NHWV5AI.mjs +0 -2
  406. package/dist/esm/chunk-4QMXOWHP.mjs +0 -1
  407. package/dist/esm/chunk-5GKROFZ4.mjs +0 -2
  408. package/dist/esm/chunk-5GKROFZ4.mjs.map +0 -1
  409. package/dist/esm/chunk-5RUPEEIG.mjs.map +0 -1
  410. package/dist/esm/chunk-6APZ5TPE.mjs.map +0 -1
  411. package/dist/esm/chunk-6BR5UJDT.mjs +0 -2
  412. package/dist/esm/chunk-AEVRPB4E.mjs +0 -2
  413. package/dist/esm/chunk-AEVRPB4E.mjs.map +0 -1
  414. package/dist/esm/chunk-ARGODLTZ.mjs +0 -2
  415. package/dist/esm/chunk-ARGODLTZ.mjs.map +0 -1
  416. package/dist/esm/chunk-ASXXZH2D.mjs +0 -2
  417. package/dist/esm/chunk-ASXXZH2D.mjs.map +0 -1
  418. package/dist/esm/chunk-B7X6PSE7.mjs +0 -2
  419. package/dist/esm/chunk-C67BKZND.mjs +0 -2
  420. package/dist/esm/chunk-C67BKZND.mjs.map +0 -1
  421. package/dist/esm/chunk-C7YANDB2.mjs.map +0 -1
  422. package/dist/esm/chunk-CAGDOGXS.mjs +0 -2
  423. package/dist/esm/chunk-CEHCDA3G.mjs +0 -2
  424. package/dist/esm/chunk-CQS6ZCJ7.mjs +0 -2
  425. package/dist/esm/chunk-CQS6ZCJ7.mjs.map +0 -1
  426. package/dist/esm/chunk-CXR7MOBW.mjs +0 -2
  427. package/dist/esm/chunk-CYNQRMO5.mjs +0 -2
  428. package/dist/esm/chunk-CYNQRMO5.mjs.map +0 -1
  429. package/dist/esm/chunk-DUP7XY5P.mjs +0 -2
  430. package/dist/esm/chunk-DUP7XY5P.mjs.map +0 -1
  431. package/dist/esm/chunk-E7FWVXGX.mjs +0 -1
  432. package/dist/esm/chunk-EKR6HLSN.mjs.map +0 -1
  433. package/dist/esm/chunk-EV75CYGN.mjs +0 -2
  434. package/dist/esm/chunk-EV75CYGN.mjs.map +0 -1
  435. package/dist/esm/chunk-F7EMGK4M.mjs +0 -2
  436. package/dist/esm/chunk-FKTXWOKR.mjs +0 -2
  437. package/dist/esm/chunk-FKTXWOKR.mjs.map +0 -1
  438. package/dist/esm/chunk-GQR35QW3.mjs.map +0 -1
  439. package/dist/esm/chunk-IHPWATYH.mjs.map +0 -1
  440. package/dist/esm/chunk-IZF6DFAL.mjs +0 -2
  441. package/dist/esm/chunk-JOLLCFQL.mjs +0 -2
  442. package/dist/esm/chunk-JOLLCFQL.mjs.map +0 -1
  443. package/dist/esm/chunk-KLAYDUFD.mjs.map +0 -1
  444. package/dist/esm/chunk-LG7RJQ57.mjs +0 -2
  445. package/dist/esm/chunk-LR65XHSF.mjs +0 -2
  446. package/dist/esm/chunk-LR65XHSF.mjs.map +0 -1
  447. package/dist/esm/chunk-MLWIHWNH.mjs +0 -1
  448. package/dist/esm/chunk-MXO53VAI.mjs +0 -2
  449. package/dist/esm/chunk-N3U47Y6Y.mjs +0 -2
  450. package/dist/esm/chunk-NJRNZEHX.mjs +0 -2
  451. package/dist/esm/chunk-NJRNZEHX.mjs.map +0 -1
  452. package/dist/esm/chunk-OWXKKVWD.mjs.map +0 -1
  453. package/dist/esm/chunk-PF57EOJY.mjs +0 -2
  454. package/dist/esm/chunk-QJAI7DNA.mjs +0 -2
  455. package/dist/esm/chunk-QJAI7DNA.mjs.map +0 -1
  456. package/dist/esm/chunk-R7G3CLRI.mjs +0 -1
  457. package/dist/esm/chunk-RIUFW2OG.mjs +0 -2
  458. package/dist/esm/chunk-RIUFW2OG.mjs.map +0 -1
  459. package/dist/esm/chunk-SK5TPUAN.mjs +0 -2
  460. package/dist/esm/chunk-SOBCWGBM.mjs +0 -2
  461. package/dist/esm/chunk-SOBCWGBM.mjs.map +0 -1
  462. package/dist/esm/chunk-SRDIYE3M.mjs +0 -2
  463. package/dist/esm/chunk-SWZOGZJ6.mjs +0 -2
  464. package/dist/esm/chunk-SWZOGZJ6.mjs.map +0 -1
  465. package/dist/esm/chunk-T6J2LHHS.mjs +0 -2
  466. package/dist/esm/chunk-T6J2LHHS.mjs.map +0 -1
  467. package/dist/esm/chunk-TVHLZDCO.mjs.map +0 -1
  468. package/dist/esm/chunk-U43KR4TW.mjs.map +0 -1
  469. package/dist/esm/chunk-UEKKYJGA.mjs.map +0 -1
  470. package/dist/esm/chunk-UGPALAPN.mjs +0 -2
  471. package/dist/esm/chunk-URTTOOEM.mjs +0 -2
  472. package/dist/esm/chunk-URTTOOEM.mjs.map +0 -1
  473. package/dist/esm/chunk-UVSRX4SV.mjs +0 -1
  474. package/dist/esm/chunk-W3V4IGGB.mjs +0 -2
  475. package/dist/esm/chunk-WMJXRWVE.mjs +0 -2
  476. package/dist/esm/chunk-XX5J7KKC.mjs +0 -2
  477. package/dist/esm/chunk-XX5J7KKC.mjs.map +0 -1
  478. package/dist/esm/chunk-YZGEWPDE.mjs +0 -2
  479. package/dist/esm/chunk-YZGEWPDE.mjs.map +0 -1
  480. package/dist/esm/chunk-ZBT4HP6E.mjs +0 -2
  481. package/dist/esm/chunk-ZBT4HP6E.mjs.map +0 -1
  482. package/dist/esm/chunk-ZTIRBBNS.mjs +0 -2
  483. package/dist/esm/core/account/Account.d.mts +0 -20
  484. package/dist/esm/core/account/Account.mjs +0 -2
  485. package/dist/esm/core/account/Ed25519Account.d.mts +0 -20
  486. package/dist/esm/core/account/Ed25519Account.mjs +0 -2
  487. package/dist/esm/core/account/SingleKeyAccount.d.mts +0 -20
  488. package/dist/esm/core/account/SingleKeyAccount.mjs +0 -2
  489. package/dist/esm/core/account/index.d.mts +0 -21
  490. package/dist/esm/core/account/index.mjs +0 -2
  491. package/src/core/account/index.ts +0 -4
  492. /package/dist/esm/{core/account → account}/Account.mjs.map +0 -0
  493. /package/dist/esm/{core/account → account}/Ed25519Account.mjs.map +0 -0
  494. /package/dist/esm/{chunk-4QMXOWHP.mjs.map → account/EphemeralKeyPair.mjs.map} +0 -0
  495. /package/dist/esm/{chunk-E7FWVXGX.mjs.map → account/KeylessAccount.mjs.map} +0 -0
  496. /package/dist/esm/{chunk-MLWIHWNH.mjs.map → account/MultiKeyAccount.mjs.map} +0 -0
  497. /package/dist/esm/{core/account → account}/SingleKeyAccount.mjs.map +0 -0
  498. /package/dist/esm/{core/account → account}/index.mjs.map +0 -0
  499. /package/dist/esm/{chunk-R7G3CLRI.mjs.map → api/keyless.mjs.map} +0 -0
  500. /package/dist/esm/{chunk-IYSHHN5A.mjs.map → chunk-2I2XAOH7.mjs.map} +0 -0
  501. /package/dist/esm/{chunk-6ILDDGAX.mjs.map → chunk-2XIT7I5L.mjs.map} +0 -0
  502. /package/dist/esm/{chunk-CEHCDA3G.mjs.map → chunk-3FVRXELT.mjs.map} +0 -0
  503. /package/dist/esm/{chunk-U3YYSIIT.mjs.map → chunk-3VGX3TXH.mjs.map} +0 -0
  504. /package/dist/esm/{chunk-Y2MYVQVT.mjs.map → chunk-45D3YXLT.mjs.map} +0 -0
  505. /package/dist/esm/{chunk-Q73VKL3A.mjs.map → chunk-5IM5TQN4.mjs.map} +0 -0
  506. /package/dist/esm/{chunk-KS7UY4W5.mjs.map → chunk-67QYMEZE.mjs.map} +0 -0
  507. /package/dist/esm/{chunk-GHYE26Q5.mjs.map → chunk-6FBKUTGF.mjs.map} +0 -0
  508. /package/dist/esm/{chunk-W3V4IGGB.mjs.map → chunk-6Q2GNDKL.mjs.map} +0 -0
  509. /package/dist/esm/{chunk-5EN52MUT.mjs.map → chunk-7STYQ5ZE.mjs.map} +0 -0
  510. /package/dist/esm/{chunk-UVSRX4SV.mjs.map → chunk-7Z6DYLCA.mjs.map} +0 -0
  511. /package/dist/esm/{chunk-SK5TPUAN.mjs.map → chunk-AFPBV2BQ.mjs.map} +0 -0
  512. /package/dist/esm/{chunk-BCUSI3N6.mjs.map → chunk-AOCNYMMX.mjs.map} +0 -0
  513. /package/dist/esm/{chunk-N3U47Y6Y.mjs.map → chunk-C3L4ETUF.mjs.map} +0 -0
  514. /package/dist/esm/{chunk-4NHWV5AI.mjs.map → chunk-COW5IGYC.mjs.map} +0 -0
  515. /package/dist/esm/{chunk-TTUXAKCV.mjs.map → chunk-CYWA4AJF.mjs.map} +0 -0
  516. /package/dist/esm/{chunk-V6FZ7WZH.mjs.map → chunk-E3YEX3FR.mjs.map} +0 -0
  517. /package/dist/esm/{chunk-G56GPLTB.mjs.map → chunk-EB7AI4B4.mjs.map} +0 -0
  518. /package/dist/esm/{chunk-LG7RJQ57.mjs.map → chunk-FBPNHF54.mjs.map} +0 -0
  519. /package/dist/esm/{chunk-KAGLWBIJ.mjs.map → chunk-HGZGTBA4.mjs.map} +0 -0
  520. /package/dist/esm/{chunk-KXR3IUJ7.mjs.map → chunk-INYYKAXD.mjs.map} +0 -0
  521. /package/dist/esm/{chunk-GKGTODGE.mjs.map → chunk-JNAI5UFZ.mjs.map} +0 -0
  522. /package/dist/esm/{chunk-LPB7SZHL.mjs.map → chunk-LFTWUMLK.mjs.map} +0 -0
  523. /package/dist/esm/{chunk-B7X6PSE7.mjs.map → chunk-MGOHPDX4.mjs.map} +0 -0
  524. /package/dist/esm/{chunk-ZTIRBBNS.mjs.map → chunk-MLPJOS5C.mjs.map} +0 -0
  525. /package/dist/esm/{chunk-PF57EOJY.mjs.map → chunk-MWUJCP27.mjs.map} +0 -0
  526. /package/dist/esm/{chunk-4ILXLBGX.mjs.map → chunk-NUDRQTYI.mjs.map} +0 -0
  527. /package/dist/esm/{chunk-WMJXRWVE.mjs.map → chunk-NUR3TCTI.mjs.map} +0 -0
  528. /package/dist/esm/{chunk-MJPUASSD.mjs.map → chunk-PFFAQZHT.mjs.map} +0 -0
  529. /package/dist/esm/{chunk-IZF6DFAL.mjs.map → chunk-QREYDZ5R.mjs.map} +0 -0
  530. /package/dist/esm/{chunk-UGPALAPN.mjs.map → chunk-STYDBDYL.mjs.map} +0 -0
  531. /package/dist/esm/{chunk-F7EMGK4M.mjs.map → chunk-TJDC5PWD.mjs.map} +0 -0
  532. /package/dist/esm/{chunk-WHA7RISE.mjs.map → chunk-UYMZF37A.mjs.map} +0 -0
  533. /package/dist/esm/{chunk-6BR5UJDT.mjs.map → chunk-W57M6DIK.mjs.map} +0 -0
  534. /package/dist/esm/{chunk-XDXI3TRT.mjs.map → chunk-XBQEFZD7.mjs.map} +0 -0
  535. /package/dist/esm/{chunk-35EWRSDK.mjs.map → chunk-ZNEBMSNC.mjs.map} +0 -0
  536. /package/dist/esm/{publicKey-B3XRNhHO.d.mts → publicKey-lq5djCIY.d.mts} +0 -0
@@ -0,0 +1,502 @@
1
+ // Copyright © Aptos Foundation
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { AccountPublicKey, PublicKey } from "./publicKey";
5
+ import { Signature } from "./signature";
6
+ import { Deserializer, Serializable, Serializer } from "../../bcs";
7
+ import { Hex } from "../hex";
8
+ import { HexInput, EphemeralCertificate, AnyPublicKeyVariant, SigningScheme } from "../../types";
9
+ import { EphemeralPublicKey, EphemeralSignature } from "./ephemeral";
10
+ import { bigIntToBytesLE, bytesToBigIntLE, hashASCIIStrToField, poseidonHash } from "./poseidon";
11
+ import { AuthenticationKey } from "../authenticationKey";
12
+
13
+ export const EPK_HORIZON_SECS = 10000000;
14
+ export const MAX_AUD_VAL_BYTES = 120;
15
+ export const MAX_UID_KEY_BYTES = 30;
16
+ export const MAX_UID_VAL_BYTES = 330;
17
+ export const MAX_ISS_VAL_BYTES = 120;
18
+ export const MAX_EXTRA_FIELD_BYTES = 350;
19
+ export const MAX_JWT_HEADER_B64_BYTES = 300;
20
+ export const MAX_COMMITED_EPK_BYTES = 93;
21
+
22
+ /**
23
+ * Represents the KeylessPublicKey public key
24
+ *
25
+ * KeylessPublicKey authentication key is represented in the SDK as `AnyPublicKey`.
26
+ */
27
+ export class KeylessPublicKey extends AccountPublicKey {
28
+ static readonly ADDRESS_SEED_LENGTH: number = 32;
29
+
30
+ readonly iss: string;
31
+
32
+ readonly addressSeed: Uint8Array;
33
+
34
+ constructor(iss: string, addressSeed: HexInput) {
35
+ super();
36
+ const addressSeedBytes = Hex.fromHexInput(addressSeed).toUint8Array();
37
+ if (addressSeedBytes.length !== KeylessPublicKey.ADDRESS_SEED_LENGTH) {
38
+ throw new Error(`Address seed length in bytes should be ${KeylessPublicKey.ADDRESS_SEED_LENGTH}`);
39
+ }
40
+
41
+ this.iss = iss;
42
+ this.addressSeed = addressSeedBytes;
43
+ }
44
+
45
+ authKey(): AuthenticationKey {
46
+ const serializer = new Serializer();
47
+ serializer.serializeU32AsUleb128(AnyPublicKeyVariant.Keyless);
48
+ serializer.serializeFixedBytes(this.bcsToBytes());
49
+ return AuthenticationKey.fromSchemeAndBytes({
50
+ scheme: SigningScheme.SingleKey,
51
+ input: serializer.toUint8Array(),
52
+ });
53
+ }
54
+
55
+ /**
56
+ * Get the public key in bytes (Uint8Array).
57
+ *
58
+ * @returns Uint8Array representation of the public key
59
+ */
60
+ toUint8Array(): Uint8Array {
61
+ return this.bcsToBytes();
62
+ }
63
+
64
+ /**
65
+ * Get the public key as a hex string with the 0x prefix.
66
+ *
67
+ * @returns string representation of the public key
68
+ */
69
+ toString(): string {
70
+ return Hex.fromHexInput(this.toUint8Array()).toString();
71
+ }
72
+
73
+ /**
74
+ * Verifies a signed data with a public key
75
+ *
76
+ * @param args.message message
77
+ * @param args.signature The signature
78
+ * @returns true if the signature is valid
79
+ */
80
+ // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
81
+ verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {
82
+ // TODO
83
+ return true;
84
+ }
85
+
86
+ serialize(serializer: Serializer): void {
87
+ serializer.serializeStr(this.iss);
88
+ serializer.serializeBytes(this.addressSeed);
89
+ }
90
+
91
+ static deserialize(deserializer: Deserializer): KeylessPublicKey {
92
+ const iss = deserializer.deserializeStr();
93
+ const addressSeed = deserializer.deserializeBytes();
94
+ return new KeylessPublicKey(iss, addressSeed);
95
+ }
96
+
97
+ static load(deserializer: Deserializer): KeylessPublicKey {
98
+ const iss = deserializer.deserializeStr();
99
+ const addressSeed = deserializer.deserializeBytes();
100
+ return new KeylessPublicKey(iss, addressSeed);
101
+ }
102
+
103
+ static isPublicKey(publicKey: PublicKey): publicKey is KeylessPublicKey {
104
+ return publicKey instanceof KeylessPublicKey;
105
+ }
106
+
107
+ static create(args: {
108
+ iss: string;
109
+ uidKey: string;
110
+ uidVal: string;
111
+ aud: string;
112
+ pepper: HexInput;
113
+ }): KeylessPublicKey {
114
+ computeAddressSeed(args);
115
+ return new KeylessPublicKey(args.iss, computeAddressSeed(args));
116
+ }
117
+ }
118
+
119
+ export function computeAddressSeed(args: {
120
+ uidKey: string;
121
+ uidVal: string;
122
+ aud: string;
123
+ pepper: HexInput;
124
+ }): Uint8Array {
125
+ const { uidKey, uidVal, aud, pepper } = args;
126
+
127
+ const fields = [
128
+ bytesToBigIntLE(Hex.fromHexInput(pepper).toUint8Array()),
129
+ hashASCIIStrToField(aud, MAX_AUD_VAL_BYTES),
130
+ hashASCIIStrToField(uidVal, MAX_UID_VAL_BYTES),
131
+ hashASCIIStrToField(uidKey, MAX_UID_KEY_BYTES),
132
+ ];
133
+
134
+ return bigIntToBytesLE(poseidonHash(fields), KeylessPublicKey.ADDRESS_SEED_LENGTH);
135
+ }
136
+
137
+ export class OpenIdSignatureOrZkProof extends Signature {
138
+ public readonly signature: Signature;
139
+
140
+ constructor(signature: Signature) {
141
+ super();
142
+ this.signature = signature;
143
+ }
144
+
145
+ /**
146
+ * Get the public key in bytes (Uint8Array).
147
+ *
148
+ * @returns Uint8Array representation of the public key
149
+ */
150
+ toUint8Array(): Uint8Array {
151
+ return this.signature.toUint8Array();
152
+ }
153
+
154
+ /**
155
+ * Get the public key as a hex string with the 0x prefix.
156
+ *
157
+ * @returns string representation of the public key
158
+ */
159
+ toString(): string {
160
+ return this.signature.toString();
161
+ }
162
+
163
+ serialize(serializer: Serializer): void {
164
+ if (this.signature instanceof OpenIdSignature) {
165
+ serializer.serializeU32AsUleb128(EphemeralCertificate.OpenIdSignature);
166
+ this.signature.serialize(serializer);
167
+ } else if (this.signature instanceof SignedGroth16Signature) {
168
+ serializer.serializeU32AsUleb128(EphemeralCertificate.ZkProof);
169
+ this.signature.serialize(serializer);
170
+ } else {
171
+ throw new Error("Not a valid OIDB signature");
172
+ }
173
+ }
174
+
175
+ static deserialize(deserializer: Deserializer): OpenIdSignatureOrZkProof {
176
+ const index = deserializer.deserializeUleb128AsU32();
177
+ switch (index) {
178
+ case EphemeralCertificate.ZkProof:
179
+ return new OpenIdSignatureOrZkProof(SignedGroth16Signature.load(deserializer));
180
+ case EphemeralCertificate.OpenIdSignature:
181
+ return new OpenIdSignatureOrZkProof(OpenIdSignature.load(deserializer));
182
+ default:
183
+ throw new Error(`Unknown variant index for EphemeralCertificate: ${index}`);
184
+ }
185
+ }
186
+ }
187
+
188
+ export class Groth16Zkp extends Serializable {
189
+ a: Uint8Array;
190
+
191
+ b: Uint8Array;
192
+
193
+ c: Uint8Array;
194
+
195
+ constructor(args: { a: HexInput; b: HexInput; c: HexInput }) {
196
+ super();
197
+ const { a, b, c } = args;
198
+ this.a = Hex.fromHexInput(a).toUint8Array();
199
+ this.b = Hex.fromHexInput(b).toUint8Array();
200
+ this.c = Hex.fromHexInput(c).toUint8Array();
201
+ }
202
+
203
+ toUint8Array(): Uint8Array {
204
+ const serializer = new Serializer();
205
+ this.serialize(serializer);
206
+ return serializer.toUint8Array();
207
+ }
208
+
209
+ serialize(serializer: Serializer): void {
210
+ // There's currently only one variant
211
+ serializer.serializeU32AsUleb128(0);
212
+ serializer.serializeFixedBytes(this.a);
213
+ serializer.serializeFixedBytes(this.b);
214
+ serializer.serializeFixedBytes(this.c);
215
+ }
216
+
217
+ static deserialize(deserializer: Deserializer): Groth16Zkp {
218
+ // Ignored, as there's currently only one possible ZKP variant
219
+ deserializer.deserializeUleb128AsU32();
220
+ const a = deserializer.deserializeFixedBytes(32);
221
+ const b = deserializer.deserializeFixedBytes(64);
222
+ const c = deserializer.deserializeFixedBytes(32);
223
+ return new Groth16Zkp({ a, b, c });
224
+ }
225
+ }
226
+
227
+ export class SignedGroth16Signature extends Signature {
228
+ readonly proof: Groth16Zkp;
229
+
230
+ readonly expHorizonSecs: bigint;
231
+
232
+ readonly extraField?: string;
233
+
234
+ readonly overrideAudVal?: string;
235
+
236
+ readonly trainingWheelsSignature?: EphemeralSignature;
237
+
238
+ constructor(args: {
239
+ proof: Groth16Zkp;
240
+ expHorizonSecs?: bigint;
241
+ extraField?: string;
242
+ overrideAudVal?: string;
243
+ trainingWheelsSignature?: EphemeralSignature;
244
+ }) {
245
+ super();
246
+ const { proof, expHorizonSecs = BigInt(EPK_HORIZON_SECS), trainingWheelsSignature, extraField, overrideAudVal } = args;
247
+ this.proof = proof;
248
+ this.expHorizonSecs = expHorizonSecs;
249
+ this.trainingWheelsSignature = trainingWheelsSignature;
250
+ this.extraField = extraField;
251
+ this.overrideAudVal = overrideAudVal;
252
+ }
253
+
254
+ /**
255
+ * Get the signature in bytes (Uint8Array).
256
+ *
257
+ * @returns Uint8Array representation of the signature
258
+ */
259
+ toUint8Array(): Uint8Array {
260
+ const serializer = new Serializer();
261
+ this.serialize(serializer);
262
+ return serializer.toUint8Array();
263
+ }
264
+
265
+ /**
266
+ * Get the signature as a hex string with the 0x prefix.
267
+ *
268
+ * @returns string representation of the signature
269
+ */
270
+ toString(): string {
271
+ return this.toString();
272
+ }
273
+
274
+ serialize(serializer: Serializer): void {
275
+ this.proof.serialize(serializer);
276
+ serializer.serializeU64(this.expHorizonSecs);
277
+ serializer.serializeOptionStr(this.extraField);
278
+ serializer.serializeOptionStr(this.overrideAudVal);
279
+ serializer.serializeOption(this.trainingWheelsSignature);
280
+ }
281
+
282
+ static deserialize(deserializer: Deserializer): SignedGroth16Signature {
283
+ const proof = Groth16Zkp.deserialize(deserializer);
284
+ const expHorizonSecs = deserializer.deserializeU64();
285
+ const hasExtraField = deserializer.deserializeUleb128AsU32();
286
+ const extraField = hasExtraField ? deserializer.deserializeStr() : undefined;
287
+ const hasOverrideAudVal = deserializer.deserializeUleb128AsU32();
288
+ const overrideAudVal = hasOverrideAudVal ? deserializer.deserializeStr() : undefined;
289
+ const [trainingWheelsSignature] = deserializer.deserializeVector(EphemeralSignature);
290
+ return new SignedGroth16Signature({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });
291
+ }
292
+
293
+ static load(deserializer: Deserializer): SignedGroth16Signature {
294
+ const proof = Groth16Zkp.deserialize(deserializer);
295
+ const expHorizonSecs = deserializer.deserializeU64();
296
+ const hasExtraField = deserializer.deserializeUleb128AsU32();
297
+ const extraField = hasExtraField ? deserializer.deserializeStr() : undefined;
298
+ const hasOverrideAudVal = deserializer.deserializeUleb128AsU32();
299
+ const overrideAudVal = hasOverrideAudVal ? deserializer.deserializeStr() : undefined;
300
+ const [trainingWheelsSignature] = deserializer.deserializeVector(EphemeralSignature);
301
+ return new SignedGroth16Signature({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });
302
+ }
303
+
304
+ // static isSignature(signature: Signature): signature is OpenIdSignature {
305
+ // return signature instanceof OpenIdSignature;
306
+ // }
307
+ }
308
+
309
+ /**
310
+ * A OpenId signature which contains the private inputs to an OIDB proof.
311
+ */
312
+ export class OpenIdSignature extends Signature {
313
+ readonly jwtSignature: string;
314
+
315
+ readonly jwtPayloadJson: string;
316
+
317
+ readonly uidKey: string;
318
+
319
+ readonly epkBlinder: Uint8Array;
320
+
321
+ readonly pepper: Uint8Array;
322
+
323
+ readonly overrideAudValue?: string;
324
+
325
+ /**
326
+ * Create a new Signature instance from a Uint8Array or String.
327
+ *
328
+ * @param hexInput A HexInput (string or Uint8Array)
329
+ */
330
+ constructor(args: {
331
+ jwtSignature: string;
332
+ jwtPayloadJson: string;
333
+ uidKey?: string;
334
+ epkBlinder: Uint8Array;
335
+ pepper: Uint8Array;
336
+ overrideAudValue?: string;
337
+ }) {
338
+ super();
339
+ const { jwtSignature, uidKey, jwtPayloadJson, epkBlinder, pepper, overrideAudValue } = args;
340
+ this.jwtSignature = jwtSignature;
341
+ this.jwtPayloadJson = jwtPayloadJson;
342
+ this.uidKey = uidKey ?? "sub";
343
+ this.epkBlinder = epkBlinder;
344
+ this.pepper = pepper;
345
+ this.overrideAudValue = overrideAudValue;
346
+ }
347
+
348
+ /**
349
+ * Get the signature in bytes (Uint8Array).
350
+ *
351
+ * @returns Uint8Array representation of the signature
352
+ */
353
+ toUint8Array(): Uint8Array {
354
+ // const textEncoder = new TextEncoder();
355
+ // const jwtSigBytes = textEncoder.encode(this.jwtSignature);
356
+ // const jwtPayloadJsonBytes = textEncoder.encode(this.jwtPayloadJson);
357
+ // const uidKeyBytes = textEncoder.encode(this.jwtSignature);
358
+ // const uidKeyBytes = textEncoder.encode(this.jwtSignature);
359
+
360
+ return this.epkBlinder;
361
+ }
362
+
363
+ /**
364
+ * Get the signature as a hex string with the 0x prefix.
365
+ *
366
+ * @returns string representation of the signature
367
+ */
368
+ toString(): string {
369
+ return this.toString();
370
+ }
371
+
372
+ serialize(serializer: Serializer): void {
373
+ serializer.serializeStr(this.jwtSignature);
374
+ serializer.serializeStr(this.jwtPayloadJson);
375
+ serializer.serializeStr(this.uidKey);
376
+ serializer.serializeFixedBytes(this.epkBlinder);
377
+ serializer.serializeFixedBytes(this.pepper);
378
+ serializer.serializeOptionStr(this.overrideAudValue);
379
+ }
380
+
381
+ static deserialize(deserializer: Deserializer): OpenIdSignature {
382
+ const jwtSignature = deserializer.deserializeStr();
383
+ const jwtPayloadJson = deserializer.deserializeStr();
384
+ const uidKey = deserializer.deserializeStr();
385
+ const epkBlinder = deserializer.deserializeFixedBytes(31);
386
+ const pepper = deserializer.deserializeFixedBytes(31);
387
+ const hasOverrideAudValue = deserializer.deserializeUleb128AsU32();
388
+ const overrideAudValue = hasOverrideAudValue ? deserializer.deserializeStr() : undefined;
389
+ return new OpenIdSignature({ jwtSignature, jwtPayloadJson, uidKey, epkBlinder, pepper, overrideAudValue });
390
+ }
391
+
392
+ static load(deserializer: Deserializer): OpenIdSignature {
393
+ const jwtSignature = deserializer.deserializeStr();
394
+ const jwtPayloadJson = deserializer.deserializeStr();
395
+ const uidKey = deserializer.deserializeStr();
396
+ const epkBlinder = deserializer.deserializeFixedBytes(31);
397
+ const pepper = deserializer.deserializeFixedBytes(31);
398
+ const hasOverrideAudValue = deserializer.deserializeUleb128AsU32();
399
+ const overrideAudValue = hasOverrideAudValue ? deserializer.deserializeStr() : undefined;
400
+ return new OpenIdSignature({ jwtSignature, jwtPayloadJson, uidKey, epkBlinder, pepper, overrideAudValue });
401
+ }
402
+
403
+ static isSignature(signature: Signature): signature is OpenIdSignature {
404
+ return signature instanceof OpenIdSignature;
405
+ }
406
+ }
407
+
408
+ /**
409
+ * A signature of a message signed via OIDC that uses proofs or the jwt token to authenticate.
410
+ */
411
+ export class KeylessSignature extends Signature {
412
+ readonly openIdSignatureOrZkProof: OpenIdSignatureOrZkProof;
413
+
414
+ readonly jwtHeader: string;
415
+
416
+ readonly expiryDateSecs: bigint;
417
+
418
+ readonly ephemeralPublicKey: EphemeralPublicKey;
419
+
420
+ readonly ephemeralSignature: EphemeralSignature;
421
+
422
+ /**
423
+ * Create a new Signature instance from a Uint8Array or String.
424
+ *
425
+ * @param hexInput A HexInput (string or Uint8Array)
426
+ */
427
+ constructor(args: {
428
+ jwtHeader: string;
429
+ openIdSignatureOrZkProof: OpenIdSignatureOrZkProof;
430
+ expiryDateSecs: bigint;
431
+ ephemeralPublicKey: EphemeralPublicKey;
432
+ ephemeralSignature: EphemeralSignature;
433
+ }) {
434
+ super();
435
+ const { jwtHeader, openIdSignatureOrZkProof, expiryDateSecs, ephemeralPublicKey, ephemeralSignature } = args;
436
+ this.jwtHeader = jwtHeader;
437
+ this.openIdSignatureOrZkProof = openIdSignatureOrZkProof;
438
+ this.expiryDateSecs = expiryDateSecs;
439
+ this.ephemeralPublicKey = ephemeralPublicKey;
440
+ this.ephemeralSignature = ephemeralSignature;
441
+ }
442
+
443
+ /**
444
+ * Get the signature in bytes (Uint8Array).
445
+ *
446
+ * @returns Uint8Array representation of the signature
447
+ */
448
+ toUint8Array(): Uint8Array {
449
+ return this.ephemeralSignature.toUint8Array();
450
+ }
451
+
452
+ /**
453
+ * Get the signature as a hex string with the 0x prefix.
454
+ *
455
+ * @returns string representation of the signature
456
+ */
457
+ toString(): string {
458
+ return this.toString();
459
+ }
460
+
461
+ serialize(serializer: Serializer): void {
462
+ this.openIdSignatureOrZkProof.serialize(serializer);
463
+ serializer.serializeStr(this.jwtHeader);
464
+ serializer.serializeU64(this.expiryDateSecs);
465
+ this.ephemeralPublicKey.serialize(serializer);
466
+ this.ephemeralSignature.serialize(serializer);
467
+ }
468
+
469
+ static deserialize(deserializer: Deserializer): KeylessSignature {
470
+ const openIdSignatureOrZkProof = OpenIdSignatureOrZkProof.deserialize(deserializer);
471
+ const jwtHeader = deserializer.deserializeStr();
472
+ const expiryDateSecs = deserializer.deserializeU64();
473
+ const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);
474
+ const ephemeralSignature = EphemeralSignature.deserialize(deserializer);
475
+ return new KeylessSignature({
476
+ jwtHeader,
477
+ expiryDateSecs,
478
+ openIdSignatureOrZkProof,
479
+ ephemeralPublicKey,
480
+ ephemeralSignature,
481
+ });
482
+ }
483
+
484
+ static load(deserializer: Deserializer): KeylessSignature {
485
+ const jwtHeader = deserializer.deserializeStr();
486
+ const expiryDateSecs = deserializer.deserializeU64();
487
+ const openIdSignatureOrZkProof = OpenIdSignatureOrZkProof.deserialize(deserializer);
488
+ const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);
489
+ const ephemeralSignature = EphemeralSignature.deserialize(deserializer);
490
+ return new KeylessSignature({
491
+ jwtHeader,
492
+ expiryDateSecs,
493
+ openIdSignatureOrZkProof,
494
+ ephemeralPublicKey,
495
+ ephemeralSignature,
496
+ });
497
+ }
498
+
499
+ static isSignature(signature: Signature): signature is KeylessSignature {
500
+ return signature instanceof KeylessSignature;
501
+ }
502
+ }
@@ -139,9 +139,21 @@ export class MultiKey extends AccountPublicKey {
139
139
 
140
140
  return bitmap;
141
141
  }
142
+
143
+ getIndex(publicKey: PublicKey): number {
144
+
145
+ const anyPublicKey = publicKey instanceof AnyPublicKey ? publicKey : new AnyPublicKey(publicKey)
146
+ const index = this.publicKeys.findIndex((pk) => pk.toString() === anyPublicKey.toString());
147
+
148
+ if (index !== -1) {
149
+ return index;
150
+ }
151
+ throw new Error("Public key not found in MultiKey");
152
+
153
+ }
142
154
  }
143
155
 
144
- export class MultiKeySignature extends Signature {
156
+ export class MultiSignature extends Signature {
145
157
  /**
146
158
  * Number of bytes in the bitmap representing who signed the transaction (32-bits)
147
159
  */
@@ -150,7 +162,7 @@ export class MultiKeySignature extends Signature {
150
162
  /**
151
163
  * Maximum number of Ed25519 signatures supported
152
164
  */
153
- static MAX_SIGNATURES_SUPPORTED = MultiKeySignature.BITMAP_LEN * 8;
165
+ static MAX_SIGNATURES_SUPPORTED = MultiSignature.BITMAP_LEN * 8;
154
166
 
155
167
  /**
156
168
  * The list of underlying Ed25519 signatures
@@ -178,8 +190,8 @@ export class MultiKeySignature extends Signature {
178
190
  super();
179
191
  const { signatures, bitmap } = args;
180
192
 
181
- if (signatures.length > MultiKeySignature.MAX_SIGNATURES_SUPPORTED) {
182
- throw new Error(`The number of signatures cannot be greater than ${MultiKeySignature.MAX_SIGNATURES_SUPPORTED}`);
193
+ if (signatures.length > MultiSignature.MAX_SIGNATURES_SUPPORTED) {
194
+ throw new Error(`The number of signatures cannot be greater than ${MultiSignature.MAX_SIGNATURES_SUPPORTED}`);
183
195
  }
184
196
 
185
197
  // Make sure that all signatures are normalized to the SingleKey authentication scheme
@@ -188,9 +200,9 @@ export class MultiKeySignature extends Signature {
188
200
  );
189
201
 
190
202
  if (!(bitmap instanceof Uint8Array)) {
191
- this.bitmap = MultiKeySignature.createBitmap({ bits: bitmap });
192
- } else if (bitmap.length !== MultiKeySignature.BITMAP_LEN) {
193
- throw new Error(`"bitmap" length should be ${MultiKeySignature.BITMAP_LEN}`);
203
+ this.bitmap = MultiSignature.createBitmap({ bits: bitmap });
204
+ } else if (bitmap.length !== MultiSignature.BITMAP_LEN) {
205
+ throw new Error(`"bitmap" length should be ${MultiSignature.BITMAP_LEN}`);
194
206
  } else {
195
207
  this.bitmap = bitmap;
196
208
  }
@@ -226,8 +238,8 @@ export class MultiKeySignature extends Signature {
226
238
  const dupCheckSet = new Set();
227
239
 
228
240
  bits.forEach((bit: number) => {
229
- if (bit >= MultiKeySignature.MAX_SIGNATURES_SUPPORTED) {
230
- throw new Error(`Cannot have a signature larger than ${MultiKeySignature.MAX_SIGNATURES_SUPPORTED - 1}.`);
241
+ if (bit >= MultiSignature.MAX_SIGNATURES_SUPPORTED) {
242
+ throw new Error(`Cannot have a signature larger than ${MultiSignature.MAX_SIGNATURES_SUPPORTED - 1}.`);
231
243
  }
232
244
 
233
245
  if (dupCheckSet.has(bit)) {
@@ -265,7 +277,7 @@ export class MultiKeySignature extends Signature {
265
277
  serializer.serializeBytes(this.bitmap);
266
278
  }
267
279
 
268
- static deserialize(deserializer: Deserializer): MultiKeySignature {
280
+ static deserialize(deserializer: Deserializer): MultiSignature {
269
281
  const bitmap = deserializer.deserializeBytes();
270
282
  const nSignatures = bitmap.reduce((acc, byte) => acc + bitCount(byte), 0);
271
283
  const signatures: AnySignature[] = [];
@@ -273,7 +285,7 @@ export class MultiKeySignature extends Signature {
273
285
  const signature = AnySignature.deserialize(deserializer);
274
286
  signatures.push(signature);
275
287
  }
276
- return new MultiKeySignature({ signatures, bitmap });
288
+ return new MultiSignature({ signatures, bitmap });
277
289
  }
278
290
 
279
291
  // endregion