@aptos-labs/ts-sdk 1.33.2 → 1.35.0-zeta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1026) hide show
  1. package/README.md +15 -9
  2. package/dist/common/{accountAddress-Cf1amU98.d.ts → accountAddress-D3UA_cOZ.d.ts} +86 -12
  3. package/dist/common/chunk-CSUBLTFA.js +1297 -0
  4. package/dist/common/chunk-CSUBLTFA.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 +3184 -2531
  9. package/dist/common/index.js +18279 -420
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/esm/account/AbstractKeylessAccount.d.mts +1 -0
  12. package/dist/esm/account/AbstractKeylessAccount.mjs +75 -1
  13. package/dist/esm/account/AbstractedAccount.d.mts +91 -0
  14. package/dist/esm/account/AbstractedAccount.mjs +75 -0
  15. package/dist/esm/account/Account.d.mts +2 -1
  16. package/dist/esm/account/Account.mjs +72 -1
  17. package/dist/esm/account/AccountUtils.d.mts +17 -16
  18. package/dist/esm/account/AccountUtils.mjs +78 -1
  19. package/dist/esm/account/Ed25519Account.d.mts +3 -2
  20. package/dist/esm/account/Ed25519Account.mjs +70 -1
  21. package/dist/esm/account/EphemeralKeyPair.d.mts +1 -0
  22. package/dist/esm/account/EphemeralKeyPair.mjs +50 -1
  23. package/dist/esm/account/FederatedKeylessAccount.d.mts +1 -0
  24. package/dist/esm/account/FederatedKeylessAccount.mjs +72 -1
  25. package/dist/esm/account/KeylessAccount.d.mts +1 -0
  26. package/dist/esm/account/KeylessAccount.mjs +72 -1
  27. package/dist/esm/account/MultiEd25519Account.d.mts +108 -0
  28. package/dist/esm/account/MultiEd25519Account.mjs +71 -0
  29. package/dist/esm/account/MultiKeyAccount.d.mts +2 -2
  30. package/dist/esm/account/MultiKeyAccount.mjs +74 -1
  31. package/dist/esm/account/SingleKeyAccount.d.mts +1 -0
  32. package/dist/esm/account/SingleKeyAccount.mjs +72 -1
  33. package/dist/esm/account/index.d.mts +4 -0
  34. package/dist/esm/account/index.mjs +119 -1
  35. package/dist/esm/account/utils.d.mts +1 -0
  36. package/dist/esm/account/utils.mjs +54 -1
  37. package/dist/esm/api/account/abstraction.d.mts +209 -0
  38. package/dist/esm/api/account/abstraction.mjs +102 -0
  39. package/dist/esm/api/account.d.mts +21 -2
  40. package/dist/esm/api/account.mjs +103 -1
  41. package/dist/esm/api/ans.d.mts +1 -0
  42. package/dist/esm/api/ans.mjs +101 -1
  43. package/dist/esm/api/aptos.d.mts +7 -1
  44. package/dist/esm/api/aptos.mjs +136 -1
  45. package/dist/esm/api/aptosConfig.d.mts +1 -0
  46. package/dist/esm/api/aptosConfig.mjs +9 -1
  47. package/dist/esm/api/coin.d.mts +1 -0
  48. package/dist/esm/api/coin.mjs +99 -1
  49. package/dist/esm/api/digitalAsset.d.mts +1 -0
  50. package/dist/esm/api/digitalAsset.mjs +101 -1
  51. package/dist/esm/api/event.d.mts +1 -0
  52. package/dist/esm/api/event.mjs +59 -1
  53. package/dist/esm/api/experimental.d.mts +83 -0
  54. package/dist/esm/api/experimental.mjs +100 -0
  55. package/dist/esm/api/faucet.d.mts +1 -0
  56. package/dist/esm/api/faucet.mjs +58 -1
  57. package/dist/esm/api/fungibleAsset.d.mts +1 -0
  58. package/dist/esm/api/fungibleAsset.mjs +101 -1
  59. package/dist/esm/api/general.d.mts +1 -0
  60. package/dist/esm/api/general.mjs +99 -1
  61. package/dist/esm/api/index.d.mts +5 -0
  62. package/dist/esm/api/index.mjs +140 -1
  63. package/dist/esm/api/keyless.d.mts +1 -0
  64. package/dist/esm/api/keyless.mjs +100 -1
  65. package/dist/esm/api/object.d.mts +1 -0
  66. package/dist/esm/api/object.mjs +59 -1
  67. package/dist/esm/api/staking.d.mts +1 -0
  68. package/dist/esm/api/staking.mjs +59 -1
  69. package/dist/esm/api/table.d.mts +1 -0
  70. package/dist/esm/api/table.mjs +38 -1
  71. package/dist/esm/api/transaction.d.mts +17 -6
  72. package/dist/esm/api/transaction.mjs +108 -1
  73. package/dist/esm/api/transactionSubmission/build.d.mts +66 -0
  74. package/dist/esm/api/transactionSubmission/build.mjs +99 -1
  75. package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
  76. package/dist/esm/api/transactionSubmission/management.d.mts +1 -0
  77. package/dist/esm/api/transactionSubmission/management.mjs +103 -1
  78. package/dist/esm/api/transactionSubmission/sign.d.mts +1 -0
  79. package/dist/esm/api/transactionSubmission/sign.mjs +218 -1
  80. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  81. package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -0
  82. package/dist/esm/api/transactionSubmission/simulate.mjs +100 -1
  83. package/dist/esm/api/transactionSubmission/submit.d.mts +1 -0
  84. package/dist/esm/api/transactionSubmission/submit.mjs +100 -1
  85. package/dist/esm/api/utils.d.mts +1 -0
  86. package/dist/esm/api/utils.mjs +36 -1
  87. package/dist/esm/bcs/consts.d.mts +1 -0
  88. package/dist/esm/bcs/consts.mjs +17 -1
  89. package/dist/esm/bcs/deserializer.d.mts +1 -0
  90. package/dist/esm/bcs/deserializer.mjs +10 -1
  91. package/dist/esm/bcs/index.d.mts +1 -0
  92. package/dist/esm/bcs/index.mjs +60 -1
  93. package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +1 -0
  94. package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
  95. package/dist/esm/bcs/serializable/fixedBytes.d.mts +1 -0
  96. package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
  97. package/dist/esm/bcs/serializable/movePrimitives.d.mts +1 -0
  98. package/dist/esm/bcs/serializable/movePrimitives.mjs +26 -1
  99. package/dist/esm/bcs/serializable/moveStructs.d.mts +1 -0
  100. package/dist/esm/bcs/serializable/moveStructs.mjs +22 -1
  101. package/dist/esm/bcs/serializer.d.mts +1 -0
  102. package/dist/esm/bcs/serializer.mjs +18 -1
  103. package/dist/esm/chunk-2ZOIVB2U.mjs +63 -0
  104. package/dist/esm/{chunk-5EYTHMRZ.mjs.map → chunk-2ZOIVB2U.mjs.map} +1 -1
  105. package/dist/esm/chunk-32UQAST6.mjs +296 -0
  106. package/dist/esm/{chunk-QHEKBHNU.mjs.map → chunk-32UQAST6.mjs.map} +1 -1
  107. package/dist/esm/chunk-3IWV2Q3K.mjs +12 -0
  108. package/dist/esm/{chunk-XJJVJOX5.mjs.map → chunk-3IWV2Q3K.mjs.map} +1 -1
  109. package/dist/esm/chunk-3QMLVT4L.mjs +177 -0
  110. package/dist/esm/{chunk-E5HGSOG2.mjs.map → chunk-3QMLVT4L.mjs.map} +1 -1
  111. package/dist/esm/chunk-3SCNBHUA.mjs +177 -0
  112. package/dist/esm/{chunk-DOQV5BSA.mjs.map → chunk-3SCNBHUA.mjs.map} +1 -1
  113. package/dist/esm/chunk-3TUV6YMI.mjs +305 -0
  114. package/dist/esm/chunk-3TUV6YMI.mjs.map +1 -0
  115. package/dist/esm/chunk-46VPRC7E.mjs +407 -0
  116. package/dist/esm/{chunk-QQEK7WVP.mjs.map → chunk-46VPRC7E.mjs.map} +1 -1
  117. package/dist/esm/chunk-4BXAKN6A.mjs +84 -0
  118. package/dist/esm/chunk-4BXAKN6A.mjs.map +1 -0
  119. package/dist/esm/chunk-4WNIKKIV.mjs +45 -0
  120. package/dist/esm/{chunk-NYETBDSR.mjs.map → chunk-4WNIKKIV.mjs.map} +1 -1
  121. package/dist/esm/chunk-5E2IDRDF.mjs +61 -0
  122. package/dist/esm/{chunk-5EBUWO2M.mjs.map → chunk-5E2IDRDF.mjs.map} +1 -1
  123. package/dist/esm/chunk-5QHMFYVL.mjs +42 -0
  124. package/dist/esm/chunk-5QHMFYVL.mjs.map +1 -0
  125. package/dist/esm/chunk-6ASWESA2.mjs +77 -0
  126. package/dist/esm/{chunk-TOBQ5UE6.mjs.map → chunk-6ASWESA2.mjs.map} +1 -1
  127. package/dist/esm/chunk-6I37A76G.mjs +29 -0
  128. package/dist/esm/{chunk-BI3BTSUB.mjs.map → chunk-6I37A76G.mjs.map} +1 -1
  129. package/dist/esm/chunk-6PMKDSGB.mjs +167 -0
  130. package/dist/esm/{chunk-5VMAJTTV.mjs.map → chunk-6PMKDSGB.mjs.map} +1 -1
  131. package/dist/esm/chunk-6SNGKTWE.mjs +91 -0
  132. package/dist/esm/{chunk-BGSEBFFC.mjs.map → chunk-6SNGKTWE.mjs.map} +1 -1
  133. package/dist/esm/chunk-A3TQLIEM.mjs +19 -0
  134. package/dist/esm/{chunk-S7RZGC56.mjs.map → chunk-A3TQLIEM.mjs.map} +1 -1
  135. package/dist/esm/chunk-AGKEC2IM.mjs +250 -0
  136. package/dist/esm/chunk-AGKEC2IM.mjs.map +1 -0
  137. package/dist/esm/chunk-AKXCFBYF.mjs +49 -0
  138. package/dist/esm/chunk-AKXCFBYF.mjs.map +1 -0
  139. package/dist/esm/chunk-APM7OSLS.mjs +122 -0
  140. package/dist/esm/{chunk-GOXRBEIJ.mjs.map → chunk-APM7OSLS.mjs.map} +1 -1
  141. package/dist/esm/chunk-BDM6FBUO.mjs +198 -0
  142. package/dist/esm/chunk-BDM6FBUO.mjs.map +1 -0
  143. package/dist/esm/chunk-BEYIOC2H.mjs +34 -0
  144. package/dist/esm/{chunk-YOZBVVKL.mjs.map → chunk-BEYIOC2H.mjs.map} +1 -1
  145. package/dist/esm/chunk-BMM72IIP.mjs +250 -0
  146. package/dist/esm/{chunk-AZWVCBK2.mjs.map → chunk-BMM72IIP.mjs.map} +1 -1
  147. package/dist/esm/chunk-BQ5JTYXK.mjs +1014 -0
  148. package/dist/esm/{chunk-WQRGDSPD.mjs.map → chunk-BQ5JTYXK.mjs.map} +1 -1
  149. package/dist/esm/chunk-C7T6GW5P.mjs +376 -0
  150. package/dist/esm/{chunk-EBMEXURY.mjs.map → chunk-C7T6GW5P.mjs.map} +1 -1
  151. package/dist/esm/chunk-CXLXUSCG.mjs +417 -0
  152. package/dist/esm/{chunk-Q4C4U6I4.mjs.map → chunk-CXLXUSCG.mjs.map} +1 -1
  153. package/dist/esm/chunk-D4MW64RH.mjs +188 -0
  154. package/dist/esm/{chunk-DYATTONT.mjs.map → chunk-D4MW64RH.mjs.map} +1 -1
  155. package/dist/esm/chunk-DDZGHA66.mjs +495 -0
  156. package/dist/esm/{chunk-G4O6FXCF.mjs.map → chunk-DDZGHA66.mjs.map} +1 -1
  157. package/dist/esm/chunk-DMFRIING.mjs +286 -0
  158. package/dist/esm/chunk-DMFRIING.mjs.map +1 -0
  159. package/dist/esm/chunk-DUOU3SNQ.mjs +51 -0
  160. package/dist/esm/chunk-DUOU3SNQ.mjs.map +1 -0
  161. package/dist/esm/chunk-EBEO4SA4.mjs +367 -0
  162. package/dist/esm/{chunk-ONTWK5FU.mjs.map → chunk-EBEO4SA4.mjs.map} +1 -1
  163. package/dist/esm/chunk-ECTX2FGD.mjs +355 -0
  164. package/dist/esm/{chunk-NBNZ53ZV.mjs.map → chunk-ECTX2FGD.mjs.map} +1 -1
  165. package/dist/esm/chunk-EFJAJFI3.mjs +53 -0
  166. package/dist/esm/{chunk-X6UNY6YM.mjs.map → chunk-EFJAJFI3.mjs.map} +1 -1
  167. package/dist/esm/chunk-EMKV5DFX.mjs +66 -0
  168. package/dist/esm/{chunk-6YHDZLRN.mjs.map → chunk-EMKV5DFX.mjs.map} +1 -1
  169. package/dist/esm/chunk-EPTUAWRA.mjs +895 -0
  170. package/dist/esm/chunk-EPTUAWRA.mjs.map +1 -0
  171. package/dist/esm/chunk-ESZLRZTK.mjs +276 -0
  172. package/dist/esm/{chunk-2FBJWTJD.mjs.map → chunk-ESZLRZTK.mjs.map} +1 -1
  173. package/dist/esm/chunk-F7W7KS5C.mjs +52 -0
  174. package/dist/esm/{chunk-C3Q23D22.mjs.map → chunk-F7W7KS5C.mjs.map} +1 -1
  175. package/dist/esm/chunk-FMNMYKYH.mjs +71 -0
  176. package/dist/esm/{chunk-N4DM5FYH.mjs.map → chunk-FMNMYKYH.mjs.map} +1 -1
  177. package/dist/esm/chunk-G34CJDST.mjs +139 -0
  178. package/dist/esm/chunk-G34CJDST.mjs.map +1 -0
  179. package/dist/esm/chunk-G4NBRMZ2.mjs +7 -0
  180. package/dist/esm/chunk-G4NBRMZ2.mjs.map +1 -0
  181. package/dist/esm/chunk-GFPEB22G.mjs +1 -0
  182. package/dist/esm/chunk-GFPEB22G.mjs.map +1 -0
  183. package/dist/esm/chunk-GUA5YTIK.mjs +362 -0
  184. package/dist/esm/{chunk-35DKMW7Q.mjs.map → chunk-GUA5YTIK.mjs.map} +1 -1
  185. package/dist/esm/chunk-HLTYSM7H.mjs +89 -0
  186. package/dist/esm/{chunk-VV4HCOJQ.mjs.map → chunk-HLTYSM7H.mjs.map} +1 -1
  187. package/dist/esm/chunk-HMHFKEHQ.mjs +70 -0
  188. package/dist/esm/chunk-HMHFKEHQ.mjs.map +1 -0
  189. package/dist/esm/chunk-HQ6A6TYS.mjs +475 -0
  190. package/dist/esm/chunk-HQ6A6TYS.mjs.map +1 -0
  191. package/dist/esm/chunk-HQTQEHHZ.mjs +195 -0
  192. package/dist/esm/chunk-HQTQEHHZ.mjs.map +1 -0
  193. package/dist/esm/chunk-I25AX6PQ.mjs +7 -0
  194. package/dist/esm/{chunk-77AEKF7K.mjs.map → chunk-I25AX6PQ.mjs.map} +1 -1
  195. package/dist/esm/chunk-I4OHHVRF.mjs +125 -0
  196. package/dist/esm/{chunk-M77M6NSB.mjs.map → chunk-I4OHHVRF.mjs.map} +1 -1
  197. package/dist/esm/chunk-I6QE3PKO.mjs +100 -0
  198. package/dist/esm/chunk-I6QE3PKO.mjs.map +1 -0
  199. package/dist/esm/chunk-IPUAVRGL.mjs +248 -0
  200. package/dist/esm/{chunk-VUIHJIMX.mjs.map → chunk-IPUAVRGL.mjs.map} +1 -1
  201. package/dist/esm/chunk-J7WQ42OC.mjs +195 -0
  202. package/dist/esm/{chunk-4EUS4E6S.mjs.map → chunk-J7WQ42OC.mjs.map} +1 -1
  203. package/dist/esm/chunk-JOVCSFQC.mjs +58 -0
  204. package/dist/esm/{chunk-4ZYPDCSP.mjs.map → chunk-JOVCSFQC.mjs.map} +1 -1
  205. package/dist/esm/chunk-K3CXNID3.mjs +74 -0
  206. package/dist/esm/{chunk-ZPV7HPA4.mjs.map → chunk-K3CXNID3.mjs.map} +1 -1
  207. package/dist/esm/chunk-KAKSJSCR.mjs +58 -0
  208. package/dist/esm/{chunk-FIEMUPXF.mjs.map → chunk-KAKSJSCR.mjs.map} +1 -1
  209. package/dist/esm/chunk-KCV4HRSJ.mjs +420 -0
  210. package/dist/esm/{chunk-NWLJ6RW7.mjs.map → chunk-KCV4HRSJ.mjs.map} +1 -1
  211. package/dist/esm/chunk-KEKNIJHE.mjs +90 -0
  212. package/dist/esm/{chunk-XTJOA5QN.mjs.map → chunk-KEKNIJHE.mjs.map} +1 -1
  213. package/dist/esm/chunk-KEZG4OGH.mjs +725 -0
  214. package/dist/esm/chunk-KEZG4OGH.mjs.map +1 -0
  215. package/dist/esm/chunk-KLUO6XPE.mjs +33 -0
  216. package/dist/esm/{chunk-WCMW2L3P.mjs.map → chunk-KLUO6XPE.mjs.map} +1 -1
  217. package/dist/esm/chunk-KLZCGNPI.mjs +322 -0
  218. package/dist/esm/{chunk-AXYARCYT.mjs.map → chunk-KLZCGNPI.mjs.map} +1 -1
  219. package/dist/esm/chunk-KPAICS4T.mjs +160 -0
  220. package/dist/esm/{chunk-7IY3DTEF.mjs.map → chunk-KPAICS4T.mjs.map} +1 -1
  221. package/dist/esm/chunk-KSK3XIGF.mjs +502 -0
  222. package/dist/esm/{chunk-IDTLNF4M.mjs.map → chunk-KSK3XIGF.mjs.map} +1 -1
  223. package/dist/esm/chunk-LFMXR5C2.mjs +208 -0
  224. package/dist/esm/{chunk-E7JDVKFY.mjs.map → chunk-LFMXR5C2.mjs.map} +1 -1
  225. package/dist/esm/chunk-LHQJNJUB.mjs +829 -0
  226. package/dist/esm/chunk-LHQJNJUB.mjs.map +1 -0
  227. package/dist/esm/chunk-LJRNGZMY.mjs +10 -0
  228. package/dist/esm/chunk-LJRNGZMY.mjs.map +1 -0
  229. package/dist/esm/chunk-LL4RQKIB.mjs +120 -0
  230. package/dist/esm/chunk-LL4RQKIB.mjs.map +1 -0
  231. package/dist/esm/chunk-LSIXUJ5T.mjs +288 -0
  232. package/dist/esm/{chunk-XZ4JRYCE.mjs.map → chunk-LSIXUJ5T.mjs.map} +1 -1
  233. package/dist/esm/chunk-MFFBZ43D.mjs +45 -0
  234. package/dist/esm/{chunk-N6YTF76Q.mjs.map → chunk-MFFBZ43D.mjs.map} +1 -1
  235. package/dist/esm/chunk-MG6UFOJW.mjs +207 -0
  236. package/dist/esm/chunk-MG6UFOJW.mjs.map +1 -0
  237. package/dist/esm/chunk-MHZVL3EA.mjs +192 -0
  238. package/dist/esm/chunk-MHZVL3EA.mjs.map +1 -0
  239. package/dist/esm/chunk-MIVDDJAH.mjs +50 -0
  240. package/dist/esm/chunk-MIVDDJAH.mjs.map +1 -0
  241. package/dist/esm/chunk-MUSTBCQX.mjs +71 -0
  242. package/dist/esm/{chunk-MCLYDS3O.mjs.map → chunk-MUSTBCQX.mjs.map} +1 -1
  243. package/dist/esm/chunk-MWXBQ6HR.mjs +15 -0
  244. package/dist/esm/{chunk-4YLUM62M.mjs.map → chunk-MWXBQ6HR.mjs.map} +1 -1
  245. package/dist/esm/chunk-MYEYZ7PF.mjs +46 -0
  246. package/dist/esm/{chunk-XKUIMGKU.mjs.map → chunk-MYEYZ7PF.mjs.map} +1 -1
  247. package/dist/esm/chunk-NMYFY7WN.mjs +219 -0
  248. package/dist/esm/chunk-NMYFY7WN.mjs.map +1 -0
  249. package/dist/esm/chunk-NUT2VOX2.mjs +317 -0
  250. package/dist/esm/{chunk-XTOIL6MB.mjs.map → chunk-NUT2VOX2.mjs.map} +1 -1
  251. package/dist/esm/chunk-ODG7T6OV.mjs +43 -0
  252. package/dist/esm/{chunk-2UXW3EB7.mjs.map → chunk-ODG7T6OV.mjs.map} +1 -1
  253. package/dist/esm/chunk-OFUNBTK4.mjs +169 -0
  254. package/dist/esm/chunk-OFUNBTK4.mjs.map +1 -0
  255. package/dist/esm/chunk-OQ6XT2GF.mjs +147 -0
  256. package/dist/esm/{chunk-5YWH3XPN.mjs.map → chunk-OQ6XT2GF.mjs.map} +1 -1
  257. package/dist/esm/chunk-P64LPFEC.mjs +128 -0
  258. package/dist/esm/{chunk-2N5KYALM.mjs.map → chunk-P64LPFEC.mjs.map} +1 -1
  259. package/dist/esm/chunk-PGFEUN7K.mjs +129 -0
  260. package/dist/esm/{chunk-CWKNJZB6.mjs.map → chunk-PGFEUN7K.mjs.map} +1 -1
  261. package/dist/esm/chunk-PKUXOBIV.mjs +138 -0
  262. package/dist/esm/{chunk-FN4C3CKC.mjs.map → chunk-PKUXOBIV.mjs.map} +1 -1
  263. package/dist/esm/chunk-PT2QHUB6.mjs +96 -0
  264. package/dist/esm/{chunk-A5L76YP7.mjs.map → chunk-PT2QHUB6.mjs.map} +1 -1
  265. package/dist/esm/chunk-QJ6CGH7N.mjs +71 -0
  266. package/dist/esm/{chunk-OHZURQPY.mjs.map → chunk-QJ6CGH7N.mjs.map} +1 -1
  267. package/dist/esm/chunk-QN5BQMWP.mjs +21 -0
  268. package/dist/esm/{chunk-JJM6ELMS.mjs.map → chunk-QN5BQMWP.mjs.map} +1 -1
  269. package/dist/esm/chunk-QPT4BSAB.mjs +20 -0
  270. package/dist/esm/{chunk-IF4UU2MT.mjs.map → chunk-QPT4BSAB.mjs.map} +1 -1
  271. package/dist/esm/chunk-QSYWLSSN.mjs +216 -0
  272. package/dist/esm/{chunk-ORMOQWWH.mjs.map → chunk-QSYWLSSN.mjs.map} +1 -1
  273. package/dist/esm/chunk-QW7RQDZ5.mjs +224 -0
  274. package/dist/esm/chunk-QW7RQDZ5.mjs.map +1 -0
  275. package/dist/esm/chunk-R4JTQQBX.mjs +37 -0
  276. package/dist/esm/{chunk-EMURYYVO.mjs.map → chunk-R4JTQQBX.mjs.map} +1 -1
  277. package/dist/esm/chunk-RQS33JAS.mjs +77 -0
  278. package/dist/esm/chunk-RQS33JAS.mjs.map +1 -0
  279. package/dist/esm/chunk-S56SMMAK.mjs +86 -0
  280. package/dist/esm/{chunk-OROPNHRY.mjs.map → chunk-S56SMMAK.mjs.map} +1 -1
  281. package/dist/esm/chunk-SAWN7RJP.mjs +15 -0
  282. package/dist/esm/chunk-SAWN7RJP.mjs.map +1 -0
  283. package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
  284. package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
  285. package/dist/esm/chunk-SDIZSFCQ.mjs +281 -0
  286. package/dist/esm/{chunk-3RCAJICY.mjs.map → chunk-SDIZSFCQ.mjs.map} +1 -1
  287. package/dist/esm/chunk-SFLQPB72.mjs +63 -0
  288. package/dist/esm/{chunk-4RXKALLC.mjs.map → chunk-SFLQPB72.mjs.map} +1 -1
  289. package/dist/esm/chunk-SGKF62FT.mjs +70 -0
  290. package/dist/esm/chunk-SGKF62FT.mjs.map +1 -0
  291. package/dist/esm/chunk-SN6KXHPA.mjs +162 -0
  292. package/dist/esm/{chunk-V6VPMNWJ.mjs.map → chunk-SN6KXHPA.mjs.map} +1 -1
  293. package/dist/esm/chunk-T573PCIR.mjs +700 -0
  294. package/dist/esm/{chunk-IEUEMBFD.mjs.map → chunk-T573PCIR.mjs.map} +1 -1
  295. package/dist/esm/chunk-TFW6N66T.mjs +415 -0
  296. package/dist/esm/{chunk-FZD5RWSZ.mjs.map → chunk-TFW6N66T.mjs.map} +1 -1
  297. package/dist/esm/chunk-THWEBWUC.mjs +20 -0
  298. package/dist/esm/{chunk-DPW6ELCQ.mjs.map → chunk-THWEBWUC.mjs.map} +1 -1
  299. package/dist/esm/chunk-TQDWZXFD.mjs +239 -0
  300. package/dist/esm/{chunk-OR6GFWLG.mjs.map → chunk-TQDWZXFD.mjs.map} +1 -1
  301. package/dist/esm/chunk-UIRAXHDH.mjs +1 -0
  302. package/dist/esm/chunk-UIRAXHDH.mjs.map +1 -0
  303. package/dist/esm/chunk-UKZP2GAB.mjs +415 -0
  304. package/dist/esm/chunk-UKZP2GAB.mjs.map +1 -0
  305. package/dist/esm/chunk-UOHCJOXI.mjs +150 -0
  306. package/dist/esm/{chunk-43GCGE6C.mjs.map → chunk-UOHCJOXI.mjs.map} +1 -1
  307. package/dist/esm/chunk-UXAUOSSB.mjs +219 -0
  308. package/dist/esm/chunk-UXAUOSSB.mjs.map +1 -0
  309. package/dist/esm/chunk-VGI2LPO3.mjs +604 -0
  310. package/dist/esm/chunk-VGI2LPO3.mjs.map +1 -0
  311. package/dist/esm/chunk-WEOK7WVL.mjs +66 -0
  312. package/dist/esm/{chunk-UC23V7PU.mjs.map → chunk-WEOK7WVL.mjs.map} +1 -1
  313. package/dist/esm/chunk-WPV52HGD.mjs +40 -0
  314. package/dist/esm/chunk-WPV52HGD.mjs.map +1 -0
  315. package/dist/esm/chunk-XGB3QLVI.mjs +86 -0
  316. package/dist/esm/{chunk-6CXMDJQR.mjs.map → chunk-XGB3QLVI.mjs.map} +1 -1
  317. package/dist/esm/chunk-XGUYC57L.mjs +97 -0
  318. package/dist/esm/{chunk-2TJ6OTVD.mjs.map → chunk-XGUYC57L.mjs.map} +1 -1
  319. package/dist/esm/chunk-XIBOO3WF.mjs +168 -0
  320. package/dist/esm/{chunk-YCQUYDZI.mjs.map → chunk-XIBOO3WF.mjs.map} +1 -1
  321. package/dist/esm/chunk-XQFUKBY7.mjs +136 -0
  322. package/dist/esm/chunk-XQFUKBY7.mjs.map +1 -0
  323. package/dist/esm/chunk-XXLSA7W7.mjs +79 -0
  324. package/dist/esm/{chunk-ZGVNZE7J.mjs.map → chunk-XXLSA7W7.mjs.map} +1 -1
  325. package/dist/esm/chunk-Y3ENAKRC.mjs +73 -0
  326. package/dist/esm/{chunk-MT2RJ7H3.mjs.map → chunk-Y3ENAKRC.mjs.map} +1 -1
  327. package/dist/esm/chunk-Y4FHNC5I.mjs +513 -0
  328. package/dist/esm/{chunk-XY43TPRH.mjs.map → chunk-Y4FHNC5I.mjs.map} +1 -1
  329. package/dist/esm/chunk-Y7KAC4I4.mjs +130 -0
  330. package/dist/esm/{chunk-ZAIVZDOL.mjs.map → chunk-Y7KAC4I4.mjs.map} +1 -1
  331. package/dist/esm/chunk-YIHVPGHN.mjs +689 -0
  332. package/dist/esm/{chunk-KOORZTHC.mjs.map → chunk-YIHVPGHN.mjs.map} +1 -1
  333. package/dist/esm/chunk-YU65LNIC.mjs +72 -0
  334. package/dist/esm/{chunk-ROT6S6BM.mjs.map → chunk-YU65LNIC.mjs.map} +1 -1
  335. package/dist/esm/chunk-ZNGTK5IZ.mjs +121 -0
  336. package/dist/esm/chunk-ZNGTK5IZ.mjs.map +1 -0
  337. package/dist/esm/chunk-ZWCTF3NQ.mjs +25 -0
  338. package/dist/esm/{chunk-W4BSN6SK.mjs.map → chunk-ZWCTF3NQ.mjs.map} +1 -1
  339. package/dist/esm/chunk-ZWD4BJVD.mjs +379 -0
  340. package/dist/esm/chunk-ZWD4BJVD.mjs.map +1 -0
  341. package/dist/esm/cli/index.d.mts +1 -0
  342. package/dist/esm/cli/index.mjs +20 -1
  343. package/dist/esm/cli/localNode.mjs +16 -1
  344. package/dist/esm/cli/move.d.mts +1 -0
  345. package/dist/esm/cli/move.mjs +7 -1
  346. package/dist/esm/client/core.d.mts +37 -1
  347. package/dist/esm/client/core.mjs +34 -1
  348. package/dist/esm/client/get.d.mts +36 -1
  349. package/dist/esm/client/get.mjs +41 -1
  350. package/dist/esm/client/index.d.mts +4 -3
  351. package/dist/esm/client/index.mjs +69 -1
  352. package/dist/esm/client/post.d.mts +35 -1
  353. package/dist/esm/client/post.mjs +43 -1
  354. package/dist/esm/core/account/index.d.mts +1 -0
  355. package/dist/esm/core/account/index.mjs +21 -1
  356. package/dist/esm/core/account/utils/address.d.mts +1 -0
  357. package/dist/esm/core/account/utils/address.mjs +19 -1
  358. package/dist/esm/core/account/utils/index.d.mts +1 -0
  359. package/dist/esm/core/account/utils/index.mjs +20 -1
  360. package/dist/esm/core/accountAddress.d.mts +1 -0
  361. package/dist/esm/core/accountAddress.mjs +16 -1
  362. package/dist/esm/core/authenticationKey.d.mts +1 -0
  363. package/dist/esm/core/authenticationKey.mjs +15 -1
  364. package/dist/esm/core/common.mjs +7 -1
  365. package/dist/esm/core/crypto/abstraction.d.mts +30 -0
  366. package/dist/esm/core/crypto/abstraction.mjs +27 -0
  367. package/dist/esm/core/crypto/abstraction.mjs.map +1 -0
  368. package/dist/esm/core/crypto/ed25519.d.mts +1 -0
  369. package/dist/esm/core/crypto/ed25519.mjs +33 -1
  370. package/dist/esm/core/crypto/ephemeral.d.mts +1 -0
  371. package/dist/esm/core/crypto/ephemeral.mjs +30 -1
  372. package/dist/esm/core/crypto/federatedKeyless.d.mts +1 -0
  373. package/dist/esm/core/crypto/federatedKeyless.mjs +44 -1
  374. package/dist/esm/core/crypto/hdKey.mjs +25 -1
  375. package/dist/esm/core/crypto/index.d.mts +2 -1
  376. package/dist/esm/core/crypto/index.mjs +173 -1
  377. package/dist/esm/core/crypto/keyless.d.mts +1 -0
  378. package/dist/esm/core/crypto/keyless.mjs +83 -1
  379. package/dist/esm/core/crypto/multiEd25519.d.mts +18 -2
  380. package/dist/esm/core/crypto/multiEd25519.mjs +50 -1
  381. package/dist/esm/core/crypto/multiKey.d.mts +34 -15
  382. package/dist/esm/core/crypto/multiKey.mjs +51 -1
  383. package/dist/esm/core/crypto/poseidon.mjs +15 -1
  384. package/dist/esm/core/crypto/privateKey.d.mts +1 -0
  385. package/dist/esm/core/crypto/privateKey.mjs +12 -1
  386. package/dist/esm/core/crypto/proof.d.mts +1 -0
  387. package/dist/esm/core/crypto/proof.mjs +20 -1
  388. package/dist/esm/core/crypto/publicKey.d.mts +1 -0
  389. package/dist/esm/core/crypto/publicKey.mjs +22 -1
  390. package/dist/esm/core/crypto/secp256k1.d.mts +1 -0
  391. package/dist/esm/core/crypto/secp256k1.mjs +29 -1
  392. package/dist/esm/core/crypto/signature.d.mts +1 -0
  393. package/dist/esm/core/crypto/signature.mjs +20 -1
  394. package/dist/esm/core/crypto/singleKey.d.mts +1 -0
  395. package/dist/esm/core/crypto/singleKey.mjs +48 -1
  396. package/dist/esm/core/crypto/utils.d.mts +1 -0
  397. package/dist/esm/core/crypto/utils.mjs +9 -1
  398. package/dist/esm/core/hex.d.mts +1 -0
  399. package/dist/esm/core/hex.mjs +12 -1
  400. package/dist/esm/core/index.d.mts +2 -1
  401. package/dist/esm/core/index.mjs +202 -1
  402. package/dist/esm/errors/index.d.mts +1 -0
  403. package/dist/esm/errors/index.mjs +25 -1
  404. package/dist/esm/index.d.mts +18 -11
  405. package/dist/esm/index.mjs +791 -1
  406. package/dist/esm/internal/abstraction.d.mts +55 -0
  407. package/dist/esm/internal/abstraction.mjs +104 -0
  408. package/dist/esm/internal/abstraction.mjs.map +1 -0
  409. package/dist/esm/internal/account.d.mts +23 -5
  410. package/dist/esm/internal/account.mjs +128 -1
  411. package/dist/esm/internal/ans.d.mts +1 -0
  412. package/dist/esm/internal/ans.mjs +138 -1
  413. package/dist/esm/internal/coin.d.mts +1 -0
  414. package/dist/esm/internal/coin.mjs +98 -1
  415. package/dist/esm/internal/digitalAsset.d.mts +1 -0
  416. package/dist/esm/internal/digitalAsset.mjs +145 -1
  417. package/dist/esm/internal/event.d.mts +1 -0
  418. package/dist/esm/internal/event.mjs +62 -1
  419. package/dist/esm/internal/experimental.d.mts +52 -0
  420. package/dist/esm/internal/experimental.mjs +99 -0
  421. package/dist/esm/internal/experimental.mjs.map +1 -0
  422. package/dist/esm/internal/faucet.d.mts +1 -0
  423. package/dist/esm/internal/faucet.mjs +57 -1
  424. package/dist/esm/internal/fungibleAsset.d.mts +1 -0
  425. package/dist/esm/internal/fungibleAsset.mjs +105 -1
  426. package/dist/esm/internal/general.d.mts +1 -0
  427. package/dist/esm/internal/general.mjs +43 -1
  428. package/dist/esm/internal/keyless.d.mts +13 -1
  429. package/dist/esm/internal/keyless.mjs +105 -1
  430. package/dist/esm/internal/object.d.mts +1 -0
  431. package/dist/esm/internal/object.mjs +58 -1
  432. package/dist/esm/internal/staking.d.mts +1 -0
  433. package/dist/esm/internal/staking.mjs +60 -1
  434. package/dist/esm/internal/table.d.mts +1 -0
  435. package/dist/esm/internal/table.mjs +38 -1
  436. package/dist/esm/internal/transaction.d.mts +1 -0
  437. package/dist/esm/internal/transaction.mjs +57 -1
  438. package/dist/esm/internal/transactionSubmission.d.mts +21 -9
  439. package/dist/esm/internal/transactionSubmission.mjs +124 -1
  440. package/dist/esm/internal/view.d.mts +1 -0
  441. package/dist/esm/internal/view.mjs +100 -1
  442. package/dist/esm/transactions/authenticator/account.d.mts +12 -3
  443. package/dist/esm/transactions/authenticator/account.mjs +67 -1
  444. package/dist/esm/transactions/authenticator/index.d.mts +2 -1
  445. package/dist/esm/transactions/authenticator/index.mjs +82 -1
  446. package/dist/esm/transactions/authenticator/transaction.d.mts +3 -2
  447. package/dist/esm/transactions/authenticator/transaction.mjs +66 -1
  448. package/dist/esm/transactions/index.d.mts +6 -4
  449. package/dist/esm/transactions/index.mjs +310 -1
  450. package/dist/esm/transactions/instances/chainId.d.mts +1 -0
  451. package/dist/esm/transactions/instances/chainId.mjs +11 -1
  452. package/dist/esm/transactions/instances/identifier.d.mts +1 -0
  453. package/dist/esm/transactions/instances/identifier.mjs +11 -1
  454. package/dist/esm/transactions/instances/index.d.mts +1 -0
  455. package/dist/esm/transactions/instances/index.mjs +114 -1
  456. package/dist/esm/transactions/instances/moduleId.d.mts +1 -0
  457. package/dist/esm/transactions/instances/moduleId.mjs +55 -1
  458. package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +1 -0
  459. package/dist/esm/transactions/instances/multiAgentTransaction.mjs +60 -1
  460. package/dist/esm/transactions/instances/rawTransaction.d.mts +1 -0
  461. package/dist/esm/transactions/instances/rawTransaction.mjs +65 -1
  462. package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -0
  463. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +21 -1
  464. package/dist/esm/transactions/instances/signedTransaction.d.mts +5 -4
  465. package/dist/esm/transactions/instances/signedTransaction.mjs +63 -1
  466. package/dist/esm/transactions/instances/simpleTransaction.d.mts +1 -0
  467. package/dist/esm/transactions/instances/simpleTransaction.mjs +60 -1
  468. package/dist/esm/transactions/instances/transactionArgument.d.mts +1 -0
  469. package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
  470. package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -0
  471. package/dist/esm/transactions/instances/transactionPayload.mjs +73 -1
  472. package/dist/esm/transactions/management/accountSequenceNumber.d.mts +1 -0
  473. package/dist/esm/transactions/management/accountSequenceNumber.mjs +89 -1
  474. package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
  475. package/dist/esm/transactions/management/index.d.mts +1 -0
  476. package/dist/esm/transactions/management/index.mjs +109 -1
  477. package/dist/esm/transactions/management/transactionWorker.d.mts +1 -0
  478. package/dist/esm/transactions/management/transactionWorker.mjs +105 -1
  479. package/dist/esm/transactions/scriptComposer/index.d.mts +53 -0
  480. package/dist/esm/transactions/scriptComposer/index.mjs +95 -0
  481. package/dist/esm/transactions/scriptComposer/index.mjs.map +1 -0
  482. package/dist/esm/transactions/transactionBuilder/helpers.d.mts +3 -17
  483. package/dist/esm/transactions/transactionBuilder/helpers.mjs +92 -1
  484. package/dist/esm/transactions/transactionBuilder/index.d.mts +3 -2
  485. package/dist/esm/transactions/transactionBuilder/index.mjs +180 -1
  486. package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +23 -2
  487. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +105 -1
  488. package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -0
  489. package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +75 -1
  490. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -0
  491. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +112 -1
  492. package/dist/esm/transactions/typeTag/index.d.mts +1 -0
  493. package/dist/esm/transactions/typeTag/index.mjs +91 -1
  494. package/dist/esm/transactions/typeTag/parser.d.mts +1 -0
  495. package/dist/esm/transactions/typeTag/parser.mjs +60 -1
  496. package/dist/esm/transactions/types.d.mts +10 -1
  497. package/dist/esm/transactions/types.mjs +1 -1
  498. package/dist/esm/types/abstraction.d.mts +8 -0
  499. package/dist/esm/types/abstraction.mjs +8 -0
  500. package/dist/esm/types/abstraction.mjs.map +1 -0
  501. package/dist/esm/types/generated/operations.d.mts +63 -10
  502. package/dist/esm/types/generated/queries.d.mts +10 -2
  503. package/dist/esm/types/generated/queries.mjs +69 -1
  504. package/dist/esm/types/generated/types.d.mts +821 -1051
  505. package/dist/esm/types/generated/types.mjs +774 -1
  506. package/dist/esm/types/generated/types.mjs.map +1 -1
  507. package/dist/esm/types/index.d.mts +3 -2
  508. package/dist/esm/types/index.mjs +78 -1
  509. package/dist/esm/types/indexer.d.mts +14 -2
  510. package/dist/esm/types/indexer.mjs +1 -1
  511. package/dist/esm/types/types.d.mts +46 -4
  512. package/dist/esm/types/types.mjs +73 -1
  513. package/dist/esm/utils/apiEndpoints.mjs +21 -1
  514. package/dist/esm/utils/const.d.mts +1 -1
  515. package/dist/esm/utils/const.mjs +25 -1
  516. package/dist/esm/utils/helpers.d.mts +38 -2
  517. package/dist/esm/utils/helpers.mjs +37 -1
  518. package/dist/esm/utils/index.d.mts +2 -1
  519. package/dist/esm/utils/index.mjs +88 -1
  520. package/dist/esm/utils/memoize.mjs +9 -1
  521. package/dist/esm/utils/normalizeBundle.d.mts +1 -0
  522. package/dist/esm/utils/normalizeBundle.mjs +20 -1
  523. package/dist/esm/version.d.mts +1 -1
  524. package/dist/esm/version.mjs +7 -1
  525. package/package.json +21 -19
  526. package/src/account/AbstractedAccount.ts +111 -0
  527. package/src/account/MultiEd25519Account.ts +154 -0
  528. package/src/account/MultiKeyAccount.ts +1 -2
  529. package/src/account/index.ts +2 -0
  530. package/src/api/account/abstraction.ts +239 -0
  531. package/src/api/account.ts +63 -4
  532. package/src/api/aptos.ts +9 -0
  533. package/src/api/aptosConfig.ts +2 -2
  534. package/src/api/experimental.ts +64 -0
  535. package/src/api/transaction.ts +22 -2
  536. package/src/api/transactionSubmission/build.ts +85 -2
  537. package/src/client/core.ts +120 -0
  538. package/src/client/get.ts +73 -1
  539. package/src/client/post.ts +71 -1
  540. package/src/core/crypto/abstraction.ts +47 -0
  541. package/src/core/crypto/multiEd25519.ts +19 -3
  542. package/src/core/crypto/multiKey.ts +76 -52
  543. package/src/core/hex.ts +3 -1
  544. package/src/internal/abstraction.ts +79 -0
  545. package/src/internal/account.ts +378 -2
  546. package/src/internal/experimental.ts +55 -0
  547. package/src/internal/keyless.ts +17 -9
  548. package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
  549. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
  550. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
  551. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
  552. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
  553. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
  554. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
  555. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
  556. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
  557. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
  558. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
  559. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
  560. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
  561. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
  562. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
  563. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
  564. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
  565. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
  566. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
  567. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
  568. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
  569. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
  570. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
  571. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
  572. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
  573. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
  574. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
  575. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
  576. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
  577. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
  578. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
  579. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
  580. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
  581. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
  582. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
  583. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
  584. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
  585. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
  586. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
  587. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
  588. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
  589. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
  590. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
  591. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
  592. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
  593. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
  594. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
  595. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
  596. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
  597. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
  598. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
  599. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
  600. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
  601. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
  602. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
  603. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
  604. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
  605. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
  606. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
  607. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
  608. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
  609. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
  610. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
  611. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
  612. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
  613. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
  614. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
  615. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
  616. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
  617. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
  618. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
  619. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
  620. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
  621. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
  622. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
  623. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
  624. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
  625. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
  626. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
  627. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
  628. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
  629. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
  630. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
  631. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
  632. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
  633. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
  634. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
  635. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
  636. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
  637. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
  638. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
  639. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
  640. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
  641. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
  642. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
  643. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
  644. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
  645. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
  646. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
  647. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
  648. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
  649. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
  650. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
  651. package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
  652. package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
  653. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
  654. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
  655. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
  656. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
  657. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
  658. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
  659. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
  660. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
  661. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
  662. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
  663. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
  664. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
  665. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
  666. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
  667. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
  668. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
  669. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
  670. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
  671. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
  672. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
  673. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
  674. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
  675. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
  676. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
  677. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
  678. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
  679. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
  680. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
  681. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
  682. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
  683. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
  684. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
  685. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
  686. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
  687. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
  688. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
  689. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
  690. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
  691. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
  692. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
  693. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
  694. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
  695. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
  696. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
  697. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
  698. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
  699. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
  700. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
  701. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
  702. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
  703. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
  704. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
  705. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
  706. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
  707. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
  708. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
  709. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
  710. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
  711. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
  712. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
  713. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
  714. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
  715. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
  716. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
  717. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
  718. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
  719. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
  720. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
  721. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
  722. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
  723. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
  724. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
  725. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
  726. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
  727. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
  728. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
  729. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
  730. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
  731. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
  732. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
  733. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
  734. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
  735. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
  736. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
  737. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
  738. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
  739. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
  740. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
  741. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
  742. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
  743. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
  744. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
  745. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
  746. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
  747. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
  748. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
  749. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
  750. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
  751. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
  752. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
  753. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
  754. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
  755. package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
  756. package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
  757. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
  758. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
  759. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
  760. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
  761. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
  762. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
  763. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
  764. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
  765. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
  766. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
  767. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
  768. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
  769. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
  770. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
  771. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
  772. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
  773. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
  774. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
  775. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
  776. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
  777. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
  778. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
  779. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
  780. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
  781. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
  782. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
  783. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
  784. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
  785. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
  786. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
  787. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
  788. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
  789. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
  790. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
  791. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
  792. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
  793. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
  794. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
  795. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
  796. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
  797. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
  798. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
  799. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
  800. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
  801. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
  802. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
  803. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
  804. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
  805. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
  806. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
  807. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
  808. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
  809. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
  810. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
  811. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
  812. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
  813. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
  814. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
  815. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
  816. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
  817. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
  818. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
  819. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
  820. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
  821. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
  822. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
  823. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
  824. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
  825. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
  826. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
  827. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
  828. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
  829. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
  830. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
  831. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
  832. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
  833. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
  834. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
  835. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
  836. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
  837. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
  838. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
  839. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
  840. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
  841. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
  842. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
  843. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
  844. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
  845. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
  846. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
  847. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
  848. package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
  849. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
  850. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
  851. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
  852. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
  853. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
  854. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
  855. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
  856. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
  857. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
  858. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
  859. package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
  860. package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
  861. package/src/internal/queries/getAccountAddressForAuthKey.graphql +8 -0
  862. package/src/internal/queries/getAuthKeysForPublicKey.graphql +9 -0
  863. package/src/internal/queries/getMultiKeyForAuthKey.graphql +9 -0
  864. package/src/internal/queries/getSignatures.graphql +13 -0
  865. package/src/internal/transactionSubmission.ts +125 -4
  866. package/src/internal/view.ts +4 -4
  867. package/src/transactions/authenticator/account.ts +52 -1
  868. package/src/transactions/index.ts +1 -0
  869. package/src/transactions/scriptComposer/index.ts +87 -0
  870. package/src/transactions/transactionBuilder/helpers.ts +1 -22
  871. package/src/transactions/transactionBuilder/remoteAbi.ts +62 -1
  872. package/src/transactions/transactionBuilder/transactionBuilder.ts +9 -1
  873. package/src/transactions/types.ts +11 -0
  874. package/src/types/abstraction.ts +6 -0
  875. package/src/types/codegen.yaml +1 -1
  876. package/src/types/generated/operations.ts +69 -8
  877. package/src/types/generated/queries.ts +111 -0
  878. package/src/types/generated/types.ts +925 -1133
  879. package/src/types/index.ts +1 -0
  880. package/src/types/indexer.ts +16 -0
  881. package/src/types/types.ts +46 -3
  882. package/src/utils/const.ts +1 -1
  883. package/src/utils/helpers.ts +50 -1
  884. package/src/version.ts +1 -1
  885. package/dist/common/chunk-IHUCZKG2.js +0 -2
  886. package/dist/common/chunk-IHUCZKG2.js.map +0 -1
  887. package/dist/esm/chunk-2FBJWTJD.mjs +0 -2
  888. package/dist/esm/chunk-2N5KYALM.mjs +0 -2
  889. package/dist/esm/chunk-2TJ6OTVD.mjs +0 -2
  890. package/dist/esm/chunk-2UXW3EB7.mjs +0 -2
  891. package/dist/esm/chunk-2WCATZVL.mjs +0 -2
  892. package/dist/esm/chunk-2WCATZVL.mjs.map +0 -1
  893. package/dist/esm/chunk-35DKMW7Q.mjs +0 -2
  894. package/dist/esm/chunk-3RCAJICY.mjs +0 -2
  895. package/dist/esm/chunk-43GCGE6C.mjs +0 -2
  896. package/dist/esm/chunk-4EUS4E6S.mjs +0 -2
  897. package/dist/esm/chunk-4RXKALLC.mjs +0 -2
  898. package/dist/esm/chunk-4YLUM62M.mjs +0 -2
  899. package/dist/esm/chunk-4ZYPDCSP.mjs +0 -2
  900. package/dist/esm/chunk-56CNRT2K.mjs +0 -2
  901. package/dist/esm/chunk-5EBUWO2M.mjs +0 -2
  902. package/dist/esm/chunk-5EYTHMRZ.mjs +0 -2
  903. package/dist/esm/chunk-5PXDPMF2.mjs +0 -4
  904. package/dist/esm/chunk-5PXDPMF2.mjs.map +0 -1
  905. package/dist/esm/chunk-5VMAJTTV.mjs +0 -2
  906. package/dist/esm/chunk-5YWH3XPN.mjs +0 -2
  907. package/dist/esm/chunk-67ZVDKJF.mjs +0 -2
  908. package/dist/esm/chunk-67ZVDKJF.mjs.map +0 -1
  909. package/dist/esm/chunk-6CXMDJQR.mjs +0 -2
  910. package/dist/esm/chunk-6IEZPA4H.mjs +0 -2
  911. package/dist/esm/chunk-6IEZPA4H.mjs.map +0 -1
  912. package/dist/esm/chunk-6YHDZLRN.mjs +0 -2
  913. package/dist/esm/chunk-6YWYAVFS.mjs +0 -2
  914. package/dist/esm/chunk-6YWYAVFS.mjs.map +0 -1
  915. package/dist/esm/chunk-77AEKF7K.mjs +0 -2
  916. package/dist/esm/chunk-7IY3DTEF.mjs +0 -2
  917. package/dist/esm/chunk-A5L76YP7.mjs +0 -2
  918. package/dist/esm/chunk-AFEHO5PP.mjs +0 -2
  919. package/dist/esm/chunk-AFEHO5PP.mjs.map +0 -1
  920. package/dist/esm/chunk-AXYARCYT.mjs +0 -2
  921. package/dist/esm/chunk-AZWVCBK2.mjs +0 -2
  922. package/dist/esm/chunk-BGSEBFFC.mjs +0 -2
  923. package/dist/esm/chunk-BI3BTSUB.mjs +0 -2
  924. package/dist/esm/chunk-C3Q23D22.mjs +0 -2
  925. package/dist/esm/chunk-CWKNJZB6.mjs +0 -2
  926. package/dist/esm/chunk-DAFSKSZ5.mjs +0 -2
  927. package/dist/esm/chunk-DAFSKSZ5.mjs.map +0 -1
  928. package/dist/esm/chunk-DOQV5BSA.mjs +0 -2
  929. package/dist/esm/chunk-DPW6ELCQ.mjs +0 -2
  930. package/dist/esm/chunk-DYATTONT.mjs +0 -2
  931. package/dist/esm/chunk-E5HGSOG2.mjs +0 -2
  932. package/dist/esm/chunk-E7JDVKFY.mjs +0 -2
  933. package/dist/esm/chunk-EBMEXURY.mjs +0 -2
  934. package/dist/esm/chunk-EMURYYVO.mjs +0 -2
  935. package/dist/esm/chunk-F2ZTBAJJ.mjs +0 -2
  936. package/dist/esm/chunk-F2ZTBAJJ.mjs.map +0 -1
  937. package/dist/esm/chunk-FD6FGKYY.mjs +0 -1
  938. package/dist/esm/chunk-FIEMUPXF.mjs +0 -2
  939. package/dist/esm/chunk-FN4C3CKC.mjs +0 -2
  940. package/dist/esm/chunk-FZD5RWSZ.mjs +0 -2
  941. package/dist/esm/chunk-G4O6FXCF.mjs +0 -2
  942. package/dist/esm/chunk-GOXRBEIJ.mjs +0 -2
  943. package/dist/esm/chunk-GP4TLDVZ.mjs +0 -1
  944. package/dist/esm/chunk-HBH2NQKU.mjs +0 -2
  945. package/dist/esm/chunk-HBH2NQKU.mjs.map +0 -1
  946. package/dist/esm/chunk-I5OYNCZS.mjs +0 -1
  947. package/dist/esm/chunk-IDTLNF4M.mjs +0 -2
  948. package/dist/esm/chunk-IEUEMBFD.mjs +0 -2
  949. package/dist/esm/chunk-IF4UU2MT.mjs +0 -2
  950. package/dist/esm/chunk-JBEUUULP.mjs +0 -2
  951. package/dist/esm/chunk-JBEUUULP.mjs.map +0 -1
  952. package/dist/esm/chunk-JJM6ELMS.mjs +0 -2
  953. package/dist/esm/chunk-KDMSOCZY.mjs +0 -2
  954. package/dist/esm/chunk-KOORZTHC.mjs +0 -2
  955. package/dist/esm/chunk-KVM2SGSF.mjs +0 -2
  956. package/dist/esm/chunk-KVM2SGSF.mjs.map +0 -1
  957. package/dist/esm/chunk-M77M6NSB.mjs +0 -2
  958. package/dist/esm/chunk-MCLYDS3O.mjs +0 -2
  959. package/dist/esm/chunk-MLSAZJZK.mjs +0 -2
  960. package/dist/esm/chunk-MLSAZJZK.mjs.map +0 -1
  961. package/dist/esm/chunk-MT2RJ7H3.mjs +0 -2
  962. package/dist/esm/chunk-MWBRD43V.mjs +0 -2
  963. package/dist/esm/chunk-MWBRD43V.mjs.map +0 -1
  964. package/dist/esm/chunk-N4DM5FYH.mjs +0 -2
  965. package/dist/esm/chunk-N6YTF76Q.mjs +0 -2
  966. package/dist/esm/chunk-NBNZ53ZV.mjs +0 -2
  967. package/dist/esm/chunk-NWLJ6RW7.mjs +0 -2
  968. package/dist/esm/chunk-NYETBDSR.mjs +0 -2
  969. package/dist/esm/chunk-OEQ2U7GK.mjs +0 -2
  970. package/dist/esm/chunk-OEQ2U7GK.mjs.map +0 -1
  971. package/dist/esm/chunk-OHZURQPY.mjs +0 -2
  972. package/dist/esm/chunk-ONTWK5FU.mjs +0 -2
  973. package/dist/esm/chunk-OR6GFWLG.mjs +0 -2
  974. package/dist/esm/chunk-ORMOQWWH.mjs +0 -2
  975. package/dist/esm/chunk-OROPNHRY.mjs +0 -2
  976. package/dist/esm/chunk-OSBRPVVI.mjs +0 -2
  977. package/dist/esm/chunk-OSBRPVVI.mjs.map +0 -1
  978. package/dist/esm/chunk-P7A5RILV.mjs +0 -2
  979. package/dist/esm/chunk-P7A5RILV.mjs.map +0 -1
  980. package/dist/esm/chunk-Q4C4U6I4.mjs +0 -4
  981. package/dist/esm/chunk-QHC5DKVZ.mjs +0 -2
  982. package/dist/esm/chunk-QHC5DKVZ.mjs.map +0 -1
  983. package/dist/esm/chunk-QHEKBHNU.mjs +0 -7
  984. package/dist/esm/chunk-QQEK7WVP.mjs +0 -2
  985. package/dist/esm/chunk-RJ7F4JDV.mjs +0 -2
  986. package/dist/esm/chunk-RJ7F4JDV.mjs.map +0 -1
  987. package/dist/esm/chunk-ROT6S6BM.mjs +0 -2
  988. package/dist/esm/chunk-S4LZMY2L.mjs +0 -2
  989. package/dist/esm/chunk-S4LZMY2L.mjs.map +0 -1
  990. package/dist/esm/chunk-S7RZGC56.mjs +0 -2
  991. package/dist/esm/chunk-STY74NUA.mjs +0 -2
  992. package/dist/esm/chunk-STY74NUA.mjs.map +0 -1
  993. package/dist/esm/chunk-TOBQ5UE6.mjs +0 -2
  994. package/dist/esm/chunk-U2PRGW4O.mjs +0 -2
  995. package/dist/esm/chunk-U2PRGW4O.mjs.map +0 -1
  996. package/dist/esm/chunk-UC23V7PU.mjs +0 -2
  997. package/dist/esm/chunk-V6VPMNWJ.mjs +0 -2
  998. package/dist/esm/chunk-VHNX2NUR.mjs +0 -473
  999. package/dist/esm/chunk-VHNX2NUR.mjs.map +0 -1
  1000. package/dist/esm/chunk-VUIHJIMX.mjs +0 -2
  1001. package/dist/esm/chunk-VV4HCOJQ.mjs +0 -2
  1002. package/dist/esm/chunk-VVXBVJXD.mjs +0 -2
  1003. package/dist/esm/chunk-VVXBVJXD.mjs.map +0 -1
  1004. package/dist/esm/chunk-W4BSN6SK.mjs +0 -2
  1005. package/dist/esm/chunk-WCMW2L3P.mjs +0 -2
  1006. package/dist/esm/chunk-WQRGDSPD.mjs +0 -2
  1007. package/dist/esm/chunk-WUWPN7XV.mjs +0 -2
  1008. package/dist/esm/chunk-WUWPN7XV.mjs.map +0 -1
  1009. package/dist/esm/chunk-X6UNY6YM.mjs +0 -2
  1010. package/dist/esm/chunk-XJJVJOX5.mjs +0 -2
  1011. package/dist/esm/chunk-XKUIMGKU.mjs +0 -2
  1012. package/dist/esm/chunk-XTJOA5QN.mjs +0 -2
  1013. package/dist/esm/chunk-XTOIL6MB.mjs +0 -2
  1014. package/dist/esm/chunk-XY43TPRH.mjs +0 -2
  1015. package/dist/esm/chunk-XYB6KYKW.mjs +0 -2
  1016. package/dist/esm/chunk-XYB6KYKW.mjs.map +0 -1
  1017. package/dist/esm/chunk-XZ4JRYCE.mjs +0 -2
  1018. package/dist/esm/chunk-YCQUYDZI.mjs +0 -2
  1019. package/dist/esm/chunk-YOZBVVKL.mjs +0 -2
  1020. package/dist/esm/chunk-ZAIVZDOL.mjs +0 -2
  1021. package/dist/esm/chunk-ZGVNZE7J.mjs +0 -2
  1022. package/dist/esm/chunk-ZPV7HPA4.mjs +0 -2
  1023. /package/dist/esm/{chunk-FD6FGKYY.mjs.map → account/AbstractedAccount.mjs.map} +0 -0
  1024. /package/dist/esm/{chunk-GP4TLDVZ.mjs.map → account/MultiEd25519Account.mjs.map} +0 -0
  1025. /package/dist/esm/{chunk-I5OYNCZS.mjs.map → api/account/abstraction.mjs.map} +0 -0
  1026. /package/dist/esm/{chunk-KDMSOCZY.mjs.map → api/experimental.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/crypto/keyless.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n// eslint-disable-next-line max-classes-per-file\nimport { JwtPayload, jwtDecode } from \"jwt-decode\";\nimport { sha3_256 } from \"@noble/hashes/sha3\";\nimport { AccountPublicKey, PublicKey } from \"./publicKey\";\nimport { Signature } from \"./signature\";\nimport { Deserializer, Serializable, Serializer } from \"../../bcs\";\nimport { Hex, hexToAsciiString } from \"../hex\";\nimport {\n HexInput,\n EphemeralCertificateVariant,\n AnyPublicKeyVariant,\n SigningScheme,\n ZkpVariant,\n LedgerVersionArg,\n MoveResource,\n} from \"../../types\";\nimport { EphemeralPublicKey, EphemeralSignature } from \"./ephemeral\";\nimport { bigIntToBytesLE, bytesToBigIntLE, hashStrToField, poseidonHash } from \"./poseidon\";\nimport { AuthenticationKey } from \"../authenticationKey\";\nimport { Proof } from \"./proof\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"./ed25519\";\nimport {\n Groth16VerificationKeyResponse,\n KeylessConfigurationResponse,\n MoveAnyStruct,\n PatchedJWKsResponse,\n} from \"../../types/keyless\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { getAptosFullNode } from \"../../client\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { AccountAddress, AccountAddressInput } from \"../accountAddress\";\nimport { getErrorMessage } from \"../../utils\";\nimport { KeylessError, KeylessErrorType } from \"../../errors\";\n\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const EPK_HORIZON_SECS = 10000000;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_AUD_VAL_BYTES = 120;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_UID_KEY_BYTES = 30;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_UID_VAL_BYTES = 330;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_ISS_VAL_BYTES = 120;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_EXTRA_FIELD_BYTES = 350;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_JWT_HEADER_B64_BYTES = 300;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_COMMITED_EPK_BYTES = 93;\n\n/**\n * Represents a Keyless Public Key used for authentication.\n *\n * This class encapsulates the public key functionality for keyless authentication,\n * including methods for generating and verifying signatures, as well as serialization\n * and deserialization of the key. The KeylessPublicKey is represented in the SDK\n * as `AnyPublicKey`.\n * @group Implementation\n * @category Serialization\n */\nexport class KeylessPublicKey extends AccountPublicKey {\n /**\n * The number of bytes that `idCommitment` should be\n * @group Implementation\n * @category Serialization\n */\n static readonly ID_COMMITMENT_LENGTH: number = 32;\n\n /**\n * The value of the 'iss' claim on the JWT which identifies the OIDC provider.\n * @group Implementation\n * @category Serialization\n */\n readonly iss: string;\n\n /**\n * A value representing a cryptographic commitment to a user identity.\n *\n * It is calculated from the aud, uidKey, uidVal, pepper.\n * @group Implementation\n * @category Serialization\n */\n readonly idCommitment: Uint8Array;\n\n /**\n * Constructs an instance with the specified parameters for cryptographic operations.\n *\n * @param args - The parameters required to initialize the instance.\n * @param args.alphaG1 - The hex representation of the alpha G1 value.\n * @param args.betaG2 - The hex representation of the beta G2 value.\n * @param args.deltaG2 - The hex representation of the delta G2 value.\n * @param args.gammaAbcG1 - An array containing two hex representations for gamma ABC G1 values.\n * @param args.gammaG2 - The hex representation of the gamma G2 value.\n * @group Implementation\n * @category Serialization\n */\n // TODO: Fix the JSDoc for the below values\n constructor(iss: string, idCommitment: HexInput) {\n super();\n const idcBytes = Hex.fromHexInput(idCommitment).toUint8Array();\n if (idcBytes.length !== KeylessPublicKey.ID_COMMITMENT_LENGTH) {\n throw new Error(`Id Commitment length in bytes should be ${KeylessPublicKey.ID_COMMITMENT_LENGTH}`);\n }\n this.iss = iss;\n this.idCommitment = idcBytes;\n }\n\n /**\n * Get the authentication key for the keyless public key.\n *\n * @returns AuthenticationKey - The authentication key derived from the keyless public key.\n * @group Implementation\n * @category Serialization\n */\n authKey(): AuthenticationKey {\n const serializer = new Serializer();\n serializer.serializeU32AsUleb128(AnyPublicKeyVariant.Keyless);\n serializer.serializeFixedBytes(this.bcsToBytes());\n return AuthenticationKey.fromSchemeAndBytes({\n scheme: SigningScheme.SingleKey,\n input: serializer.toUint8Array(),\n });\n }\n\n /**\n * Verifies the validity of a signature for a given message.\n *\n * @param args - The arguments for signature verification.\n * @param args.message - The message that was signed.\n * @param args.signature - The signature to verify against the message.\n * @returns true if the signature is valid; otherwise, false.\n * @group Implementation\n * @category Serialization\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n throw new Error(\"Not yet implemented\");\n }\n\n /**\n * Serializes the current instance into a format suitable for transmission or storage.\n * This function ensures that all relevant fields are properly serialized, including the proof and optional fields.\n *\n * @param serializer - The serializer instance used to perform the serialization.\n * @param serializer.proof - The proof to be serialized.\n * @param serializer.expHorizonSecs - The expiration horizon in seconds.\n * @param serializer.extraField - An optional additional field for serialization.\n * @param serializer.overrideAudVal - An optional override value for auditing.\n * @param serializer.trainingWheelsSignature - An optional signature for training wheels.\n * @group Implementation\n * @category Serialization\n */\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.iss);\n serializer.serializeBytes(this.idCommitment);\n }\n\n /**\n * Deserializes a ZeroKnowledgeSig object from the provided deserializer.\n * This function allows you to reconstruct a ZeroKnowledgeSig instance from its serialized form.\n *\n * @param deserializer - The deserializer instance used to read the serialized data.\n * @returns A new instance of ZeroKnowledgeSig.\n * @group Implementation\n * @category Serialization\n */\n static deserialize(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n /**\n * Loads a KeylessPublicKey instance from the provided deserializer.\n * This function is used to deserialize the necessary components to create a KeylessPublicKey.\n *\n * @param deserializer - The deserializer used to extract the string and byte data.\n * @param deserializer.deserializeStr - A method to deserialize a string value.\n * @param deserializer.deserializeBytes - A method to deserialize byte data.\n * @returns A new instance of KeylessPublicKey.\n * @group Implementation\n * @category Serialization\n */\n static load(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n /**\n * Determines if the provided public key is an instance of KeylessPublicKey.\n *\n * @param publicKey - The public key to check.\n * @returns A boolean indicating whether the public key is a KeylessPublicKey instance.\n * @group Implementation\n * @category Serialization\n */\n static isPublicKey(publicKey: PublicKey): publicKey is KeylessPublicKey {\n return publicKey instanceof KeylessPublicKey;\n }\n\n /**\n * Creates a KeylessPublicKey from the JWT components plus pepper\n *\n * @param args.iss the iss of the identity\n * @param args.uidKey the key to use to get the uidVal in the JWT token\n * @param args.uidVal the value of the uidKey in the JWT token\n * @param args.aud the client ID of the application\n * @param args.pepper The pepper used to maintain privacy of the account\n * @returns KeylessPublicKey\n * @group Implementation\n * @category Serialization\n */\n static create(args: {\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n }): KeylessPublicKey {\n computeIdCommitment(args);\n return new KeylessPublicKey(args.iss, computeIdCommitment(args));\n }\n\n /**\n * Creates a KeylessPublicKey instance from a JWT and a pepper value.\n * This function is useful for generating a public key that can be used for authentication based on the provided JWT claims and pepper.\n *\n * @param args - The arguments for creating the KeylessPublicKey.\n * @param args.jwt - The JSON Web Token to decode.\n * @param args.pepper - The pepper value used in the key creation process.\n * @param args.uidKey - An optional key to retrieve the unique identifier from the JWT payload, defaults to \"sub\".\n * @returns A KeylessPublicKey instance created from the provided JWT and pepper.\n * @group Implementation\n * @category Serialization\n */\n static fromJwtAndPepper(args: { jwt: string; pepper: HexInput; uidKey?: string }): KeylessPublicKey {\n const { jwt, pepper, uidKey = \"sub\" } = args;\n const jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n if (typeof jwtPayload.iss !== \"string\") {\n throw new Error(\"iss was not found\");\n }\n if (typeof jwtPayload.aud !== \"string\") {\n throw new Error(\"aud was not found or an array of values\");\n }\n const uidVal = jwtPayload[uidKey];\n return KeylessPublicKey.create({ iss: jwtPayload.iss, uidKey, uidVal, aud: jwtPayload.aud, pepper });\n }\n\n /**\n * Checks if the provided public key is a valid instance by verifying its structure and types.\n *\n * @param publicKey - The public key to validate.\n * @returns A boolean indicating whether the public key is a valid instance.\n * @group Implementation\n * @category Serialization\n */\n static isInstance(publicKey: PublicKey) {\n return (\n \"iss\" in publicKey &&\n typeof publicKey.iss === \"string\" &&\n \"idCommitment\" in publicKey &&\n publicKey.idCommitment instanceof Uint8Array\n );\n }\n}\n\nfunction computeIdCommitment(args: { uidKey: string; uidVal: string; aud: string; pepper: HexInput }): Uint8Array {\n const { uidKey, uidVal, aud, pepper } = args;\n\n const fields = [\n bytesToBigIntLE(Hex.fromHexInput(pepper).toUint8Array()),\n hashStrToField(aud, MAX_AUD_VAL_BYTES),\n hashStrToField(uidVal, MAX_UID_VAL_BYTES),\n hashStrToField(uidKey, MAX_UID_KEY_BYTES),\n ];\n\n return bigIntToBytesLE(poseidonHash(fields), KeylessPublicKey.ID_COMMITMENT_LENGTH);\n}\n\n/**\n * Represents a signature of a message signed via a Keyless Account, utilizing proofs or a JWT token for authentication.\n * @group Implementation\n * @category Serialization\n */\nexport class KeylessSignature extends Signature {\n /**\n * The inner signature ZeroKnowledgeSignature or OpenIdSignature\n * @group Implementation\n * @category Serialization\n */\n readonly ephemeralCertificate: EphemeralCertificate;\n\n /**\n * The jwt header in the token used to create the proof/signature. In json string representation.\n * @group Implementation\n * @category Serialization\n */\n readonly jwtHeader: string;\n\n /**\n * The expiry timestamp in seconds of the EphemeralKeyPair used to sign\n * @group Implementation\n * @category Serialization\n */\n readonly expiryDateSecs: number;\n\n /**\n * The ephemeral public key used to verify the signature\n * @group Implementation\n * @category Serialization\n */\n readonly ephemeralPublicKey: EphemeralPublicKey;\n\n /**\n * The signature resulting from signing with the private key of the EphemeralKeyPair\n * @group Implementation\n * @category Serialization\n */\n readonly ephemeralSignature: EphemeralSignature;\n\n constructor(args: {\n jwtHeader: string;\n ephemeralCertificate: EphemeralCertificate;\n expiryDateSecs: number;\n ephemeralPublicKey: EphemeralPublicKey;\n ephemeralSignature: EphemeralSignature;\n }) {\n super();\n const { jwtHeader, ephemeralCertificate, expiryDateSecs, ephemeralPublicKey, ephemeralSignature } = args;\n this.jwtHeader = jwtHeader;\n this.ephemeralCertificate = ephemeralCertificate;\n this.expiryDateSecs = expiryDateSecs;\n this.ephemeralPublicKey = ephemeralPublicKey;\n this.ephemeralSignature = ephemeralSignature;\n }\n\n /**\n * Get the kid of the JWT used to derive the Keyless Account used to sign.\n *\n * @returns the kid as a string\n */\n getJwkKid(): string {\n return parseJwtHeader(this.jwtHeader).kid;\n }\n\n serialize(serializer: Serializer): void {\n this.ephemeralCertificate.serialize(serializer);\n serializer.serializeStr(this.jwtHeader);\n serializer.serializeU64(this.expiryDateSecs);\n this.ephemeralPublicKey.serialize(serializer);\n this.ephemeralSignature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessSignature {\n const ephemeralCertificate = EphemeralCertificate.deserialize(deserializer);\n const jwtHeader = deserializer.deserializeStr();\n const expiryDateSecs = deserializer.deserializeU64();\n const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);\n const ephemeralSignature = EphemeralSignature.deserialize(deserializer);\n return new KeylessSignature({\n jwtHeader,\n expiryDateSecs: Number(expiryDateSecs),\n ephemeralCertificate,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n static getSimulationSignature(): KeylessSignature {\n return new KeylessSignature({\n jwtHeader: \"{}\",\n ephemeralCertificate: new EphemeralCertificate(\n new ZeroKnowledgeSig({\n proof: new ZkProof(\n new Groth16Zkp({ a: new Uint8Array(32), b: new Uint8Array(64), c: new Uint8Array(32) }),\n ZkpVariant.Groth16,\n ),\n expHorizonSecs: 0,\n }),\n EphemeralCertificateVariant.ZkProof,\n ),\n expiryDateSecs: 0,\n ephemeralPublicKey: new EphemeralPublicKey(new Ed25519PublicKey(new Uint8Array(32))),\n ephemeralSignature: new EphemeralSignature(new Ed25519Signature(new Uint8Array(64))),\n });\n }\n\n static isSignature(signature: Signature): signature is KeylessSignature {\n return signature instanceof KeylessSignature;\n }\n}\n\n/**\n * Represents an ephemeral certificate containing a signature, specifically a ZeroKnowledgeSig.\n * This class can be extended to support additional signature types, such as OpenIdSignature.\n *\n * @extends Signature\n * @group Implementation\n * @category Serialization\n */\nexport class EphemeralCertificate extends Signature {\n public readonly signature: Signature;\n\n /**\n * Index of the underlying enum variant\n * @group Implementation\n * @category Serialization\n */\n private readonly variant: EphemeralCertificateVariant;\n\n constructor(signature: Signature, variant: EphemeralCertificateVariant) {\n super();\n this.signature = signature;\n this.variant = variant;\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n * @group Implementation\n * @category Serialization\n */\n toUint8Array(): Uint8Array {\n return this.signature.toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.signature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): EphemeralCertificate {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case EphemeralCertificateVariant.ZkProof:\n return new EphemeralCertificate(ZeroKnowledgeSig.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for EphemeralCertificate: ${variant}`);\n }\n }\n}\n\n/**\n * Represents a fixed-size byte array of 32 bytes, extending the Serializable class.\n * This class is used for handling and serializing G1 bytes in cryptographic operations.\n *\n * @extends Serializable\n * @group Implementation\n * @category Serialization\n */\nclass G1Bytes extends Serializable {\n data: Uint8Array;\n\n constructor(data: HexInput) {\n super();\n this.data = Hex.fromHexInput(data).toUint8Array();\n if (this.data.length !== 32) {\n throw new Error(\"Input needs to be 32 bytes\");\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.data);\n }\n\n static deserialize(deserializer: Deserializer): G1Bytes {\n const bytes = deserializer.deserializeFixedBytes(32);\n return new G1Bytes(bytes);\n }\n}\n\n/**\n * Represents a 64-byte G2 element in a cryptographic context.\n * This class provides methods for serialization and deserialization of G2 bytes.\n *\n * @extends Serializable\n * @group Implementation\n * @category Serialization\n */\nclass G2Bytes extends Serializable {\n data: Uint8Array;\n\n constructor(data: HexInput) {\n super();\n this.data = Hex.fromHexInput(data).toUint8Array();\n if (this.data.length !== 64) {\n throw new Error(\"Input needs to be 64 bytes\");\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.data);\n }\n\n static deserialize(deserializer: Deserializer): G2Bytes {\n const bytes = deserializer.deserializeFixedBytes(64);\n return new G2Bytes(bytes);\n }\n}\n\n/**\n * Represents a Groth16 zero-knowledge proof, consisting of three proof points in compressed serialization format.\n * The points are the compressed serialization of affine representation of the proof.\n *\n * @extends Proof\n * @group Implementation\n * @category Serialization\n */\nexport class Groth16Zkp extends Proof {\n /**\n * The bytes of G1 proof point a\n * @group Implementation\n * @category Serialization\n */\n a: G1Bytes;\n\n /**\n * The bytes of G2 proof point b\n * @group Implementation\n * @category Serialization\n */\n b: G2Bytes;\n\n /**\n * The bytes of G1 proof point c\n * @group Implementation\n * @category Serialization\n */\n c: G1Bytes;\n\n constructor(args: { a: HexInput; b: HexInput; c: HexInput }) {\n super();\n const { a, b, c } = args;\n this.a = new G1Bytes(a);\n this.b = new G2Bytes(b);\n this.c = new G1Bytes(c);\n }\n\n serialize(serializer: Serializer): void {\n this.a.serialize(serializer);\n this.b.serialize(serializer);\n this.c.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): Groth16Zkp {\n const a = G1Bytes.deserialize(deserializer).bcsToBytes();\n const b = G2Bytes.deserialize(deserializer).bcsToBytes();\n const c = G1Bytes.deserialize(deserializer).bcsToBytes();\n return new Groth16Zkp({ a, b, c });\n }\n}\n\n/**\n * Represents a container for different types of zero-knowledge proofs.\n *\n * @extends Serializable\n * @group Implementation\n * @category Serialization\n */\nexport class ZkProof extends Serializable {\n public readonly proof: Proof;\n\n /**\n * Index of the underlying enum variant\n * @group Implementation\n * @category Serialization\n */\n private readonly variant: ZkpVariant;\n\n constructor(proof: Proof, variant: ZkpVariant) {\n super();\n this.proof = proof;\n this.variant = variant;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): ZkProof {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case ZkpVariant.Groth16:\n return new ZkProof(Groth16Zkp.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for ZkProof: ${variant}`);\n }\n }\n}\n\n/**\n * Represents a zero-knowledge signature, encapsulating the proof and its associated metadata.\n *\n * @extends Signature\n * @group Implementation\n * @category Serialization\n */\nexport class ZeroKnowledgeSig extends Signature {\n /**\n * The proof\n * @group Implementation\n * @category Serialization\n */\n readonly proof: ZkProof;\n\n /**\n * The max lifespan of the proof\n * @group Implementation\n * @category Serialization\n */\n readonly expHorizonSecs: number;\n\n /**\n * A key value pair on the JWT token that can be specified on the signature which would reveal the value on chain.\n * Can be used to assert identity or other attributes.\n * @group Implementation\n * @category Serialization\n */\n readonly extraField?: string;\n\n /**\n * The 'aud' value of the recovery service which is set when recovering an account.\n * @group Implementation\n * @category Serialization\n */\n readonly overrideAudVal?: string;\n\n /**\n * The training wheels signature\n * @group Implementation\n * @category Serialization\n */\n readonly trainingWheelsSignature?: EphemeralSignature;\n\n constructor(args: {\n proof: ZkProof;\n expHorizonSecs: number;\n extraField?: string;\n overrideAudVal?: string;\n trainingWheelsSignature?: EphemeralSignature;\n }) {\n super();\n const { proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal } = args;\n this.proof = proof;\n this.expHorizonSecs = expHorizonSecs;\n this.trainingWheelsSignature = trainingWheelsSignature;\n this.extraField = extraField;\n this.overrideAudVal = overrideAudVal;\n }\n\n /**\n * Deserialize a ZeroKnowledgeSig object from its BCS serialization in bytes.\n *\n * @param bytes - The bytes representing the serialized ZeroKnowledgeSig.\n * @returns ZeroKnowledgeSig - The deserialized ZeroKnowledgeSig object.\n * @group Implementation\n * @category Serialization\n */\n static fromBytes(bytes: Uint8Array): ZeroKnowledgeSig {\n return ZeroKnowledgeSig.deserialize(new Deserializer(bytes));\n }\n\n serialize(serializer: Serializer): void {\n this.proof.serialize(serializer);\n serializer.serializeU64(this.expHorizonSecs);\n serializer.serializeOption(this.extraField);\n serializer.serializeOption(this.overrideAudVal);\n serializer.serializeOption(this.trainingWheelsSignature);\n }\n\n static deserialize(deserializer: Deserializer): ZeroKnowledgeSig {\n const proof = ZkProof.deserialize(deserializer);\n const expHorizonSecs = Number(deserializer.deserializeU64());\n const extraField = deserializer.deserializeOption(\"string\");\n const overrideAudVal = deserializer.deserializeOption(\"string\");\n const trainingWheelsSignature = deserializer.deserializeOption(EphemeralSignature);\n return new ZeroKnowledgeSig({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });\n }\n}\n\n/**\n * Represents the on-chain configuration for how Keyless accounts operate.\n *\n * @remarks\n * This class encapsulates the verification key and the maximum lifespan of ephemeral key pairs,\n * which are essential for the functionality of Keyless accounts.\n * @group Implementation\n * @category Serialization\n */\nexport class KeylessConfiguration {\n /**\n * The verification key used to verify Groth16 proofs on chain\n * @group Implementation\n * @category Serialization\n */\n readonly verificationKey: Groth16VerificationKey;\n\n /**\n * The maximum lifespan of an ephemeral key pair. This is configured on chain.\n * @group Implementation\n * @category Serialization\n */\n readonly maxExpHorizonSecs: number;\n\n constructor(verificationKey: Groth16VerificationKey, maxExpHorizonSecs: number) {\n this.verificationKey = verificationKey;\n this.maxExpHorizonSecs = maxExpHorizonSecs;\n }\n\n static create(res: Groth16VerificationKeyResponse, maxExpHorizonSecs: number): KeylessConfiguration {\n return new KeylessConfiguration(\n new Groth16VerificationKey({\n alphaG1: res.alpha_g1,\n betaG2: res.beta_g2,\n deltaG2: res.delta_g2,\n gammaAbcG1: res.gamma_abc_g1,\n gammaG2: res.gamma_g2,\n }),\n maxExpHorizonSecs,\n );\n }\n}\n\n/**\n * Represents the verification key stored on-chain used to verify Groth16 proofs.\n * @group Implementation\n * @category Serialization\n */\nexport class Groth16VerificationKey {\n // The docstrings below are borrowed from ark-groth16\n\n /**\n * The `alpha * G`, where `G` is the generator of G1\n * @group Implementation\n * @category Serialization\n */\n readonly alphaG1: G1Bytes;\n\n /**\n * The `alpha * H`, where `H` is the generator of G2\n * @group Implementation\n * @category Serialization\n */\n readonly betaG2: G2Bytes;\n\n /**\n * The `delta * H`, where `H` is the generator of G2\n * @group Implementation\n * @category Serialization\n */\n readonly deltaG2: G2Bytes;\n\n /**\n * The `gamma^{-1} * (beta * a_i + alpha * b_i + c_i) * H`, where H is the generator of G1\n * @group Implementation\n * @category Serialization\n */\n readonly gammaAbcG1: [G1Bytes, G1Bytes];\n\n /**\n * The `gamma * H`, where `H` is the generator of G2\n * @group Implementation\n * @category Serialization\n */\n readonly gammaG2: G2Bytes;\n\n constructor(args: {\n alphaG1: HexInput;\n betaG2: HexInput;\n deltaG2: HexInput;\n gammaAbcG1: [HexInput, HexInput];\n gammaG2: HexInput;\n }) {\n const { alphaG1, betaG2, deltaG2, gammaAbcG1, gammaG2 } = args;\n this.alphaG1 = new G1Bytes(alphaG1);\n this.betaG2 = new G2Bytes(betaG2);\n this.deltaG2 = new G2Bytes(deltaG2);\n this.gammaAbcG1 = [new G1Bytes(gammaAbcG1[0]), new G1Bytes(gammaAbcG1[1])];\n this.gammaG2 = new G2Bytes(gammaG2);\n }\n\n /**\n * Calculates the hash of the serialized form of the verification key.\n * This is useful for comparing verification keys or using them as unique identifiers.\n *\n * @returns The SHA3-256 hash of the serialized verification key as a Uint8Array\n */\n public hash(): Uint8Array {\n const serializer = new Serializer();\n this.serialize(serializer);\n return sha3_256.create().update(serializer.toUint8Array()).digest();\n }\n\n serialize(serializer: Serializer): void {\n this.alphaG1.serialize(serializer);\n this.betaG2.serialize(serializer);\n this.deltaG2.serialize(serializer);\n this.gammaAbcG1[0].serialize(serializer);\n this.gammaAbcG1[1].serialize(serializer);\n this.gammaG2.serialize(serializer);\n }\n\n /**\n * Converts a Groth16VerificationKeyResponse object into a Groth16VerificationKey instance.\n *\n * @param res - The Groth16VerificationKeyResponse object containing the verification key data.\n * @param res.alpha_g1 - The alpha G1 value from the response.\n * @param res.beta_g2 - The beta G2 value from the response.\n * @param res.delta_g2 - The delta G2 value from the response.\n * @param res.gamma_abc_g1 - The gamma ABC G1 value from the response.\n * @param res.gamma_g2 - The gamma G2 value from the response.\n * @returns A Groth16VerificationKey instance constructed from the provided response data.\n * @group Implementation\n * @category Serialization\n */\n static fromGroth16VerificationKeyResponse(res: Groth16VerificationKeyResponse): Groth16VerificationKey {\n return new Groth16VerificationKey({\n alphaG1: res.alpha_g1,\n betaG2: res.beta_g2,\n deltaG2: res.delta_g2,\n gammaAbcG1: res.gamma_abc_g1,\n gammaG2: res.gamma_g2,\n });\n }\n}\n\n/**\n * Retrieves the configuration parameters for Keyless Accounts on the blockchain, including the verifying key and the maximum\n * expiry horizon.\n *\n * @param args - The arguments for retrieving the keyless configuration.\n * @param args.aptosConfig - The Aptos configuration object containing network details.\n * @param args.options - Optional parameters for the request.\n * @param args.options.ledgerVersion - The ledger version to query; if not provided, the latest version will be used.\n * @returns KeylessConfiguration - The configuration object containing the verifying key and maximum expiry horizon.\n * @group Implementation\n * @category Serialization\n */\nexport async function getKeylessConfig(args: {\n aptosConfig: AptosConfig;\n options?: LedgerVersionArg;\n}): Promise<KeylessConfiguration> {\n const { aptosConfig } = args;\n try {\n return await memoizeAsync(\n async () => {\n const config = await getKeylessConfigurationResource(args);\n const vk = await getGroth16VerificationKeyResource(args);\n return KeylessConfiguration.create(vk, Number(config.max_exp_horizon_secs));\n },\n `keyless-configuration-${aptosConfig.network}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n } catch (error) {\n if (error instanceof KeylessError) {\n throw error;\n }\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_OTHER,\n error,\n });\n }\n}\n\n/**\n * Parses a JWT and returns the 'iss', 'aud', and 'uid' values.\n *\n * @param args - The arguments for parsing the JWT.\n * @param args.jwt - The JWT to parse.\n * @param args.uidKey - The key to use for the 'uid' value; defaults to 'sub'.\n * @returns The 'iss', 'aud', and 'uid' values from the JWT.\n */\nexport function getIssAudAndUidVal(args: { jwt: string; uidKey?: string }): {\n iss: string;\n aud: string;\n uidVal: string;\n} {\n const { jwt, uidKey = \"sub\" } = args;\n let jwtPayload: JwtPayload & { [key: string]: string };\n try {\n jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: `Failed to parse JWT - ${getErrorMessage(error)}`,\n });\n }\n if (typeof jwtPayload.iss !== \"string\") {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"JWT is missing 'iss' in the payload. This should never happen.\",\n });\n }\n if (typeof jwtPayload.aud !== \"string\") {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"JWT is missing 'aud' in the payload or 'aud' is an array of values.\",\n });\n }\n const uidVal = jwtPayload[uidKey];\n return { iss: jwtPayload.iss, aud: jwtPayload.aud, uidVal };\n}\n\n/**\n * Retrieves the KeylessConfiguration set on chain.\n *\n * @param args - The arguments for retrieving the configuration.\n * @param args.aptosConfig - The configuration for connecting to the Aptos network.\n * @param args.options - Optional parameters for the request.\n * @param args.options.ledgerVersion - The ledger version to query; if not provided, it will get the latest version.\n * @returns KeylessConfigurationResponse - The response containing the keyless configuration data.\n * @group Implementation\n * @category Serialization\n */\nasync function getKeylessConfigurationResource(args: {\n aptosConfig: AptosConfig;\n options?: LedgerVersionArg;\n}): Promise<KeylessConfigurationResponse> {\n const { aptosConfig, options } = args;\n const resourceType = \"0x1::keyless_account::Configuration\";\n try {\n const { data } = await getAptosFullNode<{}, MoveResource<KeylessConfigurationResponse>>({\n aptosConfig,\n originMethod: \"getKeylessConfigurationResource\",\n path: `accounts/${AccountAddress.from(\"0x1\").toString()}/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n return data.data;\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_CONFIG_LOOKUP_ERROR,\n error,\n });\n }\n}\n\n/**\n * Retrieves the Groth16VerificationKey set on the blockchain.\n *\n * @param args - The arguments for retrieving the verification key.\n * @param args.aptosConfig - The Aptos configuration object.\n * @param args.options - Optional parameters for the request.\n * @param args.options.ledgerVersion - The ledger version to query; if not provided, it will get the latest version.\n * @returns Groth16VerificationKeyResponse - The response containing the Groth16 verification key data.\n * @group Implementation\n * @category Serialization\n */\nasync function getGroth16VerificationKeyResource(args: {\n aptosConfig: AptosConfig;\n options?: LedgerVersionArg;\n}): Promise<Groth16VerificationKeyResponse> {\n const { aptosConfig, options } = args;\n const resourceType = \"0x1::keyless_account::Groth16VerificationKey\";\n try {\n const { data } = await getAptosFullNode<{}, MoveResource<Groth16VerificationKeyResponse>>({\n aptosConfig,\n originMethod: \"getGroth16VerificationKeyResource\",\n path: `accounts/${AccountAddress.from(\"0x1\").toString()}/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n return data.data;\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_VERIFICATION_KEY_LOOKUP_ERROR,\n error,\n });\n }\n}\n\nexport async function getKeylessJWKs(args: {\n aptosConfig: AptosConfig;\n jwkAddr?: AccountAddressInput;\n options?: LedgerVersionArg;\n}): Promise<Map<string, MoveJWK[]>> {\n const { aptosConfig, jwkAddr, options } = args;\n let resource: MoveResource<PatchedJWKsResponse>;\n if (!jwkAddr) {\n const resourceType = \"0x1::jwks::PatchedJWKs\";\n const { data } = await getAptosFullNode<{}, MoveResource<PatchedJWKsResponse>>({\n aptosConfig,\n originMethod: \"getKeylessJWKs\",\n path: `accounts/0x1/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n resource = data;\n } else {\n const resourceType = \"0x1::jwks::FederatedJWKs\";\n const { data } = await getAptosFullNode<{}, MoveResource<PatchedJWKsResponse>>({\n aptosConfig,\n originMethod: \"getKeylessJWKs\",\n path: `accounts/${AccountAddress.from(jwkAddr).toString()}/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n resource = data;\n }\n\n // Create a map of issuer to JWK arrays\n const jwkMap = new Map<string, MoveJWK[]>();\n for (const entry of resource.data.jwks.entries) {\n const jwks: MoveJWK[] = [];\n for (const jwkStruct of entry.jwks) {\n const { data: jwkData } = jwkStruct.variant;\n const deserializer = new Deserializer(Hex.fromHexInput(jwkData).toUint8Array());\n const jwk = MoveJWK.deserialize(deserializer);\n jwks.push(jwk);\n }\n jwkMap.set(hexToAsciiString(entry.issuer), jwks);\n }\n\n return jwkMap;\n}\n\nexport class MoveJWK extends Serializable {\n public kid: string;\n\n public kty: string;\n\n public alg: string;\n\n public e: string;\n\n public n: string;\n\n constructor(args: { kid: string; kty: string; alg: string; e: string; n: string }) {\n super();\n const { kid, kty, alg, e, n } = args;\n this.kid = kid;\n this.kty = kty;\n this.alg = alg;\n this.e = e;\n this.n = n;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.kid);\n serializer.serializeStr(this.kty);\n serializer.serializeStr(this.alg);\n serializer.serializeStr(this.e);\n serializer.serializeStr(this.n);\n }\n\n static fromMoveStruct(struct: MoveAnyStruct): MoveJWK {\n const { data } = struct.variant;\n const deserializer = new Deserializer(Hex.fromHexInput(data).toUint8Array());\n return MoveJWK.deserialize(deserializer);\n }\n\n static deserialize(deserializer: Deserializer): MoveJWK {\n const kid = deserializer.deserializeStr();\n const kty = deserializer.deserializeStr();\n const alg = deserializer.deserializeStr();\n const n = deserializer.deserializeStr();\n const e = deserializer.deserializeStr();\n return new MoveJWK({ kid, kty, alg, n, e });\n }\n}\n\ninterface JwtHeader {\n kid: string; // Key ID\n}\n/**\n * Safely parses the JWT header.\n * @param jwtHeader The JWT header string\n * @returns Parsed JWT header as an object.\n */\nexport function parseJwtHeader(jwtHeader: string): JwtHeader {\n try {\n const header = JSON.parse(jwtHeader);\n if (header.kid === undefined) {\n throw new Error(\"JWT header missing kid\");\n }\n return header;\n } catch (error) {\n throw new Error(\"Failed to parse JWT header.\");\n }\n}\n"],"mappings":"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","names":["jwtDecode","sha3_256","EPK_HORIZON_SECS","MAX_AUD_VAL_BYTES","MAX_UID_KEY_BYTES","MAX_UID_VAL_BYTES","MAX_ISS_VAL_BYTES","MAX_EXTRA_FIELD_BYTES","MAX_JWT_HEADER_B64_BYTES","MAX_COMMITED_EPK_BYTES","_KeylessPublicKey","AccountPublicKey","iss","idCommitment","idcBytes","Hex","serializer","Serializer","AuthenticationKey","args","deserializer","addressSeed","publicKey","computeIdCommitment","jwt","pepper","uidKey","jwtPayload","jwtDecode","uidVal","KeylessPublicKey","aud","fields","bytesToBigIntLE","hashStrToField","bigIntToBytesLE","poseidonHash","KeylessSignature","_KeylessSignature","Signature","jwtHeader","ephemeralCertificate","expiryDateSecs","ephemeralPublicKey","ephemeralSignature","parseJwtHeader","EphemeralCertificate","EphemeralPublicKey","EphemeralSignature","ZeroKnowledgeSig","ZkProof","Groth16Zkp","Ed25519PublicKey","Ed25519Signature","signature","_EphemeralCertificate","variant","G1Bytes","_G1Bytes","Serializable","data","bytes","G2Bytes","_G2Bytes","_Groth16Zkp","Proof","a","b","c","_ZkProof","proof","_ZeroKnowledgeSig","expHorizonSecs","trainingWheelsSignature","extraField","overrideAudVal","Deserializer","KeylessConfiguration","_KeylessConfiguration","verificationKey","maxExpHorizonSecs","res","Groth16VerificationKey","_Groth16VerificationKey","alphaG1","betaG2","deltaG2","gammaAbcG1","gammaG2","sha3_256","getKeylessConfig","aptosConfig","memoizeAsync","config","getKeylessConfigurationResource","vk","getGroth16VerificationKeyResource","error","KeylessError","getIssAudAndUidVal","getErrorMessage","options","resourceType","getAptosFullNode","AccountAddress","getKeylessJWKs","jwkAddr","resource","jwkMap","entry","jwks","jwkStruct","jwkData","jwk","MoveJWK","hexToAsciiString","_MoveJWK","kid","kty","alg","e","struct","n","header"]}
1
+ {"version":3,"sources":["../../src/core/crypto/keyless.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n// eslint-disable-next-line max-classes-per-file\nimport { JwtPayload, jwtDecode } from \"jwt-decode\";\nimport { sha3_256 } from \"@noble/hashes/sha3\";\nimport { AccountPublicKey, PublicKey } from \"./publicKey\";\nimport { Signature } from \"./signature\";\nimport { Deserializer, Serializable, Serializer } from \"../../bcs\";\nimport { Hex, hexToAsciiString } from \"../hex\";\nimport {\n HexInput,\n EphemeralCertificateVariant,\n AnyPublicKeyVariant,\n SigningScheme,\n ZkpVariant,\n LedgerVersionArg,\n MoveResource,\n} from \"../../types\";\nimport { EphemeralPublicKey, EphemeralSignature } from \"./ephemeral\";\nimport { bigIntToBytesLE, bytesToBigIntLE, hashStrToField, poseidonHash } from \"./poseidon\";\nimport { AuthenticationKey } from \"../authenticationKey\";\nimport { Proof } from \"./proof\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"./ed25519\";\nimport {\n Groth16VerificationKeyResponse,\n KeylessConfigurationResponse,\n MoveAnyStruct,\n PatchedJWKsResponse,\n} from \"../../types/keyless\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { getAptosFullNode } from \"../../client\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { AccountAddress, AccountAddressInput } from \"../accountAddress\";\nimport { getErrorMessage } from \"../../utils\";\nimport { KeylessError, KeylessErrorType } from \"../../errors\";\n\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const EPK_HORIZON_SECS = 10000000;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_AUD_VAL_BYTES = 120;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_UID_KEY_BYTES = 30;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_UID_VAL_BYTES = 330;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_ISS_VAL_BYTES = 120;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_EXTRA_FIELD_BYTES = 350;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_JWT_HEADER_B64_BYTES = 300;\n/**\n * @group Implementation\n * @category Serialization\n */\nexport const MAX_COMMITED_EPK_BYTES = 93;\n\n/**\n * Represents a Keyless Public Key used for authentication.\n *\n * This class encapsulates the public key functionality for keyless authentication,\n * including methods for generating and verifying signatures, as well as serialization\n * and deserialization of the key. The KeylessPublicKey is represented in the SDK\n * as `AnyPublicKey`.\n * @group Implementation\n * @category Serialization\n */\nexport class KeylessPublicKey extends AccountPublicKey {\n /**\n * The number of bytes that `idCommitment` should be\n * @group Implementation\n * @category Serialization\n */\n static readonly ID_COMMITMENT_LENGTH: number = 32;\n\n /**\n * The value of the 'iss' claim on the JWT which identifies the OIDC provider.\n * @group Implementation\n * @category Serialization\n */\n readonly iss: string;\n\n /**\n * A value representing a cryptographic commitment to a user identity.\n *\n * It is calculated from the aud, uidKey, uidVal, pepper.\n * @group Implementation\n * @category Serialization\n */\n readonly idCommitment: Uint8Array;\n\n /**\n * Constructs an instance with the specified parameters for cryptographic operations.\n *\n * @param args - The parameters required to initialize the instance.\n * @param args.alphaG1 - The hex representation of the alpha G1 value.\n * @param args.betaG2 - The hex representation of the beta G2 value.\n * @param args.deltaG2 - The hex representation of the delta G2 value.\n * @param args.gammaAbcG1 - An array containing two hex representations for gamma ABC G1 values.\n * @param args.gammaG2 - The hex representation of the gamma G2 value.\n * @group Implementation\n * @category Serialization\n */\n // TODO: Fix the JSDoc for the below values\n constructor(iss: string, idCommitment: HexInput) {\n super();\n const idcBytes = Hex.fromHexInput(idCommitment).toUint8Array();\n if (idcBytes.length !== KeylessPublicKey.ID_COMMITMENT_LENGTH) {\n throw new Error(`Id Commitment length in bytes should be ${KeylessPublicKey.ID_COMMITMENT_LENGTH}`);\n }\n this.iss = iss;\n this.idCommitment = idcBytes;\n }\n\n /**\n * Get the authentication key for the keyless public key.\n *\n * @returns AuthenticationKey - The authentication key derived from the keyless public key.\n * @group Implementation\n * @category Serialization\n */\n authKey(): AuthenticationKey {\n const serializer = new Serializer();\n serializer.serializeU32AsUleb128(AnyPublicKeyVariant.Keyless);\n serializer.serializeFixedBytes(this.bcsToBytes());\n return AuthenticationKey.fromSchemeAndBytes({\n scheme: SigningScheme.SingleKey,\n input: serializer.toUint8Array(),\n });\n }\n\n /**\n * Verifies the validity of a signature for a given message.\n *\n * @param args - The arguments for signature verification.\n * @param args.message - The message that was signed.\n * @param args.signature - The signature to verify against the message.\n * @returns true if the signature is valid; otherwise, false.\n * @group Implementation\n * @category Serialization\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, class-methods-use-this\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n throw new Error(\"Not yet implemented\");\n }\n\n /**\n * Serializes the current instance into a format suitable for transmission or storage.\n * This function ensures that all relevant fields are properly serialized, including the proof and optional fields.\n *\n * @param serializer - The serializer instance used to perform the serialization.\n * @param serializer.proof - The proof to be serialized.\n * @param serializer.expHorizonSecs - The expiration horizon in seconds.\n * @param serializer.extraField - An optional additional field for serialization.\n * @param serializer.overrideAudVal - An optional override value for auditing.\n * @param serializer.trainingWheelsSignature - An optional signature for training wheels.\n * @group Implementation\n * @category Serialization\n */\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.iss);\n serializer.serializeBytes(this.idCommitment);\n }\n\n /**\n * Deserializes a ZeroKnowledgeSig object from the provided deserializer.\n * This function allows you to reconstruct a ZeroKnowledgeSig instance from its serialized form.\n *\n * @param deserializer - The deserializer instance used to read the serialized data.\n * @returns A new instance of ZeroKnowledgeSig.\n * @group Implementation\n * @category Serialization\n */\n static deserialize(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n /**\n * Loads a KeylessPublicKey instance from the provided deserializer.\n * This function is used to deserialize the necessary components to create a KeylessPublicKey.\n *\n * @param deserializer - The deserializer used to extract the string and byte data.\n * @param deserializer.deserializeStr - A method to deserialize a string value.\n * @param deserializer.deserializeBytes - A method to deserialize byte data.\n * @returns A new instance of KeylessPublicKey.\n * @group Implementation\n * @category Serialization\n */\n static load(deserializer: Deserializer): KeylessPublicKey {\n const iss = deserializer.deserializeStr();\n const addressSeed = deserializer.deserializeBytes();\n return new KeylessPublicKey(iss, addressSeed);\n }\n\n /**\n * Determines if the provided public key is an instance of KeylessPublicKey.\n *\n * @param publicKey - The public key to check.\n * @returns A boolean indicating whether the public key is a KeylessPublicKey instance.\n * @group Implementation\n * @category Serialization\n */\n static isPublicKey(publicKey: PublicKey): publicKey is KeylessPublicKey {\n return publicKey instanceof KeylessPublicKey;\n }\n\n /**\n * Creates a KeylessPublicKey from the JWT components plus pepper\n *\n * @param args.iss the iss of the identity\n * @param args.uidKey the key to use to get the uidVal in the JWT token\n * @param args.uidVal the value of the uidKey in the JWT token\n * @param args.aud the client ID of the application\n * @param args.pepper The pepper used to maintain privacy of the account\n * @returns KeylessPublicKey\n * @group Implementation\n * @category Serialization\n */\n static create(args: {\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n }): KeylessPublicKey {\n computeIdCommitment(args);\n return new KeylessPublicKey(args.iss, computeIdCommitment(args));\n }\n\n /**\n * Creates a KeylessPublicKey instance from a JWT and a pepper value.\n * This function is useful for generating a public key that can be used for authentication based on the provided JWT claims and pepper.\n *\n * @param args - The arguments for creating the KeylessPublicKey.\n * @param args.jwt - The JSON Web Token to decode.\n * @param args.pepper - The pepper value used in the key creation process.\n * @param args.uidKey - An optional key to retrieve the unique identifier from the JWT payload, defaults to \"sub\".\n * @returns A KeylessPublicKey instance created from the provided JWT and pepper.\n * @group Implementation\n * @category Serialization\n */\n static fromJwtAndPepper(args: { jwt: string; pepper: HexInput; uidKey?: string }): KeylessPublicKey {\n const { jwt, pepper, uidKey = \"sub\" } = args;\n const jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n if (typeof jwtPayload.iss !== \"string\") {\n throw new Error(\"iss was not found\");\n }\n if (typeof jwtPayload.aud !== \"string\") {\n throw new Error(\"aud was not found or an array of values\");\n }\n const uidVal = jwtPayload[uidKey];\n return KeylessPublicKey.create({ iss: jwtPayload.iss, uidKey, uidVal, aud: jwtPayload.aud, pepper });\n }\n\n /**\n * Checks if the provided public key is a valid instance by verifying its structure and types.\n *\n * @param publicKey - The public key to validate.\n * @returns A boolean indicating whether the public key is a valid instance.\n * @group Implementation\n * @category Serialization\n */\n static isInstance(publicKey: PublicKey) {\n return (\n \"iss\" in publicKey &&\n typeof publicKey.iss === \"string\" &&\n \"idCommitment\" in publicKey &&\n publicKey.idCommitment instanceof Uint8Array\n );\n }\n}\n\nfunction computeIdCommitment(args: { uidKey: string; uidVal: string; aud: string; pepper: HexInput }): Uint8Array {\n const { uidKey, uidVal, aud, pepper } = args;\n\n const fields = [\n bytesToBigIntLE(Hex.fromHexInput(pepper).toUint8Array()),\n hashStrToField(aud, MAX_AUD_VAL_BYTES),\n hashStrToField(uidVal, MAX_UID_VAL_BYTES),\n hashStrToField(uidKey, MAX_UID_KEY_BYTES),\n ];\n\n return bigIntToBytesLE(poseidonHash(fields), KeylessPublicKey.ID_COMMITMENT_LENGTH);\n}\n\n/**\n * Represents a signature of a message signed via a Keyless Account, utilizing proofs or a JWT token for authentication.\n * @group Implementation\n * @category Serialization\n */\nexport class KeylessSignature extends Signature {\n /**\n * The inner signature ZeroKnowledgeSignature or OpenIdSignature\n * @group Implementation\n * @category Serialization\n */\n readonly ephemeralCertificate: EphemeralCertificate;\n\n /**\n * The jwt header in the token used to create the proof/signature. In json string representation.\n * @group Implementation\n * @category Serialization\n */\n readonly jwtHeader: string;\n\n /**\n * The expiry timestamp in seconds of the EphemeralKeyPair used to sign\n * @group Implementation\n * @category Serialization\n */\n readonly expiryDateSecs: number;\n\n /**\n * The ephemeral public key used to verify the signature\n * @group Implementation\n * @category Serialization\n */\n readonly ephemeralPublicKey: EphemeralPublicKey;\n\n /**\n * The signature resulting from signing with the private key of the EphemeralKeyPair\n * @group Implementation\n * @category Serialization\n */\n readonly ephemeralSignature: EphemeralSignature;\n\n constructor(args: {\n jwtHeader: string;\n ephemeralCertificate: EphemeralCertificate;\n expiryDateSecs: number;\n ephemeralPublicKey: EphemeralPublicKey;\n ephemeralSignature: EphemeralSignature;\n }) {\n super();\n const { jwtHeader, ephemeralCertificate, expiryDateSecs, ephemeralPublicKey, ephemeralSignature } = args;\n this.jwtHeader = jwtHeader;\n this.ephemeralCertificate = ephemeralCertificate;\n this.expiryDateSecs = expiryDateSecs;\n this.ephemeralPublicKey = ephemeralPublicKey;\n this.ephemeralSignature = ephemeralSignature;\n }\n\n /**\n * Get the kid of the JWT used to derive the Keyless Account used to sign.\n *\n * @returns the kid as a string\n */\n getJwkKid(): string {\n return parseJwtHeader(this.jwtHeader).kid;\n }\n\n serialize(serializer: Serializer): void {\n this.ephemeralCertificate.serialize(serializer);\n serializer.serializeStr(this.jwtHeader);\n serializer.serializeU64(this.expiryDateSecs);\n this.ephemeralPublicKey.serialize(serializer);\n this.ephemeralSignature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): KeylessSignature {\n const ephemeralCertificate = EphemeralCertificate.deserialize(deserializer);\n const jwtHeader = deserializer.deserializeStr();\n const expiryDateSecs = deserializer.deserializeU64();\n const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);\n const ephemeralSignature = EphemeralSignature.deserialize(deserializer);\n return new KeylessSignature({\n jwtHeader,\n expiryDateSecs: Number(expiryDateSecs),\n ephemeralCertificate,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n static getSimulationSignature(): KeylessSignature {\n return new KeylessSignature({\n jwtHeader: \"{}\",\n ephemeralCertificate: new EphemeralCertificate(\n new ZeroKnowledgeSig({\n proof: new ZkProof(\n new Groth16Zkp({ a: new Uint8Array(32), b: new Uint8Array(64), c: new Uint8Array(32) }),\n ZkpVariant.Groth16,\n ),\n expHorizonSecs: 0,\n }),\n EphemeralCertificateVariant.ZkProof,\n ),\n expiryDateSecs: 0,\n ephemeralPublicKey: new EphemeralPublicKey(new Ed25519PublicKey(new Uint8Array(32))),\n ephemeralSignature: new EphemeralSignature(new Ed25519Signature(new Uint8Array(64))),\n });\n }\n\n static isSignature(signature: Signature): signature is KeylessSignature {\n return signature instanceof KeylessSignature;\n }\n}\n\n/**\n * Represents an ephemeral certificate containing a signature, specifically a ZeroKnowledgeSig.\n * This class can be extended to support additional signature types, such as OpenIdSignature.\n *\n * @extends Signature\n * @group Implementation\n * @category Serialization\n */\nexport class EphemeralCertificate extends Signature {\n public readonly signature: Signature;\n\n /**\n * Index of the underlying enum variant\n * @group Implementation\n * @category Serialization\n */\n private readonly variant: EphemeralCertificateVariant;\n\n constructor(signature: Signature, variant: EphemeralCertificateVariant) {\n super();\n this.signature = signature;\n this.variant = variant;\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n * @group Implementation\n * @category Serialization\n */\n toUint8Array(): Uint8Array {\n return this.signature.toUint8Array();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.signature.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): EphemeralCertificate {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case EphemeralCertificateVariant.ZkProof:\n return new EphemeralCertificate(ZeroKnowledgeSig.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for EphemeralCertificate: ${variant}`);\n }\n }\n}\n\n/**\n * Represents a fixed-size byte array of 32 bytes, extending the Serializable class.\n * This class is used for handling and serializing G1 bytes in cryptographic operations.\n *\n * @extends Serializable\n * @group Implementation\n * @category Serialization\n */\nclass G1Bytes extends Serializable {\n data: Uint8Array;\n\n constructor(data: HexInput) {\n super();\n this.data = Hex.fromHexInput(data).toUint8Array();\n if (this.data.length !== 32) {\n throw new Error(\"Input needs to be 32 bytes\");\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.data);\n }\n\n static deserialize(deserializer: Deserializer): G1Bytes {\n const bytes = deserializer.deserializeFixedBytes(32);\n return new G1Bytes(bytes);\n }\n}\n\n/**\n * Represents a 64-byte G2 element in a cryptographic context.\n * This class provides methods for serialization and deserialization of G2 bytes.\n *\n * @extends Serializable\n * @group Implementation\n * @category Serialization\n */\nclass G2Bytes extends Serializable {\n data: Uint8Array;\n\n constructor(data: HexInput) {\n super();\n this.data = Hex.fromHexInput(data).toUint8Array();\n if (this.data.length !== 64) {\n throw new Error(\"Input needs to be 64 bytes\");\n }\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.data);\n }\n\n static deserialize(deserializer: Deserializer): G2Bytes {\n const bytes = deserializer.deserializeFixedBytes(64);\n return new G2Bytes(bytes);\n }\n}\n\n/**\n * Represents a Groth16 zero-knowledge proof, consisting of three proof points in compressed serialization format.\n * The points are the compressed serialization of affine representation of the proof.\n *\n * @extends Proof\n * @group Implementation\n * @category Serialization\n */\nexport class Groth16Zkp extends Proof {\n /**\n * The bytes of G1 proof point a\n * @group Implementation\n * @category Serialization\n */\n a: G1Bytes;\n\n /**\n * The bytes of G2 proof point b\n * @group Implementation\n * @category Serialization\n */\n b: G2Bytes;\n\n /**\n * The bytes of G1 proof point c\n * @group Implementation\n * @category Serialization\n */\n c: G1Bytes;\n\n constructor(args: { a: HexInput; b: HexInput; c: HexInput }) {\n super();\n const { a, b, c } = args;\n this.a = new G1Bytes(a);\n this.b = new G2Bytes(b);\n this.c = new G1Bytes(c);\n }\n\n serialize(serializer: Serializer): void {\n this.a.serialize(serializer);\n this.b.serialize(serializer);\n this.c.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): Groth16Zkp {\n const a = G1Bytes.deserialize(deserializer).bcsToBytes();\n const b = G2Bytes.deserialize(deserializer).bcsToBytes();\n const c = G1Bytes.deserialize(deserializer).bcsToBytes();\n return new Groth16Zkp({ a, b, c });\n }\n}\n\n/**\n * Represents a container for different types of zero-knowledge proofs.\n *\n * @extends Serializable\n * @group Implementation\n * @category Serialization\n */\nexport class ZkProof extends Serializable {\n public readonly proof: Proof;\n\n /**\n * Index of the underlying enum variant\n * @group Implementation\n * @category Serialization\n */\n private readonly variant: ZkpVariant;\n\n constructor(proof: Proof, variant: ZkpVariant) {\n super();\n this.proof = proof;\n this.variant = variant;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(this.variant);\n this.proof.serialize(serializer);\n }\n\n static deserialize(deserializer: Deserializer): ZkProof {\n const variant = deserializer.deserializeUleb128AsU32();\n switch (variant) {\n case ZkpVariant.Groth16:\n return new ZkProof(Groth16Zkp.deserialize(deserializer), variant);\n default:\n throw new Error(`Unknown variant index for ZkProof: ${variant}`);\n }\n }\n}\n\n/**\n * Represents a zero-knowledge signature, encapsulating the proof and its associated metadata.\n *\n * @extends Signature\n * @group Implementation\n * @category Serialization\n */\nexport class ZeroKnowledgeSig extends Signature {\n /**\n * The proof\n * @group Implementation\n * @category Serialization\n */\n readonly proof: ZkProof;\n\n /**\n * The max lifespan of the proof\n * @group Implementation\n * @category Serialization\n */\n readonly expHorizonSecs: number;\n\n /**\n * A key value pair on the JWT token that can be specified on the signature which would reveal the value on chain.\n * Can be used to assert identity or other attributes.\n * @group Implementation\n * @category Serialization\n */\n readonly extraField?: string;\n\n /**\n * The 'aud' value of the recovery service which is set when recovering an account.\n * @group Implementation\n * @category Serialization\n */\n readonly overrideAudVal?: string;\n\n /**\n * The training wheels signature\n * @group Implementation\n * @category Serialization\n */\n readonly trainingWheelsSignature?: EphemeralSignature;\n\n constructor(args: {\n proof: ZkProof;\n expHorizonSecs: number;\n extraField?: string;\n overrideAudVal?: string;\n trainingWheelsSignature?: EphemeralSignature;\n }) {\n super();\n const { proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal } = args;\n this.proof = proof;\n this.expHorizonSecs = expHorizonSecs;\n this.trainingWheelsSignature = trainingWheelsSignature;\n this.extraField = extraField;\n this.overrideAudVal = overrideAudVal;\n }\n\n /**\n * Deserialize a ZeroKnowledgeSig object from its BCS serialization in bytes.\n *\n * @param bytes - The bytes representing the serialized ZeroKnowledgeSig.\n * @returns ZeroKnowledgeSig - The deserialized ZeroKnowledgeSig object.\n * @group Implementation\n * @category Serialization\n */\n static fromBytes(bytes: Uint8Array): ZeroKnowledgeSig {\n return ZeroKnowledgeSig.deserialize(new Deserializer(bytes));\n }\n\n serialize(serializer: Serializer): void {\n this.proof.serialize(serializer);\n serializer.serializeU64(this.expHorizonSecs);\n serializer.serializeOption(this.extraField);\n serializer.serializeOption(this.overrideAudVal);\n serializer.serializeOption(this.trainingWheelsSignature);\n }\n\n static deserialize(deserializer: Deserializer): ZeroKnowledgeSig {\n const proof = ZkProof.deserialize(deserializer);\n const expHorizonSecs = Number(deserializer.deserializeU64());\n const extraField = deserializer.deserializeOption(\"string\");\n const overrideAudVal = deserializer.deserializeOption(\"string\");\n const trainingWheelsSignature = deserializer.deserializeOption(EphemeralSignature);\n return new ZeroKnowledgeSig({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });\n }\n}\n\n/**\n * Represents the on-chain configuration for how Keyless accounts operate.\n *\n * @remarks\n * This class encapsulates the verification key and the maximum lifespan of ephemeral key pairs,\n * which are essential for the functionality of Keyless accounts.\n * @group Implementation\n * @category Serialization\n */\nexport class KeylessConfiguration {\n /**\n * The verification key used to verify Groth16 proofs on chain\n * @group Implementation\n * @category Serialization\n */\n readonly verificationKey: Groth16VerificationKey;\n\n /**\n * The maximum lifespan of an ephemeral key pair. This is configured on chain.\n * @group Implementation\n * @category Serialization\n */\n readonly maxExpHorizonSecs: number;\n\n constructor(verificationKey: Groth16VerificationKey, maxExpHorizonSecs: number) {\n this.verificationKey = verificationKey;\n this.maxExpHorizonSecs = maxExpHorizonSecs;\n }\n\n static create(res: Groth16VerificationKeyResponse, maxExpHorizonSecs: number): KeylessConfiguration {\n return new KeylessConfiguration(\n new Groth16VerificationKey({\n alphaG1: res.alpha_g1,\n betaG2: res.beta_g2,\n deltaG2: res.delta_g2,\n gammaAbcG1: res.gamma_abc_g1,\n gammaG2: res.gamma_g2,\n }),\n maxExpHorizonSecs,\n );\n }\n}\n\n/**\n * Represents the verification key stored on-chain used to verify Groth16 proofs.\n * @group Implementation\n * @category Serialization\n */\nexport class Groth16VerificationKey {\n // The docstrings below are borrowed from ark-groth16\n\n /**\n * The `alpha * G`, where `G` is the generator of G1\n * @group Implementation\n * @category Serialization\n */\n readonly alphaG1: G1Bytes;\n\n /**\n * The `alpha * H`, where `H` is the generator of G2\n * @group Implementation\n * @category Serialization\n */\n readonly betaG2: G2Bytes;\n\n /**\n * The `delta * H`, where `H` is the generator of G2\n * @group Implementation\n * @category Serialization\n */\n readonly deltaG2: G2Bytes;\n\n /**\n * The `gamma^{-1} * (beta * a_i + alpha * b_i + c_i) * H`, where H is the generator of G1\n * @group Implementation\n * @category Serialization\n */\n readonly gammaAbcG1: [G1Bytes, G1Bytes];\n\n /**\n * The `gamma * H`, where `H` is the generator of G2\n * @group Implementation\n * @category Serialization\n */\n readonly gammaG2: G2Bytes;\n\n constructor(args: {\n alphaG1: HexInput;\n betaG2: HexInput;\n deltaG2: HexInput;\n gammaAbcG1: [HexInput, HexInput];\n gammaG2: HexInput;\n }) {\n const { alphaG1, betaG2, deltaG2, gammaAbcG1, gammaG2 } = args;\n this.alphaG1 = new G1Bytes(alphaG1);\n this.betaG2 = new G2Bytes(betaG2);\n this.deltaG2 = new G2Bytes(deltaG2);\n this.gammaAbcG1 = [new G1Bytes(gammaAbcG1[0]), new G1Bytes(gammaAbcG1[1])];\n this.gammaG2 = new G2Bytes(gammaG2);\n }\n\n /**\n * Calculates the hash of the serialized form of the verification key.\n * This is useful for comparing verification keys or using them as unique identifiers.\n *\n * @returns The SHA3-256 hash of the serialized verification key as a Uint8Array\n */\n public hash(): Uint8Array {\n const serializer = new Serializer();\n this.serialize(serializer);\n return sha3_256.create().update(serializer.toUint8Array()).digest();\n }\n\n serialize(serializer: Serializer): void {\n this.alphaG1.serialize(serializer);\n this.betaG2.serialize(serializer);\n this.deltaG2.serialize(serializer);\n this.gammaAbcG1[0].serialize(serializer);\n this.gammaAbcG1[1].serialize(serializer);\n this.gammaG2.serialize(serializer);\n }\n\n /**\n * Converts a Groth16VerificationKeyResponse object into a Groth16VerificationKey instance.\n *\n * @param res - The Groth16VerificationKeyResponse object containing the verification key data.\n * @param res.alpha_g1 - The alpha G1 value from the response.\n * @param res.beta_g2 - The beta G2 value from the response.\n * @param res.delta_g2 - The delta G2 value from the response.\n * @param res.gamma_abc_g1 - The gamma ABC G1 value from the response.\n * @param res.gamma_g2 - The gamma G2 value from the response.\n * @returns A Groth16VerificationKey instance constructed from the provided response data.\n * @group Implementation\n * @category Serialization\n */\n static fromGroth16VerificationKeyResponse(res: Groth16VerificationKeyResponse): Groth16VerificationKey {\n return new Groth16VerificationKey({\n alphaG1: res.alpha_g1,\n betaG2: res.beta_g2,\n deltaG2: res.delta_g2,\n gammaAbcG1: res.gamma_abc_g1,\n gammaG2: res.gamma_g2,\n });\n }\n}\n\n/**\n * Retrieves the configuration parameters for Keyless Accounts on the blockchain, including the verifying key and the maximum\n * expiry horizon.\n *\n * @param args - The arguments for retrieving the keyless configuration.\n * @param args.aptosConfig - The Aptos configuration object containing network details.\n * @param args.options - Optional parameters for the request.\n * @param args.options.ledgerVersion - The ledger version to query; if not provided, the latest version will be used.\n * @returns KeylessConfiguration - The configuration object containing the verifying key and maximum expiry horizon.\n * @group Implementation\n * @category Serialization\n */\nexport async function getKeylessConfig(args: {\n aptosConfig: AptosConfig;\n options?: LedgerVersionArg;\n}): Promise<KeylessConfiguration> {\n const { aptosConfig } = args;\n try {\n return await memoizeAsync(\n async () => {\n const config = await getKeylessConfigurationResource(args);\n const vk = await getGroth16VerificationKeyResource(args);\n return KeylessConfiguration.create(vk, Number(config.max_exp_horizon_secs));\n },\n `keyless-configuration-${aptosConfig.network}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n } catch (error) {\n if (error instanceof KeylessError) {\n throw error;\n }\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_OTHER,\n error,\n });\n }\n}\n\n/**\n * Parses a JWT and returns the 'iss', 'aud', and 'uid' values.\n *\n * @param args - The arguments for parsing the JWT.\n * @param args.jwt - The JWT to parse.\n * @param args.uidKey - The key to use for the 'uid' value; defaults to 'sub'.\n * @returns The 'iss', 'aud', and 'uid' values from the JWT.\n */\nexport function getIssAudAndUidVal(args: { jwt: string; uidKey?: string }): {\n iss: string;\n aud: string;\n uidVal: string;\n} {\n const { jwt, uidKey = \"sub\" } = args;\n let jwtPayload: JwtPayload & { [key: string]: string };\n try {\n jwtPayload = jwtDecode<JwtPayload & { [key: string]: string }>(jwt);\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: `Failed to parse JWT - ${getErrorMessage(error)}`,\n });\n }\n if (typeof jwtPayload.iss !== \"string\") {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"JWT is missing 'iss' in the payload. This should never happen.\",\n });\n }\n if (typeof jwtPayload.aud !== \"string\") {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"JWT is missing 'aud' in the payload or 'aud' is an array of values.\",\n });\n }\n const uidVal = jwtPayload[uidKey];\n return { iss: jwtPayload.iss, aud: jwtPayload.aud, uidVal };\n}\n\n/**\n * Retrieves the KeylessConfiguration set on chain.\n *\n * @param args - The arguments for retrieving the configuration.\n * @param args.aptosConfig - The configuration for connecting to the Aptos network.\n * @param args.options - Optional parameters for the request.\n * @param args.options.ledgerVersion - The ledger version to query; if not provided, it will get the latest version.\n * @returns KeylessConfigurationResponse - The response containing the keyless configuration data.\n * @group Implementation\n * @category Serialization\n */\nasync function getKeylessConfigurationResource(args: {\n aptosConfig: AptosConfig;\n options?: LedgerVersionArg;\n}): Promise<KeylessConfigurationResponse> {\n const { aptosConfig, options } = args;\n const resourceType = \"0x1::keyless_account::Configuration\";\n try {\n const { data } = await getAptosFullNode<{}, MoveResource<KeylessConfigurationResponse>>({\n aptosConfig,\n originMethod: \"getKeylessConfigurationResource\",\n path: `accounts/${AccountAddress.from(\"0x1\").toString()}/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n return data.data;\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_CONFIG_LOOKUP_ERROR,\n error,\n });\n }\n}\n\n/**\n * Retrieves the Groth16VerificationKey set on the blockchain.\n *\n * @param args - The arguments for retrieving the verification key.\n * @param args.aptosConfig - The Aptos configuration object.\n * @param args.options - Optional parameters for the request.\n * @param args.options.ledgerVersion - The ledger version to query; if not provided, it will get the latest version.\n * @returns Groth16VerificationKeyResponse - The response containing the Groth16 verification key data.\n * @group Implementation\n * @category Serialization\n */\nasync function getGroth16VerificationKeyResource(args: {\n aptosConfig: AptosConfig;\n options?: LedgerVersionArg;\n}): Promise<Groth16VerificationKeyResponse> {\n const { aptosConfig, options } = args;\n const resourceType = \"0x1::keyless_account::Groth16VerificationKey\";\n try {\n const { data } = await getAptosFullNode<{}, MoveResource<Groth16VerificationKeyResponse>>({\n aptosConfig,\n originMethod: \"getGroth16VerificationKeyResource\",\n path: `accounts/${AccountAddress.from(\"0x1\").toString()}/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n return data.data;\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_VERIFICATION_KEY_LOOKUP_ERROR,\n error,\n });\n }\n}\n\nexport async function getKeylessJWKs(args: {\n aptosConfig: AptosConfig;\n jwkAddr?: AccountAddressInput;\n options?: LedgerVersionArg;\n}): Promise<Map<string, MoveJWK[]>> {\n const { aptosConfig, jwkAddr, options } = args;\n let resource: MoveResource<PatchedJWKsResponse>;\n if (!jwkAddr) {\n const resourceType = \"0x1::jwks::PatchedJWKs\";\n const { data } = await getAptosFullNode<{}, MoveResource<PatchedJWKsResponse>>({\n aptosConfig,\n originMethod: \"getKeylessJWKs\",\n path: `accounts/0x1/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n resource = data;\n } else {\n const resourceType = \"0x1::jwks::FederatedJWKs\";\n const { data } = await getAptosFullNode<{}, MoveResource<PatchedJWKsResponse>>({\n aptosConfig,\n originMethod: \"getKeylessJWKs\",\n path: `accounts/${AccountAddress.from(jwkAddr).toString()}/resource/${resourceType}`,\n params: { ledger_version: options?.ledgerVersion },\n });\n resource = data;\n }\n\n // Create a map of issuer to JWK arrays\n const jwkMap = new Map<string, MoveJWK[]>();\n for (const entry of resource.data.jwks.entries) {\n const jwks: MoveJWK[] = [];\n for (const jwkStruct of entry.jwks) {\n const { data: jwkData } = jwkStruct.variant;\n const deserializer = new Deserializer(Hex.fromHexInput(jwkData).toUint8Array());\n const jwk = MoveJWK.deserialize(deserializer);\n jwks.push(jwk);\n }\n jwkMap.set(hexToAsciiString(entry.issuer), jwks);\n }\n\n return jwkMap;\n}\n\nexport class MoveJWK extends Serializable {\n public kid: string;\n\n public kty: string;\n\n public alg: string;\n\n public e: string;\n\n public n: string;\n\n constructor(args: { kid: string; kty: string; alg: string; e: string; n: string }) {\n super();\n const { kid, kty, alg, e, n } = args;\n this.kid = kid;\n this.kty = kty;\n this.alg = alg;\n this.e = e;\n this.n = n;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.kid);\n serializer.serializeStr(this.kty);\n serializer.serializeStr(this.alg);\n serializer.serializeStr(this.e);\n serializer.serializeStr(this.n);\n }\n\n static fromMoveStruct(struct: MoveAnyStruct): MoveJWK {\n const { data } = struct.variant;\n const deserializer = new Deserializer(Hex.fromHexInput(data).toUint8Array());\n return MoveJWK.deserialize(deserializer);\n }\n\n static deserialize(deserializer: Deserializer): MoveJWK {\n const kid = deserializer.deserializeStr();\n const kty = deserializer.deserializeStr();\n const alg = deserializer.deserializeStr();\n const n = deserializer.deserializeStr();\n const e = deserializer.deserializeStr();\n return new MoveJWK({ kid, kty, alg, n, e });\n }\n}\n\ninterface JwtHeader {\n kid: string; // Key ID\n}\n/**\n * Safely parses the JWT header.\n * @param jwtHeader The JWT header string\n * @returns Parsed JWT header as an object.\n */\nexport function parseJwtHeader(jwtHeader: string): JwtHeader {\n try {\n const header = JSON.parse(jwtHeader);\n if (header.kid === undefined) {\n throw new Error(\"JWT header missing kid\");\n }\n return header;\n } catch (error) {\n throw new Error(\"Failed to parse JWT header.\");\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,415 @@
1
+ import {
2
+ convertSigningMessage
3
+ } from "./chunk-THWEBWUC.mjs";
4
+ import {
5
+ CKDPriv,
6
+ HARDENED_OFFSET,
7
+ deriveKey,
8
+ isValidHardenedPath,
9
+ mnemonicToSeed,
10
+ splitPath
11
+ } from "./chunk-F7W7KS5C.mjs";
12
+ import {
13
+ PrivateKey
14
+ } from "./chunk-YU65LNIC.mjs";
15
+ import {
16
+ AccountPublicKey
17
+ } from "./chunk-R4JTQQBX.mjs";
18
+ import {
19
+ Signature
20
+ } from "./chunk-KLUO6XPE.mjs";
21
+ import {
22
+ AuthenticationKey
23
+ } from "./chunk-PKUXOBIV.mjs";
24
+ import {
25
+ Serializable
26
+ } from "./chunk-C7T6GW5P.mjs";
27
+ import {
28
+ Hex
29
+ } from "./chunk-BDM6FBUO.mjs";
30
+
31
+ // src/core/crypto/ed25519.ts
32
+ import { ed25519 } from "@noble/curves/ed25519";
33
+ var L = [
34
+ 237,
35
+ 211,
36
+ 245,
37
+ 92,
38
+ 26,
39
+ 99,
40
+ 18,
41
+ 88,
42
+ 214,
43
+ 156,
44
+ 247,
45
+ 162,
46
+ 222,
47
+ 249,
48
+ 222,
49
+ 20,
50
+ 0,
51
+ 0,
52
+ 0,
53
+ 0,
54
+ 0,
55
+ 0,
56
+ 0,
57
+ 0,
58
+ 0,
59
+ 0,
60
+ 0,
61
+ 0,
62
+ 0,
63
+ 0,
64
+ 0,
65
+ 16
66
+ ];
67
+ function isCanonicalEd25519Signature(signature) {
68
+ const s = signature.toUint8Array().slice(32);
69
+ for (let i = L.length - 1; i >= 0; i -= 1) {
70
+ if (s[i] < L[i]) {
71
+ return true;
72
+ }
73
+ if (s[i] > L[i]) {
74
+ return false;
75
+ }
76
+ }
77
+ return false;
78
+ }
79
+ var _Ed25519PublicKey = class _Ed25519PublicKey extends AccountPublicKey {
80
+ /**
81
+ * Creates an instance of the Ed25519Signature class from a hex input.
82
+ * This constructor validates the length of the signature to ensure it meets the required specifications.
83
+ *
84
+ * @param hexInput - The hex input representing the Ed25519 signature.
85
+ * @throws Error if the signature length is not equal to Ed25519Signature.LENGTH.
86
+ * @group Implementation
87
+ * @category Serialization
88
+ */
89
+ constructor(hexInput) {
90
+ super();
91
+ const hex = Hex.fromHexInput(hexInput);
92
+ if (hex.toUint8Array().length !== _Ed25519PublicKey.LENGTH) {
93
+ throw new Error(`PublicKey length should be ${_Ed25519PublicKey.LENGTH}`);
94
+ }
95
+ this.key = hex;
96
+ }
97
+ // region AccountPublicKey
98
+ /**
99
+ * Verifies a signed message using a public key.
100
+ *
101
+ * @param args - The arguments for verification.
102
+ * @param args.message - A signed message as a Hex string or Uint8Array.
103
+ * @param args.signature - The signature of the message.
104
+ * @group Implementation
105
+ * @category Serialization
106
+ */
107
+ verifySignature(args) {
108
+ const { message, signature } = args;
109
+ if (!isCanonicalEd25519Signature(signature)) {
110
+ return false;
111
+ }
112
+ const messageToVerify = convertSigningMessage(message);
113
+ const messageBytes = Hex.fromHexInput(messageToVerify).toUint8Array();
114
+ const signatureBytes = signature.toUint8Array();
115
+ const publicKeyBytes = this.key.toUint8Array();
116
+ return ed25519.verify(signatureBytes, messageBytes, publicKeyBytes);
117
+ }
118
+ /**
119
+ * Generates an authentication key from the public key using the Ed25519 scheme.
120
+ * This function is essential for creating a secure authentication key that can be used for further cryptographic operations.
121
+ *
122
+ * @returns {AuthenticationKey} The generated authentication key.
123
+ * @group Implementation
124
+ * @category Serialization
125
+ */
126
+ authKey() {
127
+ return AuthenticationKey.fromSchemeAndBytes({
128
+ scheme: 0 /* Ed25519 */,
129
+ input: this.toUint8Array()
130
+ });
131
+ }
132
+ /**
133
+ * Convert the internal data representation to a Uint8Array.
134
+ *
135
+ * @returns Uint8Array representation of the data.
136
+ * @group Implementation
137
+ * @category Serialization
138
+ */
139
+ toUint8Array() {
140
+ return this.key.toUint8Array();
141
+ }
142
+ // endregion
143
+ // region Serializable
144
+ /**
145
+ * Serializes the data into a byte array using the provided serializer.
146
+ * This allows for the conversion of data into a format suitable for transmission or storage.
147
+ *
148
+ * @param serializer - The serializer instance used to perform the serialization.
149
+ * @group Implementation
150
+ * @category Serialization
151
+ */
152
+ serialize(serializer) {
153
+ serializer.serializeBytes(this.key.toUint8Array());
154
+ }
155
+ /**
156
+ * Deserialize bytes into an Ed25519Signature object.
157
+ * This function is used to convert serialized byte data into a usable Ed25519Signature instance.
158
+ *
159
+ * @param deserializer - The deserializer instance used to read the byte data.
160
+ * @group Implementation
161
+ * @category Serialization
162
+ */
163
+ static deserialize(deserializer) {
164
+ const bytes = deserializer.deserializeBytes();
165
+ return new _Ed25519PublicKey(bytes);
166
+ }
167
+ // endregion
168
+ /**
169
+ * Determine if the provided public key is an instance of Ed25519PublicKey.
170
+ *
171
+ * @param publicKey - The public key to check.
172
+ * @returns True if the public key is an instance of Ed25519PublicKey, otherwise false.
173
+ * @deprecated use `instanceof Ed25519PublicKey` instead.
174
+ * @group Implementation
175
+ * @category Serialization
176
+ */
177
+ static isPublicKey(publicKey) {
178
+ return publicKey instanceof _Ed25519PublicKey;
179
+ }
180
+ /**
181
+ * Determines if the provided public key is a valid Ed25519 public key.
182
+ * This function checks for the presence of the "key" property and verifies that its data length matches the expected length
183
+ * for Ed25519 public keys.
184
+ *
185
+ * @param publicKey - The public key to validate.
186
+ * @returns A boolean indicating whether the public key is a valid Ed25519 public key.
187
+ * @group Implementation
188
+ * @category Serialization
189
+ */
190
+ static isInstance(publicKey) {
191
+ return "key" in publicKey && publicKey.key?.data?.length === _Ed25519PublicKey.LENGTH;
192
+ }
193
+ };
194
+ /**
195
+ * Length of an Ed25519 public key
196
+ * @group Implementation
197
+ * @category Serialization
198
+ */
199
+ _Ed25519PublicKey.LENGTH = 32;
200
+ var Ed25519PublicKey = _Ed25519PublicKey;
201
+ var _Ed25519PrivateKey = class _Ed25519PrivateKey extends Serializable {
202
+ // region Constructors
203
+ /**
204
+ * Create a new PrivateKey instance from a Uint8Array or String.
205
+ *
206
+ * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md)
207
+ *
208
+ * @param hexInput HexInput (string or Uint8Array)
209
+ * @param strict If true, private key must AIP-80 compliant.
210
+ * @group Implementation
211
+ * @category Serialization
212
+ */
213
+ constructor(hexInput, strict) {
214
+ super();
215
+ const privateKeyHex = PrivateKey.parseHexInput(hexInput, "ed25519" /* Ed25519 */, strict);
216
+ if (privateKeyHex.toUint8Array().length !== _Ed25519PrivateKey.LENGTH) {
217
+ throw new Error(`PrivateKey length should be ${_Ed25519PrivateKey.LENGTH}`);
218
+ }
219
+ this.signingKey = privateKeyHex;
220
+ }
221
+ /**
222
+ * Generate a new random private key.
223
+ *
224
+ * @returns Ed25519PrivateKey A newly generated Ed25519 private key.
225
+ * @group Implementation
226
+ * @category Serialization
227
+ */
228
+ static generate() {
229
+ const keyPair = ed25519.utils.randomPrivateKey();
230
+ return new _Ed25519PrivateKey(keyPair, false);
231
+ }
232
+ /**
233
+ * Derives a private key from a mnemonic seed phrase using a specified BIP44 path.
234
+ * To derive multiple keys from the same phrase, change the path
235
+ *
236
+ * IMPORTANT: Ed25519 supports hardened derivation only, as it lacks a key homomorphism, making non-hardened derivation impossible.
237
+ *
238
+ * @param path - The BIP44 path used for key derivation.
239
+ * @param mnemonics - The mnemonic seed phrase from which the key will be derived.
240
+ * @throws Error if the provided path is not a valid hardened path.
241
+ * @group Implementation
242
+ * @category Serialization
243
+ */
244
+ static fromDerivationPath(path, mnemonics) {
245
+ if (!isValidHardenedPath(path)) {
246
+ throw new Error(`Invalid derivation path ${path}`);
247
+ }
248
+ return _Ed25519PrivateKey.fromDerivationPathInner(path, mnemonicToSeed(mnemonics));
249
+ }
250
+ /**
251
+ * Derives a child private key from a given BIP44 path and seed.
252
+ * A private inner function so we can separate from the main fromDerivationPath() method
253
+ * to add tests to verify we create the keys correctly.
254
+ *
255
+ * @param path - The BIP44 path used for key derivation.
256
+ * @param seed - The seed phrase created by the mnemonics, represented as a Uint8Array.
257
+ * @param offset - The offset used for key derivation, defaults to HARDENED_OFFSET.
258
+ * @returns An instance of Ed25519PrivateKey derived from the specified path and seed.
259
+ * @group Implementation
260
+ * @category Serialization
261
+ */
262
+ static fromDerivationPathInner(path, seed, offset = HARDENED_OFFSET) {
263
+ const { key, chainCode } = deriveKey(_Ed25519PrivateKey.SLIP_0010_SEED, seed);
264
+ const segments = splitPath(path).map((el) => parseInt(el, 10));
265
+ const { key: privateKey } = segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {
266
+ key,
267
+ chainCode
268
+ });
269
+ return new _Ed25519PrivateKey(privateKey, false);
270
+ }
271
+ // endregion
272
+ // region PrivateKey
273
+ /**
274
+ * Derive the Ed25519PublicKey for this private key.
275
+ *
276
+ * @returns Ed25519PublicKey - The derived public key corresponding to the private key.
277
+ * @group Implementation
278
+ * @category Serialization
279
+ */
280
+ publicKey() {
281
+ const bytes = ed25519.getPublicKey(this.signingKey.toUint8Array());
282
+ return new Ed25519PublicKey(bytes);
283
+ }
284
+ /**
285
+ * Sign the given message with the private key.
286
+ * This function generates a digital signature for the specified message, ensuring its authenticity and integrity.
287
+ *
288
+ * @param message - A message as a string or Uint8Array in HexInput format.
289
+ * @returns A digital signature for the provided message.
290
+ * @group Implementation
291
+ * @category Serialization
292
+ */
293
+ sign(message) {
294
+ const messageToSign = convertSigningMessage(message);
295
+ const messageBytes = Hex.fromHexInput(messageToSign).toUint8Array();
296
+ const signatureBytes = ed25519.sign(messageBytes, this.signingKey.toUint8Array());
297
+ return new Ed25519Signature(signatureBytes);
298
+ }
299
+ /**
300
+ * Get the private key in bytes (Uint8Array).
301
+ *
302
+ * @returns Uint8Array representation of the private key
303
+ * @group Implementation
304
+ * @category Serialization
305
+ */
306
+ toUint8Array() {
307
+ return this.signingKey.toUint8Array();
308
+ }
309
+ /**
310
+ * Get the private key as a hex string with the 0x prefix.
311
+ *
312
+ * @returns string representation of the private key.
313
+ * @group Implementation
314
+ * @category Serialization
315
+ */
316
+ toString() {
317
+ return this.toHexString();
318
+ }
319
+ /**
320
+ * Get the private key as a hex string with the 0x prefix.
321
+ *
322
+ * @returns string representation of the private key.
323
+ */
324
+ toHexString() {
325
+ return this.signingKey.toString();
326
+ }
327
+ /**
328
+ * Get the private key as a AIP-80 compliant hex string.
329
+ *
330
+ * [Read about AIP-80](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-80.md)
331
+ *
332
+ * @returns AIP-80 compliant string representation of the private key.
333
+ */
334
+ toAIP80String() {
335
+ return PrivateKey.formatPrivateKey(this.signingKey.toString(), "ed25519" /* Ed25519 */);
336
+ }
337
+ // endregion
338
+ // region Serializable
339
+ serialize(serializer) {
340
+ serializer.serializeBytes(this.toUint8Array());
341
+ }
342
+ static deserialize(deserializer) {
343
+ const bytes = deserializer.deserializeBytes();
344
+ return new _Ed25519PrivateKey(bytes, false);
345
+ }
346
+ // endregion
347
+ /**
348
+ * Determines if the provided private key is an instance of Ed25519PrivateKey.
349
+ *
350
+ * @param privateKey - The private key to check.
351
+ * @returns A boolean indicating whether the private key is an Ed25519PrivateKey.
352
+ *
353
+ * @deprecated Use `instanceof Ed25519PrivateKey` instead.
354
+ * @group Implementation
355
+ * @category Serialization
356
+ */
357
+ static isPrivateKey(privateKey) {
358
+ return privateKey instanceof _Ed25519PrivateKey;
359
+ }
360
+ };
361
+ /**
362
+ * Length of an Ed25519 private key
363
+ * @group Implementation
364
+ * @category Serialization
365
+ */
366
+ _Ed25519PrivateKey.LENGTH = 32;
367
+ /**
368
+ * The Ed25519 key seed to use for BIP-32 compatibility
369
+ * See more {@link https://github.com/satoshilabs/slips/blob/master/slip-0010.md}
370
+ * @group Implementation
371
+ * @category Serialization
372
+ */
373
+ _Ed25519PrivateKey.SLIP_0010_SEED = "ed25519 seed";
374
+ var Ed25519PrivateKey = _Ed25519PrivateKey;
375
+ var _Ed25519Signature = class _Ed25519Signature extends Signature {
376
+ // region Constructors
377
+ constructor(hexInput) {
378
+ super();
379
+ const data = Hex.fromHexInput(hexInput);
380
+ if (data.toUint8Array().length !== _Ed25519Signature.LENGTH) {
381
+ throw new Error(`Signature length should be ${_Ed25519Signature.LENGTH}`);
382
+ }
383
+ this.data = data;
384
+ }
385
+ // endregion
386
+ // region Signature
387
+ toUint8Array() {
388
+ return this.data.toUint8Array();
389
+ }
390
+ // endregion
391
+ // region Serializable
392
+ serialize(serializer) {
393
+ serializer.serializeBytes(this.data.toUint8Array());
394
+ }
395
+ static deserialize(deserializer) {
396
+ const bytes = deserializer.deserializeBytes();
397
+ return new _Ed25519Signature(bytes);
398
+ }
399
+ // endregion
400
+ };
401
+ /**
402
+ * Length of an Ed25519 signature, which is 64 bytes.
403
+ * @group Implementation
404
+ * @category Serialization
405
+ */
406
+ _Ed25519Signature.LENGTH = 64;
407
+ var Ed25519Signature = _Ed25519Signature;
408
+
409
+ export {
410
+ isCanonicalEd25519Signature,
411
+ Ed25519PublicKey,
412
+ Ed25519PrivateKey,
413
+ Ed25519Signature
414
+ };
415
+ //# sourceMappingURL=chunk-TFW6N66T.mjs.map