@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.
- package/README.md +15 -9
- package/dist/common/{accountAddress-Cf1amU98.d.ts → accountAddress-D3UA_cOZ.d.ts} +86 -12
- package/dist/common/chunk-CSUBLTFA.js +1297 -0
- package/dist/common/chunk-CSUBLTFA.js.map +1 -0
- package/dist/common/cli/index.d.ts +1 -1
- package/dist/common/cli/index.js +486 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +3184 -2531
- package/dist/common/index.js +18279 -420
- package/dist/common/index.js.map +1 -1
- package/dist/esm/account/AbstractKeylessAccount.d.mts +1 -0
- package/dist/esm/account/AbstractKeylessAccount.mjs +75 -1
- package/dist/esm/account/AbstractedAccount.d.mts +91 -0
- package/dist/esm/account/AbstractedAccount.mjs +75 -0
- package/dist/esm/account/Account.d.mts +2 -1
- package/dist/esm/account/Account.mjs +72 -1
- package/dist/esm/account/AccountUtils.d.mts +17 -16
- package/dist/esm/account/AccountUtils.mjs +78 -1
- package/dist/esm/account/Ed25519Account.d.mts +3 -2
- package/dist/esm/account/Ed25519Account.mjs +70 -1
- package/dist/esm/account/EphemeralKeyPair.d.mts +1 -0
- package/dist/esm/account/EphemeralKeyPair.mjs +50 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +1 -0
- package/dist/esm/account/FederatedKeylessAccount.mjs +72 -1
- package/dist/esm/account/KeylessAccount.d.mts +1 -0
- package/dist/esm/account/KeylessAccount.mjs +72 -1
- package/dist/esm/account/MultiEd25519Account.d.mts +108 -0
- package/dist/esm/account/MultiEd25519Account.mjs +71 -0
- package/dist/esm/account/MultiKeyAccount.d.mts +2 -2
- package/dist/esm/account/MultiKeyAccount.mjs +74 -1
- package/dist/esm/account/SingleKeyAccount.d.mts +1 -0
- package/dist/esm/account/SingleKeyAccount.mjs +72 -1
- package/dist/esm/account/index.d.mts +4 -0
- package/dist/esm/account/index.mjs +119 -1
- package/dist/esm/account/utils.d.mts +1 -0
- package/dist/esm/account/utils.mjs +54 -1
- package/dist/esm/api/account/abstraction.d.mts +209 -0
- package/dist/esm/api/account/abstraction.mjs +102 -0
- package/dist/esm/api/account.d.mts +21 -2
- package/dist/esm/api/account.mjs +103 -1
- package/dist/esm/api/ans.d.mts +1 -0
- package/dist/esm/api/ans.mjs +101 -1
- package/dist/esm/api/aptos.d.mts +7 -1
- package/dist/esm/api/aptos.mjs +136 -1
- package/dist/esm/api/aptosConfig.d.mts +1 -0
- package/dist/esm/api/aptosConfig.mjs +9 -1
- package/dist/esm/api/coin.d.mts +1 -0
- package/dist/esm/api/coin.mjs +99 -1
- package/dist/esm/api/digitalAsset.d.mts +1 -0
- package/dist/esm/api/digitalAsset.mjs +101 -1
- package/dist/esm/api/event.d.mts +1 -0
- package/dist/esm/api/event.mjs +59 -1
- package/dist/esm/api/experimental.d.mts +83 -0
- package/dist/esm/api/experimental.mjs +100 -0
- package/dist/esm/api/faucet.d.mts +1 -0
- package/dist/esm/api/faucet.mjs +58 -1
- package/dist/esm/api/fungibleAsset.d.mts +1 -0
- package/dist/esm/api/fungibleAsset.mjs +101 -1
- package/dist/esm/api/general.d.mts +1 -0
- package/dist/esm/api/general.mjs +99 -1
- package/dist/esm/api/index.d.mts +5 -0
- package/dist/esm/api/index.mjs +140 -1
- package/dist/esm/api/keyless.d.mts +1 -0
- package/dist/esm/api/keyless.mjs +100 -1
- package/dist/esm/api/object.d.mts +1 -0
- package/dist/esm/api/object.mjs +59 -1
- package/dist/esm/api/staking.d.mts +1 -0
- package/dist/esm/api/staking.mjs +59 -1
- package/dist/esm/api/table.d.mts +1 -0
- package/dist/esm/api/table.mjs +38 -1
- package/dist/esm/api/transaction.d.mts +17 -6
- package/dist/esm/api/transaction.mjs +108 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +66 -0
- package/dist/esm/api/transactionSubmission/build.mjs +99 -1
- package/dist/esm/api/transactionSubmission/helpers.mjs +9 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +1 -0
- package/dist/esm/api/transactionSubmission/management.mjs +103 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +1 -0
- package/dist/esm/api/transactionSubmission/sign.mjs +218 -1
- package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
- package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -0
- package/dist/esm/api/transactionSubmission/simulate.mjs +100 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +1 -0
- package/dist/esm/api/transactionSubmission/submit.mjs +100 -1
- package/dist/esm/api/utils.d.mts +1 -0
- package/dist/esm/api/utils.mjs +36 -1
- package/dist/esm/bcs/consts.d.mts +1 -0
- package/dist/esm/bcs/consts.mjs +17 -1
- package/dist/esm/bcs/deserializer.d.mts +1 -0
- package/dist/esm/bcs/deserializer.mjs +10 -1
- package/dist/esm/bcs/index.d.mts +1 -0
- package/dist/esm/bcs/index.mjs +60 -1
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +1 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +12 -1
- package/dist/esm/bcs/serializable/fixedBytes.d.mts +1 -0
- package/dist/esm/bcs/serializable/fixedBytes.mjs +11 -1
- package/dist/esm/bcs/serializable/movePrimitives.d.mts +1 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs +26 -1
- package/dist/esm/bcs/serializable/moveStructs.d.mts +1 -0
- package/dist/esm/bcs/serializable/moveStructs.mjs +22 -1
- package/dist/esm/bcs/serializer.d.mts +1 -0
- package/dist/esm/bcs/serializer.mjs +18 -1
- package/dist/esm/chunk-2ZOIVB2U.mjs +63 -0
- package/dist/esm/{chunk-5EYTHMRZ.mjs.map → chunk-2ZOIVB2U.mjs.map} +1 -1
- package/dist/esm/chunk-32UQAST6.mjs +296 -0
- package/dist/esm/{chunk-QHEKBHNU.mjs.map → chunk-32UQAST6.mjs.map} +1 -1
- package/dist/esm/chunk-3IWV2Q3K.mjs +12 -0
- package/dist/esm/{chunk-XJJVJOX5.mjs.map → chunk-3IWV2Q3K.mjs.map} +1 -1
- package/dist/esm/chunk-3QMLVT4L.mjs +177 -0
- package/dist/esm/{chunk-E5HGSOG2.mjs.map → chunk-3QMLVT4L.mjs.map} +1 -1
- package/dist/esm/chunk-3SCNBHUA.mjs +177 -0
- package/dist/esm/{chunk-DOQV5BSA.mjs.map → chunk-3SCNBHUA.mjs.map} +1 -1
- package/dist/esm/chunk-3TUV6YMI.mjs +305 -0
- package/dist/esm/chunk-3TUV6YMI.mjs.map +1 -0
- package/dist/esm/chunk-46VPRC7E.mjs +407 -0
- package/dist/esm/{chunk-QQEK7WVP.mjs.map → chunk-46VPRC7E.mjs.map} +1 -1
- package/dist/esm/chunk-4BXAKN6A.mjs +84 -0
- package/dist/esm/chunk-4BXAKN6A.mjs.map +1 -0
- package/dist/esm/chunk-4WNIKKIV.mjs +45 -0
- package/dist/esm/{chunk-NYETBDSR.mjs.map → chunk-4WNIKKIV.mjs.map} +1 -1
- package/dist/esm/chunk-5E2IDRDF.mjs +61 -0
- package/dist/esm/{chunk-5EBUWO2M.mjs.map → chunk-5E2IDRDF.mjs.map} +1 -1
- package/dist/esm/chunk-5QHMFYVL.mjs +42 -0
- package/dist/esm/chunk-5QHMFYVL.mjs.map +1 -0
- package/dist/esm/chunk-6ASWESA2.mjs +77 -0
- package/dist/esm/{chunk-TOBQ5UE6.mjs.map → chunk-6ASWESA2.mjs.map} +1 -1
- package/dist/esm/chunk-6I37A76G.mjs +29 -0
- package/dist/esm/{chunk-BI3BTSUB.mjs.map → chunk-6I37A76G.mjs.map} +1 -1
- package/dist/esm/chunk-6PMKDSGB.mjs +167 -0
- package/dist/esm/{chunk-5VMAJTTV.mjs.map → chunk-6PMKDSGB.mjs.map} +1 -1
- package/dist/esm/chunk-6SNGKTWE.mjs +91 -0
- package/dist/esm/{chunk-BGSEBFFC.mjs.map → chunk-6SNGKTWE.mjs.map} +1 -1
- package/dist/esm/chunk-A3TQLIEM.mjs +19 -0
- package/dist/esm/{chunk-S7RZGC56.mjs.map → chunk-A3TQLIEM.mjs.map} +1 -1
- package/dist/esm/chunk-AGKEC2IM.mjs +250 -0
- package/dist/esm/chunk-AGKEC2IM.mjs.map +1 -0
- package/dist/esm/chunk-AKXCFBYF.mjs +49 -0
- package/dist/esm/chunk-AKXCFBYF.mjs.map +1 -0
- package/dist/esm/chunk-APM7OSLS.mjs +122 -0
- package/dist/esm/{chunk-GOXRBEIJ.mjs.map → chunk-APM7OSLS.mjs.map} +1 -1
- package/dist/esm/chunk-BDM6FBUO.mjs +198 -0
- package/dist/esm/chunk-BDM6FBUO.mjs.map +1 -0
- package/dist/esm/chunk-BEYIOC2H.mjs +34 -0
- package/dist/esm/{chunk-YOZBVVKL.mjs.map → chunk-BEYIOC2H.mjs.map} +1 -1
- package/dist/esm/chunk-BMM72IIP.mjs +250 -0
- package/dist/esm/{chunk-AZWVCBK2.mjs.map → chunk-BMM72IIP.mjs.map} +1 -1
- package/dist/esm/chunk-BQ5JTYXK.mjs +1014 -0
- package/dist/esm/{chunk-WQRGDSPD.mjs.map → chunk-BQ5JTYXK.mjs.map} +1 -1
- package/dist/esm/chunk-C7T6GW5P.mjs +376 -0
- package/dist/esm/{chunk-EBMEXURY.mjs.map → chunk-C7T6GW5P.mjs.map} +1 -1
- package/dist/esm/chunk-CXLXUSCG.mjs +417 -0
- package/dist/esm/{chunk-Q4C4U6I4.mjs.map → chunk-CXLXUSCG.mjs.map} +1 -1
- package/dist/esm/chunk-D4MW64RH.mjs +188 -0
- package/dist/esm/{chunk-DYATTONT.mjs.map → chunk-D4MW64RH.mjs.map} +1 -1
- package/dist/esm/chunk-DDZGHA66.mjs +495 -0
- package/dist/esm/{chunk-G4O6FXCF.mjs.map → chunk-DDZGHA66.mjs.map} +1 -1
- package/dist/esm/chunk-DMFRIING.mjs +286 -0
- package/dist/esm/chunk-DMFRIING.mjs.map +1 -0
- package/dist/esm/chunk-DUOU3SNQ.mjs +51 -0
- package/dist/esm/chunk-DUOU3SNQ.mjs.map +1 -0
- package/dist/esm/chunk-EBEO4SA4.mjs +367 -0
- package/dist/esm/{chunk-ONTWK5FU.mjs.map → chunk-EBEO4SA4.mjs.map} +1 -1
- package/dist/esm/chunk-ECTX2FGD.mjs +355 -0
- package/dist/esm/{chunk-NBNZ53ZV.mjs.map → chunk-ECTX2FGD.mjs.map} +1 -1
- package/dist/esm/chunk-EFJAJFI3.mjs +53 -0
- package/dist/esm/{chunk-X6UNY6YM.mjs.map → chunk-EFJAJFI3.mjs.map} +1 -1
- package/dist/esm/chunk-EMKV5DFX.mjs +66 -0
- package/dist/esm/{chunk-6YHDZLRN.mjs.map → chunk-EMKV5DFX.mjs.map} +1 -1
- package/dist/esm/chunk-EPTUAWRA.mjs +895 -0
- package/dist/esm/chunk-EPTUAWRA.mjs.map +1 -0
- package/dist/esm/chunk-ESZLRZTK.mjs +276 -0
- package/dist/esm/{chunk-2FBJWTJD.mjs.map → chunk-ESZLRZTK.mjs.map} +1 -1
- package/dist/esm/chunk-F7W7KS5C.mjs +52 -0
- package/dist/esm/{chunk-C3Q23D22.mjs.map → chunk-F7W7KS5C.mjs.map} +1 -1
- package/dist/esm/chunk-FMNMYKYH.mjs +71 -0
- package/dist/esm/{chunk-N4DM5FYH.mjs.map → chunk-FMNMYKYH.mjs.map} +1 -1
- package/dist/esm/chunk-G34CJDST.mjs +139 -0
- package/dist/esm/chunk-G34CJDST.mjs.map +1 -0
- package/dist/esm/chunk-G4NBRMZ2.mjs +7 -0
- package/dist/esm/chunk-G4NBRMZ2.mjs.map +1 -0
- package/dist/esm/chunk-GFPEB22G.mjs +1 -0
- package/dist/esm/chunk-GFPEB22G.mjs.map +1 -0
- package/dist/esm/chunk-GUA5YTIK.mjs +362 -0
- package/dist/esm/{chunk-35DKMW7Q.mjs.map → chunk-GUA5YTIK.mjs.map} +1 -1
- package/dist/esm/chunk-HLTYSM7H.mjs +89 -0
- package/dist/esm/{chunk-VV4HCOJQ.mjs.map → chunk-HLTYSM7H.mjs.map} +1 -1
- package/dist/esm/chunk-HMHFKEHQ.mjs +70 -0
- package/dist/esm/chunk-HMHFKEHQ.mjs.map +1 -0
- package/dist/esm/chunk-HQ6A6TYS.mjs +475 -0
- package/dist/esm/chunk-HQ6A6TYS.mjs.map +1 -0
- package/dist/esm/chunk-HQTQEHHZ.mjs +195 -0
- package/dist/esm/chunk-HQTQEHHZ.mjs.map +1 -0
- package/dist/esm/chunk-I25AX6PQ.mjs +7 -0
- package/dist/esm/{chunk-77AEKF7K.mjs.map → chunk-I25AX6PQ.mjs.map} +1 -1
- package/dist/esm/chunk-I4OHHVRF.mjs +125 -0
- package/dist/esm/{chunk-M77M6NSB.mjs.map → chunk-I4OHHVRF.mjs.map} +1 -1
- package/dist/esm/chunk-I6QE3PKO.mjs +100 -0
- package/dist/esm/chunk-I6QE3PKO.mjs.map +1 -0
- package/dist/esm/chunk-IPUAVRGL.mjs +248 -0
- package/dist/esm/{chunk-VUIHJIMX.mjs.map → chunk-IPUAVRGL.mjs.map} +1 -1
- package/dist/esm/chunk-J7WQ42OC.mjs +195 -0
- package/dist/esm/{chunk-4EUS4E6S.mjs.map → chunk-J7WQ42OC.mjs.map} +1 -1
- package/dist/esm/chunk-JOVCSFQC.mjs +58 -0
- package/dist/esm/{chunk-4ZYPDCSP.mjs.map → chunk-JOVCSFQC.mjs.map} +1 -1
- package/dist/esm/chunk-K3CXNID3.mjs +74 -0
- package/dist/esm/{chunk-ZPV7HPA4.mjs.map → chunk-K3CXNID3.mjs.map} +1 -1
- package/dist/esm/chunk-KAKSJSCR.mjs +58 -0
- package/dist/esm/{chunk-FIEMUPXF.mjs.map → chunk-KAKSJSCR.mjs.map} +1 -1
- package/dist/esm/chunk-KCV4HRSJ.mjs +420 -0
- package/dist/esm/{chunk-NWLJ6RW7.mjs.map → chunk-KCV4HRSJ.mjs.map} +1 -1
- package/dist/esm/chunk-KEKNIJHE.mjs +90 -0
- package/dist/esm/{chunk-XTJOA5QN.mjs.map → chunk-KEKNIJHE.mjs.map} +1 -1
- package/dist/esm/chunk-KEZG4OGH.mjs +725 -0
- package/dist/esm/chunk-KEZG4OGH.mjs.map +1 -0
- package/dist/esm/chunk-KLUO6XPE.mjs +33 -0
- package/dist/esm/{chunk-WCMW2L3P.mjs.map → chunk-KLUO6XPE.mjs.map} +1 -1
- package/dist/esm/chunk-KLZCGNPI.mjs +322 -0
- package/dist/esm/{chunk-AXYARCYT.mjs.map → chunk-KLZCGNPI.mjs.map} +1 -1
- package/dist/esm/chunk-KPAICS4T.mjs +160 -0
- package/dist/esm/{chunk-7IY3DTEF.mjs.map → chunk-KPAICS4T.mjs.map} +1 -1
- package/dist/esm/chunk-KSK3XIGF.mjs +502 -0
- package/dist/esm/{chunk-IDTLNF4M.mjs.map → chunk-KSK3XIGF.mjs.map} +1 -1
- package/dist/esm/chunk-LFMXR5C2.mjs +208 -0
- package/dist/esm/{chunk-E7JDVKFY.mjs.map → chunk-LFMXR5C2.mjs.map} +1 -1
- package/dist/esm/chunk-LHQJNJUB.mjs +829 -0
- package/dist/esm/chunk-LHQJNJUB.mjs.map +1 -0
- package/dist/esm/chunk-LJRNGZMY.mjs +10 -0
- package/dist/esm/chunk-LJRNGZMY.mjs.map +1 -0
- package/dist/esm/chunk-LL4RQKIB.mjs +120 -0
- package/dist/esm/chunk-LL4RQKIB.mjs.map +1 -0
- package/dist/esm/chunk-LSIXUJ5T.mjs +288 -0
- package/dist/esm/{chunk-XZ4JRYCE.mjs.map → chunk-LSIXUJ5T.mjs.map} +1 -1
- package/dist/esm/chunk-MFFBZ43D.mjs +45 -0
- package/dist/esm/{chunk-N6YTF76Q.mjs.map → chunk-MFFBZ43D.mjs.map} +1 -1
- package/dist/esm/chunk-MG6UFOJW.mjs +207 -0
- package/dist/esm/chunk-MG6UFOJW.mjs.map +1 -0
- package/dist/esm/chunk-MHZVL3EA.mjs +192 -0
- package/dist/esm/chunk-MHZVL3EA.mjs.map +1 -0
- package/dist/esm/chunk-MIVDDJAH.mjs +50 -0
- package/dist/esm/chunk-MIVDDJAH.mjs.map +1 -0
- package/dist/esm/chunk-MUSTBCQX.mjs +71 -0
- package/dist/esm/{chunk-MCLYDS3O.mjs.map → chunk-MUSTBCQX.mjs.map} +1 -1
- package/dist/esm/chunk-MWXBQ6HR.mjs +15 -0
- package/dist/esm/{chunk-4YLUM62M.mjs.map → chunk-MWXBQ6HR.mjs.map} +1 -1
- package/dist/esm/chunk-MYEYZ7PF.mjs +46 -0
- package/dist/esm/{chunk-XKUIMGKU.mjs.map → chunk-MYEYZ7PF.mjs.map} +1 -1
- package/dist/esm/chunk-NMYFY7WN.mjs +219 -0
- package/dist/esm/chunk-NMYFY7WN.mjs.map +1 -0
- package/dist/esm/chunk-NUT2VOX2.mjs +317 -0
- package/dist/esm/{chunk-XTOIL6MB.mjs.map → chunk-NUT2VOX2.mjs.map} +1 -1
- package/dist/esm/chunk-ODG7T6OV.mjs +43 -0
- package/dist/esm/{chunk-2UXW3EB7.mjs.map → chunk-ODG7T6OV.mjs.map} +1 -1
- package/dist/esm/chunk-OFUNBTK4.mjs +169 -0
- package/dist/esm/chunk-OFUNBTK4.mjs.map +1 -0
- package/dist/esm/chunk-OQ6XT2GF.mjs +147 -0
- package/dist/esm/{chunk-5YWH3XPN.mjs.map → chunk-OQ6XT2GF.mjs.map} +1 -1
- package/dist/esm/chunk-P64LPFEC.mjs +128 -0
- package/dist/esm/{chunk-2N5KYALM.mjs.map → chunk-P64LPFEC.mjs.map} +1 -1
- package/dist/esm/chunk-PGFEUN7K.mjs +129 -0
- package/dist/esm/{chunk-CWKNJZB6.mjs.map → chunk-PGFEUN7K.mjs.map} +1 -1
- package/dist/esm/chunk-PKUXOBIV.mjs +138 -0
- package/dist/esm/{chunk-FN4C3CKC.mjs.map → chunk-PKUXOBIV.mjs.map} +1 -1
- package/dist/esm/chunk-PT2QHUB6.mjs +96 -0
- package/dist/esm/{chunk-A5L76YP7.mjs.map → chunk-PT2QHUB6.mjs.map} +1 -1
- package/dist/esm/chunk-QJ6CGH7N.mjs +71 -0
- package/dist/esm/{chunk-OHZURQPY.mjs.map → chunk-QJ6CGH7N.mjs.map} +1 -1
- package/dist/esm/chunk-QN5BQMWP.mjs +21 -0
- package/dist/esm/{chunk-JJM6ELMS.mjs.map → chunk-QN5BQMWP.mjs.map} +1 -1
- package/dist/esm/chunk-QPT4BSAB.mjs +20 -0
- package/dist/esm/{chunk-IF4UU2MT.mjs.map → chunk-QPT4BSAB.mjs.map} +1 -1
- package/dist/esm/chunk-QSYWLSSN.mjs +216 -0
- package/dist/esm/{chunk-ORMOQWWH.mjs.map → chunk-QSYWLSSN.mjs.map} +1 -1
- package/dist/esm/chunk-QW7RQDZ5.mjs +224 -0
- package/dist/esm/chunk-QW7RQDZ5.mjs.map +1 -0
- package/dist/esm/chunk-R4JTQQBX.mjs +37 -0
- package/dist/esm/{chunk-EMURYYVO.mjs.map → chunk-R4JTQQBX.mjs.map} +1 -1
- package/dist/esm/chunk-RQS33JAS.mjs +77 -0
- package/dist/esm/chunk-RQS33JAS.mjs.map +1 -0
- package/dist/esm/chunk-S56SMMAK.mjs +86 -0
- package/dist/esm/{chunk-OROPNHRY.mjs.map → chunk-S56SMMAK.mjs.map} +1 -1
- package/dist/esm/chunk-SAWN7RJP.mjs +15 -0
- package/dist/esm/chunk-SAWN7RJP.mjs.map +1 -0
- package/dist/esm/chunk-SBB4YEPT.mjs +17 -0
- package/dist/esm/{chunk-56CNRT2K.mjs.map → chunk-SBB4YEPT.mjs.map} +1 -1
- package/dist/esm/chunk-SDIZSFCQ.mjs +281 -0
- package/dist/esm/{chunk-3RCAJICY.mjs.map → chunk-SDIZSFCQ.mjs.map} +1 -1
- package/dist/esm/chunk-SFLQPB72.mjs +63 -0
- package/dist/esm/{chunk-4RXKALLC.mjs.map → chunk-SFLQPB72.mjs.map} +1 -1
- package/dist/esm/chunk-SGKF62FT.mjs +70 -0
- package/dist/esm/chunk-SGKF62FT.mjs.map +1 -0
- package/dist/esm/chunk-SN6KXHPA.mjs +162 -0
- package/dist/esm/{chunk-V6VPMNWJ.mjs.map → chunk-SN6KXHPA.mjs.map} +1 -1
- package/dist/esm/chunk-T573PCIR.mjs +700 -0
- package/dist/esm/{chunk-IEUEMBFD.mjs.map → chunk-T573PCIR.mjs.map} +1 -1
- package/dist/esm/chunk-TFW6N66T.mjs +415 -0
- package/dist/esm/{chunk-FZD5RWSZ.mjs.map → chunk-TFW6N66T.mjs.map} +1 -1
- package/dist/esm/chunk-THWEBWUC.mjs +20 -0
- package/dist/esm/{chunk-DPW6ELCQ.mjs.map → chunk-THWEBWUC.mjs.map} +1 -1
- package/dist/esm/chunk-TQDWZXFD.mjs +239 -0
- package/dist/esm/{chunk-OR6GFWLG.mjs.map → chunk-TQDWZXFD.mjs.map} +1 -1
- package/dist/esm/chunk-UIRAXHDH.mjs +1 -0
- package/dist/esm/chunk-UIRAXHDH.mjs.map +1 -0
- package/dist/esm/chunk-UKZP2GAB.mjs +415 -0
- package/dist/esm/chunk-UKZP2GAB.mjs.map +1 -0
- package/dist/esm/chunk-UOHCJOXI.mjs +150 -0
- package/dist/esm/{chunk-43GCGE6C.mjs.map → chunk-UOHCJOXI.mjs.map} +1 -1
- package/dist/esm/chunk-UXAUOSSB.mjs +219 -0
- package/dist/esm/chunk-UXAUOSSB.mjs.map +1 -0
- package/dist/esm/chunk-VGI2LPO3.mjs +604 -0
- package/dist/esm/chunk-VGI2LPO3.mjs.map +1 -0
- package/dist/esm/chunk-WEOK7WVL.mjs +66 -0
- package/dist/esm/{chunk-UC23V7PU.mjs.map → chunk-WEOK7WVL.mjs.map} +1 -1
- package/dist/esm/chunk-WPV52HGD.mjs +40 -0
- package/dist/esm/chunk-WPV52HGD.mjs.map +1 -0
- package/dist/esm/chunk-XGB3QLVI.mjs +86 -0
- package/dist/esm/{chunk-6CXMDJQR.mjs.map → chunk-XGB3QLVI.mjs.map} +1 -1
- package/dist/esm/chunk-XGUYC57L.mjs +97 -0
- package/dist/esm/{chunk-2TJ6OTVD.mjs.map → chunk-XGUYC57L.mjs.map} +1 -1
- package/dist/esm/chunk-XIBOO3WF.mjs +168 -0
- package/dist/esm/{chunk-YCQUYDZI.mjs.map → chunk-XIBOO3WF.mjs.map} +1 -1
- package/dist/esm/chunk-XQFUKBY7.mjs +136 -0
- package/dist/esm/chunk-XQFUKBY7.mjs.map +1 -0
- package/dist/esm/chunk-XXLSA7W7.mjs +79 -0
- package/dist/esm/{chunk-ZGVNZE7J.mjs.map → chunk-XXLSA7W7.mjs.map} +1 -1
- package/dist/esm/chunk-Y3ENAKRC.mjs +73 -0
- package/dist/esm/{chunk-MT2RJ7H3.mjs.map → chunk-Y3ENAKRC.mjs.map} +1 -1
- package/dist/esm/chunk-Y4FHNC5I.mjs +513 -0
- package/dist/esm/{chunk-XY43TPRH.mjs.map → chunk-Y4FHNC5I.mjs.map} +1 -1
- package/dist/esm/chunk-Y7KAC4I4.mjs +130 -0
- package/dist/esm/{chunk-ZAIVZDOL.mjs.map → chunk-Y7KAC4I4.mjs.map} +1 -1
- package/dist/esm/chunk-YIHVPGHN.mjs +689 -0
- package/dist/esm/{chunk-KOORZTHC.mjs.map → chunk-YIHVPGHN.mjs.map} +1 -1
- package/dist/esm/chunk-YU65LNIC.mjs +72 -0
- package/dist/esm/{chunk-ROT6S6BM.mjs.map → chunk-YU65LNIC.mjs.map} +1 -1
- package/dist/esm/chunk-ZNGTK5IZ.mjs +121 -0
- package/dist/esm/chunk-ZNGTK5IZ.mjs.map +1 -0
- package/dist/esm/chunk-ZWCTF3NQ.mjs +25 -0
- package/dist/esm/{chunk-W4BSN6SK.mjs.map → chunk-ZWCTF3NQ.mjs.map} +1 -1
- package/dist/esm/chunk-ZWD4BJVD.mjs +379 -0
- package/dist/esm/chunk-ZWD4BJVD.mjs.map +1 -0
- package/dist/esm/cli/index.d.mts +1 -0
- package/dist/esm/cli/index.mjs +20 -1
- package/dist/esm/cli/localNode.mjs +16 -1
- package/dist/esm/cli/move.d.mts +1 -0
- package/dist/esm/cli/move.mjs +7 -1
- package/dist/esm/client/core.d.mts +37 -1
- package/dist/esm/client/core.mjs +34 -1
- package/dist/esm/client/get.d.mts +36 -1
- package/dist/esm/client/get.mjs +41 -1
- package/dist/esm/client/index.d.mts +4 -3
- package/dist/esm/client/index.mjs +69 -1
- package/dist/esm/client/post.d.mts +35 -1
- package/dist/esm/client/post.mjs +43 -1
- package/dist/esm/core/account/index.d.mts +1 -0
- package/dist/esm/core/account/index.mjs +21 -1
- package/dist/esm/core/account/utils/address.d.mts +1 -0
- package/dist/esm/core/account/utils/address.mjs +19 -1
- package/dist/esm/core/account/utils/index.d.mts +1 -0
- package/dist/esm/core/account/utils/index.mjs +20 -1
- package/dist/esm/core/accountAddress.d.mts +1 -0
- package/dist/esm/core/accountAddress.mjs +16 -1
- package/dist/esm/core/authenticationKey.d.mts +1 -0
- package/dist/esm/core/authenticationKey.mjs +15 -1
- package/dist/esm/core/common.mjs +7 -1
- package/dist/esm/core/crypto/abstraction.d.mts +30 -0
- package/dist/esm/core/crypto/abstraction.mjs +27 -0
- package/dist/esm/core/crypto/abstraction.mjs.map +1 -0
- package/dist/esm/core/crypto/ed25519.d.mts +1 -0
- package/dist/esm/core/crypto/ed25519.mjs +33 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +1 -0
- package/dist/esm/core/crypto/ephemeral.mjs +30 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +1 -0
- package/dist/esm/core/crypto/federatedKeyless.mjs +44 -1
- package/dist/esm/core/crypto/hdKey.mjs +25 -1
- package/dist/esm/core/crypto/index.d.mts +2 -1
- package/dist/esm/core/crypto/index.mjs +173 -1
- package/dist/esm/core/crypto/keyless.d.mts +1 -0
- package/dist/esm/core/crypto/keyless.mjs +83 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +18 -2
- package/dist/esm/core/crypto/multiEd25519.mjs +50 -1
- package/dist/esm/core/crypto/multiKey.d.mts +34 -15
- package/dist/esm/core/crypto/multiKey.mjs +51 -1
- package/dist/esm/core/crypto/poseidon.mjs +15 -1
- package/dist/esm/core/crypto/privateKey.d.mts +1 -0
- package/dist/esm/core/crypto/privateKey.mjs +12 -1
- package/dist/esm/core/crypto/proof.d.mts +1 -0
- package/dist/esm/core/crypto/proof.mjs +20 -1
- package/dist/esm/core/crypto/publicKey.d.mts +1 -0
- package/dist/esm/core/crypto/publicKey.mjs +22 -1
- package/dist/esm/core/crypto/secp256k1.d.mts +1 -0
- package/dist/esm/core/crypto/secp256k1.mjs +29 -1
- package/dist/esm/core/crypto/signature.d.mts +1 -0
- package/dist/esm/core/crypto/signature.mjs +20 -1
- package/dist/esm/core/crypto/singleKey.d.mts +1 -0
- package/dist/esm/core/crypto/singleKey.mjs +48 -1
- package/dist/esm/core/crypto/utils.d.mts +1 -0
- package/dist/esm/core/crypto/utils.mjs +9 -1
- package/dist/esm/core/hex.d.mts +1 -0
- package/dist/esm/core/hex.mjs +12 -1
- package/dist/esm/core/index.d.mts +2 -1
- package/dist/esm/core/index.mjs +202 -1
- package/dist/esm/errors/index.d.mts +1 -0
- package/dist/esm/errors/index.mjs +25 -1
- package/dist/esm/index.d.mts +18 -11
- package/dist/esm/index.mjs +791 -1
- package/dist/esm/internal/abstraction.d.mts +55 -0
- package/dist/esm/internal/abstraction.mjs +104 -0
- package/dist/esm/internal/abstraction.mjs.map +1 -0
- package/dist/esm/internal/account.d.mts +23 -5
- package/dist/esm/internal/account.mjs +128 -1
- package/dist/esm/internal/ans.d.mts +1 -0
- package/dist/esm/internal/ans.mjs +138 -1
- package/dist/esm/internal/coin.d.mts +1 -0
- package/dist/esm/internal/coin.mjs +98 -1
- package/dist/esm/internal/digitalAsset.d.mts +1 -0
- package/dist/esm/internal/digitalAsset.mjs +145 -1
- package/dist/esm/internal/event.d.mts +1 -0
- package/dist/esm/internal/event.mjs +62 -1
- package/dist/esm/internal/experimental.d.mts +52 -0
- package/dist/esm/internal/experimental.mjs +99 -0
- package/dist/esm/internal/experimental.mjs.map +1 -0
- package/dist/esm/internal/faucet.d.mts +1 -0
- package/dist/esm/internal/faucet.mjs +57 -1
- package/dist/esm/internal/fungibleAsset.d.mts +1 -0
- package/dist/esm/internal/fungibleAsset.mjs +105 -1
- package/dist/esm/internal/general.d.mts +1 -0
- package/dist/esm/internal/general.mjs +43 -1
- package/dist/esm/internal/keyless.d.mts +13 -1
- package/dist/esm/internal/keyless.mjs +105 -1
- package/dist/esm/internal/object.d.mts +1 -0
- package/dist/esm/internal/object.mjs +58 -1
- package/dist/esm/internal/staking.d.mts +1 -0
- package/dist/esm/internal/staking.mjs +60 -1
- package/dist/esm/internal/table.d.mts +1 -0
- package/dist/esm/internal/table.mjs +38 -1
- package/dist/esm/internal/transaction.d.mts +1 -0
- package/dist/esm/internal/transaction.mjs +57 -1
- package/dist/esm/internal/transactionSubmission.d.mts +21 -9
- package/dist/esm/internal/transactionSubmission.mjs +124 -1
- package/dist/esm/internal/view.d.mts +1 -0
- package/dist/esm/internal/view.mjs +100 -1
- package/dist/esm/transactions/authenticator/account.d.mts +12 -3
- package/dist/esm/transactions/authenticator/account.mjs +67 -1
- package/dist/esm/transactions/authenticator/index.d.mts +2 -1
- package/dist/esm/transactions/authenticator/index.mjs +82 -1
- package/dist/esm/transactions/authenticator/transaction.d.mts +3 -2
- package/dist/esm/transactions/authenticator/transaction.mjs +66 -1
- package/dist/esm/transactions/index.d.mts +6 -4
- package/dist/esm/transactions/index.mjs +310 -1
- package/dist/esm/transactions/instances/chainId.d.mts +1 -0
- package/dist/esm/transactions/instances/chainId.mjs +11 -1
- package/dist/esm/transactions/instances/identifier.d.mts +1 -0
- package/dist/esm/transactions/instances/identifier.mjs +11 -1
- package/dist/esm/transactions/instances/index.d.mts +1 -0
- package/dist/esm/transactions/instances/index.mjs +114 -1
- package/dist/esm/transactions/instances/moduleId.d.mts +1 -0
- package/dist/esm/transactions/instances/moduleId.mjs +55 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +1 -0
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +60 -1
- package/dist/esm/transactions/instances/rawTransaction.d.mts +1 -0
- package/dist/esm/transactions/instances/rawTransaction.mjs +65 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +21 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +5 -4
- package/dist/esm/transactions/instances/signedTransaction.mjs +63 -1
- package/dist/esm/transactions/instances/simpleTransaction.d.mts +1 -0
- package/dist/esm/transactions/instances/simpleTransaction.mjs +60 -1
- package/dist/esm/transactions/instances/transactionArgument.d.mts +1 -0
- package/dist/esm/transactions/instances/transactionArgument.mjs +1 -1
- package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -0
- package/dist/esm/transactions/instances/transactionPayload.mjs +73 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +1 -0
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +89 -1
- package/dist/esm/transactions/management/asyncQueue.mjs +9 -1
- package/dist/esm/transactions/management/index.d.mts +1 -0
- package/dist/esm/transactions/management/index.mjs +109 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +1 -0
- package/dist/esm/transactions/management/transactionWorker.mjs +105 -1
- package/dist/esm/transactions/scriptComposer/index.d.mts +53 -0
- package/dist/esm/transactions/scriptComposer/index.mjs +95 -0
- package/dist/esm/transactions/scriptComposer/index.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +3 -17
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +92 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +3 -2
- package/dist/esm/transactions/transactionBuilder/index.mjs +180 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +23 -2
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +105 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -0
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +75 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +112 -1
- package/dist/esm/transactions/typeTag/index.d.mts +1 -0
- package/dist/esm/transactions/typeTag/index.mjs +91 -1
- package/dist/esm/transactions/typeTag/parser.d.mts +1 -0
- package/dist/esm/transactions/typeTag/parser.mjs +60 -1
- package/dist/esm/transactions/types.d.mts +10 -1
- package/dist/esm/transactions/types.mjs +1 -1
- package/dist/esm/types/abstraction.d.mts +8 -0
- package/dist/esm/types/abstraction.mjs +8 -0
- package/dist/esm/types/abstraction.mjs.map +1 -0
- package/dist/esm/types/generated/operations.d.mts +63 -10
- package/dist/esm/types/generated/queries.d.mts +10 -2
- package/dist/esm/types/generated/queries.mjs +69 -1
- package/dist/esm/types/generated/types.d.mts +821 -1051
- package/dist/esm/types/generated/types.mjs +774 -1
- package/dist/esm/types/generated/types.mjs.map +1 -1
- package/dist/esm/types/index.d.mts +3 -2
- package/dist/esm/types/index.mjs +78 -1
- package/dist/esm/types/indexer.d.mts +14 -2
- package/dist/esm/types/indexer.mjs +1 -1
- package/dist/esm/types/types.d.mts +46 -4
- package/dist/esm/types/types.mjs +73 -1
- package/dist/esm/utils/apiEndpoints.mjs +21 -1
- package/dist/esm/utils/const.d.mts +1 -1
- package/dist/esm/utils/const.mjs +25 -1
- package/dist/esm/utils/helpers.d.mts +38 -2
- package/dist/esm/utils/helpers.mjs +37 -1
- package/dist/esm/utils/index.d.mts +2 -1
- package/dist/esm/utils/index.mjs +88 -1
- package/dist/esm/utils/memoize.mjs +9 -1
- package/dist/esm/utils/normalizeBundle.d.mts +1 -0
- package/dist/esm/utils/normalizeBundle.mjs +20 -1
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +7 -1
- package/package.json +21 -19
- package/src/account/AbstractedAccount.ts +111 -0
- package/src/account/MultiEd25519Account.ts +154 -0
- package/src/account/MultiKeyAccount.ts +1 -2
- package/src/account/index.ts +2 -0
- package/src/api/account/abstraction.ts +239 -0
- package/src/api/account.ts +63 -4
- package/src/api/aptos.ts +9 -0
- package/src/api/aptosConfig.ts +2 -2
- package/src/api/experimental.ts +64 -0
- package/src/api/transaction.ts +22 -2
- package/src/api/transactionSubmission/build.ts +85 -2
- package/src/client/core.ts +120 -0
- package/src/client/get.ts +73 -1
- package/src/client/post.ts +71 -1
- package/src/core/crypto/abstraction.ts +47 -0
- package/src/core/crypto/multiEd25519.ts +19 -3
- package/src/core/crypto/multiKey.ts +76 -52
- package/src/core/hex.ts +3 -1
- package/src/internal/abstraction.ts +79 -0
- package/src/internal/account.ts +378 -2
- package/src/internal/experimental.ts +55 -0
- package/src/internal/keyless.ts +17 -9
- package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
- package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
- package/src/internal/queries/getAccountAddressForAuthKey.graphql +8 -0
- package/src/internal/queries/getAuthKeysForPublicKey.graphql +9 -0
- package/src/internal/queries/getMultiKeyForAuthKey.graphql +9 -0
- package/src/internal/queries/getSignatures.graphql +13 -0
- package/src/internal/transactionSubmission.ts +125 -4
- package/src/internal/view.ts +4 -4
- package/src/transactions/authenticator/account.ts +52 -1
- package/src/transactions/index.ts +1 -0
- package/src/transactions/scriptComposer/index.ts +87 -0
- package/src/transactions/transactionBuilder/helpers.ts +1 -22
- package/src/transactions/transactionBuilder/remoteAbi.ts +62 -1
- package/src/transactions/transactionBuilder/transactionBuilder.ts +9 -1
- package/src/transactions/types.ts +11 -0
- package/src/types/abstraction.ts +6 -0
- package/src/types/codegen.yaml +1 -1
- package/src/types/generated/operations.ts +69 -8
- package/src/types/generated/queries.ts +111 -0
- package/src/types/generated/types.ts +925 -1133
- package/src/types/index.ts +1 -0
- package/src/types/indexer.ts +16 -0
- package/src/types/types.ts +46 -3
- package/src/utils/const.ts +1 -1
- package/src/utils/helpers.ts +50 -1
- package/src/version.ts +1 -1
- package/dist/common/chunk-IHUCZKG2.js +0 -2
- package/dist/common/chunk-IHUCZKG2.js.map +0 -1
- package/dist/esm/chunk-2FBJWTJD.mjs +0 -2
- package/dist/esm/chunk-2N5KYALM.mjs +0 -2
- package/dist/esm/chunk-2TJ6OTVD.mjs +0 -2
- package/dist/esm/chunk-2UXW3EB7.mjs +0 -2
- package/dist/esm/chunk-2WCATZVL.mjs +0 -2
- package/dist/esm/chunk-2WCATZVL.mjs.map +0 -1
- package/dist/esm/chunk-35DKMW7Q.mjs +0 -2
- package/dist/esm/chunk-3RCAJICY.mjs +0 -2
- package/dist/esm/chunk-43GCGE6C.mjs +0 -2
- package/dist/esm/chunk-4EUS4E6S.mjs +0 -2
- package/dist/esm/chunk-4RXKALLC.mjs +0 -2
- package/dist/esm/chunk-4YLUM62M.mjs +0 -2
- package/dist/esm/chunk-4ZYPDCSP.mjs +0 -2
- package/dist/esm/chunk-56CNRT2K.mjs +0 -2
- package/dist/esm/chunk-5EBUWO2M.mjs +0 -2
- package/dist/esm/chunk-5EYTHMRZ.mjs +0 -2
- package/dist/esm/chunk-5PXDPMF2.mjs +0 -4
- package/dist/esm/chunk-5PXDPMF2.mjs.map +0 -1
- package/dist/esm/chunk-5VMAJTTV.mjs +0 -2
- package/dist/esm/chunk-5YWH3XPN.mjs +0 -2
- package/dist/esm/chunk-67ZVDKJF.mjs +0 -2
- package/dist/esm/chunk-67ZVDKJF.mjs.map +0 -1
- package/dist/esm/chunk-6CXMDJQR.mjs +0 -2
- package/dist/esm/chunk-6IEZPA4H.mjs +0 -2
- package/dist/esm/chunk-6IEZPA4H.mjs.map +0 -1
- package/dist/esm/chunk-6YHDZLRN.mjs +0 -2
- package/dist/esm/chunk-6YWYAVFS.mjs +0 -2
- package/dist/esm/chunk-6YWYAVFS.mjs.map +0 -1
- package/dist/esm/chunk-77AEKF7K.mjs +0 -2
- package/dist/esm/chunk-7IY3DTEF.mjs +0 -2
- package/dist/esm/chunk-A5L76YP7.mjs +0 -2
- package/dist/esm/chunk-AFEHO5PP.mjs +0 -2
- package/dist/esm/chunk-AFEHO5PP.mjs.map +0 -1
- package/dist/esm/chunk-AXYARCYT.mjs +0 -2
- package/dist/esm/chunk-AZWVCBK2.mjs +0 -2
- package/dist/esm/chunk-BGSEBFFC.mjs +0 -2
- package/dist/esm/chunk-BI3BTSUB.mjs +0 -2
- package/dist/esm/chunk-C3Q23D22.mjs +0 -2
- package/dist/esm/chunk-CWKNJZB6.mjs +0 -2
- package/dist/esm/chunk-DAFSKSZ5.mjs +0 -2
- package/dist/esm/chunk-DAFSKSZ5.mjs.map +0 -1
- package/dist/esm/chunk-DOQV5BSA.mjs +0 -2
- package/dist/esm/chunk-DPW6ELCQ.mjs +0 -2
- package/dist/esm/chunk-DYATTONT.mjs +0 -2
- package/dist/esm/chunk-E5HGSOG2.mjs +0 -2
- package/dist/esm/chunk-E7JDVKFY.mjs +0 -2
- package/dist/esm/chunk-EBMEXURY.mjs +0 -2
- package/dist/esm/chunk-EMURYYVO.mjs +0 -2
- package/dist/esm/chunk-F2ZTBAJJ.mjs +0 -2
- package/dist/esm/chunk-F2ZTBAJJ.mjs.map +0 -1
- package/dist/esm/chunk-FD6FGKYY.mjs +0 -1
- package/dist/esm/chunk-FIEMUPXF.mjs +0 -2
- package/dist/esm/chunk-FN4C3CKC.mjs +0 -2
- package/dist/esm/chunk-FZD5RWSZ.mjs +0 -2
- package/dist/esm/chunk-G4O6FXCF.mjs +0 -2
- package/dist/esm/chunk-GOXRBEIJ.mjs +0 -2
- package/dist/esm/chunk-GP4TLDVZ.mjs +0 -1
- package/dist/esm/chunk-HBH2NQKU.mjs +0 -2
- package/dist/esm/chunk-HBH2NQKU.mjs.map +0 -1
- package/dist/esm/chunk-I5OYNCZS.mjs +0 -1
- package/dist/esm/chunk-IDTLNF4M.mjs +0 -2
- package/dist/esm/chunk-IEUEMBFD.mjs +0 -2
- package/dist/esm/chunk-IF4UU2MT.mjs +0 -2
- package/dist/esm/chunk-JBEUUULP.mjs +0 -2
- package/dist/esm/chunk-JBEUUULP.mjs.map +0 -1
- package/dist/esm/chunk-JJM6ELMS.mjs +0 -2
- package/dist/esm/chunk-KDMSOCZY.mjs +0 -2
- package/dist/esm/chunk-KOORZTHC.mjs +0 -2
- package/dist/esm/chunk-KVM2SGSF.mjs +0 -2
- package/dist/esm/chunk-KVM2SGSF.mjs.map +0 -1
- package/dist/esm/chunk-M77M6NSB.mjs +0 -2
- package/dist/esm/chunk-MCLYDS3O.mjs +0 -2
- package/dist/esm/chunk-MLSAZJZK.mjs +0 -2
- package/dist/esm/chunk-MLSAZJZK.mjs.map +0 -1
- package/dist/esm/chunk-MT2RJ7H3.mjs +0 -2
- package/dist/esm/chunk-MWBRD43V.mjs +0 -2
- package/dist/esm/chunk-MWBRD43V.mjs.map +0 -1
- package/dist/esm/chunk-N4DM5FYH.mjs +0 -2
- package/dist/esm/chunk-N6YTF76Q.mjs +0 -2
- package/dist/esm/chunk-NBNZ53ZV.mjs +0 -2
- package/dist/esm/chunk-NWLJ6RW7.mjs +0 -2
- package/dist/esm/chunk-NYETBDSR.mjs +0 -2
- package/dist/esm/chunk-OEQ2U7GK.mjs +0 -2
- package/dist/esm/chunk-OEQ2U7GK.mjs.map +0 -1
- package/dist/esm/chunk-OHZURQPY.mjs +0 -2
- package/dist/esm/chunk-ONTWK5FU.mjs +0 -2
- package/dist/esm/chunk-OR6GFWLG.mjs +0 -2
- package/dist/esm/chunk-ORMOQWWH.mjs +0 -2
- package/dist/esm/chunk-OROPNHRY.mjs +0 -2
- package/dist/esm/chunk-OSBRPVVI.mjs +0 -2
- package/dist/esm/chunk-OSBRPVVI.mjs.map +0 -1
- package/dist/esm/chunk-P7A5RILV.mjs +0 -2
- package/dist/esm/chunk-P7A5RILV.mjs.map +0 -1
- package/dist/esm/chunk-Q4C4U6I4.mjs +0 -4
- package/dist/esm/chunk-QHC5DKVZ.mjs +0 -2
- package/dist/esm/chunk-QHC5DKVZ.mjs.map +0 -1
- package/dist/esm/chunk-QHEKBHNU.mjs +0 -7
- package/dist/esm/chunk-QQEK7WVP.mjs +0 -2
- package/dist/esm/chunk-RJ7F4JDV.mjs +0 -2
- package/dist/esm/chunk-RJ7F4JDV.mjs.map +0 -1
- package/dist/esm/chunk-ROT6S6BM.mjs +0 -2
- package/dist/esm/chunk-S4LZMY2L.mjs +0 -2
- package/dist/esm/chunk-S4LZMY2L.mjs.map +0 -1
- package/dist/esm/chunk-S7RZGC56.mjs +0 -2
- package/dist/esm/chunk-STY74NUA.mjs +0 -2
- package/dist/esm/chunk-STY74NUA.mjs.map +0 -1
- package/dist/esm/chunk-TOBQ5UE6.mjs +0 -2
- package/dist/esm/chunk-U2PRGW4O.mjs +0 -2
- package/dist/esm/chunk-U2PRGW4O.mjs.map +0 -1
- package/dist/esm/chunk-UC23V7PU.mjs +0 -2
- package/dist/esm/chunk-V6VPMNWJ.mjs +0 -2
- package/dist/esm/chunk-VHNX2NUR.mjs +0 -473
- package/dist/esm/chunk-VHNX2NUR.mjs.map +0 -1
- package/dist/esm/chunk-VUIHJIMX.mjs +0 -2
- package/dist/esm/chunk-VV4HCOJQ.mjs +0 -2
- package/dist/esm/chunk-VVXBVJXD.mjs +0 -2
- package/dist/esm/chunk-VVXBVJXD.mjs.map +0 -1
- package/dist/esm/chunk-W4BSN6SK.mjs +0 -2
- package/dist/esm/chunk-WCMW2L3P.mjs +0 -2
- package/dist/esm/chunk-WQRGDSPD.mjs +0 -2
- package/dist/esm/chunk-WUWPN7XV.mjs +0 -2
- package/dist/esm/chunk-WUWPN7XV.mjs.map +0 -1
- package/dist/esm/chunk-X6UNY6YM.mjs +0 -2
- package/dist/esm/chunk-XJJVJOX5.mjs +0 -2
- package/dist/esm/chunk-XKUIMGKU.mjs +0 -2
- package/dist/esm/chunk-XTJOA5QN.mjs +0 -2
- package/dist/esm/chunk-XTOIL6MB.mjs +0 -2
- package/dist/esm/chunk-XY43TPRH.mjs +0 -2
- package/dist/esm/chunk-XYB6KYKW.mjs +0 -2
- package/dist/esm/chunk-XYB6KYKW.mjs.map +0 -1
- package/dist/esm/chunk-XZ4JRYCE.mjs +0 -2
- package/dist/esm/chunk-YCQUYDZI.mjs +0 -2
- package/dist/esm/chunk-YOZBVVKL.mjs +0 -2
- package/dist/esm/chunk-ZAIVZDOL.mjs +0 -2
- package/dist/esm/chunk-ZGVNZE7J.mjs +0 -2
- package/dist/esm/chunk-ZPV7HPA4.mjs +0 -2
- /package/dist/esm/{chunk-FD6FGKYY.mjs.map → account/AbstractedAccount.mjs.map} +0 -0
- /package/dist/esm/{chunk-GP4TLDVZ.mjs.map → account/MultiEd25519Account.mjs.map} +0 -0
- /package/dist/esm/{chunk-I5OYNCZS.mjs.map → api/account/abstraction.mjs.map} +0 -0
- /package/dist/esm/{chunk-KDMSOCZY.mjs.map → api/experimental.mjs.map} +0 -0
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deriveTransactionType,
|
|
3
|
+
generateSigningMessage
|
|
4
|
+
} from "./chunk-JOVCSFQC.mjs";
|
|
5
|
+
import {
|
|
6
|
+
AccountAuthenticatorSingleKey
|
|
7
|
+
} from "./chunk-AGKEC2IM.mjs";
|
|
8
|
+
import {
|
|
9
|
+
EphemeralKeyPair
|
|
10
|
+
} from "./chunk-XIBOO3WF.mjs";
|
|
11
|
+
import {
|
|
12
|
+
AnyPublicKey,
|
|
13
|
+
AnySignature
|
|
14
|
+
} from "./chunk-IPUAVRGL.mjs";
|
|
15
|
+
import {
|
|
16
|
+
FederatedKeylessPublicKey
|
|
17
|
+
} from "./chunk-6SNGKTWE.mjs";
|
|
18
|
+
import {
|
|
19
|
+
EphemeralCertificate,
|
|
20
|
+
KeylessPublicKey,
|
|
21
|
+
KeylessSignature,
|
|
22
|
+
ZeroKnowledgeSig,
|
|
23
|
+
getKeylessConfig,
|
|
24
|
+
getKeylessJWKs
|
|
25
|
+
} from "./chunk-T573PCIR.mjs";
|
|
26
|
+
import {
|
|
27
|
+
KeylessError
|
|
28
|
+
} from "./chunk-32UQAST6.mjs";
|
|
29
|
+
import {
|
|
30
|
+
base64UrlDecode
|
|
31
|
+
} from "./chunk-RQS33JAS.mjs";
|
|
32
|
+
import {
|
|
33
|
+
AccountAddress
|
|
34
|
+
} from "./chunk-CXLXUSCG.mjs";
|
|
35
|
+
import {
|
|
36
|
+
Serializable
|
|
37
|
+
} from "./chunk-C7T6GW5P.mjs";
|
|
38
|
+
import {
|
|
39
|
+
Hex
|
|
40
|
+
} from "./chunk-BDM6FBUO.mjs";
|
|
41
|
+
|
|
42
|
+
// src/account/AbstractKeylessAccount.ts
|
|
43
|
+
import EventEmitter from "eventemitter3";
|
|
44
|
+
import { jwtDecode } from "jwt-decode";
|
|
45
|
+
function isKeylessSigner(obj) {
|
|
46
|
+
return obj !== null && obj !== void 0 && typeof obj.checkKeylessAccountValidity === "function";
|
|
47
|
+
}
|
|
48
|
+
var _AbstractKeylessAccount = class _AbstractKeylessAccount extends Serializable {
|
|
49
|
+
/**
|
|
50
|
+
* Use the static generator `create(...)` instead.
|
|
51
|
+
* Creates an instance of the KeylessAccount with an optional proof.
|
|
52
|
+
*
|
|
53
|
+
* @param args - The parameters for creating a KeylessAccount.
|
|
54
|
+
* @param args.address - Optional account address associated with the KeylessAccount.
|
|
55
|
+
* @param args.publicKey - A KeylessPublicKey or FederatedKeylessPublicKey.
|
|
56
|
+
* @param args.ephemeralKeyPair - The ephemeral key pair used in the account creation.
|
|
57
|
+
* @param args.iss - A JWT issuer.
|
|
58
|
+
* @param args.uidKey - The claim on the JWT to identify a user. This is typically 'sub' or 'email'.
|
|
59
|
+
* @param args.uidVal - The unique id for this user, intended to be a stable user identifier.
|
|
60
|
+
* @param args.aud - The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's
|
|
61
|
+
* OIDC registration with the identity provider.
|
|
62
|
+
* @param args.pepper - A hexadecimal input used for additional security.
|
|
63
|
+
* @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.
|
|
64
|
+
* @param args.proofFetchCallback - Optional callback function for fetching proof.
|
|
65
|
+
* @param args.jwt - A JSON Web Token used for authentication.
|
|
66
|
+
* @param args.verificationKeyHash Optional 32-byte verification key hash as hex input used to check proof validity.
|
|
67
|
+
*/
|
|
68
|
+
constructor(args) {
|
|
69
|
+
super();
|
|
70
|
+
/**
|
|
71
|
+
* Signing scheme used to sign transactions
|
|
72
|
+
* @group Implementation
|
|
73
|
+
* @category Account (On-Chain Model)
|
|
74
|
+
*/
|
|
75
|
+
this.signingScheme = 2 /* SingleKey */;
|
|
76
|
+
const {
|
|
77
|
+
address,
|
|
78
|
+
ephemeralKeyPair,
|
|
79
|
+
publicKey,
|
|
80
|
+
uidKey,
|
|
81
|
+
uidVal,
|
|
82
|
+
aud,
|
|
83
|
+
pepper,
|
|
84
|
+
proof,
|
|
85
|
+
proofFetchCallback,
|
|
86
|
+
jwt,
|
|
87
|
+
verificationKeyHash
|
|
88
|
+
} = args;
|
|
89
|
+
this.ephemeralKeyPair = ephemeralKeyPair;
|
|
90
|
+
this.publicKey = publicKey;
|
|
91
|
+
this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
|
|
92
|
+
this.uidKey = uidKey;
|
|
93
|
+
this.uidVal = uidVal;
|
|
94
|
+
this.aud = aud;
|
|
95
|
+
this.jwt = jwt;
|
|
96
|
+
this.emitter = new EventEmitter();
|
|
97
|
+
this.proofOrPromise = proof;
|
|
98
|
+
if (proof instanceof ZeroKnowledgeSig) {
|
|
99
|
+
this.proof = proof;
|
|
100
|
+
} else {
|
|
101
|
+
if (proofFetchCallback === void 0) {
|
|
102
|
+
throw new Error("Must provide callback for async proof fetch");
|
|
103
|
+
}
|
|
104
|
+
this.emitter.on("proofFetchFinish", async (status) => {
|
|
105
|
+
await proofFetchCallback(status);
|
|
106
|
+
this.emitter.removeAllListeners();
|
|
107
|
+
});
|
|
108
|
+
this.init(proof);
|
|
109
|
+
}
|
|
110
|
+
const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();
|
|
111
|
+
if (pepperBytes.length !== _AbstractKeylessAccount.PEPPER_LENGTH) {
|
|
112
|
+
throw new Error(`Pepper length in bytes should be ${_AbstractKeylessAccount.PEPPER_LENGTH}`);
|
|
113
|
+
}
|
|
114
|
+
this.pepper = pepperBytes;
|
|
115
|
+
if (verificationKeyHash !== void 0) {
|
|
116
|
+
if (Hex.hexInputToUint8Array(verificationKeyHash).length !== 32) {
|
|
117
|
+
throw new Error("verificationKeyHash must be 32 bytes");
|
|
118
|
+
}
|
|
119
|
+
this.verificationKeyHash = Hex.hexInputToUint8Array(verificationKeyHash);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
getAnyPublicKey() {
|
|
123
|
+
return new AnyPublicKey(this.publicKey);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* This initializes the asynchronous proof fetch
|
|
127
|
+
* @return Emits whether the proof succeeds or fails, but has no return.
|
|
128
|
+
* @group Implementation
|
|
129
|
+
* @category Account (On-Chain Model)
|
|
130
|
+
*/
|
|
131
|
+
async init(promise) {
|
|
132
|
+
try {
|
|
133
|
+
this.proof = await promise;
|
|
134
|
+
this.emitter.emit("proofFetchFinish", { status: "Success" });
|
|
135
|
+
} catch (error) {
|
|
136
|
+
if (error instanceof Error) {
|
|
137
|
+
this.emitter.emit("proofFetchFinish", { status: "Failed", error: error.toString() });
|
|
138
|
+
} else {
|
|
139
|
+
this.emitter.emit("proofFetchFinish", { status: "Failed", error: "Unknown" });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Serializes the jwt data into a format suitable for transmission or storage.
|
|
145
|
+
* This function ensures that both the jwt data and the proof are properly serialized.
|
|
146
|
+
*
|
|
147
|
+
* @param serializer - The serializer instance used to convert the jwt data into bytes.
|
|
148
|
+
*/
|
|
149
|
+
serialize(serializer) {
|
|
150
|
+
this.accountAddress.serialize(serializer);
|
|
151
|
+
serializer.serializeStr(this.jwt);
|
|
152
|
+
serializer.serializeStr(this.uidKey);
|
|
153
|
+
serializer.serializeFixedBytes(this.pepper);
|
|
154
|
+
this.ephemeralKeyPair.serialize(serializer);
|
|
155
|
+
if (this.proof === void 0) {
|
|
156
|
+
throw new Error("Cannot serialize - proof undefined");
|
|
157
|
+
}
|
|
158
|
+
this.proof.serialize(serializer);
|
|
159
|
+
serializer.serializeOption(this.verificationKeyHash, 32);
|
|
160
|
+
}
|
|
161
|
+
static partialDeserialize(deserializer) {
|
|
162
|
+
const address = AccountAddress.deserialize(deserializer);
|
|
163
|
+
const jwt = deserializer.deserializeStr();
|
|
164
|
+
const uidKey = deserializer.deserializeStr();
|
|
165
|
+
const pepper = deserializer.deserializeFixedBytes(31);
|
|
166
|
+
const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
|
|
167
|
+
const proof = ZeroKnowledgeSig.deserialize(deserializer);
|
|
168
|
+
const verificationKeyHash = deserializer.deserializeOption("fixedBytes", 32);
|
|
169
|
+
return { address, jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Checks if the proof is expired. If so the account must be re-derived with a new EphemeralKeyPair
|
|
173
|
+
* and JWT token.
|
|
174
|
+
* @return boolean
|
|
175
|
+
* @group Implementation
|
|
176
|
+
* @category Account (On-Chain Model)
|
|
177
|
+
*/
|
|
178
|
+
isExpired() {
|
|
179
|
+
return this.ephemeralKeyPair.isExpired();
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Sign a message using Keyless.
|
|
183
|
+
* @param message the message to sign, as binary input
|
|
184
|
+
* @return the AccountAuthenticator containing the signature, together with the account's public key
|
|
185
|
+
* @group Implementation
|
|
186
|
+
* @category Account (On-Chain Model)
|
|
187
|
+
*/
|
|
188
|
+
signWithAuthenticator(message) {
|
|
189
|
+
const signature = new AnySignature(this.sign(message));
|
|
190
|
+
const publicKey = new AnyPublicKey(this.publicKey);
|
|
191
|
+
return new AccountAuthenticatorSingleKey(publicKey, signature);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Sign a transaction using Keyless.
|
|
195
|
+
* @param transaction the raw transaction
|
|
196
|
+
* @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
|
|
197
|
+
* @group Implementation
|
|
198
|
+
* @category Account (On-Chain Model)
|
|
199
|
+
*/
|
|
200
|
+
signTransactionWithAuthenticator(transaction) {
|
|
201
|
+
const signature = new AnySignature(this.signTransaction(transaction));
|
|
202
|
+
const publicKey = new AnyPublicKey(this.publicKey);
|
|
203
|
+
return new AccountAuthenticatorSingleKey(publicKey, signature);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Waits for asynchronous proof fetching to finish.
|
|
207
|
+
* @return
|
|
208
|
+
* @group Implementation
|
|
209
|
+
* @category Account (On-Chain Model)
|
|
210
|
+
*/
|
|
211
|
+
async waitForProofFetch() {
|
|
212
|
+
if (this.proofOrPromise instanceof Promise) {
|
|
213
|
+
await this.proofOrPromise;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Validates that the Keyless Account can be used to sign transactions.
|
|
218
|
+
* @return
|
|
219
|
+
*/
|
|
220
|
+
async checkKeylessAccountValidity(aptosConfig) {
|
|
221
|
+
if (this.isExpired()) {
|
|
222
|
+
throw KeylessError.fromErrorType({
|
|
223
|
+
type: 0 /* EPHEMERAL_KEY_PAIR_EXPIRED */
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
await this.waitForProofFetch();
|
|
227
|
+
if (this.proof === void 0) {
|
|
228
|
+
throw KeylessError.fromErrorType({
|
|
229
|
+
type: 2 /* ASYNC_PROOF_FETCH_FAILED */
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
const header = jwtDecode(this.jwt, { header: true });
|
|
233
|
+
if (header.kid === void 0) {
|
|
234
|
+
throw KeylessError.fromErrorType({
|
|
235
|
+
type: 12 /* JWT_PARSING_ERROR */,
|
|
236
|
+
details: "checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen."
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
if (this.verificationKeyHash !== void 0) {
|
|
240
|
+
const { verificationKey } = await getKeylessConfig({ aptosConfig });
|
|
241
|
+
if (Hex.hexInputToString(verificationKey.hash()) !== Hex.hexInputToString(this.verificationKeyHash)) {
|
|
242
|
+
throw KeylessError.fromErrorType({
|
|
243
|
+
type: 4 /* INVALID_PROOF_VERIFICATION_KEY_NOT_FOUND */
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
} else {
|
|
247
|
+
console.warn(
|
|
248
|
+
"[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated."
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
await _AbstractKeylessAccount.fetchJWK({ aptosConfig, publicKey: this.publicKey, kid: header.kid });
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Sign the given message using Keyless.
|
|
255
|
+
* @param message in HexInput format
|
|
256
|
+
* @returns Signature
|
|
257
|
+
* @group Implementation
|
|
258
|
+
* @category Account (On-Chain Model)
|
|
259
|
+
*/
|
|
260
|
+
sign(message) {
|
|
261
|
+
const { expiryDateSecs } = this.ephemeralKeyPair;
|
|
262
|
+
if (this.isExpired()) {
|
|
263
|
+
throw KeylessError.fromErrorType({
|
|
264
|
+
type: 0 /* EPHEMERAL_KEY_PAIR_EXPIRED */
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
if (this.proof === void 0) {
|
|
268
|
+
throw KeylessError.fromErrorType({
|
|
269
|
+
type: 1 /* PROOF_NOT_FOUND */,
|
|
270
|
+
details: "Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();
|
|
274
|
+
const ephemeralSignature = this.ephemeralKeyPair.sign(message);
|
|
275
|
+
return new KeylessSignature({
|
|
276
|
+
jwtHeader: base64UrlDecode(this.jwt.split(".")[0]),
|
|
277
|
+
ephemeralCertificate: new EphemeralCertificate(this.proof, 0 /* ZkProof */),
|
|
278
|
+
expiryDateSecs,
|
|
279
|
+
ephemeralPublicKey,
|
|
280
|
+
ephemeralSignature
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Sign the given transaction with Keyless.
|
|
285
|
+
* Signs the transaction and proof to guard against proof malleability.
|
|
286
|
+
* @param transaction the transaction to be signed
|
|
287
|
+
* @returns KeylessSignature
|
|
288
|
+
* @group Implementation
|
|
289
|
+
* @category Account (On-Chain Model)
|
|
290
|
+
*/
|
|
291
|
+
signTransaction(transaction) {
|
|
292
|
+
if (this.proof === void 0) {
|
|
293
|
+
throw KeylessError.fromErrorType({
|
|
294
|
+
type: 1 /* PROOF_NOT_FOUND */,
|
|
295
|
+
details: "Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing."
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
const raw = deriveTransactionType(transaction);
|
|
299
|
+
const txnAndProof = new TransactionAndProof(raw, this.proof.proof);
|
|
300
|
+
const signMess = txnAndProof.hash();
|
|
301
|
+
return this.sign(signMess);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount
|
|
305
|
+
*
|
|
306
|
+
* Verifies a signature given the message.
|
|
307
|
+
*
|
|
308
|
+
* TODO: Groth16 proof verification
|
|
309
|
+
*
|
|
310
|
+
* @param args.message the message that was signed.
|
|
311
|
+
* @param args.signature the KeylessSignature to verify
|
|
312
|
+
* @returns boolean
|
|
313
|
+
* @group Implementation
|
|
314
|
+
* @category Account (On-Chain Model)
|
|
315
|
+
*/
|
|
316
|
+
verifySignature(args) {
|
|
317
|
+
const { message, signature } = args;
|
|
318
|
+
if (this.isExpired()) {
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
return true;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Fetches the JWK from the issuer's well-known JWKS endpoint.
|
|
328
|
+
*
|
|
329
|
+
* @param args.publicKey The keyless public key to query
|
|
330
|
+
* @param args.kid The kid of the JWK to fetch
|
|
331
|
+
* @returns A JWK matching the `kid` in the JWT header.
|
|
332
|
+
* @throws {KeylessError} If the JWK cannot be fetched
|
|
333
|
+
*/
|
|
334
|
+
static async fetchJWK(args) {
|
|
335
|
+
const { aptosConfig, publicKey, kid } = args;
|
|
336
|
+
const keylessPubKey = publicKey instanceof KeylessPublicKey ? publicKey : publicKey.keylessPublicKey;
|
|
337
|
+
const { iss } = keylessPubKey;
|
|
338
|
+
let allJWKs;
|
|
339
|
+
const jwkAddr = publicKey instanceof FederatedKeylessPublicKey ? publicKey.jwkAddress : void 0;
|
|
340
|
+
try {
|
|
341
|
+
allJWKs = await getKeylessJWKs({ aptosConfig, jwkAddr });
|
|
342
|
+
} catch (error) {
|
|
343
|
+
throw KeylessError.fromErrorType({
|
|
344
|
+
type: 24 /* FULL_NODE_JWKS_LOOKUP_ERROR */,
|
|
345
|
+
error,
|
|
346
|
+
details: `Failed to fetch ${jwkAddr ? "Federated" : "Patched"}JWKs ${jwkAddr ? `for address ${jwkAddr}` : "0x1"}`
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
const jwksForIssuer = allJWKs.get(iss);
|
|
350
|
+
if (jwksForIssuer === void 0) {
|
|
351
|
+
throw KeylessError.fromErrorType({
|
|
352
|
+
type: 7 /* INVALID_JWT_ISS_NOT_RECOGNIZED */,
|
|
353
|
+
details: `JWKs for issuer ${iss} not found.`
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
const jwk = jwksForIssuer.find((key) => key.kid === kid);
|
|
357
|
+
if (jwk === void 0) {
|
|
358
|
+
throw KeylessError.fromErrorType({
|
|
359
|
+
type: 6 /* INVALID_JWT_JWK_NOT_FOUND */,
|
|
360
|
+
details: `JWK with kid '${kid}' for issuer '${iss}' not found.`
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
return jwk;
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
_AbstractKeylessAccount.PEPPER_LENGTH = 31;
|
|
367
|
+
var AbstractKeylessAccount = _AbstractKeylessAccount;
|
|
368
|
+
var TransactionAndProof = class extends Serializable {
|
|
369
|
+
constructor(transaction, proof) {
|
|
370
|
+
super();
|
|
371
|
+
/**
|
|
372
|
+
* The domain separator prefix used when hashing.
|
|
373
|
+
* @group Implementation
|
|
374
|
+
* @category Account (On-Chain Model)
|
|
375
|
+
*/
|
|
376
|
+
this.domainSeparator = "APTOS::TransactionAndProof";
|
|
377
|
+
this.transaction = transaction;
|
|
378
|
+
this.proof = proof;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Serializes the transaction data into a format suitable for transmission or storage.
|
|
382
|
+
* This function ensures that both the transaction bytes and the proof are properly serialized.
|
|
383
|
+
*
|
|
384
|
+
* @param serializer - The serializer instance used to convert the transaction data into bytes.
|
|
385
|
+
*/
|
|
386
|
+
serialize(serializer) {
|
|
387
|
+
serializer.serializeFixedBytes(this.transaction.bcsToBytes());
|
|
388
|
+
serializer.serializeOption(this.proof);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.
|
|
392
|
+
*
|
|
393
|
+
* @returns Uint8Array
|
|
394
|
+
* @group Implementation
|
|
395
|
+
* @category Account (On-Chain Model)
|
|
396
|
+
*/
|
|
397
|
+
hash() {
|
|
398
|
+
return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
export {
|
|
403
|
+
isKeylessSigner,
|
|
404
|
+
AbstractKeylessAccount,
|
|
405
|
+
TransactionAndProof
|
|
406
|
+
};
|
|
407
|
+
//# sourceMappingURL=chunk-46VPRC7E.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/account/AbstractKeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport EventEmitter from \"eventemitter3\";\nimport { jwtDecode } from \"jwt-decode\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n ZeroKnowledgeSig,\n ZkProof,\n getKeylessJWKs,\n MoveJWK,\n getKeylessConfig,\n} from \"../core/crypto\";\n\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport { deriveTransactionType, generateSigningMessage } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\nimport { base64UrlDecode } from \"../utils/helpers\";\nimport { FederatedKeylessPublicKey } from \"../core/crypto/federatedKeyless\";\nimport { Account } from \"./Account\";\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { KeylessError, KeylessErrorType } from \"../errors\";\nimport type { SingleKeySigner } from \"./SingleKeyAccount\";\n\n/**\n * An interface which defines if an Account utilizes Keyless signing.\n */\nexport interface KeylessSigner extends Account {\n checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void>;\n}\n\nexport function isKeylessSigner(obj: any): obj is KeylessSigner {\n return obj !== null && obj !== undefined && typeof obj.checkKeylessAccountValidity === \"function\";\n}\n\n/**\n * Account implementation for the Keyless authentication scheme. This abstract class is used for standard Keyless Accounts\n * and Federated Keyless Accounts.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport abstract class AbstractKeylessAccount extends Serializable implements KeylessSigner, SingleKeySigner {\n static readonly PEPPER_LENGTH: number = 31;\n\n /**\n * The KeylessPublicKey associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n\n /**\n * The EphemeralKeyPair used to generate sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n /**\n * The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidKey: string;\n\n /**\n * The value of the uidKey claim on the JWT. This intended to be a stable user identifier.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidVal: string;\n\n /**\n * The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly aud: string;\n\n /**\n * A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly pepper: Uint8Array;\n\n /**\n * Account address associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof: ZeroKnowledgeSig | undefined;\n\n /**\n * The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on\n * fetching the proof.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n /**\n * Signing scheme used to sign transactions\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly signingScheme: SigningScheme = SigningScheme.SingleKey;\n\n /**\n * The JWT token used to derive the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly jwt: string;\n\n /**\n * The hash of the verification key used to verify the proof. This is optional and can be used to check verifying key\n * rotations which may invalidate the proof.\n */\n readonly verificationKeyHash?: Uint8Array;\n\n /**\n * An event emitter used to assist in handling asynchronous proof fetching.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n private readonly emitter: EventEmitter<ProofFetchEvents>;\n\n /**\n * Use the static generator `create(...)` instead.\n * Creates an instance of the KeylessAccount with an optional proof.\n *\n * @param args - The parameters for creating a KeylessAccount.\n * @param args.address - Optional account address associated with the KeylessAccount.\n * @param args.publicKey - A KeylessPublicKey or FederatedKeylessPublicKey.\n * @param args.ephemeralKeyPair - The ephemeral key pair used in the account creation.\n * @param args.iss - A JWT issuer.\n * @param args.uidKey - The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @param args.uidVal - The unique id for this user, intended to be a stable user identifier.\n * @param args.aud - The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @param args.pepper - A hexadecimal input used for additional security.\n * @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.\n * @param args.proofFetchCallback - Optional callback function for fetching proof.\n * @param args.jwt - A JSON Web Token used for authentication.\n * @param args.verificationKeyHash Optional 32-byte verification key hash as hex input used to check proof validity.\n */\n protected constructor(args: {\n address?: AccountAddress;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n verificationKeyHash?: HexInput;\n }) {\n super();\n const {\n address,\n ephemeralKeyPair,\n publicKey,\n uidKey,\n uidVal,\n aud,\n pepper,\n proof,\n proofFetchCallback,\n jwt,\n verificationKeyHash,\n } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = publicKey;\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proof;\n if (proof instanceof ZeroKnowledgeSig) {\n this.proof = proof;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n // Note, this is purposely not awaited to be non-blocking. The caller should await on the proofFetchCallback.\n this.init(proof);\n }\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== AbstractKeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${AbstractKeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n if (verificationKeyHash !== undefined) {\n if (Hex.hexInputToUint8Array(verificationKeyHash).length !== 32) {\n throw new Error(\"verificationKeyHash must be 32 bytes\");\n }\n this.verificationKeyHash = Hex.hexInputToUint8Array(verificationKeyHash);\n }\n }\n\n getAnyPublicKey(): AnyPublicKey {\n return new AnyPublicKey(this.publicKey);\n }\n\n /**\n * This initializes the asynchronous proof fetch\n * @return Emits whether the proof succeeds or fails, but has no return.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n /**\n * Serializes the jwt data into a format suitable for transmission or storage.\n * This function ensures that both the jwt data and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the jwt data into bytes.\n */\n serialize(serializer: Serializer): void {\n this.accountAddress.serialize(serializer);\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Cannot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n serializer.serializeOption(this.verificationKeyHash, 32);\n }\n\n static partialDeserialize(deserializer: Deserializer): {\n address: AccountAddress;\n jwt: string;\n uidKey: string;\n pepper: Uint8Array;\n ephemeralKeyPair: EphemeralKeyPair;\n proof: ZeroKnowledgeSig;\n verificationKeyHash?: Uint8Array;\n } {\n const address = AccountAddress.deserialize(deserializer);\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n const verificationKeyHash = deserializer.deserializeOption(\"fixedBytes\", 32);\n\n return { address, jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };\n }\n\n /**\n * Checks if the proof is expired. If so the account must be re-derived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asynchronous proof fetching to finish.\n * @return\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Validates that the Keyless Account can be used to sign transactions.\n * @return\n */\n async checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void> {\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n await this.waitForProofFetch();\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.ASYNC_PROOF_FETCH_FAILED,\n });\n }\n const header = jwtDecode(this.jwt, { header: true });\n if (header.kid === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen.\",\n });\n }\n if (this.verificationKeyHash !== undefined) {\n const { verificationKey } = await getKeylessConfig({ aptosConfig });\n if (Hex.hexInputToString(verificationKey.hash()) !== Hex.hexInputToString(this.verificationKeyHash)) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_PROOF_VERIFICATION_KEY_NOT_FOUND,\n });\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n \"[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated.\",\n );\n }\n await AbstractKeylessAccount.fetchJWK({ aptosConfig, publicKey: this.publicKey, kid: header.kid });\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n sign(message: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(message);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = txnAndProof.hash();\n return this.sign(signMess);\n }\n\n /**\n * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount\n *\n * Verifies a signature given the message.\n *\n * TODO: Groth16 proof verification\n *\n * @param args.message the message that was signed.\n * @param args.signature the KeylessSignature to verify\n * @returns boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n const { message, signature } = args;\n if (this.isExpired()) {\n return false;\n }\n if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {\n return false;\n }\n return true;\n }\n\n /**\n * Fetches the JWK from the issuer's well-known JWKS endpoint.\n *\n * @param args.publicKey The keyless public key to query\n * @param args.kid The kid of the JWK to fetch\n * @returns A JWK matching the `kid` in the JWT header.\n * @throws {KeylessError} If the JWK cannot be fetched\n */\n static async fetchJWK(args: {\n aptosConfig: AptosConfig;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n kid: string;\n }): Promise<MoveJWK> {\n const { aptosConfig, publicKey, kid } = args;\n const keylessPubKey = publicKey instanceof KeylessPublicKey ? publicKey : publicKey.keylessPublicKey;\n const { iss } = keylessPubKey;\n\n let allJWKs: Map<string, MoveJWK[]>;\n const jwkAddr = publicKey instanceof FederatedKeylessPublicKey ? publicKey.jwkAddress : undefined;\n try {\n allJWKs = await getKeylessJWKs({ aptosConfig, jwkAddr });\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_JWKS_LOOKUP_ERROR,\n error,\n details: `Failed to fetch ${jwkAddr ? \"Federated\" : \"Patched\"}JWKs ${jwkAddr ? `for address ${jwkAddr}` : \"0x1\"}`,\n });\n }\n\n // Find the corresponding JWK set by `iss`\n const jwksForIssuer = allJWKs.get(iss);\n\n if (jwksForIssuer === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_ISS_NOT_RECOGNIZED,\n details: `JWKs for issuer ${iss} not found.`,\n });\n }\n\n // Find the corresponding JWK by `kid`\n const jwk = jwksForIssuer.find((key) => key.kid === kid);\n\n if (jwk === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_JWK_NOT_FOUND,\n details: `JWK with kid '${kid}' for issuer '${iss}' not found.`,\n });\n }\n\n return jwk;\n }\n}\n\n/**\n * A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create\n * the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport class TransactionAndProof extends Serializable {\n /**\n * The transaction to sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n transaction: AnyRawTransactionInstance;\n\n /**\n * The zero knowledge proof used in signing the transaction.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof?: ZkProof;\n\n /**\n * The domain separator prefix used when hashing.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly domainSeparator = \"APTOS::TransactionAndProof\";\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n /**\n * Serializes the transaction data into a format suitable for transmission or storage.\n * This function ensures that both the transaction bytes and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the transaction data into bytes.\n */\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n\n /**\n * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.\n *\n * @returns Uint8Array\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n hash(): Uint8Array {\n return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);\n }\n}\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":"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","names":["EventEmitter","jwtDecode","isKeylessSigner","obj","_AbstractKeylessAccount","Serializable","args","address","ephemeralKeyPair","publicKey","uidKey","uidVal","aud","pepper","proof","proofFetchCallback","jwt","verificationKeyHash","AccountAddress","EventEmitter","ZeroKnowledgeSig","status","pepperBytes","Hex","AnyPublicKey","promise","error","serializer","deserializer","EphemeralKeyPair","message","signature","AnySignature","AccountAuthenticatorSingleKey","transaction","aptosConfig","KeylessError","header","jwtDecode","verificationKey","getKeylessConfig","expiryDateSecs","ephemeralPublicKey","ephemeralSignature","KeylessSignature","base64UrlDecode","EphemeralCertificate","raw","deriveTransactionType","signMess","TransactionAndProof","kid","keylessPubKey","KeylessPublicKey","iss","allJWKs","jwkAddr","FederatedKeylessPublicKey","getKeylessJWKs","jwksForIssuer","jwk","key","AbstractKeylessAccount","generateSigningMessage"]}
|
|
1
|
+
{"version":3,"sources":["../../src/account/AbstractKeylessAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport EventEmitter from \"eventemitter3\";\nimport { jwtDecode } from \"jwt-decode\";\nimport { EphemeralCertificateVariant, HexInput, SigningScheme } from \"../types\";\nimport { AccountAddress } from \"../core/accountAddress\";\nimport {\n AnyPublicKey,\n AnySignature,\n KeylessPublicKey,\n KeylessSignature,\n EphemeralCertificate,\n ZeroKnowledgeSig,\n ZkProof,\n getKeylessJWKs,\n MoveJWK,\n getKeylessConfig,\n} from \"../core/crypto\";\n\nimport { EphemeralKeyPair } from \"./EphemeralKeyPair\";\nimport { Hex } from \"../core/hex\";\nimport { AccountAuthenticatorSingleKey } from \"../transactions/authenticator/account\";\nimport { Deserializer, Serializable, Serializer } from \"../bcs\";\nimport { deriveTransactionType, generateSigningMessage } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AnyRawTransaction, AnyRawTransactionInstance } from \"../transactions/types\";\nimport { base64UrlDecode } from \"../utils/helpers\";\nimport { FederatedKeylessPublicKey } from \"../core/crypto/federatedKeyless\";\nimport { Account } from \"./Account\";\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { KeylessError, KeylessErrorType } from \"../errors\";\nimport type { SingleKeySigner } from \"./SingleKeyAccount\";\n\n/**\n * An interface which defines if an Account utilizes Keyless signing.\n */\nexport interface KeylessSigner extends Account {\n checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void>;\n}\n\nexport function isKeylessSigner(obj: any): obj is KeylessSigner {\n return obj !== null && obj !== undefined && typeof obj.checkKeylessAccountValidity === \"function\";\n}\n\n/**\n * Account implementation for the Keyless authentication scheme. This abstract class is used for standard Keyless Accounts\n * and Federated Keyless Accounts.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport abstract class AbstractKeylessAccount extends Serializable implements KeylessSigner, SingleKeySigner {\n static readonly PEPPER_LENGTH: number = 31;\n\n /**\n * The KeylessPublicKey associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n\n /**\n * The EphemeralKeyPair used to generate sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly ephemeralKeyPair: EphemeralKeyPair;\n\n /**\n * The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidKey: string;\n\n /**\n * The value of the uidKey claim on the JWT. This intended to be a stable user identifier.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly uidVal: string;\n\n /**\n * The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly aud: string;\n\n /**\n * A value contains 31 bytes of entropy that preserves privacy of the account. Typically fetched from a pepper provider.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly pepper: Uint8Array;\n\n /**\n * Account address associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly accountAddress: AccountAddress;\n\n /**\n * The zero knowledge signature (if ready) which contains the proof used to validate the EphemeralKeyPair.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof: ZeroKnowledgeSig | undefined;\n\n /**\n * The proof of the EphemeralKeyPair or a promise that provides the proof. This is used to allow for awaiting on\n * fetching the proof.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly proofOrPromise: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n\n /**\n * Signing scheme used to sign transactions\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly signingScheme: SigningScheme = SigningScheme.SingleKey;\n\n /**\n * The JWT token used to derive the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly jwt: string;\n\n /**\n * The hash of the verification key used to verify the proof. This is optional and can be used to check verifying key\n * rotations which may invalidate the proof.\n */\n readonly verificationKeyHash?: Uint8Array;\n\n /**\n * An event emitter used to assist in handling asynchronous proof fetching.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n private readonly emitter: EventEmitter<ProofFetchEvents>;\n\n /**\n * Use the static generator `create(...)` instead.\n * Creates an instance of the KeylessAccount with an optional proof.\n *\n * @param args - The parameters for creating a KeylessAccount.\n * @param args.address - Optional account address associated with the KeylessAccount.\n * @param args.publicKey - A KeylessPublicKey or FederatedKeylessPublicKey.\n * @param args.ephemeralKeyPair - The ephemeral key pair used in the account creation.\n * @param args.iss - A JWT issuer.\n * @param args.uidKey - The claim on the JWT to identify a user. This is typically 'sub' or 'email'.\n * @param args.uidVal - The unique id for this user, intended to be a stable user identifier.\n * @param args.aud - The value of the 'aud' claim on the JWT, also known as client ID. This is the identifier for the dApp's\n * OIDC registration with the identity provider.\n * @param args.pepper - A hexadecimal input used for additional security.\n * @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.\n * @param args.proofFetchCallback - Optional callback function for fetching proof.\n * @param args.jwt - A JSON Web Token used for authentication.\n * @param args.verificationKeyHash Optional 32-byte verification key hash as hex input used to check proof validity.\n */\n protected constructor(args: {\n address?: AccountAddress;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n ephemeralKeyPair: EphemeralKeyPair;\n iss: string;\n uidKey: string;\n uidVal: string;\n aud: string;\n pepper: HexInput;\n proof: ZeroKnowledgeSig | Promise<ZeroKnowledgeSig>;\n proofFetchCallback?: ProofFetchCallback;\n jwt: string;\n verificationKeyHash?: HexInput;\n }) {\n super();\n const {\n address,\n ephemeralKeyPair,\n publicKey,\n uidKey,\n uidVal,\n aud,\n pepper,\n proof,\n proofFetchCallback,\n jwt,\n verificationKeyHash,\n } = args;\n this.ephemeralKeyPair = ephemeralKeyPair;\n this.publicKey = publicKey;\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n this.uidKey = uidKey;\n this.uidVal = uidVal;\n this.aud = aud;\n this.jwt = jwt;\n this.emitter = new EventEmitter<ProofFetchEvents>();\n this.proofOrPromise = proof;\n if (proof instanceof ZeroKnowledgeSig) {\n this.proof = proof;\n } else {\n if (proofFetchCallback === undefined) {\n throw new Error(\"Must provide callback for async proof fetch\");\n }\n this.emitter.on(\"proofFetchFinish\", async (status) => {\n await proofFetchCallback(status);\n this.emitter.removeAllListeners();\n });\n // Note, this is purposely not awaited to be non-blocking. The caller should await on the proofFetchCallback.\n this.init(proof);\n }\n const pepperBytes = Hex.fromHexInput(pepper).toUint8Array();\n if (pepperBytes.length !== AbstractKeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper length in bytes should be ${AbstractKeylessAccount.PEPPER_LENGTH}`);\n }\n this.pepper = pepperBytes;\n if (verificationKeyHash !== undefined) {\n if (Hex.hexInputToUint8Array(verificationKeyHash).length !== 32) {\n throw new Error(\"verificationKeyHash must be 32 bytes\");\n }\n this.verificationKeyHash = Hex.hexInputToUint8Array(verificationKeyHash);\n }\n }\n\n getAnyPublicKey(): AnyPublicKey {\n return new AnyPublicKey(this.publicKey);\n }\n\n /**\n * This initializes the asynchronous proof fetch\n * @return Emits whether the proof succeeds or fails, but has no return.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async init(promise: Promise<ZeroKnowledgeSig>) {\n try {\n this.proof = await promise;\n this.emitter.emit(\"proofFetchFinish\", { status: \"Success\" });\n } catch (error) {\n if (error instanceof Error) {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: error.toString() });\n } else {\n this.emitter.emit(\"proofFetchFinish\", { status: \"Failed\", error: \"Unknown\" });\n }\n }\n }\n\n /**\n * Serializes the jwt data into a format suitable for transmission or storage.\n * This function ensures that both the jwt data and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the jwt data into bytes.\n */\n serialize(serializer: Serializer): void {\n this.accountAddress.serialize(serializer);\n serializer.serializeStr(this.jwt);\n serializer.serializeStr(this.uidKey);\n serializer.serializeFixedBytes(this.pepper);\n this.ephemeralKeyPair.serialize(serializer);\n if (this.proof === undefined) {\n throw new Error(\"Cannot serialize - proof undefined\");\n }\n this.proof.serialize(serializer);\n serializer.serializeOption(this.verificationKeyHash, 32);\n }\n\n static partialDeserialize(deserializer: Deserializer): {\n address: AccountAddress;\n jwt: string;\n uidKey: string;\n pepper: Uint8Array;\n ephemeralKeyPair: EphemeralKeyPair;\n proof: ZeroKnowledgeSig;\n verificationKeyHash?: Uint8Array;\n } {\n const address = AccountAddress.deserialize(deserializer);\n const jwt = deserializer.deserializeStr();\n const uidKey = deserializer.deserializeStr();\n const pepper = deserializer.deserializeFixedBytes(31);\n const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);\n const proof = ZeroKnowledgeSig.deserialize(deserializer);\n const verificationKeyHash = deserializer.deserializeOption(\"fixedBytes\", 32);\n\n return { address, jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };\n }\n\n /**\n * Checks if the proof is expired. If so the account must be re-derived with a new EphemeralKeyPair\n * and JWT token.\n * @return boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n isExpired(): boolean {\n return this.ephemeralKeyPair.isExpired();\n }\n\n /**\n * Sign a message using Keyless.\n * @param message the message to sign, as binary input\n * @return the AccountAuthenticator containing the signature, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.sign(message));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Sign a transaction using Keyless.\n * @param transaction the raw transaction\n * @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {\n const signature = new AnySignature(this.signTransaction(transaction));\n const publicKey = new AnyPublicKey(this.publicKey);\n return new AccountAuthenticatorSingleKey(publicKey, signature);\n }\n\n /**\n * Waits for asynchronous proof fetching to finish.\n * @return\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async waitForProofFetch() {\n if (this.proofOrPromise instanceof Promise) {\n await this.proofOrPromise;\n }\n }\n\n /**\n * Validates that the Keyless Account can be used to sign transactions.\n * @return\n */\n async checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void> {\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n await this.waitForProofFetch();\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.ASYNC_PROOF_FETCH_FAILED,\n });\n }\n const header = jwtDecode(this.jwt, { header: true });\n if (header.kid === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWT_PARSING_ERROR,\n details: \"checkKeylessAccountValidity failed. JWT is missing 'kid' in header. This should never happen.\",\n });\n }\n if (this.verificationKeyHash !== undefined) {\n const { verificationKey } = await getKeylessConfig({ aptosConfig });\n if (Hex.hexInputToString(verificationKey.hash()) !== Hex.hexInputToString(this.verificationKeyHash)) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_PROOF_VERIFICATION_KEY_NOT_FOUND,\n });\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n \"[Aptos SDK] The verification key hash was not set. Proof may be invalid if the verification key has rotated.\",\n );\n }\n await AbstractKeylessAccount.fetchJWK({ aptosConfig, publicKey: this.publicKey, kid: header.kid });\n }\n\n /**\n * Sign the given message using Keyless.\n * @param message in HexInput format\n * @returns Signature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n sign(message: HexInput): KeylessSignature {\n const { expiryDateSecs } = this.ephemeralKeyPair;\n if (this.isExpired()) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.EPHEMERAL_KEY_PAIR_EXPIRED,\n });\n }\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const ephemeralPublicKey = this.ephemeralKeyPair.getPublicKey();\n const ephemeralSignature = this.ephemeralKeyPair.sign(message);\n\n return new KeylessSignature({\n jwtHeader: base64UrlDecode(this.jwt.split(\".\")[0]),\n ephemeralCertificate: new EphemeralCertificate(this.proof, EphemeralCertificateVariant.ZkProof),\n expiryDateSecs,\n ephemeralPublicKey,\n ephemeralSignature,\n });\n }\n\n /**\n * Sign the given transaction with Keyless.\n * Signs the transaction and proof to guard against proof malleability.\n * @param transaction the transaction to be signed\n * @returns KeylessSignature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransaction(transaction: AnyRawTransaction): KeylessSignature {\n if (this.proof === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.PROOF_NOT_FOUND,\n details: \"Proof not found - make sure to call `await account.checkKeylessAccountValidity()` before signing.\",\n });\n }\n const raw = deriveTransactionType(transaction);\n const txnAndProof = new TransactionAndProof(raw, this.proof.proof);\n const signMess = txnAndProof.hash();\n return this.sign(signMess);\n }\n\n /**\n * Note - This function is currently incomplete and should only be used to verify ownership of the KeylessAccount\n *\n * Verifies a signature given the message.\n *\n * TODO: Groth16 proof verification\n *\n * @param args.message the message that was signed.\n * @param args.signature the KeylessSignature to verify\n * @returns boolean\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {\n const { message, signature } = args;\n if (this.isExpired()) {\n return false;\n }\n if (!this.ephemeralKeyPair.getPublicKey().verifySignature({ message, signature: signature.ephemeralSignature })) {\n return false;\n }\n return true;\n }\n\n /**\n * Fetches the JWK from the issuer's well-known JWKS endpoint.\n *\n * @param args.publicKey The keyless public key to query\n * @param args.kid The kid of the JWK to fetch\n * @returns A JWK matching the `kid` in the JWT header.\n * @throws {KeylessError} If the JWK cannot be fetched\n */\n static async fetchJWK(args: {\n aptosConfig: AptosConfig;\n publicKey: KeylessPublicKey | FederatedKeylessPublicKey;\n kid: string;\n }): Promise<MoveJWK> {\n const { aptosConfig, publicKey, kid } = args;\n const keylessPubKey = publicKey instanceof KeylessPublicKey ? publicKey : publicKey.keylessPublicKey;\n const { iss } = keylessPubKey;\n\n let allJWKs: Map<string, MoveJWK[]>;\n const jwkAddr = publicKey instanceof FederatedKeylessPublicKey ? publicKey.jwkAddress : undefined;\n try {\n allJWKs = await getKeylessJWKs({ aptosConfig, jwkAddr });\n } catch (error) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.FULL_NODE_JWKS_LOOKUP_ERROR,\n error,\n details: `Failed to fetch ${jwkAddr ? \"Federated\" : \"Patched\"}JWKs ${jwkAddr ? `for address ${jwkAddr}` : \"0x1\"}`,\n });\n }\n\n // Find the corresponding JWK set by `iss`\n const jwksForIssuer = allJWKs.get(iss);\n\n if (jwksForIssuer === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_ISS_NOT_RECOGNIZED,\n details: `JWKs for issuer ${iss} not found.`,\n });\n }\n\n // Find the corresponding JWK by `kid`\n const jwk = jwksForIssuer.find((key) => key.kid === kid);\n\n if (jwk === undefined) {\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.INVALID_JWT_JWK_NOT_FOUND,\n details: `JWK with kid '${kid}' for issuer '${iss}' not found.`,\n });\n }\n\n return jwk;\n }\n}\n\n/**\n * A container class to hold a transaction and a proof. It implements CryptoHashable which is used to create\n * the signing message for Keyless transactions. We sign over the proof to ensure non-malleability.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport class TransactionAndProof extends Serializable {\n /**\n * The transaction to sign.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n transaction: AnyRawTransactionInstance;\n\n /**\n * The zero knowledge proof used in signing the transaction.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n proof?: ZkProof;\n\n /**\n * The domain separator prefix used when hashing.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly domainSeparator = \"APTOS::TransactionAndProof\";\n\n constructor(transaction: AnyRawTransactionInstance, proof?: ZkProof) {\n super();\n this.transaction = transaction;\n this.proof = proof;\n }\n\n /**\n * Serializes the transaction data into a format suitable for transmission or storage.\n * This function ensures that both the transaction bytes and the proof are properly serialized.\n *\n * @param serializer - The serializer instance used to convert the transaction data into bytes.\n */\n serialize(serializer: Serializer): void {\n serializer.serializeFixedBytes(this.transaction.bcsToBytes());\n serializer.serializeOption(this.proof);\n }\n\n /**\n * Hashes the bcs serialized from of the class. This is the typescript corollary to the BCSCryptoHash macro in aptos-core.\n *\n * @returns Uint8Array\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n hash(): Uint8Array {\n return generateSigningMessage(this.bcsToBytes(), this.domainSeparator);\n }\n}\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchSuccess = {\n status: \"Success\";\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchFailure = {\n status: \"Failed\";\n error: string;\n};\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchStatus = ProofFetchSuccess | ProofFetchFailure;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport type ProofFetchCallback = (status: ProofFetchStatus) => Promise<void>;\n/**\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport interface ProofFetchEvents {\n proofFetchFinish: (status: ProofFetchStatus) => void;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AbstractPublicKey,
|
|
3
|
+
AbstractSignature
|
|
4
|
+
} from "./chunk-AKXCFBYF.mjs";
|
|
5
|
+
import {
|
|
6
|
+
Account
|
|
7
|
+
} from "./chunk-KEKNIJHE.mjs";
|
|
8
|
+
import {
|
|
9
|
+
generateSigningMessageForTransaction
|
|
10
|
+
} from "./chunk-JOVCSFQC.mjs";
|
|
11
|
+
import {
|
|
12
|
+
AccountAuthenticatorAbstraction
|
|
13
|
+
} from "./chunk-AGKEC2IM.mjs";
|
|
14
|
+
import {
|
|
15
|
+
isValidFunctionInfo
|
|
16
|
+
} from "./chunk-RQS33JAS.mjs";
|
|
17
|
+
import {
|
|
18
|
+
Serializer
|
|
19
|
+
} from "./chunk-C7T6GW5P.mjs";
|
|
20
|
+
|
|
21
|
+
// src/account/AbstractedAccount.ts
|
|
22
|
+
import { sha3_256 } from "@noble/hashes/sha3";
|
|
23
|
+
var AbstractedAccount = class _AbstractedAccount extends Account {
|
|
24
|
+
constructor({ signer, accountAddress, authenticationFunction }) {
|
|
25
|
+
super();
|
|
26
|
+
this.signingScheme = 2 /* SingleKey */;
|
|
27
|
+
if (!isValidFunctionInfo(authenticationFunction)) {
|
|
28
|
+
throw new Error(`Invalid authentication function ${authenticationFunction} passed into AbstractedAccount`);
|
|
29
|
+
}
|
|
30
|
+
this.authenticationFunction = authenticationFunction;
|
|
31
|
+
this.accountAddress = accountAddress;
|
|
32
|
+
this.publicKey = new AbstractPublicKey(this.accountAddress);
|
|
33
|
+
this.sign = (digest) => new AbstractSignature(signer(digest));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates an `AbstractedAccount` from an `Ed25519Account` that has a permissioned signer function and
|
|
37
|
+
* using the `0x1::permissioned_delegation::authenticate` function to verify the signature.
|
|
38
|
+
*
|
|
39
|
+
* @param signer - The `Ed25519Account` that can be used to sign permissioned transactions.
|
|
40
|
+
* @returns The `AbstractedAccount`
|
|
41
|
+
*/
|
|
42
|
+
static fromPermissionedSigner({
|
|
43
|
+
signer,
|
|
44
|
+
accountAddress
|
|
45
|
+
}) {
|
|
46
|
+
return new _AbstractedAccount({
|
|
47
|
+
signer: (digest) => {
|
|
48
|
+
const serializer = new Serializer();
|
|
49
|
+
signer.publicKey.serialize(serializer);
|
|
50
|
+
signer.sign(digest).serialize(serializer);
|
|
51
|
+
return serializer.toUint8Array();
|
|
52
|
+
},
|
|
53
|
+
accountAddress: accountAddress ?? signer.accountAddress,
|
|
54
|
+
authenticationFunction: "0x1::permissioned_delegation::authenticate"
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
signWithAuthenticator(message) {
|
|
58
|
+
return new AccountAuthenticatorAbstraction(
|
|
59
|
+
this.authenticationFunction,
|
|
60
|
+
sha3_256(message),
|
|
61
|
+
this.sign(sha3_256(message)).toUint8Array()
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
signTransactionWithAuthenticator(transaction) {
|
|
65
|
+
return this.signWithAuthenticator(generateSigningMessageForTransaction(transaction));
|
|
66
|
+
}
|
|
67
|
+
signTransaction(transaction) {
|
|
68
|
+
return this.sign(generateSigningMessageForTransaction(transaction));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Update the signer function for the account. This can be done after asynchronous operations are complete
|
|
72
|
+
* to update the context of the signer function.
|
|
73
|
+
*
|
|
74
|
+
* @param signer - The new signer function to use for the account.
|
|
75
|
+
*/
|
|
76
|
+
setSigner(signer) {
|
|
77
|
+
this.sign = (digest) => new AbstractSignature(signer(digest));
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
AbstractedAccount
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=chunk-4BXAKN6A.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/account/AbstractedAccount.ts"],"sourcesContent":["import { sha3_256 } from \"@noble/hashes/sha3\";\nimport { AccountAddress } from \"../core\";\nimport { AbstractPublicKey, AbstractSignature } from \"../core/crypto/abstraction\";\nimport { SigningScheme, HexInput } from \"../types\";\nimport { Account } from \"./Account\";\nimport { AnyRawTransaction } from \"../transactions/types\";\nimport { generateSigningMessageForTransaction } from \"../transactions/transactionBuilder/signingMessage\";\nimport { AccountAuthenticatorAbstraction } from \"../transactions/authenticator/account\";\nimport { Ed25519Account } from \"./Ed25519Account\";\nimport { Serializer } from \"../bcs/serializer\";\nimport { isValidFunctionInfo } from \"../utils/helpers\";\n\ntype AbstractedAccountConstructorArgs = {\n /**\n * The account address of the account.\n */\n accountAddress: AccountAddress;\n /**\n * The signer function signs transactions and returns the `authenticator` bytes in the `AbstractionAuthData`.\n *\n * @param digest - The SHA256 hash of the transaction signing message\n * @returns The `authenticator` bytes that can be used to verify the signature.\n */\n signer: (digest: HexInput) => HexInput;\n /**\n * The authentication function that will be used to verify the signature.\n *\n * @example\n * ```ts\n * const authenticationFunction = `${accountAddress}::permissioned_delegation::authenticate`;\n * ```\n */\n authenticationFunction: string;\n};\n\nexport class AbstractedAccount extends Account {\n public readonly publicKey: AbstractPublicKey;\n\n readonly accountAddress: AccountAddress;\n\n readonly authenticationFunction: string;\n\n readonly signingScheme = SigningScheme.SingleKey;\n\n constructor({ signer, accountAddress, authenticationFunction }: AbstractedAccountConstructorArgs) {\n super();\n\n if (!isValidFunctionInfo(authenticationFunction)) {\n throw new Error(`Invalid authentication function ${authenticationFunction} passed into AbstractedAccount`);\n }\n\n this.authenticationFunction = authenticationFunction;\n this.accountAddress = accountAddress;\n this.publicKey = new AbstractPublicKey(this.accountAddress);\n this.sign = (digest: HexInput) => new AbstractSignature(signer(digest));\n }\n\n /**\n * Creates an `AbstractedAccount` from an `Ed25519Account` that has a permissioned signer function and\n * using the `0x1::permissioned_delegation::authenticate` function to verify the signature.\n *\n * @param signer - The `Ed25519Account` that can be used to sign permissioned transactions.\n * @returns The `AbstractedAccount`\n */\n public static fromPermissionedSigner({\n signer,\n accountAddress,\n }: {\n signer: Ed25519Account;\n accountAddress?: AccountAddress;\n }) {\n return new AbstractedAccount({\n signer: (digest: HexInput) => {\n const serializer = new Serializer();\n signer.publicKey.serialize(serializer);\n signer.sign(digest).serialize(serializer);\n return serializer.toUint8Array();\n },\n accountAddress: accountAddress ?? signer.accountAddress,\n authenticationFunction: \"0x1::permissioned_delegation::authenticate\",\n });\n }\n\n signWithAuthenticator(message: HexInput): AccountAuthenticatorAbstraction {\n return new AccountAuthenticatorAbstraction(\n this.authenticationFunction,\n sha3_256(message),\n this.sign(sha3_256(message)).toUint8Array(),\n );\n }\n\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorAbstraction {\n return this.signWithAuthenticator(generateSigningMessageForTransaction(transaction));\n }\n\n sign: (message: HexInput) => AbstractSignature;\n\n signTransaction(transaction: AnyRawTransaction): AbstractSignature {\n return this.sign(generateSigningMessageForTransaction(transaction));\n }\n\n /**\n * Update the signer function for the account. This can be done after asynchronous operations are complete\n * to update the context of the signer function.\n *\n * @param signer - The new signer function to use for the account.\n */\n public setSigner(signer: (digest: HexInput) => HexInput): void {\n this.sign = (digest: HexInput) => new AbstractSignature(signer(digest));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAmClB,IAAM,oBAAN,MAAM,2BAA0B,QAAQ;AAAA,EAS7C,YAAY,EAAE,QAAQ,gBAAgB,uBAAuB,GAAqC;AAChG,UAAM;AAHR,SAAS;AAKP,QAAI,CAAC,oBAAoB,sBAAsB,GAAG;AAChD,YAAM,IAAI,MAAM,mCAAmC,sBAAsB,gCAAgC;AAAA,IAC3G;AAEA,SAAK,yBAAyB;AAC9B,SAAK,iBAAiB;AACtB,SAAK,YAAY,IAAI,kBAAkB,KAAK,cAAc;AAC1D,SAAK,OAAO,CAAC,WAAqB,IAAI,kBAAkB,OAAO,MAAM,CAAC;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAc,uBAAuB;AAAA,IACnC;AAAA,IACA;AAAA,EACF,GAGG;AACD,WAAO,IAAI,mBAAkB;AAAA,MAC3B,QAAQ,CAAC,WAAqB;AAC5B,cAAM,aAAa,IAAI,WAAW;AAClC,eAAO,UAAU,UAAU,UAAU;AACrC,eAAO,KAAK,MAAM,EAAE,UAAU,UAAU;AACxC,eAAO,WAAW,aAAa;AAAA,MACjC;AAAA,MACA,gBAAgB,kBAAkB,OAAO;AAAA,MACzC,wBAAwB;AAAA,IAC1B,CAAC;AAAA,EACH;AAAA,EAEA,sBAAsB,SAAoD;AACxE,WAAO,IAAI;AAAA,MACT,KAAK;AAAA,MACL,SAAS,OAAO;AAAA,MAChB,KAAK,KAAK,SAAS,OAAO,CAAC,EAAE,aAAa;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,iCAAiC,aAAiE;AAChG,WAAO,KAAK,sBAAsB,qCAAqC,WAAW,CAAC;AAAA,EACrF;AAAA,EAIA,gBAAgB,aAAmD;AACjE,WAAO,KAAK,KAAK,qCAAqC,WAAW,CAAC;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,UAAU,QAA8C;AAC7D,SAAK,OAAO,CAAC,WAAqB,IAAI,kBAAkB,OAAO,MAAM,CAAC;AAAA,EACxE;AACF;","names":[]}
|