@aptos-labs/ts-sdk 1.34.0 → 1.35.0-zeta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (909) hide show
  1. package/README.md +8 -9
  2. package/dist/common/{accountAddress-CDtCLtJA.d.ts → accountAddress-Ce4Cv60D.d.ts} +118 -11
  3. package/dist/common/chunk-JMOQXLED.js +1305 -0
  4. package/dist/common/chunk-JMOQXLED.js.map +1 -0
  5. package/dist/common/cli/index.d.ts +1 -1
  6. package/dist/common/cli/index.js +486 -1
  7. package/dist/common/cli/index.js.map +1 -1
  8. package/dist/common/index.d.ts +533 -238
  9. package/dist/common/index.js +18297 -418
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/esm/account/AbstractKeylessAccount.mjs +75 -1
  12. package/dist/esm/account/AbstractedAccount.mjs +74 -1
  13. package/dist/esm/account/Account.d.mts +1 -1
  14. package/dist/esm/account/Account.mjs +72 -1
  15. package/dist/esm/account/AccountUtils.mjs +78 -1
  16. package/dist/esm/account/Ed25519Account.d.mts +2 -2
  17. package/dist/esm/account/Ed25519Account.mjs +70 -1
  18. package/dist/esm/account/EphemeralKeyPair.mjs +50 -1
  19. package/dist/esm/account/FederatedKeylessAccount.mjs +72 -1
  20. package/dist/esm/account/KeylessAccount.mjs +72 -1
  21. package/dist/esm/account/MultiEd25519Account.d.mts +108 -0
  22. package/dist/esm/account/MultiEd25519Account.mjs +71 -0
  23. package/dist/esm/account/MultiKeyAccount.d.mts +1 -2
  24. package/dist/esm/account/MultiKeyAccount.mjs +74 -1
  25. package/dist/esm/account/SingleKeyAccount.mjs +72 -1
  26. package/dist/esm/account/index.d.mts +1 -0
  27. package/dist/esm/account/index.mjs +119 -1
  28. package/dist/esm/account/utils.mjs +54 -1
  29. package/dist/esm/api/account/abstraction.mjs +101 -1
  30. package/dist/esm/api/account.d.mts +18 -2
  31. package/dist/esm/api/account.mjs +103 -1
  32. package/dist/esm/api/ans.mjs +101 -1
  33. package/dist/esm/api/aptos.d.mts +4 -1
  34. package/dist/esm/api/aptos.mjs +136 -1
  35. package/dist/esm/api/aptosConfig.mjs +9 -1
  36. package/dist/esm/api/coin.mjs +99 -1
  37. package/dist/esm/api/digitalAsset.mjs +101 -1
  38. package/dist/esm/api/event.mjs +59 -1
  39. package/dist/esm/api/experimental.d.mts +83 -0
  40. package/dist/esm/api/experimental.mjs +100 -0
  41. package/dist/esm/api/faucet.mjs +58 -1
  42. package/dist/esm/api/fungibleAsset.mjs +101 -1
  43. package/dist/esm/api/general.mjs +99 -1
  44. package/dist/esm/api/index.d.mts +2 -0
  45. package/dist/esm/api/index.mjs +140 -1
  46. package/dist/esm/api/keyless.d.mts +1 -1
  47. package/dist/esm/api/keyless.mjs +100 -1
  48. package/dist/esm/api/object.mjs +59 -1
  49. package/dist/esm/api/staking.mjs +59 -1
  50. package/dist/esm/api/table.mjs +38 -1
  51. package/dist/esm/api/transaction.d.mts +15 -6
  52. package/dist/esm/api/transaction.mjs +108 -1
  53. package/dist/esm/api/transactionSubmission/build.mjs +99 -1
  54. package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
  55. package/dist/esm/api/transactionSubmission/management.mjs +103 -1
  56. package/dist/esm/api/transactionSubmission/sign.mjs +218 -1
  57. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  58. package/dist/esm/api/transactionSubmission/simulate.mjs +100 -1
  59. package/dist/esm/api/transactionSubmission/submit.mjs +100 -1
  60. package/dist/esm/api/utils.mjs +36 -1
  61. package/dist/esm/bcs/consts.mjs +17 -1
  62. package/dist/esm/bcs/deserializer.mjs +10 -1
  63. package/dist/esm/bcs/index.mjs +60 -1
  64. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
  65. package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
  66. package/dist/esm/bcs/serializable/movePrimitives.mjs +26 -1
  67. package/dist/esm/bcs/serializable/moveStructs.mjs +22 -1
  68. package/dist/esm/bcs/serializer.mjs +18 -1
  69. package/dist/esm/chunk-2JLHWA2G.mjs +79 -0
  70. package/dist/esm/{chunk-X24PSWCX.mjs.map → chunk-2JLHWA2G.mjs.map} +1 -1
  71. package/dist/esm/chunk-2SIDNRJH.mjs +219 -0
  72. package/dist/esm/{chunk-DNJQWGB7.mjs.map → chunk-2SIDNRJH.mjs.map} +1 -1
  73. package/dist/esm/chunk-2WTIMHGC.mjs +84 -0
  74. package/dist/esm/{chunk-4776UXL6.mjs.map → chunk-2WTIMHGC.mjs.map} +1 -1
  75. package/dist/esm/chunk-2ZX5PHCY.mjs +177 -0
  76. package/dist/esm/{chunk-2GIPNLDO.mjs.map → chunk-2ZX5PHCY.mjs.map} +1 -1
  77. package/dist/esm/chunk-32UQAST6.mjs +296 -0
  78. package/dist/esm/{chunk-BUTMGMSD.mjs.map → chunk-32UQAST6.mjs.map} +1 -1
  79. package/dist/esm/chunk-3E2SXJXZ.mjs +195 -0
  80. package/dist/esm/{chunk-D6T3NYOA.mjs.map → chunk-3E2SXJXZ.mjs.map} +1 -1
  81. package/dist/esm/chunk-3IWV2Q3K.mjs +12 -0
  82. package/dist/esm/{chunk-XJJVJOX5.mjs.map → chunk-3IWV2Q3K.mjs.map} +1 -1
  83. package/dist/esm/chunk-3T7G4OUL.mjs +40 -0
  84. package/dist/esm/chunk-3T7G4OUL.mjs.map +1 -0
  85. package/dist/esm/chunk-54XJAHWK.mjs +829 -0
  86. package/dist/esm/chunk-54XJAHWK.mjs.map +1 -0
  87. package/dist/esm/chunk-56UCIGTO.mjs +21 -0
  88. package/dist/esm/{chunk-XAPQNCTN.mjs.map → chunk-56UCIGTO.mjs.map} +1 -1
  89. package/dist/esm/chunk-5QHMFYVL.mjs +42 -0
  90. package/dist/esm/chunk-5QHMFYVL.mjs.map +1 -0
  91. package/dist/esm/chunk-6ASWESA2.mjs +77 -0
  92. package/dist/esm/{chunk-TOBQ5UE6.mjs.map → chunk-6ASWESA2.mjs.map} +1 -1
  93. package/dist/esm/chunk-6DJZITWL.mjs +177 -0
  94. package/dist/esm/{chunk-PR3W2QEH.mjs.map → chunk-6DJZITWL.mjs.map} +1 -1
  95. package/dist/esm/chunk-6I37A76G.mjs +29 -0
  96. package/dist/esm/{chunk-BI3BTSUB.mjs.map → chunk-6I37A76G.mjs.map} +1 -1
  97. package/dist/esm/chunk-6T3V5LXK.mjs +119 -0
  98. package/dist/esm/chunk-6T3V5LXK.mjs.map +1 -0
  99. package/dist/esm/chunk-7J37IHNP.mjs +70 -0
  100. package/dist/esm/{chunk-CSG67JHZ.mjs.map → chunk-7J37IHNP.mjs.map} +1 -1
  101. package/dist/esm/chunk-AEMQUDMU.mjs +239 -0
  102. package/dist/esm/{chunk-O37BZP2G.mjs.map → chunk-AEMQUDMU.mjs.map} +1 -1
  103. package/dist/esm/chunk-AKXCFBYF.mjs +49 -0
  104. package/dist/esm/{chunk-DBIZE7G6.mjs.map → chunk-AKXCFBYF.mjs.map} +1 -1
  105. package/dist/esm/chunk-APM7OSLS.mjs +122 -0
  106. package/dist/esm/{chunk-GOXRBEIJ.mjs.map → chunk-APM7OSLS.mjs.map} +1 -1
  107. package/dist/esm/chunk-BADWWRLN.mjs +250 -0
  108. package/dist/esm/{chunk-EGZI6EJ2.mjs.map → chunk-BADWWRLN.mjs.map} +1 -1
  109. package/dist/esm/chunk-BDM6FBUO.mjs +198 -0
  110. package/dist/esm/chunk-BDM6FBUO.mjs.map +1 -0
  111. package/dist/esm/chunk-BEYIOC2H.mjs +34 -0
  112. package/dist/esm/{chunk-YOZBVVKL.mjs.map → chunk-BEYIOC2H.mjs.map} +1 -1
  113. package/dist/esm/chunk-BMM72IIP.mjs +250 -0
  114. package/dist/esm/{chunk-AZWVCBK2.mjs.map → chunk-BMM72IIP.mjs.map} +1 -1
  115. package/dist/esm/chunk-BVBIBMAE.mjs +50 -0
  116. package/dist/esm/chunk-BVBIBMAE.mjs.map +1 -0
  117. package/dist/esm/chunk-C7T6GW5P.mjs +376 -0
  118. package/dist/esm/{chunk-EBMEXURY.mjs.map → chunk-C7T6GW5P.mjs.map} +1 -1
  119. package/dist/esm/chunk-CDJNQ7CS.mjs +604 -0
  120. package/dist/esm/chunk-CDJNQ7CS.mjs.map +1 -0
  121. package/dist/esm/chunk-CPZPXG7O.mjs +355 -0
  122. package/dist/esm/{chunk-GQX5KMF7.mjs.map → chunk-CPZPXG7O.mjs.map} +1 -1
  123. package/dist/esm/chunk-CXLXUSCG.mjs +417 -0
  124. package/dist/esm/{chunk-Q4C4U6I4.mjs.map → chunk-CXLXUSCG.mjs.map} +1 -1
  125. package/dist/esm/chunk-D3IWXA33.mjs +415 -0
  126. package/dist/esm/chunk-D3IWXA33.mjs.map +1 -0
  127. package/dist/esm/chunk-DDZGHA66.mjs +495 -0
  128. package/dist/esm/{chunk-G4O6FXCF.mjs.map → chunk-DDZGHA66.mjs.map} +1 -1
  129. package/dist/esm/chunk-EBFKT35C.mjs +66 -0
  130. package/dist/esm/{chunk-KEJAUCQF.mjs.map → chunk-EBFKT35C.mjs.map} +1 -1
  131. package/dist/esm/chunk-EPTUAWRA.mjs +895 -0
  132. package/dist/esm/chunk-EPTUAWRA.mjs.map +1 -0
  133. package/dist/esm/chunk-ESGBNVCA.mjs +51 -0
  134. package/dist/esm/chunk-ESGBNVCA.mjs.map +1 -0
  135. package/dist/esm/chunk-F2EFNUWD.mjs +61 -0
  136. package/dist/esm/{chunk-SCBYJU6K.mjs.map → chunk-F2EFNUWD.mjs.map} +1 -1
  137. package/dist/esm/chunk-F4VI7BNX.mjs +58 -0
  138. package/dist/esm/{chunk-V2EXS6TM.mjs.map → chunk-F4VI7BNX.mjs.map} +1 -1
  139. package/dist/esm/chunk-F65QGYVD.mjs +305 -0
  140. package/dist/esm/chunk-F65QGYVD.mjs.map +1 -0
  141. package/dist/esm/chunk-F7W7KS5C.mjs +52 -0
  142. package/dist/esm/{chunk-C3Q23D22.mjs.map → chunk-F7W7KS5C.mjs.map} +1 -1
  143. package/dist/esm/chunk-FMNMYKYH.mjs +71 -0
  144. package/dist/esm/{chunk-N4DM5FYH.mjs.map → chunk-FMNMYKYH.mjs.map} +1 -1
  145. package/dist/esm/chunk-G34CJDST.mjs +139 -0
  146. package/dist/esm/chunk-G34CJDST.mjs.map +1 -0
  147. package/dist/esm/chunk-G4NBRMZ2.mjs +7 -0
  148. package/dist/esm/{chunk-3OLFJ65O.mjs.map → chunk-G4NBRMZ2.mjs.map} +1 -1
  149. package/dist/esm/chunk-GFPEB22G.mjs +1 -0
  150. package/dist/esm/chunk-GFPEB22G.mjs.map +1 -0
  151. package/dist/esm/chunk-GUA5YTIK.mjs +362 -0
  152. package/dist/esm/{chunk-35DKMW7Q.mjs.map → chunk-GUA5YTIK.mjs.map} +1 -1
  153. package/dist/esm/chunk-GUEJH55K.mjs +281 -0
  154. package/dist/esm/{chunk-Y3Y4DVCK.mjs.map → chunk-GUEJH55K.mjs.map} +1 -1
  155. package/dist/esm/chunk-HRUI6AWF.mjs +415 -0
  156. package/dist/esm/{chunk-TM6IKHMX.mjs.map → chunk-HRUI6AWF.mjs.map} +1 -1
  157. package/dist/esm/chunk-HTC3Q5JN.mjs +188 -0
  158. package/dist/esm/{chunk-XH3BEKII.mjs.map → chunk-HTC3Q5JN.mjs.map} +1 -1
  159. package/dist/esm/chunk-I25AX6PQ.mjs +7 -0
  160. package/dist/esm/{chunk-EY2JUXEC.mjs.map → chunk-I25AX6PQ.mjs.map} +1 -1
  161. package/dist/esm/chunk-IARAGRKO.mjs +130 -0
  162. package/dist/esm/{chunk-DMS7K76O.mjs.map → chunk-IARAGRKO.mjs.map} +1 -1
  163. package/dist/esm/chunk-IEM26R5Q.mjs +45 -0
  164. package/dist/esm/{chunk-VOCI2675.mjs.map → chunk-IEM26R5Q.mjs.map} +1 -1
  165. package/dist/esm/chunk-IKEPH7D2.mjs +89 -0
  166. package/dist/esm/{chunk-AC3BISWL.mjs.map → chunk-IKEPH7D2.mjs.map} +1 -1
  167. package/dist/esm/chunk-IORAMQ2Y.mjs +207 -0
  168. package/dist/esm/chunk-IORAMQ2Y.mjs.map +1 -0
  169. package/dist/esm/chunk-IY2ASLSP.mjs +19 -0
  170. package/dist/esm/{chunk-JF66JS2R.mjs.map → chunk-IY2ASLSP.mjs.map} +1 -1
  171. package/dist/esm/chunk-J32AERDF.mjs +208 -0
  172. package/dist/esm/{chunk-6LGXFXXR.mjs.map → chunk-J32AERDF.mjs.map} +1 -1
  173. package/dist/esm/chunk-JJ6MU2DV.mjs +97 -0
  174. package/dist/esm/{chunk-HL2O3T57.mjs.map → chunk-JJ6MU2DV.mjs.map} +1 -1
  175. package/dist/esm/chunk-JQIRRM7G.mjs +195 -0
  176. package/dist/esm/{chunk-ABXES4FS.mjs.map → chunk-JQIRRM7G.mjs.map} +1 -1
  177. package/dist/esm/chunk-KK7SBRDQ.mjs +322 -0
  178. package/dist/esm/{chunk-XXHZQFYW.mjs.map → chunk-KK7SBRDQ.mjs.map} +1 -1
  179. package/dist/esm/chunk-KLUO6XPE.mjs +33 -0
  180. package/dist/esm/{chunk-WCMW2L3P.mjs.map → chunk-KLUO6XPE.mjs.map} +1 -1
  181. package/dist/esm/chunk-KSK3XIGF.mjs +502 -0
  182. package/dist/esm/{chunk-IDTLNF4M.mjs.map → chunk-KSK3XIGF.mjs.map} +1 -1
  183. package/dist/esm/chunk-KW64NP2F.mjs +71 -0
  184. package/dist/esm/{chunk-4UK4MUSD.mjs.map → chunk-KW64NP2F.mjs.map} +1 -1
  185. package/dist/esm/chunk-KZFQOE4N.mjs +100 -0
  186. package/dist/esm/chunk-KZFQOE4N.mjs.map +1 -0
  187. package/dist/esm/chunk-LJRNGZMY.mjs +10 -0
  188. package/dist/esm/{chunk-IMTC3J2M.mjs.map → chunk-LJRNGZMY.mjs.map} +1 -1
  189. package/dist/esm/chunk-LK4HGGAJ.mjs +513 -0
  190. package/dist/esm/{chunk-S47HA7O7.mjs.map → chunk-LK4HGGAJ.mjs.map} +1 -1
  191. package/dist/esm/chunk-MC4OOX6X.mjs +475 -0
  192. package/dist/esm/chunk-MC4OOX6X.mjs.map +1 -0
  193. package/dist/esm/chunk-MD4TZ4HA.mjs +125 -0
  194. package/dist/esm/{chunk-CRFLR3ZY.mjs.map → chunk-MD4TZ4HA.mjs.map} +1 -1
  195. package/dist/esm/chunk-MFFBZ43D.mjs +45 -0
  196. package/dist/esm/{chunk-N6YTF76Q.mjs.map → chunk-MFFBZ43D.mjs.map} +1 -1
  197. package/dist/esm/chunk-MLGROHE6.mjs +192 -0
  198. package/dist/esm/chunk-MLGROHE6.mjs.map +1 -0
  199. package/dist/esm/chunk-MWXBQ6HR.mjs +15 -0
  200. package/dist/esm/{chunk-4YLUM62M.mjs.map → chunk-MWXBQ6HR.mjs.map} +1 -1
  201. package/dist/esm/chunk-MX2R6BBJ.mjs +150 -0
  202. package/dist/esm/{chunk-6PBMD2BQ.mjs.map → chunk-MX2R6BBJ.mjs.map} +1 -1
  203. package/dist/esm/chunk-MYEYZ7PF.mjs +46 -0
  204. package/dist/esm/{chunk-XKUIMGKU.mjs.map → chunk-MYEYZ7PF.mjs.map} +1 -1
  205. package/dist/esm/chunk-NFBLI3BS.mjs +286 -0
  206. package/dist/esm/chunk-NFBLI3BS.mjs.map +1 -0
  207. package/dist/esm/chunk-NUT2VOX2.mjs +317 -0
  208. package/dist/esm/{chunk-XTOIL6MB.mjs.map → chunk-NUT2VOX2.mjs.map} +1 -1
  209. package/dist/esm/chunk-OFUNBTK4.mjs +169 -0
  210. package/dist/esm/chunk-OFUNBTK4.mjs.map +1 -0
  211. package/dist/esm/chunk-OOQS6BEP.mjs +379 -0
  212. package/dist/esm/{chunk-HEAWDTLG.mjs.map → chunk-OOQS6BEP.mjs.map} +1 -1
  213. package/dist/esm/chunk-OVZOE4GS.mjs +121 -0
  214. package/dist/esm/chunk-OVZOE4GS.mjs.map +1 -0
  215. package/dist/esm/chunk-PGFEUN7K.mjs +129 -0
  216. package/dist/esm/{chunk-ZCEBDPBJ.mjs.map → chunk-PGFEUN7K.mjs.map} +1 -1
  217. package/dist/esm/chunk-PITSYZA7.mjs +66 -0
  218. package/dist/esm/{chunk-33CBJFX2.mjs.map → chunk-PITSYZA7.mjs.map} +1 -1
  219. package/dist/esm/chunk-PKUXOBIV.mjs +138 -0
  220. package/dist/esm/{chunk-FN4C3CKC.mjs.map → chunk-PKUXOBIV.mjs.map} +1 -1
  221. package/dist/esm/chunk-PP2U5UMC.mjs +689 -0
  222. package/dist/esm/{chunk-U2SJIG2T.mjs.map → chunk-PP2U5UMC.mjs.map} +1 -1
  223. package/dist/esm/chunk-PT2QHUB6.mjs +96 -0
  224. package/dist/esm/{chunk-A5L76YP7.mjs.map → chunk-PT2QHUB6.mjs.map} +1 -1
  225. package/dist/esm/chunk-PYLTV3KI.mjs +288 -0
  226. package/dist/esm/{chunk-OURSLL3I.mjs.map → chunk-PYLTV3KI.mjs.map} +1 -1
  227. package/dist/esm/chunk-QJ6CGH7N.mjs +71 -0
  228. package/dist/esm/{chunk-DWJ3PGWE.mjs.map → chunk-QJ6CGH7N.mjs.map} +1 -1
  229. package/dist/esm/chunk-QPT4BSAB.mjs +20 -0
  230. package/dist/esm/{chunk-IF4UU2MT.mjs.map → chunk-QPT4BSAB.mjs.map} +1 -1
  231. package/dist/esm/chunk-QSYWLSSN.mjs +216 -0
  232. package/dist/esm/{chunk-ORMOQWWH.mjs.map → chunk-QSYWLSSN.mjs.map} +1 -1
  233. package/dist/esm/chunk-R4JTQQBX.mjs +37 -0
  234. package/dist/esm/{chunk-EMURYYVO.mjs.map → chunk-R4JTQQBX.mjs.map} +1 -1
  235. package/dist/esm/chunk-RGHKUKOX.mjs +248 -0
  236. package/dist/esm/{chunk-UTXEW2FT.mjs.map → chunk-RGHKUKOX.mjs.map} +1 -1
  237. package/dist/esm/chunk-RQS33JAS.mjs +77 -0
  238. package/dist/esm/{chunk-42T3UGSW.mjs.map → chunk-RQS33JAS.mjs.map} +1 -1
  239. package/dist/esm/chunk-RTNVJKNX.mjs +128 -0
  240. package/dist/esm/{chunk-HFCWJ6QL.mjs.map → chunk-RTNVJKNX.mjs.map} +1 -1
  241. package/dist/esm/chunk-S5JIXUS6.mjs +90 -0
  242. package/dist/esm/{chunk-L6FONDPA.mjs.map → chunk-S5JIXUS6.mjs.map} +1 -1
  243. package/dist/esm/chunk-SAWN7RJP.mjs +15 -0
  244. package/dist/esm/chunk-SAWN7RJP.mjs.map +1 -0
  245. package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
  246. package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
  247. package/dist/esm/chunk-SFF4FJUD.mjs +1014 -0
  248. package/dist/esm/{chunk-QBFGY74I.mjs.map → chunk-SFF4FJUD.mjs.map} +1 -1
  249. package/dist/esm/chunk-SFLQPB72.mjs +63 -0
  250. package/dist/esm/{chunk-4RXKALLC.mjs.map → chunk-SFLQPB72.mjs.map} +1 -1
  251. package/dist/esm/chunk-SQNS4SFV.mjs +232 -0
  252. package/dist/esm/chunk-SQNS4SFV.mjs.map +1 -0
  253. package/dist/esm/chunk-SW4ASQPY.mjs +407 -0
  254. package/dist/esm/{chunk-4T75XRI2.mjs.map → chunk-SW4ASQPY.mjs.map} +1 -1
  255. package/dist/esm/chunk-TFDBSPIQ.mjs +276 -0
  256. package/dist/esm/{chunk-H4GZWYIG.mjs.map → chunk-TFDBSPIQ.mjs.map} +1 -1
  257. package/dist/esm/chunk-THWEBWUC.mjs +20 -0
  258. package/dist/esm/{chunk-DPW6ELCQ.mjs.map → chunk-THWEBWUC.mjs.map} +1 -1
  259. package/dist/esm/chunk-TQLOZKH4.mjs +168 -0
  260. package/dist/esm/{chunk-X6IHNXWY.mjs.map → chunk-TQLOZKH4.mjs.map} +1 -1
  261. package/dist/esm/chunk-TZZZNGQI.mjs +53 -0
  262. package/dist/esm/{chunk-DLLDRANJ.mjs.map → chunk-TZZZNGQI.mjs.map} +1 -1
  263. package/dist/esm/chunk-U7K7AJMC.mjs +70 -0
  264. package/dist/esm/{chunk-BBUN4IO4.mjs.map → chunk-U7K7AJMC.mjs.map} +1 -1
  265. package/dist/esm/chunk-UGKZQUGE.mjs +367 -0
  266. package/dist/esm/{chunk-J7HRQ2IH.mjs.map → chunk-UGKZQUGE.mjs.map} +1 -1
  267. package/dist/esm/chunk-UKYATVYK.mjs +58 -0
  268. package/dist/esm/{chunk-5BSMF22B.mjs.map → chunk-UKYATVYK.mjs.map} +1 -1
  269. package/dist/esm/chunk-V66UC6YI.mjs +74 -0
  270. package/dist/esm/{chunk-Q7RG7KQS.mjs.map → chunk-V66UC6YI.mjs.map} +1 -1
  271. package/dist/esm/chunk-VJ2Z7GO3.mjs +162 -0
  272. package/dist/esm/{chunk-BYHCW7MI.mjs.map → chunk-VJ2Z7GO3.mjs.map} +1 -1
  273. package/dist/esm/chunk-WPJUSJJQ.mjs +147 -0
  274. package/dist/esm/{chunk-XDIX7NIP.mjs.map → chunk-WPJUSJJQ.mjs.map} +1 -1
  275. package/dist/esm/chunk-WSI6NVQD.mjs +219 -0
  276. package/dist/esm/{chunk-HLJE5XGE.mjs.map → chunk-WSI6NVQD.mjs.map} +1 -1
  277. package/dist/esm/chunk-XB4SVKZP.mjs +43 -0
  278. package/dist/esm/{chunk-3HFZN7L5.mjs.map → chunk-XB4SVKZP.mjs.map} +1 -1
  279. package/dist/esm/chunk-XHQMSKZP.mjs +167 -0
  280. package/dist/esm/{chunk-CXNF73OX.mjs.map → chunk-XHQMSKZP.mjs.map} +1 -1
  281. package/dist/esm/chunk-XQFUKBY7.mjs +136 -0
  282. package/dist/esm/chunk-XQFUKBY7.mjs.map +1 -0
  283. package/dist/esm/chunk-XX6C2QGI.mjs +160 -0
  284. package/dist/esm/{chunk-P7SE5LQE.mjs.map → chunk-XX6C2QGI.mjs.map} +1 -1
  285. package/dist/esm/chunk-Y25NJOOO.mjs +420 -0
  286. package/dist/esm/{chunk-WXDA4CCR.mjs.map → chunk-Y25NJOOO.mjs.map} +1 -1
  287. package/dist/esm/chunk-Y3ENAKRC.mjs +73 -0
  288. package/dist/esm/{chunk-MT2RJ7H3.mjs.map → chunk-Y3ENAKRC.mjs.map} +1 -1
  289. package/dist/esm/chunk-YD3KHXBD.mjs +91 -0
  290. package/dist/esm/{chunk-DNWFDS7F.mjs.map → chunk-YD3KHXBD.mjs.map} +1 -1
  291. package/dist/esm/chunk-YGFWUFZY.mjs +741 -0
  292. package/dist/esm/chunk-YGFWUFZY.mjs.map +1 -0
  293. package/dist/esm/chunk-YMHFUSKX.mjs +86 -0
  294. package/dist/esm/{chunk-L2AQG3G3.mjs.map → chunk-YMHFUSKX.mjs.map} +1 -1
  295. package/dist/esm/chunk-YU65LNIC.mjs +72 -0
  296. package/dist/esm/{chunk-ROT6S6BM.mjs.map → chunk-YU65LNIC.mjs.map} +1 -1
  297. package/dist/esm/chunk-ZAPXD4FC.mjs +63 -0
  298. package/dist/esm/{chunk-HT2WC3QV.mjs.map → chunk-ZAPXD4FC.mjs.map} +1 -1
  299. package/dist/esm/chunk-ZATMRCFV.mjs +86 -0
  300. package/dist/esm/{chunk-7CYCKCVU.mjs.map → chunk-ZATMRCFV.mjs.map} +1 -1
  301. package/dist/esm/chunk-ZWCTF3NQ.mjs +25 -0
  302. package/dist/esm/{chunk-W4BSN6SK.mjs.map → chunk-ZWCTF3NQ.mjs.map} +1 -1
  303. package/dist/esm/chunk-ZZWD23YW.mjs +700 -0
  304. package/dist/esm/{chunk-G6RLN6ET.mjs.map → chunk-ZZWD23YW.mjs.map} +1 -1
  305. package/dist/esm/cli/index.mjs +20 -1
  306. package/dist/esm/cli/localNode.mjs +16 -1
  307. package/dist/esm/cli/move.mjs +7 -1
  308. package/dist/esm/client/core.d.mts +36 -1
  309. package/dist/esm/client/core.mjs +34 -1
  310. package/dist/esm/client/get.d.mts +35 -1
  311. package/dist/esm/client/get.mjs +41 -1
  312. package/dist/esm/client/index.d.mts +3 -3
  313. package/dist/esm/client/index.mjs +69 -1
  314. package/dist/esm/client/post.d.mts +34 -1
  315. package/dist/esm/client/post.mjs +43 -1
  316. package/dist/esm/core/account/index.mjs +21 -1
  317. package/dist/esm/core/account/utils/address.mjs +19 -1
  318. package/dist/esm/core/account/utils/index.mjs +20 -1
  319. package/dist/esm/core/accountAddress.mjs +16 -1
  320. package/dist/esm/core/authenticationKey.mjs +15 -1
  321. package/dist/esm/core/common.mjs +7 -1
  322. package/dist/esm/core/crypto/abstraction.mjs +26 -1
  323. package/dist/esm/core/crypto/ed25519.mjs +33 -1
  324. package/dist/esm/core/crypto/ephemeral.mjs +30 -1
  325. package/dist/esm/core/crypto/federatedKeyless.mjs +44 -1
  326. package/dist/esm/core/crypto/hdKey.mjs +25 -1
  327. package/dist/esm/core/crypto/index.d.mts +1 -1
  328. package/dist/esm/core/crypto/index.mjs +173 -1
  329. package/dist/esm/core/crypto/keyless.mjs +83 -1
  330. package/dist/esm/core/crypto/multiEd25519.d.mts +17 -2
  331. package/dist/esm/core/crypto/multiEd25519.mjs +50 -1
  332. package/dist/esm/core/crypto/multiKey.d.mts +33 -15
  333. package/dist/esm/core/crypto/multiKey.mjs +51 -1
  334. package/dist/esm/core/crypto/poseidon.mjs +15 -1
  335. package/dist/esm/core/crypto/privateKey.mjs +12 -1
  336. package/dist/esm/core/crypto/proof.mjs +20 -1
  337. package/dist/esm/core/crypto/publicKey.mjs +22 -1
  338. package/dist/esm/core/crypto/secp256k1.mjs +29 -1
  339. package/dist/esm/core/crypto/signature.mjs +20 -1
  340. package/dist/esm/core/crypto/singleKey.mjs +48 -1
  341. package/dist/esm/core/crypto/utils.mjs +9 -1
  342. package/dist/esm/core/hex.mjs +12 -1
  343. package/dist/esm/core/index.d.mts +1 -1
  344. package/dist/esm/core/index.mjs +202 -1
  345. package/dist/esm/errors/index.mjs +25 -1
  346. package/dist/esm/index.d.mts +9 -7
  347. package/dist/esm/index.mjs +795 -1
  348. package/dist/esm/internal/abstraction.mjs +103 -1
  349. package/dist/esm/internal/account.d.mts +22 -5
  350. package/dist/esm/internal/account.mjs +128 -1
  351. package/dist/esm/internal/ans.mjs +138 -1
  352. package/dist/esm/internal/coin.mjs +98 -1
  353. package/dist/esm/internal/digitalAsset.mjs +145 -1
  354. package/dist/esm/internal/event.mjs +62 -1
  355. package/dist/esm/internal/experimental.d.mts +52 -0
  356. package/dist/esm/internal/experimental.mjs +99 -0
  357. package/dist/esm/internal/experimental.mjs.map +1 -0
  358. package/dist/esm/internal/faucet.mjs +57 -1
  359. package/dist/esm/internal/fungibleAsset.mjs +105 -1
  360. package/dist/esm/internal/general.mjs +43 -1
  361. package/dist/esm/internal/keyless.d.mts +12 -1
  362. package/dist/esm/internal/keyless.mjs +105 -1
  363. package/dist/esm/internal/object.mjs +58 -1
  364. package/dist/esm/internal/staking.mjs +60 -1
  365. package/dist/esm/internal/table.mjs +38 -1
  366. package/dist/esm/internal/transaction.mjs +57 -1
  367. package/dist/esm/internal/transactionSubmission.d.mts +20 -9
  368. package/dist/esm/internal/transactionSubmission.mjs +124 -1
  369. package/dist/esm/internal/view.mjs +100 -1
  370. package/dist/esm/transactions/authenticator/account.mjs +67 -1
  371. package/dist/esm/transactions/authenticator/index.mjs +82 -1
  372. package/dist/esm/transactions/authenticator/transaction.mjs +66 -1
  373. package/dist/esm/transactions/index.mjs +310 -1
  374. package/dist/esm/transactions/instances/chainId.mjs +11 -1
  375. package/dist/esm/transactions/instances/identifier.mjs +11 -1
  376. package/dist/esm/transactions/instances/index.mjs +114 -1
  377. package/dist/esm/transactions/instances/moduleId.mjs +55 -1
  378. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +60 -1
  379. package/dist/esm/transactions/instances/rawTransaction.mjs +65 -1
  380. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +21 -1
  381. package/dist/esm/transactions/instances/signedTransaction.mjs +63 -1
  382. package/dist/esm/transactions/instances/simpleTransaction.mjs +60 -1
  383. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  384. package/dist/esm/transactions/instances/transactionPayload.mjs +73 -1
  385. package/dist/esm/transactions/management/accountSequenceNumber.mjs +89 -1
  386. package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
  387. package/dist/esm/transactions/management/index.mjs +109 -1
  388. package/dist/esm/transactions/management/transactionWorker.mjs +105 -1
  389. package/dist/esm/transactions/scriptComposer/index.mjs +94 -1
  390. package/dist/esm/transactions/transactionBuilder/helpers.mjs +92 -1
  391. package/dist/esm/transactions/transactionBuilder/index.mjs +180 -1
  392. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +105 -1
  393. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +75 -1
  394. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +2 -2
  395. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +112 -1
  396. package/dist/esm/transactions/typeTag/index.mjs +91 -1
  397. package/dist/esm/transactions/typeTag/parser.mjs +60 -1
  398. package/dist/esm/transactions/types.mjs +1 -1
  399. package/dist/esm/types/abstraction.mjs +7 -1
  400. package/dist/esm/types/generated/operations.d.mts +63 -10
  401. package/dist/esm/types/generated/queries.d.mts +10 -2
  402. package/dist/esm/types/generated/queries.mjs +69 -1
  403. package/dist/esm/types/generated/types.d.mts +821 -1051
  404. package/dist/esm/types/generated/types.mjs +774 -1
  405. package/dist/esm/types/generated/types.mjs.map +1 -1
  406. package/dist/esm/types/index.d.mts +2 -2
  407. package/dist/esm/types/index.mjs +82 -1
  408. package/dist/esm/types/indexer.d.mts +14 -2
  409. package/dist/esm/types/indexer.mjs +1 -1
  410. package/dist/esm/types/types.d.mts +77 -3
  411. package/dist/esm/types/types.mjs +77 -1
  412. package/dist/esm/utils/apiEndpoints.mjs +21 -1
  413. package/dist/esm/utils/const.d.mts +1 -1
  414. package/dist/esm/utils/const.mjs +25 -1
  415. package/dist/esm/utils/helpers.d.mts +20 -1
  416. package/dist/esm/utils/helpers.mjs +37 -1
  417. package/dist/esm/utils/index.d.mts +1 -1
  418. package/dist/esm/utils/index.mjs +88 -1
  419. package/dist/esm/utils/memoize.mjs +9 -1
  420. package/dist/esm/utils/normalizeBundle.mjs +20 -1
  421. package/dist/esm/version.d.mts +1 -1
  422. package/dist/esm/version.mjs +7 -1
  423. package/package.json +2 -7
  424. package/src/account/MultiEd25519Account.ts +154 -0
  425. package/src/account/MultiKeyAccount.ts +1 -2
  426. package/src/account/index.ts +1 -0
  427. package/src/api/account.ts +57 -3
  428. package/src/api/aptos.ts +6 -0
  429. package/src/api/aptosConfig.ts +2 -2
  430. package/src/api/experimental.ts +64 -0
  431. package/src/api/transaction.ts +22 -2
  432. package/src/client/core.ts +120 -0
  433. package/src/client/get.ts +73 -1
  434. package/src/client/post.ts +70 -1
  435. package/src/core/crypto/multiEd25519.ts +19 -3
  436. package/src/core/crypto/multiKey.ts +76 -52
  437. package/src/core/hex.ts +3 -1
  438. package/src/internal/account.ts +396 -2
  439. package/src/internal/experimental.ts +55 -0
  440. package/src/internal/keyless.ts +17 -9
  441. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
  442. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  443. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  444. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  445. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  446. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  447. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  448. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  449. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  450. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  451. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  452. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  453. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  454. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  455. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  456. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  457. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  458. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  459. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  460. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  461. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  462. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  463. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  464. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  465. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  466. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  467. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  468. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  469. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  470. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  471. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  472. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  473. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  474. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  475. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  476. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  477. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  478. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  479. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  480. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  481. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  482. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  483. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  484. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  485. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  486. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  487. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  488. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  489. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  490. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  491. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  492. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  493. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  494. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  495. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  496. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  497. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  498. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  499. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  500. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  501. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  502. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  503. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  504. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  505. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  506. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  507. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  508. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  509. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  510. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  511. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  512. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  513. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  514. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  515. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  516. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  517. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  518. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  519. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  520. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  521. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  522. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  523. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  524. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  525. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  526. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  527. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  528. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  529. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  530. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  531. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  532. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  533. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  534. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  535. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  536. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  537. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  538. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  539. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  540. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  541. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  542. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  543. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  544. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  545. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  546. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  547. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  548. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  549. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  550. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  551. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  552. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  553. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  554. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  555. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  556. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  557. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  558. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  559. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  560. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  561. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  562. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  563. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  564. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  565. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  566. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  567. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  568. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  569. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  570. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  571. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  572. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  573. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  574. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  575. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  576. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  577. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  578. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  579. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  580. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  581. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  582. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  583. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  584. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  585. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  586. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  587. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  588. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  589. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  590. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  591. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  592. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  593. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  594. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  595. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  596. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  597. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  598. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  599. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  600. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  601. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  602. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  603. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  604. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  605. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  606. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  607. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  608. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  609. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  610. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  611. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  612. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  613. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  614. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  615. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  616. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  617. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  618. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  619. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  620. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  621. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  622. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  623. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  624. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  625. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  626. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  627. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  628. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  629. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  630. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  631. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  632. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  633. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  634. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  635. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  636. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  637. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  638. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  639. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  640. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  641. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  642. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  643. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  644. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  645. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  646. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  647. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  648. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  649. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  650. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
  651. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
  652. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
  653. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
  654. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
  655. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
  656. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
  657. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
  658. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
  659. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
  660. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
  661. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
  662. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
  663. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
  664. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
  665. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
  666. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
  667. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
  668. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
  669. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
  670. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
  671. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
  672. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
  673. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
  674. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
  675. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
  676. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
  677. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
  678. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
  679. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
  680. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
  681. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
  682. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
  683. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
  684. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
  685. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
  686. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
  687. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
  688. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
  689. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
  690. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
  691. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
  692. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
  693. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
  694. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
  695. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
  696. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
  697. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
  698. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
  699. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
  700. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
  701. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
  702. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
  703. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
  704. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
  705. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
  706. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
  707. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
  708. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
  709. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
  710. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
  711. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
  712. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
  713. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
  714. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
  715. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
  716. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
  717. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
  718. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
  719. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
  720. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
  721. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
  722. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
  723. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
  724. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
  725. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
  726. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
  727. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
  728. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
  729. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
  730. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
  731. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
  732. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
  733. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
  734. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
  735. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
  736. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
  737. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
  738. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
  739. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
  740. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
  741. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
  742. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
  743. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
  744. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
  745. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
  746. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
  747. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
  748. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
  749. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
  750. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
  751. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
  752. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
  753. package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
  754. package/src/internal/queries/getAccountAddressForAuthKey.graphql +8 -0
  755. package/src/internal/queries/getAuthKeysForPublicKey.graphql +9 -0
  756. package/src/internal/queries/getMultiKeyForAuthKey.graphql +9 -0
  757. package/src/internal/queries/getSignatures.graphql +13 -0
  758. package/src/internal/transactionSubmission.ts +125 -4
  759. package/src/internal/view.ts +4 -4
  760. package/src/transactions/transactionBuilder/transactionBuilder.ts +7 -0
  761. package/src/types/codegen.yaml +1 -1
  762. package/src/types/generated/operations.ts +69 -8
  763. package/src/types/generated/queries.ts +111 -0
  764. package/src/types/generated/types.ts +925 -1133
  765. package/src/types/indexer.ts +16 -0
  766. package/src/types/types.ts +82 -3
  767. package/src/utils/const.ts +1 -1
  768. package/src/utils/helpers.ts +22 -0
  769. package/src/version.ts +1 -1
  770. package/dist/common/chunk-ZYPBABLQ.js +0 -4
  771. package/dist/common/chunk-ZYPBABLQ.js.map +0 -1
  772. package/dist/esm/chunk-2FNFUTFJ.mjs +0 -2
  773. package/dist/esm/chunk-2FNFUTFJ.mjs.map +0 -1
  774. package/dist/esm/chunk-2GIPNLDO.mjs +0 -2
  775. package/dist/esm/chunk-33CBJFX2.mjs +0 -2
  776. package/dist/esm/chunk-35DKMW7Q.mjs +0 -2
  777. package/dist/esm/chunk-3EY7MT2M.mjs +0 -2
  778. package/dist/esm/chunk-3EY7MT2M.mjs.map +0 -1
  779. package/dist/esm/chunk-3HFZN7L5.mjs +0 -2
  780. package/dist/esm/chunk-3OLFJ65O.mjs +0 -2
  781. package/dist/esm/chunk-42T3UGSW.mjs +0 -2
  782. package/dist/esm/chunk-4776UXL6.mjs +0 -2
  783. package/dist/esm/chunk-4RXKALLC.mjs +0 -2
  784. package/dist/esm/chunk-4T75XRI2.mjs +0 -2
  785. package/dist/esm/chunk-4UK4MUSD.mjs +0 -2
  786. package/dist/esm/chunk-4YLUM62M.mjs +0 -2
  787. package/dist/esm/chunk-56CNRT2K.mjs +0 -2
  788. package/dist/esm/chunk-5BSMF22B.mjs +0 -2
  789. package/dist/esm/chunk-66HHRRIX.mjs +0 -2
  790. package/dist/esm/chunk-66HHRRIX.mjs.map +0 -1
  791. package/dist/esm/chunk-6JTNS5O6.mjs +0 -2
  792. package/dist/esm/chunk-6JTNS5O6.mjs.map +0 -1
  793. package/dist/esm/chunk-6LGXFXXR.mjs +0 -2
  794. package/dist/esm/chunk-6PBMD2BQ.mjs +0 -2
  795. package/dist/esm/chunk-7C2RDOWS.mjs +0 -1
  796. package/dist/esm/chunk-7CYCKCVU.mjs +0 -2
  797. package/dist/esm/chunk-7DPHPPMG.mjs +0 -2
  798. package/dist/esm/chunk-7DPHPPMG.mjs.map +0 -1
  799. package/dist/esm/chunk-A5L76YP7.mjs +0 -2
  800. package/dist/esm/chunk-ABXES4FS.mjs +0 -2
  801. package/dist/esm/chunk-AC3BISWL.mjs +0 -2
  802. package/dist/esm/chunk-AZWVCBK2.mjs +0 -2
  803. package/dist/esm/chunk-BBUN4IO4.mjs +0 -2
  804. package/dist/esm/chunk-BI3BTSUB.mjs +0 -2
  805. package/dist/esm/chunk-BUTMGMSD.mjs +0 -7
  806. package/dist/esm/chunk-BYHCW7MI.mjs +0 -2
  807. package/dist/esm/chunk-C3Q23D22.mjs +0 -2
  808. package/dist/esm/chunk-CRFLR3ZY.mjs +0 -2
  809. package/dist/esm/chunk-CSG67JHZ.mjs +0 -2
  810. package/dist/esm/chunk-CXNF73OX.mjs +0 -2
  811. package/dist/esm/chunk-D6T3NYOA.mjs +0 -2
  812. package/dist/esm/chunk-DBIZE7G6.mjs +0 -2
  813. package/dist/esm/chunk-DLLDRANJ.mjs +0 -2
  814. package/dist/esm/chunk-DMS7K76O.mjs +0 -2
  815. package/dist/esm/chunk-DNJQWGB7.mjs +0 -2
  816. package/dist/esm/chunk-DNWFDS7F.mjs +0 -2
  817. package/dist/esm/chunk-DPW6ELCQ.mjs +0 -2
  818. package/dist/esm/chunk-DWJ3PGWE.mjs +0 -2
  819. package/dist/esm/chunk-EBMEXURY.mjs +0 -2
  820. package/dist/esm/chunk-EGZI6EJ2.mjs +0 -2
  821. package/dist/esm/chunk-EMURYYVO.mjs +0 -2
  822. package/dist/esm/chunk-EY2JUXEC.mjs +0 -2
  823. package/dist/esm/chunk-F2ZTBAJJ.mjs +0 -2
  824. package/dist/esm/chunk-F2ZTBAJJ.mjs.map +0 -1
  825. package/dist/esm/chunk-FN4C3CKC.mjs +0 -2
  826. package/dist/esm/chunk-G4O6FXCF.mjs +0 -2
  827. package/dist/esm/chunk-G6RLN6ET.mjs +0 -2
  828. package/dist/esm/chunk-GOXRBEIJ.mjs +0 -2
  829. package/dist/esm/chunk-GQX5KMF7.mjs +0 -2
  830. package/dist/esm/chunk-H4GZWYIG.mjs +0 -2
  831. package/dist/esm/chunk-HEAWDTLG.mjs +0 -2
  832. package/dist/esm/chunk-HFCWJ6QL.mjs +0 -2
  833. package/dist/esm/chunk-HL2O3T57.mjs +0 -2
  834. package/dist/esm/chunk-HLJE5XGE.mjs +0 -2
  835. package/dist/esm/chunk-HT2WC3QV.mjs +0 -2
  836. package/dist/esm/chunk-I7YHK6ZF.mjs +0 -2
  837. package/dist/esm/chunk-I7YHK6ZF.mjs.map +0 -1
  838. package/dist/esm/chunk-IDTLNF4M.mjs +0 -2
  839. package/dist/esm/chunk-IF4UU2MT.mjs +0 -2
  840. package/dist/esm/chunk-IMTC3J2M.mjs +0 -2
  841. package/dist/esm/chunk-J7HRQ2IH.mjs +0 -2
  842. package/dist/esm/chunk-JF66JS2R.mjs +0 -2
  843. package/dist/esm/chunk-KDMSOCZY.mjs +0 -2
  844. package/dist/esm/chunk-KEJAUCQF.mjs +0 -2
  845. package/dist/esm/chunk-L2AQG3G3.mjs +0 -2
  846. package/dist/esm/chunk-L6FONDPA.mjs +0 -2
  847. package/dist/esm/chunk-MT2RJ7H3.mjs +0 -2
  848. package/dist/esm/chunk-N4DM5FYH.mjs +0 -2
  849. package/dist/esm/chunk-N6YTF76Q.mjs +0 -2
  850. package/dist/esm/chunk-N7C6LQPZ.mjs +0 -2
  851. package/dist/esm/chunk-N7C6LQPZ.mjs.map +0 -1
  852. package/dist/esm/chunk-O37BZP2G.mjs +0 -2
  853. package/dist/esm/chunk-ORMOQWWH.mjs +0 -2
  854. package/dist/esm/chunk-OURSLL3I.mjs +0 -2
  855. package/dist/esm/chunk-P7SE5LQE.mjs +0 -2
  856. package/dist/esm/chunk-PNSF3E67.mjs +0 -2
  857. package/dist/esm/chunk-PNSF3E67.mjs.map +0 -1
  858. package/dist/esm/chunk-PR3W2QEH.mjs +0 -2
  859. package/dist/esm/chunk-PWYJWTEM.mjs +0 -2
  860. package/dist/esm/chunk-PWYJWTEM.mjs.map +0 -1
  861. package/dist/esm/chunk-Q4C4U6I4.mjs +0 -4
  862. package/dist/esm/chunk-Q7RG7KQS.mjs +0 -2
  863. package/dist/esm/chunk-QBFGY74I.mjs +0 -2
  864. package/dist/esm/chunk-RJ7F4JDV.mjs +0 -2
  865. package/dist/esm/chunk-RJ7F4JDV.mjs.map +0 -1
  866. package/dist/esm/chunk-ROT6S6BM.mjs +0 -2
  867. package/dist/esm/chunk-S47HA7O7.mjs +0 -2
  868. package/dist/esm/chunk-SCBYJU6K.mjs +0 -2
  869. package/dist/esm/chunk-STY74NUA.mjs +0 -2
  870. package/dist/esm/chunk-STY74NUA.mjs.map +0 -1
  871. package/dist/esm/chunk-TDGUMBON.mjs +0 -4
  872. package/dist/esm/chunk-TDGUMBON.mjs.map +0 -1
  873. package/dist/esm/chunk-TM6IKHMX.mjs +0 -2
  874. package/dist/esm/chunk-TOBQ5UE6.mjs +0 -2
  875. package/dist/esm/chunk-U2SJIG2T.mjs +0 -2
  876. package/dist/esm/chunk-ULHOJ2BE.mjs +0 -2
  877. package/dist/esm/chunk-ULHOJ2BE.mjs.map +0 -1
  878. package/dist/esm/chunk-UTXEW2FT.mjs +0 -2
  879. package/dist/esm/chunk-V2EXS6TM.mjs +0 -2
  880. package/dist/esm/chunk-V7G2EDNR.mjs +0 -2
  881. package/dist/esm/chunk-V7G2EDNR.mjs.map +0 -1
  882. package/dist/esm/chunk-VHNX2NUR.mjs +0 -473
  883. package/dist/esm/chunk-VHNX2NUR.mjs.map +0 -1
  884. package/dist/esm/chunk-VKDTI6NX.mjs +0 -2
  885. package/dist/esm/chunk-VKDTI6NX.mjs.map +0 -1
  886. package/dist/esm/chunk-VOCI2675.mjs +0 -2
  887. package/dist/esm/chunk-W4BSN6SK.mjs +0 -2
  888. package/dist/esm/chunk-WCMW2L3P.mjs +0 -2
  889. package/dist/esm/chunk-WXDA4CCR.mjs +0 -2
  890. package/dist/esm/chunk-X24PSWCX.mjs +0 -2
  891. package/dist/esm/chunk-X2CPDUOS.mjs +0 -2
  892. package/dist/esm/chunk-X2CPDUOS.mjs.map +0 -1
  893. package/dist/esm/chunk-X6IHNXWY.mjs +0 -2
  894. package/dist/esm/chunk-XAPQNCTN.mjs +0 -2
  895. package/dist/esm/chunk-XDIX7NIP.mjs +0 -2
  896. package/dist/esm/chunk-XH3BEKII.mjs +0 -2
  897. package/dist/esm/chunk-XJJVJOX5.mjs +0 -2
  898. package/dist/esm/chunk-XKUIMGKU.mjs +0 -2
  899. package/dist/esm/chunk-XTOIL6MB.mjs +0 -2
  900. package/dist/esm/chunk-XXHZQFYW.mjs +0 -2
  901. package/dist/esm/chunk-Y3Y4DVCK.mjs +0 -2
  902. package/dist/esm/chunk-YIF242TF.mjs +0 -2
  903. package/dist/esm/chunk-YIF242TF.mjs.map +0 -1
  904. package/dist/esm/chunk-YOZBVVKL.mjs +0 -2
  905. package/dist/esm/chunk-ZCEBDPBJ.mjs +0 -2
  906. package/dist/esm/chunk-ZP5EBIBE.mjs +0 -2
  907. package/dist/esm/chunk-ZP5EBIBE.mjs.map +0 -1
  908. /package/dist/esm/{chunk-7C2RDOWS.mjs.map → account/MultiEd25519Account.mjs.map} +0 -0
  909. /package/dist/esm/{chunk-KDMSOCZY.mjs.map → api/experimental.mjs.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/types.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Network } from \"../utils/apiEndpoints\";\nimport { OrderBy, TokenStandard } from \"./indexer\";\n\n/**\n * Different MIME types used for data interchange in transactions and responses.\n */\nexport enum MimeType {\n /**\n * JSON representation, used for transaction submission and accept type JSON output\n */\n JSON = \"application/json\",\n /**\n * BCS representation, used for accept type BCS output\n */\n BCS = \"application/x-bcs\",\n /**\n * BCS representation, used for transaction submission in BCS input\n */\n BCS_SIGNED_TRANSACTION = \"application/x.aptos.signed_transaction+bcs\",\n BCS_VIEW_FUNCTION = \"application/x.aptos.view_function+bcs\",\n}\n\n/**\n * Hexadecimal data input for functions, supporting both string and Uint8Array formats.\n */\nexport type HexInput = string | Uint8Array;\n\n/**\n * Variants of type tags used in the system, encompassing various data types and structures.\n * {@link https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-core/types/src/language_storage.rs#L27}\n */\nexport enum TypeTagVariants {\n Bool = 0,\n U8 = 1,\n U64 = 2,\n U128 = 3,\n Address = 4,\n Signer = 5,\n Vector = 6,\n Struct = 7,\n U16 = 8,\n U32 = 9,\n U256 = 10,\n Reference = 254, // This is specifically a placeholder and does not represent a real type\n Generic = 255, // This is specifically a placeholder and does not represent a real type\n}\n\n/**\n * Variants of script transaction arguments used in Rust, encompassing various data types for transaction processing.\n * {@link https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-core/types/src/transaction_argument.rs#L11}\n */\nexport enum ScriptTransactionArgumentVariants {\n U8 = 0,\n U64 = 1,\n U128 = 2,\n Address = 3,\n U8Vector = 4,\n Bool = 5,\n U16 = 6,\n U32 = 7,\n U256 = 8,\n Serialized = 9,\n}\n\n/**\n * The payload for various transaction types in the system.\n * {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L478}\n */\nexport enum TransactionPayloadVariants {\n Script = 0,\n EntryFunction = 2,\n Multisig = 3,\n}\n\n/**\n * Variants of transactions used in the system.\n * {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/mod.rs#L440}\n */\nexport enum TransactionVariants {\n MultiAgentTransaction = 0,\n FeePayerTransaction = 1,\n}\n\n/**\n * Variants of transaction authenticators used in the system.\n * {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs#L44}\n */\nexport enum TransactionAuthenticatorVariant {\n Ed25519 = 0,\n MultiEd25519 = 1,\n MultiAgent = 2,\n FeePayer = 3,\n SingleSender = 4,\n}\n\n/**\n * Variants of account authenticators used in transactions.\n * {@link https://github.com/aptos-labs/aptos-core/blob/main/types/src/transaction/authenticator.rs#L414}\n */\nexport enum AccountAuthenticatorVariant {\n Ed25519 = 0,\n MultiEd25519 = 1,\n SingleKey = 2,\n MultiKey = 3,\n NoAccountAuthenticator = 4,\n Abstraction = 5,\n}\n\n/**\n * Variants of private keys that can comply with the AIP-80 standard.\n * {@link https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md}\n */\nexport enum PrivateKeyVariants {\n Ed25519 = \"ed25519\",\n Secp256k1 = \"secp256k1\",\n}\n\n/**\n * Variants of public keys used in cryptographic operations.\n */\nexport enum AnyPublicKeyVariant {\n Ed25519 = 0,\n Secp256k1 = 1,\n Keyless = 3,\n FederatedKeyless = 4,\n}\n\n/**\n * Variants of signature types used for cryptographic operations.\n */\nexport enum AnySignatureVariant {\n Ed25519 = 0,\n Secp256k1 = 1,\n Keyless = 3,\n}\n\n/**\n * Variants of ephemeral public keys used in cryptographic operations.\n */\nexport enum EphemeralPublicKeyVariant {\n Ed25519 = 0,\n}\n\n/**\n * Variants of ephemeral signatures used for secure communication.\n */\nexport enum EphemeralSignatureVariant {\n Ed25519 = 0,\n}\n\n/**\n * Variants of ephemeral certificates used in secure transactions.\n */\nexport enum EphemeralCertificateVariant {\n ZkProof = 0,\n}\n\n/**\n * Variants of zero-knowledge proofs used in cryptographic operations.\n */\nexport enum ZkpVariant {\n Groth16 = 0,\n}\n\n/**\n * BCS types\n */\nexport type Uint8 = number;\n\n/**\n * A 16-bit unsigned integer.\n */\nexport type Uint16 = number;\n\n/**\n * A 32-bit unsigned integer.\n */\nexport type Uint32 = number;\n\n/**\n * A 64-bit unsigned integer value.\n */\nexport type Uint64 = bigint;\n\n/**\n * A 128-bit unsigned integer used for precise arithmetic operations.\n */\nexport type Uint128 = bigint;\n\n/**\n * A 256-bit unsigned integer used for precise numerical calculations.\n */\nexport type Uint256 = bigint;\n\n/**\n * A number or a bigint value.\n */\nexport type AnyNumber = number | bigint;\n\n/**\n * Configuration options for initializing the SDK, allowing customization of its behavior and interaction with the Aptos network.\n */\nexport type AptosSettings = {\n readonly network?: Network;\n\n readonly fullnode?: string;\n\n readonly faucet?: string;\n\n readonly indexer?: string;\n\n readonly pepper?: string;\n\n readonly prover?: string;\n\n readonly clientConfig?: ClientConfig;\n\n readonly client?: Client;\n\n readonly fullnodeConfig?: FullNodeConfig;\n\n readonly indexerConfig?: IndexerConfig;\n\n readonly faucetConfig?: FaucetConfig;\n};\n\n/**\n * Defines the parameters for paginating query results, including the starting position and maximum number of items to return.\n * @param offset Specifies the starting position of the query result. Default is 0.\n * @param limit Specifies the maximum number of items to return. Default is 25.\n */\nexport interface PaginationArgs {\n offset?: AnyNumber;\n limit?: number;\n}\n\n/**\n * Represents the arguments for specifying a token standard.\n *\n * @param tokenStandard - Optional standard of the token.\n */\nexport interface TokenStandardArg {\n tokenStandard?: TokenStandard;\n}\n\nexport interface OrderByArg<T extends {}> {\n orderBy?: OrderBy<T>;\n}\n\nexport interface WhereArg<T extends {}> {\n where?: T;\n}\n\n/**\n * QUERY TYPES\n */\n\n/**\n * A configuration object for requests to the server, including API key, extra headers, and cookie handling options.\n */\nexport type ClientConfig = ClientHeadersType & {\n WITH_CREDENTIALS?: boolean;\n API_KEY?: string;\n};\n\n/**\n * A configuration object for a Fullnode, allowing for the inclusion of extra headers in requests.\n */\nexport type FullNodeConfig = ClientHeadersType;\n\n/**\n * An Indexer configuration object for sending requests with additional headers.\n */\nexport type IndexerConfig = ClientHeadersType;\n\n/**\n * A configuration object for a faucet, including optional authentication and headers for requests.\n */\nexport type FaucetConfig = ClientHeadersType & {\n AUTH_TOKEN?: string;\n};\n\n/**\n * General type definition for client headers.\n */\nexport type ClientHeadersType = {\n HEADERS?: Record<string, string | number | boolean>;\n};\n\n/**\n * Represents a client for making requests to a service provider.\n *\n * @param Req - The type of the request payload.\n * @param Res - The type of the response payload.\n */\nexport interface ClientRequest<Req> {\n url: string;\n method: \"GET\" | \"POST\";\n originMethod?: string;\n body?: Req;\n contentType?: string;\n acceptType?: string;\n params?: any;\n overrides?: ClientConfig & FullNodeConfig & IndexerConfig & FaucetConfig;\n headers?: Record<string, any>;\n}\n\nexport interface ClientResponse<Res> {\n status: number;\n statusText: string;\n data: Res;\n config?: any;\n request?: any;\n response?: any;\n headers?: any;\n}\n\nexport interface Client {\n /**\n * Sends a request to the specified URL with the given options.\n *\n * @param requestOptions - The options for the request.\n * @param requestOptions.url - The URL to send the request to.\n * @param requestOptions.method - The HTTP method to use, either \"GET\" or \"POST\".\n * @param requestOptions.path - An optional path to append to the URL.\n * @param requestOptions.body - The body of the request, applicable for POST requests.\n * @param requestOptions.contentType - The content type of the request body.\n * @param requestOptions.acceptType - The expected content type of the response.\n * @param requestOptions.params - Optional parameters to include in the request.\n * @param requestOptions.originMethod - An optional method to specify the origin of the request.\n * @param requestOptions.overrides - Optional configuration overrides for the request.\n */\n provider<Req, Res>(requestOptions: ClientRequest<Req>): Promise<ClientResponse<Res>>;\n\n /**\n * Sends a request to the specified URL with the given options, that returns a binary response\n *\n * @experimental\n * @param requestOptions - The options for the request.\n * @param requestOptions.url - The URL to send the request to.\n * @param requestOptions.method - The HTTP method to use, either \"GET\" or \"POST\".\n * @param requestOptions.path - An optional path to append to the URL.\n * @param requestOptions.body - The body of the request, applicable for POST requests.\n * @param requestOptions.contentType - The content type of the request body.\n * @param requestOptions.acceptType - The expected content type of the response.\n * @param requestOptions.params - Optional parameters to include in the request.\n * @param requestOptions.originMethod - An optional method to specify the origin of the request.\n * @param requestOptions.overrides - Optional configuration overrides for the request.\n */\n binaryProvider?: <Req>(requestOptions: ClientRequest<Req>) => Promise<ClientResponse<Buffer>>;\n}\n\n/**\n * The API request type\n *\n * @param url - the url to make the request to, i.e. https://fullnode.devnet.aptoslabs.com/v1\n * @param method - the request method \"GET\" | \"POST\"\n * @param endpoint (optional) - the endpoint to make the request to, i.e. transactions\n * @param body (optional) - the body of the request\n * @param contentType (optional) - the content type to set the `content-type` header to,\n * by default is set to `application/json`\n * @param acceptType (optional) - the content type to set the `accept-type` header to,\n * by default is set to `application/json`\n * @param params (optional) - query params to add to the request\n * @param originMethod (optional) - the local method the request came from\n * @param overrides (optional) - a `ClientConfig` object type to override request data\n */\nexport type AptosRequest = {\n url: string;\n method: \"GET\" | \"POST\";\n path?: string;\n body?: any;\n contentType?: string;\n acceptType?: string;\n params?: Record<string, string | AnyNumber | boolean | undefined>;\n originMethod?: string;\n overrides?: ClientConfig & FullNodeConfig & IndexerConfig & FaucetConfig;\n};\n\n/**\n * The API response type\n *\n * @param status - the response status. i.e. 200\n * @param statusText - the response message\n * @param data the response data\n * @param url the url the request was made to\n * @param headers the response headers\n * @param config (optional) - the request object\n * @param request (optional) - the request object\n */\nexport interface AptosResponse<Req, Res> {\n status: number;\n statusText: string;\n data: Res;\n url: string;\n headers: any;\n config?: any;\n request?: Req;\n}\n\n/**\n * The ledger version of transactions, defaulting to the latest version if not specified.\n */\nexport type LedgerVersionArg = {\n ledgerVersion?: AnyNumber;\n};\n\n/**\n * RESPONSE TYPES\n */\n\n/**\n * The output of the estimate gas API, including the deprioritized estimate for the gas unit price.\n */\nexport type GasEstimation = {\n /**\n * The deprioritized estimate for the gas unit price\n */\n deprioritized_gas_estimate?: number;\n /**\n * The current estimate for the gas unit price\n */\n gas_estimate: number;\n /**\n * The prioritized estimate for the gas unit price\n */\n prioritized_gas_estimate?: number;\n};\n\nexport type MoveResource<T = {}> = {\n type: MoveStructId;\n data: T;\n};\n\n/**\n * The data associated with an account, including its sequence number.\n */\nexport type AccountData = {\n sequence_number: string;\n authentication_key: string;\n};\n\n/**\n * A Move module containing an address.\n */\nexport type MoveModuleBytecode = {\n bytecode: string;\n abi?: MoveModule;\n};\n\n/**\n * TRANSACTION TYPES\n */\n\n/**\n * Different types of transaction responses that can occur in the system.\n */\nexport enum TransactionResponseType {\n Pending = \"pending_transaction\",\n User = \"user_transaction\",\n Genesis = \"genesis_transaction\",\n BlockMetadata = \"block_metadata_transaction\",\n StateCheckpoint = \"state_checkpoint_transaction\",\n Validator = \"validator_transaction\",\n BlockEpilogue = \"block_epilogue_transaction\",\n}\n\n/**\n * The response for a transaction, which can be either pending or committed.\n */\nexport type TransactionResponse = PendingTransactionResponse | CommittedTransactionResponse;\n\n/**\n * The response for a committed transaction, which can be one of several transaction types.\n */\nexport type CommittedTransactionResponse =\n | UserTransactionResponse\n | GenesisTransactionResponse\n | BlockMetadataTransactionResponse\n | StateCheckpointTransactionResponse\n | ValidatorTransactionResponse\n | BlockEpilogueTransactionResponse;\n\n/**\n * Determine if the given transaction response is currently pending.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the transaction is pending.\n */\nexport function isPendingTransactionResponse(response: TransactionResponse): response is PendingTransactionResponse {\n return response.type === TransactionResponseType.Pending;\n}\n\n/**\n * Determines if the given transaction response is a user transaction.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the transaction is of type User.\n */\nexport function isUserTransactionResponse(response: TransactionResponse): response is UserTransactionResponse {\n return response.type === TransactionResponseType.User;\n}\n\n/**\n * Determines if the given transaction response is a Genesis transaction.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the transaction is a Genesis transaction.\n */\nexport function isGenesisTransactionResponse(response: TransactionResponse): response is GenesisTransactionResponse {\n return response.type === TransactionResponseType.Genesis;\n}\n\n/**\n * Determine if the given transaction response is of type BlockMetadata.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the response is a BlockMetadata transaction.\n */\nexport function isBlockMetadataTransactionResponse(\n response: TransactionResponse,\n): response is BlockMetadataTransactionResponse {\n return response.type === TransactionResponseType.BlockMetadata;\n}\n\n/**\n * Determines if the provided transaction response is a state checkpoint transaction.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the transaction response is of type StateCheckpoint.\n */\nexport function isStateCheckpointTransactionResponse(\n response: TransactionResponse,\n): response is StateCheckpointTransactionResponse {\n return response.type === TransactionResponseType.StateCheckpoint;\n}\n\n/**\n * Determine if the given transaction response is of type Validator.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the transaction response is a Validator type.\n */\nexport function isValidatorTransactionResponse(\n response: TransactionResponse,\n): response is ValidatorTransactionResponse {\n return response.type === TransactionResponseType.Validator;\n}\n\n/**\n * Determines if the given transaction response is of the type Block Epilogue.\n *\n * @param response - The transaction response to evaluate.\n * @returns A boolean indicating whether the response is a Block Epilogue transaction.\n */\nexport function isBlockEpilogueTransactionResponse(\n response: TransactionResponse,\n): response is BlockEpilogueTransactionResponse {\n return response.type === TransactionResponseType.BlockEpilogue;\n}\n\n/**\n * The response for a pending transaction, indicating that the transaction is still being processed.\n */\nexport type PendingTransactionResponse = {\n type: TransactionResponseType.Pending;\n hash: string;\n sender: string;\n sequence_number: string;\n max_gas_amount: string;\n gas_unit_price: string;\n expiration_timestamp_secs: string;\n payload: TransactionPayloadResponse;\n signature?: TransactionSignature;\n};\n\n/**\n * The response structure for a user transaction.\n */\nexport type UserTransactionResponse = {\n type: TransactionResponseType.User;\n version: string;\n hash: string;\n state_change_hash: string;\n event_root_hash: string;\n state_checkpoint_hash: string | null;\n gas_used: string;\n /**\n * Whether the transaction was successful\n */\n success: boolean;\n /**\n * The VM status of the transaction, can tell useful information in a failure\n */\n vm_status: string;\n accumulator_root_hash: string;\n /**\n * Final state of resources changed by the transaction\n */\n changes: Array<WriteSetChange>;\n sender: string;\n sequence_number: string;\n max_gas_amount: string;\n gas_unit_price: string;\n expiration_timestamp_secs: string;\n payload: TransactionPayloadResponse;\n signature?: TransactionSignature;\n /**\n * Events generated by the transaction\n */\n events: Array<Event>;\n timestamp: string;\n};\n\n/**\n * The response for a genesis transaction, indicating the type of transaction.\n */\nexport type GenesisTransactionResponse = {\n type: TransactionResponseType.Genesis;\n version: string;\n hash: string;\n state_change_hash: string;\n event_root_hash: string;\n state_checkpoint_hash?: string;\n gas_used: string;\n /**\n * Whether the transaction was successful\n */\n success: boolean;\n /**\n * The VM status of the transaction, can tell useful information in a failure\n */\n vm_status: string;\n accumulator_root_hash: string;\n /**\n * Final state of resources changed by the transaction\n */\n changes: Array<WriteSetChange>;\n payload: GenesisPayload;\n /**\n * Events emitted during genesis\n */\n events: Array<Event>;\n};\n\n/**\n * The structure representing a blockchain block with its height.\n */\nexport type BlockMetadataTransactionResponse = {\n type: TransactionResponseType.BlockMetadata;\n version: string;\n hash: string;\n state_change_hash: string;\n event_root_hash: string;\n state_checkpoint_hash: string | null;\n gas_used: string;\n /**\n * Whether the transaction was successful\n */\n success: boolean;\n /**\n * The VM status of the transaction, can tell useful information in a failure\n */\n vm_status: string;\n accumulator_root_hash: string;\n /**\n * Final state of resources changed by the transaction\n */\n changes: Array<WriteSetChange>;\n id: string;\n epoch: string;\n round: string;\n /**\n * The events emitted at the block creation\n */\n events: Array<Event>;\n /**\n * Previous block votes\n */\n previous_block_votes_bitvec: Array<number>;\n proposer: string;\n /**\n * The indices of the proposers who failed to propose\n */\n failed_proposer_indices: Array<number>;\n timestamp: string;\n};\n\n/**\n * The response for a state checkpoint transaction, indicating the type of transaction.\n */\nexport type StateCheckpointTransactionResponse = {\n type: TransactionResponseType.StateCheckpoint;\n version: string;\n hash: string;\n state_change_hash: string;\n event_root_hash: string;\n state_checkpoint_hash: string | null;\n gas_used: string;\n /**\n * Whether the transaction was successful\n */\n success: boolean;\n /**\n * The VM status of the transaction, can tell useful information in a failure\n */\n vm_status: string;\n accumulator_root_hash: string;\n /**\n * Final state of resources changed by the transaction\n */\n changes: Array<WriteSetChange>;\n timestamp: string;\n};\n\n/**\n * The response for a validator transaction, indicating the type of transaction.\n */\nexport type ValidatorTransactionResponse = {\n type: TransactionResponseType.Validator;\n version: string;\n hash: string;\n state_change_hash: string;\n event_root_hash: string;\n state_checkpoint_hash: string | null;\n gas_used: string;\n /**\n * Whether the transaction was successful\n */\n success: boolean;\n /**\n * The VM status of the transaction, can tell useful information in a failure\n */\n vm_status: string;\n accumulator_root_hash: string;\n /**\n * Final state of resources changed by the transaction\n */\n changes: Array<WriteSetChange>;\n /**\n * The events emitted by the validator transaction\n */\n events: Array<Event>;\n timestamp: string;\n};\n\n/**\n * Describes the gas state of the block, indicating whether the block gas limit has been reached.\n */\nexport type BlockEndInfo = {\n block_gas_limit_reached: boolean;\n block_output_limit_reached: boolean;\n block_effective_block_gas_units: number;\n block_approx_output_size: number;\n};\n\n/**\n * A transaction executed at the end of a block that tracks data from the entire block.\n */\nexport type BlockEpilogueTransactionResponse = {\n type: TransactionResponseType.BlockEpilogue;\n version: string;\n hash: string;\n state_change_hash: string;\n event_root_hash: string;\n state_checkpoint_hash: string | null;\n gas_used: string;\n /**\n * Whether the transaction was successful\n */\n success: boolean;\n /**\n * The VM status of the transaction, can tell useful information in a failure\n */\n vm_status: string;\n accumulator_root_hash: string;\n /**\n * Final state of resources changed by the transaction\n */\n changes: Array<WriteSetChange>;\n timestamp: string;\n block_end_info: BlockEndInfo | null;\n};\n\n/**\n * WRITESET CHANGE TYPES\n */\n\n/**\n * A union type that encompasses both script and direct write sets for data operations.\n */\nexport type WriteSetChange =\n | WriteSetChangeDeleteModule\n | WriteSetChangeDeleteResource\n | WriteSetChangeDeleteTableItem\n | WriteSetChangeWriteModule\n | WriteSetChangeWriteResource\n | WriteSetChangeWriteTableItem;\n\n/**\n * The structure for a module deletion change in a write set.\n */\nexport type WriteSetChangeDeleteModule = {\n type: string;\n address: string;\n /**\n * State key hash\n */\n state_key_hash: string;\n module: MoveModuleId;\n};\n\n/**\n * The payload for a resource deletion in a write set change.\n */\nexport type WriteSetChangeDeleteResource = {\n type: string;\n address: string;\n state_key_hash: string;\n resource: string;\n};\n\n/**\n * The payload for a write set change that deletes a table item.\n */\nexport type WriteSetChangeDeleteTableItem = {\n type: string;\n state_key_hash: string;\n handle: string;\n key: string;\n data?: DeletedTableData;\n};\n\n/**\n * The structure for a write module change in a write set.\n */\nexport type WriteSetChangeWriteModule = {\n type: string;\n address: string;\n state_key_hash: string;\n data: MoveModuleBytecode;\n};\n\n/**\n * The resource associated with a write set change, identified by its type.\n */\nexport type WriteSetChangeWriteResource = {\n type: string;\n address: string;\n state_key_hash: string;\n data: MoveResource;\n};\n\n/**\n * The structure for a write operation on a table in a write set change.\n */\nexport type WriteSetChangeWriteTableItem = {\n type: string;\n state_key_hash: string;\n handle: string;\n key: string;\n value: string;\n data?: DecodedTableData;\n};\n\n/**\n * The decoded data for a table, including its key in JSON format.\n */\nexport type DecodedTableData = {\n /**\n * Key of table in JSON\n */\n key: any;\n /**\n * Type of key\n */\n key_type: string;\n /**\n * Value of table in JSON\n */\n value: any;\n /**\n * Type of value\n */\n value_type: string;\n};\n\n/**\n * Data for a deleted table entry.\n */\nexport type DeletedTableData = {\n /**\n * Deleted key\n */\n key: any;\n /**\n * Deleted key type\n */\n key_type: string;\n};\n\n/**\n * The payload for a transaction response, which can be an entry function, script, or multisig payload.\n */\nexport type TransactionPayloadResponse = EntryFunctionPayloadResponse | ScriptPayloadResponse | MultisigPayloadResponse;\n\n/**\n * The response payload for an entry function, containing the type of the entry.\n */\nexport type EntryFunctionPayloadResponse = {\n type: string;\n function: MoveFunctionId;\n /**\n * Type arguments of the function\n */\n type_arguments: Array<string>;\n /**\n * Arguments of the function\n */\n arguments: Array<any>;\n};\n\n/**\n * The payload for a script response, containing the type of the script.\n */\nexport type ScriptPayloadResponse = {\n type: string;\n code: MoveScriptBytecode;\n /**\n * Type arguments of the function\n */\n type_arguments: Array<string>;\n /**\n * Arguments of the function\n */\n arguments: Array<any>;\n};\n\n/**\n * The response payload for a multisig transaction, containing the type of the transaction.\n */\nexport type MultisigPayloadResponse = {\n type: string;\n multisig_address: string;\n transaction_payload?: EntryFunctionPayloadResponse;\n};\n\n/**\n * The payload for the genesis block containing the type of the payload.\n */\nexport type GenesisPayload = {\n type: string;\n write_set: WriteSet;\n};\n\n/**\n * The bytecode for a Move script.\n */\nexport type MoveScriptBytecode = {\n bytecode: string;\n abi?: MoveFunction;\n};\n\n/**\n * JSON representations of transaction signatures returned from the node API.\n */\nexport type TransactionSignature =\n | TransactionEd25519Signature\n | TransactionSecp256k1Signature\n | TransactionMultiEd25519Signature\n | TransactionMultiAgentSignature\n | TransactionFeePayerSignature\n | TransactionSingleSenderSignature;\n\n/**\n * Determine if the provided signature is an Ed25519 signature.\n * This function checks for the presence of the \"signature\" property\n * and verifies that its value is \"ed25519_signature\".\n *\n * @param signature - The transaction signature to be checked.\n * @returns A boolean indicating whether the signature is an Ed25519 signature.\n */\nexport function isEd25519Signature(signature: TransactionSignature): signature is TransactionEd25519Signature {\n return \"signature\" in signature && signature.type === \"ed25519_signature\";\n}\n\n/**\n * Determine if the provided signature is a valid secp256k1 ECDSA signature.\n *\n * @param signature - The transaction signature to validate.\n * @returns A boolean indicating whether the signature is a secp256k1 ECDSA signature.\n */\nexport function isSecp256k1Signature(signature: TransactionSignature): signature is TransactionFeePayerSignature {\n return \"signature\" in signature && signature.signature === \"secp256k1_ecdsa_signature\";\n}\n\n/**\n * Determine if the provided transaction signature is a multi-agent signature.\n *\n * @param signature - The transaction signature to evaluate.\n * @returns A boolean indicating whether the signature is a multi-agent signature.\n */\nexport function isMultiAgentSignature(signature: TransactionSignature): signature is TransactionMultiAgentSignature {\n return signature.type === \"multi_agent_signature\";\n}\n\n/**\n * Determine if the provided signature is a fee payer signature.\n *\n * @param signature - The transaction signature to evaluate.\n * @returns A boolean indicating whether the signature is a fee payer signature.\n */\nexport function isFeePayerSignature(signature: TransactionSignature): signature is TransactionFeePayerSignature {\n return signature.type === \"fee_payer_signature\";\n}\n\n/**\n * Determine if the provided signature is of type \"multi_ed25519_signature\".\n *\n * @param signature - The transaction signature to check.\n * @returns A boolean indicating whether the signature is a multi-ed25519 signature.\n */\nexport function isMultiEd25519Signature(\n signature: TransactionSignature,\n): signature is TransactionMultiEd25519Signature {\n return signature.type === \"multi_ed25519_signature\";\n}\n\n/**\n * Determine if the provided signature is of type \"single_sender\".\n *\n * @param signature - The transaction signature to check.\n * @returns A boolean indicating whether the signature is a single-sender signature.\n */\nexport function isSingleSenderSignature(\n signature: TransactionSignature,\n): signature is TransactionSingleSenderSignature {\n return signature.type === \"single_sender\";\n}\n\n/**\n * Determine if the provided signature is of type \"single_sender\".\n *\n * @param signature - The transaction signature to check.\n * @returns A boolean indicating whether the signature is a single-sender signature.\n */\nexport function isSingleSenderSingleKeySignature(\n signature: TransactionSignature,\n): signature is TransactionSingleSenderSingleKeySignature {\n return signature.type === \"single_sender\" && !(\"signatures_required\" in signature);\n}\n\n/**\n * Determine if the provided signature is of type \"single_sender\".\n *\n * @param signature - The transaction signature to check.\n * @returns A boolean indicating whether the signature is a single-sender signature.\n */\nexport function isSingleSenderMultiKeySignature(\n signature: TransactionSignature,\n): signature is TransactionSingleSenderMultiKeySignature {\n return signature.type === \"single_sender\" && \"signatures_required\" in signature;\n}\n\n/**\n * The signature for a transaction using the Ed25519 algorithm.\n */\nexport type TransactionEd25519Signature = {\n type: string;\n public_key: string;\n signature: \"ed25519_signature\";\n};\n\n/**\n * The structure for a Secp256k1 signature in a transaction.\n */\nexport type TransactionSecp256k1Signature = {\n type: string;\n public_key: string;\n signature: \"secp256k1_ecdsa_signature\";\n};\n\n/**\n * The structure for a multi-signature transaction using Ed25519.\n */\nexport type TransactionSingleSenderSignature = TransactionSingleSenderSingleKeySignature | TransactionSingleSenderMultiKeySignature;\n\nexport type TransactionSingleSenderSingleKeySignature = {\n type: \"single_sender\";\n public_key: { value: string; type: string };\n signature: { value: string; type: string };\n signatures_required: never;\n};\n\n/**\n * The structure for a multi-signature transaction using Ed25519.\n */\nexport type TransactionSingleSenderMultiKeySignature = {\n type: \"single_sender\";\n public_keys: { value: string; type: string }[];\n signatures: { index: number; signature: { value: string; type: string } }[];\n signatures_required: number;\n};\n\n/**\n * The structure for a multi-signature transaction using Ed25519.\n */\nexport type TransactionMultiEd25519Signature = {\n type: \"multi_ed25519_signature\";\n /**\n * The public keys for the Ed25519 signature\n */\n public_keys: Array<string>;\n /**\n * Signature associated with the public keys in the same order\n */\n signatures: Array<string>;\n /**\n * The number of signatures required for a successful transaction\n */\n threshold: number;\n bitmap: string;\n};\n\n/**\n * The structure for a multi-agent signature in a transaction.\n */\nexport type TransactionMultiAgentSignature = {\n type: \"multi_agent_signature\";\n sender: AccountSignature;\n /**\n * The other involved parties' addresses\n */\n secondary_signer_addresses: Array<string>;\n /**\n * The associated signatures, in the same order as the secondary addresses\n */\n secondary_signers: Array<AccountSignature>;\n};\n\n/**\n * The signature of the fee payer in a transaction.\n */\nexport type TransactionFeePayerSignature = {\n type: \"fee_payer_signature\";\n sender: AccountSignature;\n /**\n * The other involved parties' addresses\n */\n secondary_signer_addresses: Array<string>;\n /**\n * The associated signatures, in the same order as the secondary addresses\n */\n secondary_signers: Array<AccountSignature>;\n fee_payer_address: string;\n fee_payer_signer: AccountSignature;\n};\n\n/**\n * The union of all single account signatures, including Ed25519, Secp256k1, and MultiEd25519 signatures.\n */\nexport type AccountSignature =\n | TransactionEd25519Signature\n | TransactionSecp256k1Signature\n | TransactionMultiEd25519Signature;\n\nexport type WriteSet = ScriptWriteSet | DirectWriteSet;\n\n/**\n * The set of properties for writing scripts, including the type of script.\n */\nexport type ScriptWriteSet = {\n type: string;\n execute_as: string;\n script: ScriptPayloadResponse;\n};\n\n/**\n * The set of direct write operations, identified by a type string.\n */\nexport type DirectWriteSet = {\n type: string;\n changes: Array<WriteSetChange>;\n events: Array<Event>;\n};\n\n/**\n * The structure for an event's unique identifier, including its creation number.\n */\n\n/**\n * The structure for an event, identified by a unique GUID.\n */\nexport type EventGuid = {\n creation_number: string;\n account_address: string;\n};\n\nexport type Event = {\n guid: EventGuid;\n sequence_number: string;\n type: string;\n /**\n * The JSON representation of the event\n */\n data: any;\n};\n\n/**\n * A number representing a Move uint8 type.\n */\nexport type MoveUint8Type = number;\n\n/**\n * A 16-bit unsigned integer used in the Move programming language.\n */\nexport type MoveUint16Type = number;\n\n/**\n * A 32-bit unsigned integer type used in Move programming.\n */\nexport type MoveUint32Type = number;\n\n/**\n * A string representation of a 64-bit unsigned integer used in Move programming.\n */\nexport type MoveUint64Type = string;\n\n/**\n * A string representing a 128-bit unsigned integer in the Move programming language.\n */\nexport type MoveUint128Type = string;\n\n/**\n * A string representation of a 256-bit unsigned integer used in Move programming.\n */\nexport type MoveUint256Type = string;\n\n/**\n * A string representing a Move address.\n */\nexport type MoveAddressType = string;\n\n/**\n * The type for identifying objects to be moved within the system.\n */\nexport type MoveObjectType = string;\n\n/**\n * The type for move options, which can be a MoveType, null, or undefined.\n */\nexport type MoveOptionType = MoveType | null | undefined;\n\n/**\n * A structure representing a move with a name.\n */\nexport type MoveStructId = `${string}::${string}::${string}`;\n\n/**\n * The move function containing its name. Same as MoveStructId since it reads weird to take a StructId for a Function.\n */\nexport type MoveFunctionId = MoveStructId;\n\n// TODO: Add support for looking up ABI to add proper typing\nexport type MoveStructType = {};\n\n/**\n * A union type that encompasses various data types used in Move, including primitive types, address types, object types, and\n * arrays of MoveType.\n */\nexport type MoveType =\n | boolean\n | string\n | MoveUint8Type\n | MoveUint16Type\n | MoveUint32Type\n | MoveUint64Type\n | MoveUint128Type\n | MoveUint256Type\n | MoveAddressType\n | MoveObjectType\n | MoveStructType\n | Array<MoveType>;\n\n/**\n * Possible Move values acceptable by move functions (entry, view)\n *\n * Map of a Move value to the corresponding TypeScript value\n *\n * `Bool -> boolean`\n *\n * `u8, u16, u32 -> number`\n *\n * `u64, u128, u256 -> string`\n *\n * `String -> string`\n *\n * `Address -> 0x${string}`\n *\n * `Struct - 0x${string}::${string}::${string}`\n *\n * `Object -> 0x${string}`\n *\n * `Vector -> Array<MoveValue>`\n *\n * `Option -> MoveValue | null | undefined`\n */\nexport type MoveValue =\n | boolean\n | string\n | MoveUint8Type\n | MoveUint16Type\n | MoveUint32Type\n | MoveUint64Type\n | MoveUint128Type\n | MoveUint256Type\n | MoveAddressType\n | MoveObjectType\n | MoveStructId\n | MoveOptionType\n | Array<MoveValue>;\n\n/**\n * A string representation of a Move module, formatted as `module_name::function_name`.\n * Module names are case-sensitive.\n */\nexport type MoveModuleId = `${string}::${string}`;\n\n/**\n * Specifies the visibility levels for move functions, controlling access permissions.\n */\nexport enum MoveFunctionVisibility {\n PRIVATE = \"private\",\n PUBLIC = \"public\",\n FRIEND = \"friend\",\n}\n\n/**\n * Abilities related to moving items within the system.\n */\nexport enum MoveAbility {\n STORE = \"store\",\n DROP = \"drop\",\n KEY = \"key\",\n COPY = \"copy\",\n}\n\n/**\n * Move abilities associated with the generic type parameter of a function.\n */\nexport type MoveFunctionGenericTypeParam = {\n constraints: Array<MoveAbility>;\n};\n\n/**\n * A field in a Move struct, identified by its name.\n */\nexport type MoveStructField = {\n name: string;\n type: string;\n};\n\n/**\n * A Move module\n */\nexport type MoveModule = {\n address: string;\n name: string;\n /**\n * Friends of the module\n */\n friends: Array<MoveModuleId>;\n /**\n * Public functions of the module\n */\n exposed_functions: Array<MoveFunction>;\n /**\n * Structs of the module\n */\n structs: Array<MoveStruct>;\n};\n\n/**\n * A move struct\n */\nexport type MoveStruct = {\n name: string;\n /**\n * Whether the struct is a native struct of Move\n */\n is_native: boolean;\n /**\n * Whether the struct is a module event (aka v2 event). This will be false for v1\n * events because the value is derived from the #[event] attribute on the struct in\n * the Move source code. This attribute is only relevant for v2 events.\n */\n is_event: boolean;\n /**\n * Abilities associated with the struct\n */\n abilities: Array<MoveAbility>;\n /**\n * Generic types associated with the struct\n */\n generic_type_params: Array<MoveFunctionGenericTypeParam>;\n /**\n * Fields associated with the struct\n */\n fields: Array<MoveStructField>;\n};\n\n/**\n * Move function\n */\nexport type MoveFunction = {\n name: string;\n visibility: MoveFunctionVisibility;\n /**\n * Whether the function can be called as an entry function directly in a transaction\n */\n is_entry: boolean;\n /**\n * Whether the function is a view function or not\n */\n is_view: boolean;\n /**\n * Generic type params associated with the Move function\n */\n generic_type_params: Array<MoveFunctionGenericTypeParam>;\n /**\n * Parameters associated with the move function\n */\n params: Array<string>;\n /**\n * Return type of the function\n */\n return: Array<string>;\n};\n\n/**\n * Roles that can be assigned within the system, indicating different levels of access and functionality.\n */\nexport enum RoleType {\n VALIDATOR = \"validator\",\n FULL_NODE = \"full_node\",\n}\n\n/**\n * Information about the current blockchain ledger, including its chain ID.\n */\nexport type LedgerInfo = {\n /**\n * Chain ID of the current chain\n */\n chain_id: number;\n epoch: string;\n ledger_version: string;\n oldest_ledger_version: string;\n ledger_timestamp: string;\n node_role: RoleType;\n oldest_block_height: string;\n block_height: string;\n /**\n * Git hash of the build of the API endpoint. Can be used to determine the exact\n * software version used by the API endpoint.\n */\n git_hash?: string;\n};\n\n/**\n * A Block type\n */\nexport type Block = {\n block_height: string;\n block_hash: string;\n block_timestamp: string;\n first_version: string;\n last_version: string;\n /**\n * The transactions in the block in sequential order\n */\n transactions?: Array<TransactionResponse>;\n};\n\n// REQUEST TYPES\n\n/**\n * The request payload for the GetTableItem API.\n */\nexport type TableItemRequest = {\n key_type: MoveValue;\n value_type: MoveValue;\n /**\n * The value of the table item's key\n */\n key: any;\n};\n\n/**\n * A list of supported Authentication Key schemes in Aptos, consisting of combinations of signing schemes and derive schemes.\n */\nexport type AuthenticationKeyScheme = SigningScheme | DeriveScheme;\n\n/**\n * Different schemes for signing keys used in cryptographic operations.\n */\nexport enum SigningScheme {\n /**\n * For Ed25519PublicKey\n */\n Ed25519 = 0,\n /**\n * For MultiEd25519PublicKey\n */\n MultiEd25519 = 1,\n /**\n * For SingleKey ecdsa\n */\n SingleKey = 2,\n\n MultiKey = 3,\n}\n\n/**\n * Specifies the signing schemes available for cryptographic operations.\n */\nexport enum SigningSchemeInput {\n /**\n * For Ed25519PublicKey\n */\n Ed25519 = 0,\n /**\n * For Secp256k1Ecdsa\n */\n Secp256k1Ecdsa = 2,\n}\n\n/**\n * Specifies the schemes for deriving account addresses from various data sources.\n */\nexport enum DeriveScheme {\n /**\n * Derives an address using an AUID, used for objects\n */\n DeriveAuid = 251,\n /**\n * Derives an address from another object address\n */\n DeriveObjectAddressFromObject = 252,\n /**\n * Derives an address from a GUID, used for objects\n */\n DeriveObjectAddressFromGuid = 253,\n /**\n * Derives an address from seed bytes, used for named objects\n */\n DeriveObjectAddressFromSeed = 254,\n /**\n * Derives an address from seed bytes, used for resource accounts\n */\n DeriveResourceAccountAddress = 255,\n}\n\n/**\n * Options for configuring the behavior of the waitForTransaction() function.\n */\nexport type WaitForTransactionOptions = {\n timeoutSecs?: number;\n checkSuccess?: boolean;\n // Default behavior is to wait for the indexer. Set this to false to disable waiting.\n waitForIndexer?: boolean;\n};\n\n/**\n * Input type to generate an account using the Ed25519 signing scheme.\n */\nexport type GenerateAccountWithEd25519 = {\n scheme: SigningSchemeInput.Ed25519;\n legacy: boolean;\n};\n\n/**\n * Input type to generate an account with a Single Signer using Secp256k1.\n */\nexport type GenerateAccountWithSingleSignerSecp256k1Key = {\n scheme: SigningSchemeInput.Secp256k1Ecdsa;\n legacy?: false;\n};\n\nexport type GenerateAccount = GenerateAccountWithEd25519 | GenerateAccountWithSingleSignerSecp256k1Key;\n"],"mappings":"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","names":["MimeType","TypeTagVariants","ScriptTransactionArgumentVariants","TransactionPayloadVariants","TransactionVariants","TransactionAuthenticatorVariant","AccountAuthenticatorVariant","PrivateKeyVariants","AnyPublicKeyVariant","AnySignatureVariant","EphemeralPublicKeyVariant","EphemeralSignatureVariant","EphemeralCertificateVariant","ZkpVariant","TransactionResponseType","MoveFunctionVisibility","MoveAbility","RoleType","SigningScheme","SigningSchemeInput","DeriveScheme"]}
@@ -0,0 +1,407 @@
1
+ import {
2
+ deriveTransactionType,
3
+ generateSigningMessage
4
+ } from "./chunk-F4VI7BNX.mjs";
5
+ import {
6
+ AccountAuthenticatorSingleKey
7
+ } from "./chunk-BADWWRLN.mjs";
8
+ import {
9
+ EphemeralKeyPair
10
+ } from "./chunk-TQLOZKH4.mjs";
11
+ import {
12
+ AnyPublicKey,
13
+ AnySignature
14
+ } from "./chunk-RGHKUKOX.mjs";
15
+ import {
16
+ FederatedKeylessPublicKey
17
+ } from "./chunk-YD3KHXBD.mjs";
18
+ import {
19
+ EphemeralCertificate,
20
+ KeylessPublicKey,
21
+ KeylessSignature,
22
+ ZeroKnowledgeSig,
23
+ getKeylessConfig,
24
+ getKeylessJWKs
25
+ } from "./chunk-ZZWD23YW.mjs";
26
+ import {
27
+ KeylessError
28
+ } from "./chunk-32UQAST6.mjs";
29
+ import {
30
+ base64UrlDecode
31
+ } from "./chunk-RQS33JAS.mjs";
32
+ import {
33
+ AccountAddress
34
+ } from "./chunk-CXLXUSCG.mjs";
35
+ import {
36
+ Serializable
37
+ } from "./chunk-C7T6GW5P.mjs";
38
+ import {
39
+ Hex
40
+ } from "./chunk-BDM6FBUO.mjs";
41
+
42
+ // src/account/AbstractKeylessAccount.ts
43
+ import EventEmitter from "eventemitter3";
44
+ import { jwtDecode } from "jwt-decode";
45
+ function isKeylessSigner(obj) {
46
+ return obj !== null && obj !== void 0 && typeof obj.checkKeylessAccountValidity === "function";
47
+ }
48
+ var _AbstractKeylessAccount = class _AbstractKeylessAccount extends Serializable {
49
+ /**
50
+ * Use the static generator `create(...)` instead.
51
+ * Creates an instance of the KeylessAccount with an optional proof.
52
+ *
53
+ * @param args - The parameters for creating a KeylessAccount.
54
+ * @param args.address - Optional account address associated with the KeylessAccount.
55
+ * @param args.publicKey - A KeylessPublicKey or FederatedKeylessPublicKey.
56
+ * @param args.ephemeralKeyPair - The ephemeral key pair used in the account creation.
57
+ * @param args.iss - A JWT issuer.
58
+ * @param args.uidKey - The claim on the JWT to identify a user. This is typically 'sub' or 'email'.
59
+ * @param args.uidVal - The unique id for this user, intended to be a stable user identifier.
60
+ * @param args.aud - The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's
61
+ * OIDC registration with the identity provider.
62
+ * @param args.pepper - A hexadecimal input used for additional security.
63
+ * @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.
64
+ * @param args.proofFetchCallback - Optional callback function for fetching proof.
65
+ * @param args.jwt - A JSON Web Token used for authentication.
66
+ * @param args.verificationKeyHash Optional 32-byte verification key hash as hex input used to check proof validity.
67
+ */
68
+ constructor(args) {
69
+ super();
70
+ /**
71
+ * Signing scheme used to sign transactions
72
+ * @group Implementation
73
+ * @category Account (On-Chain Model)
74
+ */
75
+ this.signingScheme = 2 /* SingleKey */;
76
+ const {
77
+ address,
78
+ ephemeralKeyPair,
79
+ publicKey,
80
+ uidKey,
81
+ uidVal,
82
+ aud,
83
+ pepper,
84
+ proof,
85
+ proofFetchCallback,
86
+ jwt,
87
+ verificationKeyHash
88
+ } = args;
89
+ this.ephemeralKeyPair = ephemeralKeyPair;
90
+ this.publicKey = publicKey;
91
+ this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
92
+ this.uidKey = uidKey;
93
+ this.uidVal = uidVal;
94
+ this.aud = aud;
95
+ this.jwt = jwt;
96
+ this.emitter = new EventEmitter();
97
+ this.proofOrPromise = proof;
98
+ if (proof instanceof ZeroKnowledgeSig) {
99
+ this.proof = proof;
100
+ } else {
101
+ if (proofFetchCallback === void 0) {
102
+ throw new Error("Must provide callback for async proof fetch");
103
+ }
104
+ this.emitter.on("proofFetchFinish", async (status) => {
105
+ await proofFetchCallback(status);
106
+ this.emitter.removeAllListeners();
107
+ });
108
+ this.init(proof);
109
+ }
110
+ const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();
111
+ if (pepperBytes.length !== _AbstractKeylessAccount.PEPPER_LENGTH) {
112
+ throw new Error(`Pepper length in bytes should be ${_AbstractKeylessAccount.PEPPER_LENGTH}`);
113
+ }
114
+ this.pepper = pepperBytes;
115
+ if (verificationKeyHash !== void 0) {
116
+ if (Hex.hexInputToUint8Array(verificationKeyHash).length !== 32) {
117
+ throw new Error("verificationKeyHash must be 32 bytes");
118
+ }
119
+ this.verificationKeyHash = Hex.hexInputToUint8Array(verificationKeyHash);
120
+ }
121
+ }
122
+ getAnyPublicKey() {
123
+ return new AnyPublicKey(this.publicKey);
124
+ }
125
+ /**
126
+ * This initializes the asynchronous proof fetch
127
+ * @return Emits whether the proof succeeds or fails, but has no return.
128
+ * @group Implementation
129
+ * @category Account (On-Chain Model)
130
+ */
131
+ async init(promise) {
132
+ try {
133
+ this.proof = await promise;
134
+ this.emitter.emit("proofFetchFinish", { status: "Success" });
135
+ } catch (error) {
136
+ if (error instanceof Error) {
137
+ this.emitter.emit("proofFetchFinish", { status: "Failed", error: error.toString() });
138
+ } else {
139
+ this.emitter.emit("proofFetchFinish", { status: "Failed", error: "Unknown" });
140
+ }
141
+ }
142
+ }
143
+ /**
144
+ * Serializes the jwt data into a format suitable for transmission or storage.
145
+ * This function ensures that both the jwt data and the proof are properly serialized.
146
+ *
147
+ * @param serializer - The serializer instance used to convert the jwt data into bytes.
148
+ */
149
+ serialize(serializer) {
150
+ this.accountAddress.serialize(serializer);
151
+ serializer.serializeStr(this.jwt);
152
+ serializer.serializeStr(this.uidKey);
153
+ serializer.serializeFixedBytes(this.pepper);
154
+ this.ephemeralKeyPair.serialize(serializer);
155
+ if (this.proof === void 0) {
156
+ throw new Error("Cannot serialize - proof undefined");
157
+ }
158
+ this.proof.serialize(serializer);
159
+ serializer.serializeOption(this.verificationKeyHash, 32);
160
+ }
161
+ static partialDeserialize(deserializer) {
162
+ const address = AccountAddress.deserialize(deserializer);
163
+ const jwt = deserializer.deserializeStr();
164
+ const uidKey = deserializer.deserializeStr();
165
+ const pepper = deserializer.deserializeFixedBytes(31);
166
+ const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
167
+ const proof = ZeroKnowledgeSig.deserialize(deserializer);
168
+ const verificationKeyHash = deserializer.deserializeOption("fixedBytes", 32);
169
+ return { address, jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };
170
+ }
171
+ /**
172
+ * Checks if the proof is expired. If so the account must be re-derived with a new EphemeralKeyPair
173
+ * and JWT token.
174
+ * @return boolean
175
+ * @group Implementation
176
+ * @category Account (On-Chain Model)
177
+ */
178
+ isExpired() {
179
+ return this.ephemeralKeyPair.isExpired();
180
+ }
181
+ /**
182
+ * Sign a message using Keyless.
183
+ * @param message the message to sign, as binary input
184
+ * @return the AccountAuthenticator containing the signature, together with the account's public key
185
+ * @group Implementation
186
+ * @category Account (On-Chain Model)
187
+ */
188
+ signWithAuthenticator(message) {
189
+ const signature = new AnySignature(this.sign(message));
190
+ const publicKey = new AnyPublicKey(this.publicKey);
191
+ return new AccountAuthenticatorSingleKey(publicKey, signature);
192
+ }
193
+ /**
194
+ * Sign a transaction using Keyless.
195
+ * @param transaction the raw transaction
196
+ * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
197
+ * @group Implementation
198
+ * @category Account (On-Chain Model)
199
+ */
200
+ signTransactionWithAuthenticator(transaction) {
201
+ const signature = new AnySignature(this.signTransaction(transaction));
202
+ const publicKey = new AnyPublicKey(this.publicKey);
203
+ return new AccountAuthenticatorSingleKey(publicKey, signature);
204
+ }
205
+ /**
206
+ * Waits for asynchronous proof fetching to finish.
207
+ * @return
208
+ * @group Implementation
209
+ * @category Account (On-Chain Model)
210
+ */
211
+ async waitForProofFetch() {
212
+ if (this.proofOrPromise instanceof Promise) {
213
+ await this.proofOrPromise;
214
+ }
215
+ }
216
+ /**
217
+ * Validates that the Keyless Account can be used to sign transactions.
218
+ * @return
219
+ */
220
+ async checkKeylessAccountValidity(aptosConfig) {
221
+ if (this.isExpired()) {
222
+ throw KeylessError.fromErrorType({
223
+ type: 0 /* EPHEMERAL_KEY_PAIR_EXPIRED */
224
+ });
225
+ }
226
+ await this.waitForProofFetch();
227
+ if (this.proof === void 0) {
228
+ throw KeylessError.fromErrorType({
229
+ type: 2 /* ASYNC_PROOF_FETCH_FAILED */
230
+ });
231
+ }
232
+ const header = jwtDecode(this.jwt, { header: true });
233
+ if (header.kid === void 0) {
234
+ throw KeylessError.fromErrorType({
235
+ type: 12 /* JWT_PARSING_ERROR */,
236
+ details: "checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen."
237
+ });
238
+ }
239
+ if (this.verificationKeyHash !== void 0) {
240
+ const { verificationKey } = await getKeylessConfig({ aptosConfig });
241
+ if (Hex.hexInputToString(verificationKey.hash()) !== Hex.hexInputToString(this.verificationKeyHash)) {
242
+ throw KeylessError.fromErrorType({
243
+ type: 4 /* INVALID_PROOF_VERIFICATION_KEY_NOT_FOUND */
244
+ });
245
+ }
246
+ } else {
247
+ console.warn(
248
+ "[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated."
249
+ );
250
+ }
251
+ await _AbstractKeylessAccount.fetchJWK({ aptosConfig, publicKey: this.publicKey, kid: header.kid });
252
+ }
253
+ /**
254
+ * Sign the given message using Keyless.
255
+ * @param message in HexInput format
256
+ * @returns Signature
257
+ * @group Implementation
258
+ * @category Account (On-Chain Model)
259
+ */
260
+ sign(message) {
261
+ const { expiryDateSecs } = this.ephemeralKeyPair;
262
+ if (this.isExpired()) {
263
+ throw KeylessError.fromErrorType({
264
+ type: 0 /* EPHEMERAL_KEY_PAIR_EXPIRED */
265
+ });
266
+ }
267
+ if (this.proof === void 0) {
268
+ throw KeylessError.fromErrorType({
269
+ type: 1 /* PROOF_NOT_FOUND */,
270
+ details: "Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."
271
+ });
272
+ }
273
+ const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();
274
+ const ephemeralSignature = this.ephemeralKeyPair.sign(message);
275
+ return new KeylessSignature({
276
+ jwtHeader: base64UrlDecode(this.jwt.split(".")[0]),
277
+ ephemeralCertificate: new EphemeralCertificate(this.proof, 0 /* ZkProof */),
278
+ expiryDateSecs,
279
+ ephemeralPublicKey,
280
+ ephemeralSignature
281
+ });
282
+ }
283
+ /**
284
+ * Sign the given transaction with Keyless.
285
+ * Signs the transaction and proof to guard against proof malleability.
286
+ * @param transaction the transaction to be signed
287
+ * @returns KeylessSignature
288
+ * @group Implementation
289
+ * @category Account (On-Chain Model)
290
+ */
291
+ signTransaction(transaction) {
292
+ if (this.proof === void 0) {
293
+ throw KeylessError.fromErrorType({
294
+ type: 1 /* PROOF_NOT_FOUND */,
295
+ details: "Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."
296
+ });
297
+ }
298
+ const raw = deriveTransactionType(transaction);
299
+ const txnAndProof = new TransactionAndProof(raw, this.proof.proof);
300
+ const signMess = txnAndProof.hash();
301
+ return this.sign(signMess);
302
+ }
303
+ /**
304
+ * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount
305
+ *
306
+ * Verifies a signature given the message.
307
+ *
308
+ * TODO: Groth16 proof verification
309
+ *
310
+ * @param args.message the message that was signed.
311
+ * @param args.signature the KeylessSignature to verify
312
+ * @returns boolean
313
+ * @group Implementation
314
+ * @category Account (On-Chain Model)
315
+ */
316
+ verifySignature(args) {
317
+ const { message, signature } = args;
318
+ if (this.isExpired()) {
319
+ return false;
320
+ }
321
+ if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {
322
+ return false;
323
+ }
324
+ return true;
325
+ }
326
+ /**
327
+ * Fetches the JWK from the issuer's well-known JWKS endpoint.
328
+ *
329
+ * @param args.publicKey The keyless public key to query
330
+ * @param args.kid The kid of the JWK to fetch
331
+ * @returns A JWK matching the `kid` in the JWT header.
332
+ * @throws {KeylessError} If the JWK cannot be fetched
333
+ */
334
+ static async fetchJWK(args) {
335
+ const { aptosConfig, publicKey, kid } = args;
336
+ const keylessPubKey = publicKey instanceof KeylessPublicKey ? publicKey : publicKey.keylessPublicKey;
337
+ const { iss } = keylessPubKey;
338
+ let allJWKs;
339
+ const jwkAddr = publicKey instanceof FederatedKeylessPublicKey ? publicKey.jwkAddress : void 0;
340
+ try {
341
+ allJWKs = await getKeylessJWKs({ aptosConfig, jwkAddr });
342
+ } catch (error) {
343
+ throw KeylessError.fromErrorType({
344
+ type: 24 /* FULL_NODE_JWKS_LOOKUP_ERROR */,
345
+ error,
346
+ details: `Failed to fetch ${jwkAddr ? "Federated" : "Patched"}JWKs ${jwkAddr ? `for address ${jwkAddr}` : "0x1"}`
347
+ });
348
+ }
349
+ const jwksForIssuer = allJWKs.get(iss);
350
+ if (jwksForIssuer === void 0) {
351
+ throw KeylessError.fromErrorType({
352
+ type: 7 /* INVALID_JWT_ISS_NOT_RECOGNIZED */,
353
+ details: `JWKs for issuer ${iss} not found.`
354
+ });
355
+ }
356
+ const jwk = jwksForIssuer.find((key) => key.kid === kid);
357
+ if (jwk === void 0) {
358
+ throw KeylessError.fromErrorType({
359
+ type: 6 /* INVALID_JWT_JWK_NOT_FOUND */,
360
+ details: `JWK with kid '${kid}' for issuer '${iss}' not found.`
361
+ });
362
+ }
363
+ return jwk;
364
+ }
365
+ };
366
+ _AbstractKeylessAccount.PEPPER_LENGTH = 31;
367
+ var AbstractKeylessAccount = _AbstractKeylessAccount;
368
+ var TransactionAndProof = class extends Serializable {
369
+ constructor(transaction, proof) {
370
+ super();
371
+ /**
372
+ * The domain separator prefix used when hashing.
373
+ * @group Implementation
374
+ * @category Account (On-Chain Model)
375
+ */
376
+ this.domainSeparator = "APTOS::TransactionAndProof";
377
+ this.transaction = transaction;
378
+ this.proof = proof;
379
+ }
380
+ /**
381
+ * Serializes the transaction data into a format suitable for transmission or storage.
382
+ * This function ensures that both the transaction bytes and the proof are properly serialized.
383
+ *
384
+ * @param serializer - The serializer instance used to convert the transaction data into bytes.
385
+ */
386
+ serialize(serializer) {
387
+ serializer.serializeFixedBytes(this.transaction.bcsToBytes());
388
+ serializer.serializeOption(this.proof);
389
+ }
390
+ /**
391
+ * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.
392
+ *
393
+ * @returns Uint8Array
394
+ * @group Implementation
395
+ * @category Account (On-Chain Model)
396
+ */
397
+ hash() {
398
+ return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);
399
+ }
400
+ };
401
+
402
+ export {
403
+ isKeylessSigner,
404
+ AbstractKeylessAccount,
405
+ TransactionAndProof
406
+ };
407
+ //# sourceMappingURL=chunk-SW4ASQPY.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/account/AbstractKeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport EventEmitter from \"eventemitter3\";\nimport { jwtDecode } from \"jwt-decode\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n ZeroKnowledgeSig,\n ZkProof,\n getKeylessJWKs,\n MoveJWK,\n getKeylessConfig,\n} from \"../core/crypto\";\n\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport { deriveTransactionType, generateSigningMessage } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\nimport { base64UrlDecode } from \"../utils/helpers\";\nimport { FederatedKeylessPublicKey } from \"../core/crypto/federatedKeyless\";\nimport { Account } from \"./Account\";\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { KeylessError, KeylessErrorType } from \"../errors\";\nimport type { SingleKeySigner } from \"./SingleKeyAccount\";\n\n/**\n * An interface which defines if an Account utilizes Keyless signing.\n */\nexport interface KeylessSigner extends Account {\n checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void>;\n}\n\nexport function isKeylessSigner(obj: any): obj is KeylessSigner {\n return obj !== null && obj !== undefined && typeof obj.checkKeylessAccountValidity === \"function\";\n}\n\n/**\n * Account implementation for the Keyless authentication scheme. This abstract class is used for standard Keyless Accounts\n * and Federated Keyless Accounts.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport abstract class AbstractKeylessAccount extends Serializable implements KeylessSigner, SingleKeySigner {\n static readonly PEPPER_LENGTH: number = 31;\n\n /**\n * The KeylessPublicKey associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n\n /**\n * The EphemeralKeyPair used to generate sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n /**\n * The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidKey: string;\n\n /**\n * The value of the uidKey claim on the JWT. This intended to be a stable user identifier.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidVal: string;\n\n /**\n * The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly aud: string;\n\n /**\n * A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly pepper: Uint8Array;\n\n /**\n * Account address associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof: ZeroKnowledgeSig | undefined;\n\n /**\n * The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on\n * fetching the proof.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n /**\n * Signing scheme used to sign transactions\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly signingScheme: SigningScheme = SigningScheme.SingleKey;\n\n /**\n * The JWT token used to derive the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly jwt: string;\n\n /**\n * The hash of the verification key used to verify the proof. This is optional and can be used to check verifying key\n * rotations which may invalidate the proof.\n */\n readonly verificationKeyHash?: Uint8Array;\n\n /**\n * An event emitter used to assist in handling asynchronous proof fetching.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n private readonly emitter: EventEmitter<ProofFetchEvents>;\n\n /**\n * Use the static generator `create(...)` instead.\n * Creates an instance of the KeylessAccount with an optional proof.\n *\n * @param args - The parameters for creating a KeylessAccount.\n * @param args.address - Optional account address associated with the KeylessAccount.\n * @param args.publicKey - A KeylessPublicKey or FederatedKeylessPublicKey.\n * @param args.ephemeralKeyPair - The ephemeral key pair used in the account creation.\n * @param args.iss - A JWT issuer.\n * @param args.uidKey - The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @param args.uidVal - The unique id for this user, intended to be a stable user identifier.\n * @param args.aud - The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @param args.pepper - A hexadecimal input used for additional security.\n * @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.\n * @param args.proofFetchCallback - Optional callback function for fetching proof.\n * @param args.jwt - A JSON Web Token used for authentication.\n * @param args.verificationKeyHash Optional 32-byte verification key hash as hex input used to check proof validity.\n */\n protected constructor(args: {\n address?: AccountAddress;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n verificationKeyHash?: HexInput;\n }) {\n super();\n const {\n address,\n ephemeralKeyPair,\n publicKey,\n uidKey,\n uidVal,\n aud,\n pepper,\n proof,\n proofFetchCallback,\n jwt,\n verificationKeyHash,\n } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = publicKey;\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proof;\n if (proof instanceof ZeroKnowledgeSig) {\n this.proof = proof;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n // Note, this is purposely not awaited to be non-blocking. The caller should await on the proofFetchCallback.\n this.init(proof);\n }\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== AbstractKeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${AbstractKeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n if (verificationKeyHash !== undefined) {\n if (Hex.hexInputToUint8Array(verificationKeyHash).length !== 32) {\n throw new Error(\"verificationKeyHash must be 32 bytes\");\n }\n this.verificationKeyHash = Hex.hexInputToUint8Array(verificationKeyHash);\n }\n }\n\n getAnyPublicKey(): AnyPublicKey {\n return new AnyPublicKey(this.publicKey);\n }\n\n /**\n * This initializes the asynchronous proof fetch\n * @return Emits whether the proof succeeds or fails, but has no return.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n /**\n * Serializes the jwt data into a format suitable for transmission or storage.\n * This function ensures that both the jwt data and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the jwt data into bytes.\n */\n serialize(serializer: Serializer): void {\n this.accountAddress.serialize(serializer);\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Cannot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n serializer.serializeOption(this.verificationKeyHash, 32);\n }\n\n static partialDeserialize(deserializer: Deserializer): {\n address: AccountAddress;\n jwt: string;\n uidKey: string;\n pepper: Uint8Array;\n ephemeralKeyPair: EphemeralKeyPair;\n proof: ZeroKnowledgeSig;\n verificationKeyHash?: Uint8Array;\n } {\n const address = AccountAddress.deserialize(deserializer);\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n const verificationKeyHash = deserializer.deserializeOption(\"fixedBytes\", 32);\n\n return { address, jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };\n }\n\n /**\n * Checks if the proof is expired. If so the account must be re-derived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asynchronous proof fetching to finish.\n * @return\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Validates that the Keyless Account can be used to sign transactions.\n * @return\n */\n async checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void> {\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n await this.waitForProofFetch();\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.ASYNC_PROOF_FETCH_FAILED,\n });\n }\n const header = jwtDecode(this.jwt, { header: true });\n if (header.kid === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen.\",\n });\n }\n if (this.verificationKeyHash !== undefined) {\n const { verificationKey } = await getKeylessConfig({ aptosConfig });\n if (Hex.hexInputToString(verificationKey.hash()) !== Hex.hexInputToString(this.verificationKeyHash)) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_PROOF_VERIFICATION_KEY_NOT_FOUND,\n });\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n \"[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated.\",\n );\n }\n await AbstractKeylessAccount.fetchJWK({ aptosConfig, publicKey: this.publicKey, kid: header.kid });\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n sign(message: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(message);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = txnAndProof.hash();\n return this.sign(signMess);\n }\n\n /**\n * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount\n *\n * Verifies a signature given the message.\n *\n * TODO: Groth16 proof verification\n *\n * @param args.message the message that was signed.\n * @param args.signature the KeylessSignature to verify\n * @returns boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n const { message, signature } = args;\n if (this.isExpired()) {\n return false;\n }\n if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {\n return false;\n }\n return true;\n }\n\n /**\n * Fetches the JWK from the issuer's well-known JWKS endpoint.\n *\n * @param args.publicKey The keyless public key to query\n * @param args.kid The kid of the JWK to fetch\n * @returns A JWK matching the `kid` in the JWT header.\n * @throws {KeylessError} If the JWK cannot be fetched\n */\n static async fetchJWK(args: {\n aptosConfig: AptosConfig;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n kid: string;\n }): Promise<MoveJWK> {\n const { aptosConfig, publicKey, kid } = args;\n const keylessPubKey = publicKey instanceof KeylessPublicKey ? publicKey : publicKey.keylessPublicKey;\n const { iss } = keylessPubKey;\n\n let allJWKs: Map<string, MoveJWK[]>;\n const jwkAddr = publicKey instanceof FederatedKeylessPublicKey ? publicKey.jwkAddress : undefined;\n try {\n allJWKs = await getKeylessJWKs({ aptosConfig, jwkAddr });\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_JWKS_LOOKUP_ERROR,\n error,\n details: `Failed to fetch ${jwkAddr ? \"Federated\" : \"Patched\"}JWKs ${jwkAddr ? `for address ${jwkAddr}` : \"0x1\"}`,\n });\n }\n\n // Find the corresponding JWK set by `iss`\n const jwksForIssuer = allJWKs.get(iss);\n\n if (jwksForIssuer === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_ISS_NOT_RECOGNIZED,\n details: `JWKs for issuer ${iss} not found.`,\n });\n }\n\n // Find the corresponding JWK by `kid`\n const jwk = jwksForIssuer.find((key) => key.kid === kid);\n\n if (jwk === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_JWK_NOT_FOUND,\n details: `JWK with kid '${kid}' for issuer '${iss}' not found.`,\n });\n }\n\n return jwk;\n }\n}\n\n/**\n * A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create\n * the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport class TransactionAndProof extends Serializable {\n /**\n * The transaction to sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n transaction: AnyRawTransactionInstance;\n\n /**\n * The zero knowledge proof used in signing the transaction.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof?: ZkProof;\n\n /**\n * The domain separator prefix used when hashing.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly domainSeparator = \"APTOS::TransactionAndProof\";\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n /**\n * Serializes the transaction data into a format suitable for transmission or storage.\n * This function ensures that both the transaction bytes and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the transaction data into bytes.\n */\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n\n /**\n * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.\n *\n * @returns Uint8Array\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n hash(): Uint8Array {\n return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);\n }\n}\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":"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","names":["EventEmitter","jwtDecode","isKeylessSigner","obj","_AbstractKeylessAccount","Serializable","args","address","ephemeralKeyPair","publicKey","uidKey","uidVal","aud","pepper","proof","proofFetchCallback","jwt","verificationKeyHash","AccountAddress","EventEmitter","ZeroKnowledgeSig","status","pepperBytes","Hex","AnyPublicKey","promise","error","serializer","deserializer","EphemeralKeyPair","message","signature","AnySignature","AccountAuthenticatorSingleKey","transaction","aptosConfig","KeylessError","header","jwtDecode","verificationKey","getKeylessConfig","expiryDateSecs","ephemeralPublicKey","ephemeralSignature","KeylessSignature","base64UrlDecode","EphemeralCertificate","raw","deriveTransactionType","signMess","TransactionAndProof","kid","keylessPubKey","KeylessPublicKey","iss","allJWKs","jwkAddr","FederatedKeylessPublicKey","getKeylessJWKs","jwksForIssuer","jwk","key","AbstractKeylessAccount","generateSigningMessage"]}
1
+ {"version":3,"sources":["../../src/account/AbstractKeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport EventEmitter from \"eventemitter3\";\nimport { jwtDecode } from \"jwt-decode\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n ZeroKnowledgeSig,\n ZkProof,\n getKeylessJWKs,\n MoveJWK,\n getKeylessConfig,\n} from \"../core/crypto\";\n\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport { deriveTransactionType, generateSigningMessage } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\nimport { base64UrlDecode } from \"../utils/helpers\";\nimport { FederatedKeylessPublicKey } from \"../core/crypto/federatedKeyless\";\nimport { Account } from \"./Account\";\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { KeylessError, KeylessErrorType } from \"../errors\";\nimport type { SingleKeySigner } from \"./SingleKeyAccount\";\n\n/**\n * An interface which defines if an Account utilizes Keyless signing.\n */\nexport interface KeylessSigner extends Account {\n checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void>;\n}\n\nexport function isKeylessSigner(obj: any): obj is KeylessSigner {\n return obj !== null && obj !== undefined && typeof obj.checkKeylessAccountValidity === \"function\";\n}\n\n/**\n * Account implementation for the Keyless authentication scheme. This abstract class is used for standard Keyless Accounts\n * and Federated Keyless Accounts.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport abstract class AbstractKeylessAccount extends Serializable implements KeylessSigner, SingleKeySigner {\n static readonly PEPPER_LENGTH: number = 31;\n\n /**\n * The KeylessPublicKey associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n\n /**\n * The EphemeralKeyPair used to generate sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n /**\n * The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidKey: string;\n\n /**\n * The value of the uidKey claim on the JWT. This intended to be a stable user identifier.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidVal: string;\n\n /**\n * The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly aud: string;\n\n /**\n * A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly pepper: Uint8Array;\n\n /**\n * Account address associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof: ZeroKnowledgeSig | undefined;\n\n /**\n * The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on\n * fetching the proof.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n /**\n * Signing scheme used to sign transactions\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly signingScheme: SigningScheme = SigningScheme.SingleKey;\n\n /**\n * The JWT token used to derive the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly jwt: string;\n\n /**\n * The hash of the verification key used to verify the proof. This is optional and can be used to check verifying key\n * rotations which may invalidate the proof.\n */\n readonly verificationKeyHash?: Uint8Array;\n\n /**\n * An event emitter used to assist in handling asynchronous proof fetching.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n private readonly emitter: EventEmitter<ProofFetchEvents>;\n\n /**\n * Use the static generator `create(...)` instead.\n * Creates an instance of the KeylessAccount with an optional proof.\n *\n * @param args - The parameters for creating a KeylessAccount.\n * @param args.address - Optional account address associated with the KeylessAccount.\n * @param args.publicKey - A KeylessPublicKey or FederatedKeylessPublicKey.\n * @param args.ephemeralKeyPair - The ephemeral key pair used in the account creation.\n * @param args.iss - A JWT issuer.\n * @param args.uidKey - The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @param args.uidVal - The unique id for this user, intended to be a stable user identifier.\n * @param args.aud - The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @param args.pepper - A hexadecimal input used for additional security.\n * @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.\n * @param args.proofFetchCallback - Optional callback function for fetching proof.\n * @param args.jwt - A JSON Web Token used for authentication.\n * @param args.verificationKeyHash Optional 32-byte verification key hash as hex input used to check proof validity.\n */\n protected constructor(args: {\n address?: AccountAddress;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n verificationKeyHash?: HexInput;\n }) {\n super();\n const {\n address,\n ephemeralKeyPair,\n publicKey,\n uidKey,\n uidVal,\n aud,\n pepper,\n proof,\n proofFetchCallback,\n jwt,\n verificationKeyHash,\n } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = publicKey;\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proof;\n if (proof instanceof ZeroKnowledgeSig) {\n this.proof = proof;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n // Note, this is purposely not awaited to be non-blocking. The caller should await on the proofFetchCallback.\n this.init(proof);\n }\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== AbstractKeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${AbstractKeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n if (verificationKeyHash !== undefined) {\n if (Hex.hexInputToUint8Array(verificationKeyHash).length !== 32) {\n throw new Error(\"verificationKeyHash must be 32 bytes\");\n }\n this.verificationKeyHash = Hex.hexInputToUint8Array(verificationKeyHash);\n }\n }\n\n getAnyPublicKey(): AnyPublicKey {\n return new AnyPublicKey(this.publicKey);\n }\n\n /**\n * This initializes the asynchronous proof fetch\n * @return Emits whether the proof succeeds or fails, but has no return.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n /**\n * Serializes the jwt data into a format suitable for transmission or storage.\n * This function ensures that both the jwt data and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the jwt data into bytes.\n */\n serialize(serializer: Serializer): void {\n this.accountAddress.serialize(serializer);\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Cannot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n serializer.serializeOption(this.verificationKeyHash, 32);\n }\n\n static partialDeserialize(deserializer: Deserializer): {\n address: AccountAddress;\n jwt: string;\n uidKey: string;\n pepper: Uint8Array;\n ephemeralKeyPair: EphemeralKeyPair;\n proof: ZeroKnowledgeSig;\n verificationKeyHash?: Uint8Array;\n } {\n const address = AccountAddress.deserialize(deserializer);\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n const verificationKeyHash = deserializer.deserializeOption(\"fixedBytes\", 32);\n\n return { address, jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };\n }\n\n /**\n * Checks if the proof is expired. If so the account must be re-derived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asynchronous proof fetching to finish.\n * @return\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Validates that the Keyless Account can be used to sign transactions.\n * @return\n */\n async checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void> {\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n await this.waitForProofFetch();\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.ASYNC_PROOF_FETCH_FAILED,\n });\n }\n const header = jwtDecode(this.jwt, { header: true });\n if (header.kid === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen.\",\n });\n }\n if (this.verificationKeyHash !== undefined) {\n const { verificationKey } = await getKeylessConfig({ aptosConfig });\n if (Hex.hexInputToString(verificationKey.hash()) !== Hex.hexInputToString(this.verificationKeyHash)) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_PROOF_VERIFICATION_KEY_NOT_FOUND,\n });\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n \"[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated.\",\n );\n }\n await AbstractKeylessAccount.fetchJWK({ aptosConfig, publicKey: this.publicKey, kid: header.kid });\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n sign(message: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(message);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = txnAndProof.hash();\n return this.sign(signMess);\n }\n\n /**\n * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount\n *\n * Verifies a signature given the message.\n *\n * TODO: Groth16 proof verification\n *\n * @param args.message the message that was signed.\n * @param args.signature the KeylessSignature to verify\n * @returns boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n const { message, signature } = args;\n if (this.isExpired()) {\n return false;\n }\n if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {\n return false;\n }\n return true;\n }\n\n /**\n * Fetches the JWK from the issuer's well-known JWKS endpoint.\n *\n * @param args.publicKey The keyless public key to query\n * @param args.kid The kid of the JWK to fetch\n * @returns A JWK matching the `kid` in the JWT header.\n * @throws {KeylessError} If the JWK cannot be fetched\n */\n static async fetchJWK(args: {\n aptosConfig: AptosConfig;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n kid: string;\n }): Promise<MoveJWK> {\n const { aptosConfig, publicKey, kid } = args;\n const keylessPubKey = publicKey instanceof KeylessPublicKey ? publicKey : publicKey.keylessPublicKey;\n const { iss } = keylessPubKey;\n\n let allJWKs: Map<string, MoveJWK[]>;\n const jwkAddr = publicKey instanceof FederatedKeylessPublicKey ? publicKey.jwkAddress : undefined;\n try {\n allJWKs = await getKeylessJWKs({ aptosConfig, jwkAddr });\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_JWKS_LOOKUP_ERROR,\n error,\n details: `Failed to fetch ${jwkAddr ? \"Federated\" : \"Patched\"}JWKs ${jwkAddr ? `for address ${jwkAddr}` : \"0x1\"}`,\n });\n }\n\n // Find the corresponding JWK set by `iss`\n const jwksForIssuer = allJWKs.get(iss);\n\n if (jwksForIssuer === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_ISS_NOT_RECOGNIZED,\n details: `JWKs for issuer ${iss} not found.`,\n });\n }\n\n // Find the corresponding JWK by `kid`\n const jwk = jwksForIssuer.find((key) => key.kid === kid);\n\n if (jwk === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_JWK_NOT_FOUND,\n details: `JWK with kid '${kid}' for issuer '${iss}' not found.`,\n });\n }\n\n return jwk;\n }\n}\n\n/**\n * A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create\n * the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport class TransactionAndProof extends Serializable {\n /**\n * The transaction to sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n transaction: AnyRawTransactionInstance;\n\n /**\n * The zero knowledge proof used in signing the transaction.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof?: ZkProof;\n\n /**\n * The domain separator prefix used when hashing.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly domainSeparator = \"APTOS::TransactionAndProof\";\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n /**\n * Serializes the transaction data into a format suitable for transmission or storage.\n * This function ensures that both the transaction bytes and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the transaction data into bytes.\n */\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n\n /**\n * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.\n *\n * @returns Uint8Array\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n hash(): Uint8Array {\n return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);\n }\n}\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":"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","names":[]}