@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/transactions/management/transactionWorker.ts"],"sourcesContent":["/* eslint-disable no-await-in-loop */\n\nimport EventEmitter from \"eventemitter3\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { Account } from \"../../account\";\nimport { waitForTransaction } from \"../../internal/transaction\";\nimport { generateTransaction, signAndSubmitTransaction } from \"../../internal/transactionSubmission\";\nimport { PendingTransactionResponse, TransactionResponse } from \"../../types\";\nimport { InputGenerateTransactionOptions, InputGenerateTransactionPayloadData } from \"../types\";\nimport { AccountSequenceNumber } from \"./accountSequenceNumber\";\nimport { AsyncQueue, AsyncQueueCancelledError } from \"./asyncQueue\";\nimport { SimpleTransaction } from \"../instances/simpleTransaction\";\n\n/**\n * @group Implementation\n * @category Transactions\n */\nexport const promiseFulfilledStatus = \"fulfilled\";\n\n/**\n * Events emitted by the transaction worker during its operation, allowing the dapp to respond to various transaction states.\n * @group Implementation\n * @category Transactions\n */\nexport enum TransactionWorkerEventsEnum {\n // fired after a transaction gets sent to the chain\n TransactionSent = \"transactionSent\",\n // fired if there is an error sending the transaction to the chain\n TransactionSendFailed = \"transactionSendFailed\",\n // fired when a single transaction has executed successfully\n TransactionExecuted = \"transactionExecuted\",\n // fired if a single transaction fails in execution\n TransactionExecutionFailed = \"transactionExecutionFailed\",\n // fired when the worker has finished its job / when the queue has been emptied\n ExecutionFinish = \"executionFinish\",\n}\n\n/**\n * Defines the events emitted by the transaction worker during various stages of transaction processing. *\n * @group Implementation\n * @category Transactions\n */\nexport interface TransactionWorkerEvents {\n transactionSent: (data: SuccessEventData) => void;\n transactionSendFailed: (data: FailureEventData) => void;\n transactionExecuted: (data: SuccessEventData) => void;\n transactionExecutionFailed: (data: FailureEventData) => void;\n executionFinish: (data: ExecutionFinishEventData) => void;\n}\n\n/**\n * The payload for when the worker has finished its job.\n * @group Implementation\n * @category Transactions\n */\nexport type ExecutionFinishEventData = {\n message: string;\n};\n\n/**\n * The payload for a success event.\n * @group Implementation\n * @category Transactions\n */\nexport type SuccessEventData = {\n message: string;\n transactionHash: string;\n};\n\n/**\n * The payload for a failure event.\n * @group Implementation\n * @category Transactions\n */\nexport type FailureEventData = {\n message: string;\n error: string;\n};\n\n/**\n * TransactionWorker provides a simple framework for receiving payloads to be processed.\n *\n * Once one `start()` the process and pushes a new transaction, the worker acquires\n * the current account's next sequence number (by using the AccountSequenceNumber class),\n * generates a signed transaction and pushes an async submission process into the `outstandingTransactions` queue.\n * At the same time, the worker processes transactions by reading the `outstandingTransactions` queue\n * and submits the next transaction to chain, it\n * 1) waits for resolution of the submission process or get pre-execution validation error\n * and 2) waits for the resolution of the execution process or get an execution error.\n * The worker fires events for any submission and/or execution success and/or failure.\n * @group Implementation\n * @category Transactions\n */\nexport class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {\n readonly aptosConfig: AptosConfig;\n\n readonly account: Account;\n\n // current account sequence number\n // TODO: Rename Sequnce -> Sequence\n readonly accountSequnceNumber: AccountSequenceNumber;\n\n readonly taskQueue: AsyncQueue<() => Promise<void>> = new AsyncQueue<() => Promise<void>>();\n\n // process has started\n started: boolean;\n\n /**\n * transactions payloads waiting to be generated and signed\n *\n * TODO support entry function payload from ABI builder\n * @group Implementation\n * @category Transactions\n */\n transactionsQueue = new AsyncQueue<\n [InputGenerateTransactionPayloadData, InputGenerateTransactionOptions | undefined]\n >();\n\n /**\n * signed transactions waiting to be submitted\n * @group Implementation\n * @category Transactions\n */\n outstandingTransactions = new AsyncQueue<[Promise<PendingTransactionResponse>, bigint]>();\n\n /**\n * transactions that have been submitted to chain\n * @group Implementation\n * @category Transactions\n */\n sentTransactions: Array<[string, bigint, any]> = [];\n\n /**\n * transactions that have been committed to chain\n * @group Implementation\n * @category Transactions\n */\n executedTransactions: Array<[string, bigint, any]> = [];\n\n /**\n * Initializes a new instance of the class, providing a framework for receiving payloads to be processed.\n *\n * @param aptosConfig - A configuration object for Aptos.\n * @param account - The account that will be used for sending transactions.\n * @param maxWaitTime - The maximum wait time to wait before re-syncing the sequence number to the current on-chain state,\n * default is 30 seconds.\n * @param maximumInFlight - The maximum number of transactions that can be submitted per account, default is 100.\n * @param sleepTime - The time to wait in seconds before re-evaluating if the maximum number of transactions are in flight,\n * default is 10 seconds.\n * @group Implementation\n * @category Transactions\n */\n constructor(\n aptosConfig: AptosConfig,\n account: Account,\n maxWaitTime: number = 30,\n maximumInFlight: number = 100,\n sleepTime: number = 10,\n ) {\n super();\n this.aptosConfig = aptosConfig;\n this.account = account;\n this.started = false;\n this.accountSequnceNumber = new AccountSequenceNumber(\n aptosConfig,\n account,\n maxWaitTime,\n maximumInFlight,\n sleepTime,\n );\n }\n\n /**\n * Submits the next transaction for the account by generating it with the current sequence number\n * and adding it to the outstanding transaction queue for processing.\n * This function continues to submit transactions until there are no more to process.\n *\n * @throws {Error} Throws an error if the transaction submission fails.\n * @group Implementation\n * @category Transactions\n */\n async submitNextTransaction() {\n try {\n /* eslint-disable no-constant-condition */\n while (true) {\n const sequenceNumber = await this.accountSequnceNumber.nextSequenceNumber();\n if (sequenceNumber === null) return;\n const transaction = await this.generateNextTransaction(this.account, sequenceNumber);\n if (!transaction) return;\n const pendingTransaction = signAndSubmitTransaction({\n aptosConfig: this.aptosConfig,\n transaction,\n signer: this.account,\n });\n await this.outstandingTransactions.enqueue([pendingTransaction, sequenceNumber]);\n }\n } catch (error: any) {\n if (error instanceof AsyncQueueCancelledError) {\n return;\n }\n throw new Error(`Submit transaction failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Reads the outstanding transaction queue and submits the transactions to the chain.\n * This function processes each transaction, checking their status and emitting events based on whether they were successfully\n * sent or failed.\n *\n * @throws {Error} Throws an error if the process execution fails.\n * @event TransactionWorkerEventsEnum.TransactionSent - Emitted when a transaction has been successfully committed to the chain.\n * @event TransactionWorkerEventsEnum.TransactionSendFailed - Emitted when a transaction fails to commit, along with the error\n * reason.\n * @event TransactionWorkerEventsEnum.ExecutionFinish - Emitted when the execution of transactions is complete.\n * @group Implementation\n * @category Transactions\n */\n async processTransactions() {\n try {\n /* eslint-disable no-constant-condition */\n while (true) {\n const awaitingTransactions = [];\n const sequenceNumbers = [];\n let [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n awaitingTransactions.push(pendingTransaction);\n sequenceNumbers.push(sequenceNumber);\n\n while (!this.outstandingTransactions.isEmpty()) {\n [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n awaitingTransactions.push(pendingTransaction);\n sequenceNumbers.push(sequenceNumber);\n }\n // send awaiting transactions to chain\n const sentTransactions = await Promise.allSettled(awaitingTransactions);\n for (let i = 0; i < sentTransactions.length && i < sequenceNumbers.length; i += 1) {\n // check sent transaction status\n const sentTransaction = sentTransactions[i];\n sequenceNumber = sequenceNumbers[i];\n if (sentTransaction.status === promiseFulfilledStatus) {\n // transaction sent to chain\n this.sentTransactions.push([sentTransaction.value.hash, sequenceNumber, null]);\n // check sent transaction execution\n this.emit(TransactionWorkerEventsEnum.TransactionSent, {\n message: `transaction hash ${sentTransaction.value.hash} has been committed to chain`,\n transactionHash: sentTransaction.value.hash,\n });\n await this.checkTransaction(sentTransaction, sequenceNumber);\n } else {\n // send transaction failed\n this.sentTransactions.push([sentTransaction.status, sequenceNumber, sentTransaction.reason]);\n this.emit(TransactionWorkerEventsEnum.TransactionSendFailed, {\n message: `failed to commit transaction ${this.sentTransactions.length} with error ${sentTransaction.reason}`,\n error: sentTransaction.reason,\n });\n }\n }\n this.emit(TransactionWorkerEventsEnum.ExecutionFinish, {\n message: `execute ${sentTransactions.length} transactions finished`,\n });\n }\n } catch (error: any) {\n if (error instanceof AsyncQueueCancelledError) {\n return;\n }\n throw new Error(`Process execution failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Once a transaction has been sent to the chain, this function checks for its execution status.\n * @param sentTransaction - The transaction that was sent to the chain and is now waiting to be executed.\n * @param sequenceNumber - The account's sequence number that was sent with the transaction.\n * @group Implementation\n * @category Transactions\n */\n async checkTransaction(sentTransaction: PromiseFulfilledResult<PendingTransactionResponse>, sequenceNumber: bigint) {\n try {\n const waitFor: Array<Promise<TransactionResponse>> = [];\n waitFor.push(waitForTransaction({ aptosConfig: this.aptosConfig, transactionHash: sentTransaction.value.hash }));\n const sentTransactions = await Promise.allSettled(waitFor);\n\n for (let i = 0; i < sentTransactions.length; i += 1) {\n const executedTransaction = sentTransactions[i];\n if (executedTransaction.status === promiseFulfilledStatus) {\n // transaction executed to chain\n this.executedTransactions.push([executedTransaction.value.hash, sequenceNumber, null]);\n this.emit(TransactionWorkerEventsEnum.TransactionExecuted, {\n message: `transaction hash ${executedTransaction.value.hash} has been executed on chain`,\n transactionHash: sentTransaction.value.hash,\n });\n } else {\n // transaction execution failed\n this.executedTransactions.push([executedTransaction.status, sequenceNumber, executedTransaction.reason]);\n this.emit(TransactionWorkerEventsEnum.TransactionExecutionFailed, {\n message: `failed to execute transaction ${this.executedTransactions.length} with error ${executedTransaction.reason}`,\n error: executedTransaction.reason,\n });\n }\n }\n } catch (error: any) {\n throw new Error(`Check transaction failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Pushes a transaction to the transactions queue for processing.\n *\n * @param transactionData - The transaction payload containing necessary details.\n * @param transactionData.abi - For all entry function payloads, the ABI to skip remote ABI lookups.\n * @param options - Optional parameters for transaction configuration.\n * @param options.maxGasAmount - Maximum gas amount for the transaction.\n * @param options.gasUnitPrice - Gas unit price for the transaction.\n * @param options.expireTimestamp - Expiration timestamp on the transaction.\n * @param options.accountSequenceNumber - The sequence number for the transaction.\n * @group Implementation\n * @category Transactions\n */\n async push(\n transactionData: InputGenerateTransactionPayloadData,\n options?: InputGenerateTransactionOptions,\n ): Promise<void> {\n this.transactionsQueue.enqueue([transactionData, options]);\n }\n\n /**\n * Generates a signed transaction that can be submitted to the chain.\n *\n * @param account - An Aptos account used as the sender of the transaction.\n * @param sequenceNumber - A sequence number the transaction will be generated with.\n * @returns A signed transaction object or undefined if the transaction queue is empty.\n * @group Implementation\n * @category Transactions\n */\n async generateNextTransaction(account: Account, sequenceNumber: bigint): Promise<SimpleTransaction | undefined> {\n if (this.transactionsQueue.isEmpty()) return undefined;\n const [transactionData, options] = await this.transactionsQueue.dequeue();\n return generateTransaction({\n aptosConfig: this.aptosConfig,\n sender: account.accountAddress,\n data: transactionData,\n options: { ...options, accountSequenceNumber: sequenceNumber },\n });\n }\n\n /**\n * Starts transaction submission and processing by executing tasks from the queue until it is cancelled.\n *\n * @throws {Error} Throws an error if unable to start transaction batching.\n * @group Implementation\n * @category Transactions\n */\n async run() {\n try {\n while (!this.taskQueue.isCancelled()) {\n const task = await this.taskQueue.dequeue();\n await task();\n }\n } catch (error: any) {\n throw new Error(`Unable to start transaction batching: ${error}`);\n }\n }\n\n /**\n * Starts the transaction management process.\n *\n * @throws {Error} Throws an error if the worker has already started.\n * @group Implementation\n * @category Transactions\n */\n start() {\n if (this.started) {\n throw new Error(\"worker has already started\");\n }\n this.started = true;\n this.taskQueue.enqueue(() => this.submitNextTransaction());\n this.taskQueue.enqueue(() => this.processTransactions());\n this.run();\n }\n\n /**\n * Stops the transaction management process.\n *\n * @throws {Error} Throws an error if the worker has already stopped.\n * @group Implementation\n * @category Transactions\n */\n stop() {\n if (this.taskQueue.isCancelled()) {\n throw new Error(\"worker has already stopped\");\n }\n this.started = false;\n this.taskQueue.cancel();\n }\n}\n"],"mappings":"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","names":["EventEmitter","promiseFulfilledStatus","TransactionWorkerEventsEnum","TransactionWorker","EventEmitter","aptosConfig","account","maxWaitTime","maximumInFlight","sleepTime","AsyncQueue","AccountSequenceNumber","sequenceNumber","transaction","pendingTransaction","signAndSubmitTransaction","error","AsyncQueueCancelledError","awaitingTransactions","sequenceNumbers","sentTransactions","i","sentTransaction","waitFor","waitForTransaction","executedTransaction","transactionData","options","generateTransaction"]}
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/management/transactionWorker.ts"],"sourcesContent":["/* eslint-disable no-await-in-loop */\n\nimport EventEmitter from \"eventemitter3\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { Account } from \"../../account\";\nimport { waitForTransaction } from \"../../internal/transaction\";\nimport { generateTransaction, signAndSubmitTransaction } from \"../../internal/transactionSubmission\";\nimport { PendingTransactionResponse, TransactionResponse } from \"../../types\";\nimport { InputGenerateTransactionOptions, InputGenerateTransactionPayloadData } from \"../types\";\nimport { AccountSequenceNumber } from \"./accountSequenceNumber\";\nimport { AsyncQueue, AsyncQueueCancelledError } from \"./asyncQueue\";\nimport { SimpleTransaction } from \"../instances/simpleTransaction\";\n\n/**\n * @group Implementation\n * @category Transactions\n */\nexport const promiseFulfilledStatus = \"fulfilled\";\n\n/**\n * Events emitted by the transaction worker during its operation, allowing the dapp to respond to various transaction states.\n * @group Implementation\n * @category Transactions\n */\nexport enum TransactionWorkerEventsEnum {\n // fired after a transaction gets sent to the chain\n TransactionSent = \"transactionSent\",\n // fired if there is an error sending the transaction to the chain\n TransactionSendFailed = \"transactionSendFailed\",\n // fired when a single transaction has executed successfully\n TransactionExecuted = \"transactionExecuted\",\n // fired if a single transaction fails in execution\n TransactionExecutionFailed = \"transactionExecutionFailed\",\n // fired when the worker has finished its job / when the queue has been emptied\n ExecutionFinish = \"executionFinish\",\n}\n\n/**\n * Defines the events emitted by the transaction worker during various stages of transaction processing. *\n * @group Implementation\n * @category Transactions\n */\nexport interface TransactionWorkerEvents {\n transactionSent: (data: SuccessEventData) => void;\n transactionSendFailed: (data: FailureEventData) => void;\n transactionExecuted: (data: SuccessEventData) => void;\n transactionExecutionFailed: (data: FailureEventData) => void;\n executionFinish: (data: ExecutionFinishEventData) => void;\n}\n\n/**\n * The payload for when the worker has finished its job.\n * @group Implementation\n * @category Transactions\n */\nexport type ExecutionFinishEventData = {\n message: string;\n};\n\n/**\n * The payload for a success event.\n * @group Implementation\n * @category Transactions\n */\nexport type SuccessEventData = {\n message: string;\n transactionHash: string;\n};\n\n/**\n * The payload for a failure event.\n * @group Implementation\n * @category Transactions\n */\nexport type FailureEventData = {\n message: string;\n error: string;\n};\n\n/**\n * TransactionWorker provides a simple framework for receiving payloads to be processed.\n *\n * Once one `start()` the process and pushes a new transaction, the worker acquires\n * the current account's next sequence number (by using the AccountSequenceNumber class),\n * generates a signed transaction and pushes an async submission process into the `outstandingTransactions` queue.\n * At the same time, the worker processes transactions by reading the `outstandingTransactions` queue\n * and submits the next transaction to chain, it\n * 1) waits for resolution of the submission process or get pre-execution validation error\n * and 2) waits for the resolution of the execution process or get an execution error.\n * The worker fires events for any submission and/or execution success and/or failure.\n * @group Implementation\n * @category Transactions\n */\nexport class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {\n readonly aptosConfig: AptosConfig;\n\n readonly account: Account;\n\n // current account sequence number\n // TODO: Rename Sequnce -> Sequence\n readonly accountSequnceNumber: AccountSequenceNumber;\n\n readonly taskQueue: AsyncQueue<() => Promise<void>> = new AsyncQueue<() => Promise<void>>();\n\n // process has started\n started: boolean;\n\n /**\n * transactions payloads waiting to be generated and signed\n *\n * TODO support entry function payload from ABI builder\n * @group Implementation\n * @category Transactions\n */\n transactionsQueue = new AsyncQueue<\n [InputGenerateTransactionPayloadData, InputGenerateTransactionOptions | undefined]\n >();\n\n /**\n * signed transactions waiting to be submitted\n * @group Implementation\n * @category Transactions\n */\n outstandingTransactions = new AsyncQueue<[Promise<PendingTransactionResponse>, bigint]>();\n\n /**\n * transactions that have been submitted to chain\n * @group Implementation\n * @category Transactions\n */\n sentTransactions: Array<[string, bigint, any]> = [];\n\n /**\n * transactions that have been committed to chain\n * @group Implementation\n * @category Transactions\n */\n executedTransactions: Array<[string, bigint, any]> = [];\n\n /**\n * Initializes a new instance of the class, providing a framework for receiving payloads to be processed.\n *\n * @param aptosConfig - A configuration object for Aptos.\n * @param account - The account that will be used for sending transactions.\n * @param maxWaitTime - The maximum wait time to wait before re-syncing the sequence number to the current on-chain state,\n * default is 30 seconds.\n * @param maximumInFlight - The maximum number of transactions that can be submitted per account, default is 100.\n * @param sleepTime - The time to wait in seconds before re-evaluating if the maximum number of transactions are in flight,\n * default is 10 seconds.\n * @group Implementation\n * @category Transactions\n */\n constructor(\n aptosConfig: AptosConfig,\n account: Account,\n maxWaitTime: number = 30,\n maximumInFlight: number = 100,\n sleepTime: number = 10,\n ) {\n super();\n this.aptosConfig = aptosConfig;\n this.account = account;\n this.started = false;\n this.accountSequnceNumber = new AccountSequenceNumber(\n aptosConfig,\n account,\n maxWaitTime,\n maximumInFlight,\n sleepTime,\n );\n }\n\n /**\n * Submits the next transaction for the account by generating it with the current sequence number\n * and adding it to the outstanding transaction queue for processing.\n * This function continues to submit transactions until there are no more to process.\n *\n * @throws {Error} Throws an error if the transaction submission fails.\n * @group Implementation\n * @category Transactions\n */\n async submitNextTransaction() {\n try {\n /* eslint-disable no-constant-condition */\n while (true) {\n const sequenceNumber = await this.accountSequnceNumber.nextSequenceNumber();\n if (sequenceNumber === null) return;\n const transaction = await this.generateNextTransaction(this.account, sequenceNumber);\n if (!transaction) return;\n const pendingTransaction = signAndSubmitTransaction({\n aptosConfig: this.aptosConfig,\n transaction,\n signer: this.account,\n });\n await this.outstandingTransactions.enqueue([pendingTransaction, sequenceNumber]);\n }\n } catch (error: any) {\n if (error instanceof AsyncQueueCancelledError) {\n return;\n }\n throw new Error(`Submit transaction failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Reads the outstanding transaction queue and submits the transactions to the chain.\n * This function processes each transaction, checking their status and emitting events based on whether they were successfully\n * sent or failed.\n *\n * @throws {Error} Throws an error if the process execution fails.\n * @event TransactionWorkerEventsEnum.TransactionSent - Emitted when a transaction has been successfully committed to the chain.\n * @event TransactionWorkerEventsEnum.TransactionSendFailed - Emitted when a transaction fails to commit, along with the error\n * reason.\n * @event TransactionWorkerEventsEnum.ExecutionFinish - Emitted when the execution of transactions is complete.\n * @group Implementation\n * @category Transactions\n */\n async processTransactions() {\n try {\n /* eslint-disable no-constant-condition */\n while (true) {\n const awaitingTransactions = [];\n const sequenceNumbers = [];\n let [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n awaitingTransactions.push(pendingTransaction);\n sequenceNumbers.push(sequenceNumber);\n\n while (!this.outstandingTransactions.isEmpty()) {\n [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n awaitingTransactions.push(pendingTransaction);\n sequenceNumbers.push(sequenceNumber);\n }\n // send awaiting transactions to chain\n const sentTransactions = await Promise.allSettled(awaitingTransactions);\n for (let i = 0; i < sentTransactions.length && i < sequenceNumbers.length; i += 1) {\n // check sent transaction status\n const sentTransaction = sentTransactions[i];\n sequenceNumber = sequenceNumbers[i];\n if (sentTransaction.status === promiseFulfilledStatus) {\n // transaction sent to chain\n this.sentTransactions.push([sentTransaction.value.hash, sequenceNumber, null]);\n // check sent transaction execution\n this.emit(TransactionWorkerEventsEnum.TransactionSent, {\n message: `transaction hash ${sentTransaction.value.hash} has been committed to chain`,\n transactionHash: sentTransaction.value.hash,\n });\n await this.checkTransaction(sentTransaction, sequenceNumber);\n } else {\n // send transaction failed\n this.sentTransactions.push([sentTransaction.status, sequenceNumber, sentTransaction.reason]);\n this.emit(TransactionWorkerEventsEnum.TransactionSendFailed, {\n message: `failed to commit transaction ${this.sentTransactions.length} with error ${sentTransaction.reason}`,\n error: sentTransaction.reason,\n });\n }\n }\n this.emit(TransactionWorkerEventsEnum.ExecutionFinish, {\n message: `execute ${sentTransactions.length} transactions finished`,\n });\n }\n } catch (error: any) {\n if (error instanceof AsyncQueueCancelledError) {\n return;\n }\n throw new Error(`Process execution failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Once a transaction has been sent to the chain, this function checks for its execution status.\n * @param sentTransaction - The transaction that was sent to the chain and is now waiting to be executed.\n * @param sequenceNumber - The account's sequence number that was sent with the transaction.\n * @group Implementation\n * @category Transactions\n */\n async checkTransaction(sentTransaction: PromiseFulfilledResult<PendingTransactionResponse>, sequenceNumber: bigint) {\n try {\n const waitFor: Array<Promise<TransactionResponse>> = [];\n waitFor.push(waitForTransaction({ aptosConfig: this.aptosConfig, transactionHash: sentTransaction.value.hash }));\n const sentTransactions = await Promise.allSettled(waitFor);\n\n for (let i = 0; i < sentTransactions.length; i += 1) {\n const executedTransaction = sentTransactions[i];\n if (executedTransaction.status === promiseFulfilledStatus) {\n // transaction executed to chain\n this.executedTransactions.push([executedTransaction.value.hash, sequenceNumber, null]);\n this.emit(TransactionWorkerEventsEnum.TransactionExecuted, {\n message: `transaction hash ${executedTransaction.value.hash} has been executed on chain`,\n transactionHash: sentTransaction.value.hash,\n });\n } else {\n // transaction execution failed\n this.executedTransactions.push([executedTransaction.status, sequenceNumber, executedTransaction.reason]);\n this.emit(TransactionWorkerEventsEnum.TransactionExecutionFailed, {\n message: `failed to execute transaction ${this.executedTransactions.length} with error ${executedTransaction.reason}`,\n error: executedTransaction.reason,\n });\n }\n }\n } catch (error: any) {\n throw new Error(`Check transaction failed for ${this.account.accountAddress.toString()} with error ${error}`);\n }\n }\n\n /**\n * Pushes a transaction to the transactions queue for processing.\n *\n * @param transactionData - The transaction payload containing necessary details.\n * @param transactionData.abi - For all entry function payloads, the ABI to skip remote ABI lookups.\n * @param options - Optional parameters for transaction configuration.\n * @param options.maxGasAmount - Maximum gas amount for the transaction.\n * @param options.gasUnitPrice - Gas unit price for the transaction.\n * @param options.expireTimestamp - Expiration timestamp on the transaction.\n * @param options.accountSequenceNumber - The sequence number for the transaction.\n * @group Implementation\n * @category Transactions\n */\n async push(\n transactionData: InputGenerateTransactionPayloadData,\n options?: InputGenerateTransactionOptions,\n ): Promise<void> {\n this.transactionsQueue.enqueue([transactionData, options]);\n }\n\n /**\n * Generates a signed transaction that can be submitted to the chain.\n *\n * @param account - An Aptos account used as the sender of the transaction.\n * @param sequenceNumber - A sequence number the transaction will be generated with.\n * @returns A signed transaction object or undefined if the transaction queue is empty.\n * @group Implementation\n * @category Transactions\n */\n async generateNextTransaction(account: Account, sequenceNumber: bigint): Promise<SimpleTransaction | undefined> {\n if (this.transactionsQueue.isEmpty()) return undefined;\n const [transactionData, options] = await this.transactionsQueue.dequeue();\n return generateTransaction({\n aptosConfig: this.aptosConfig,\n sender: account.accountAddress,\n data: transactionData,\n options: { ...options, accountSequenceNumber: sequenceNumber },\n });\n }\n\n /**\n * Starts transaction submission and processing by executing tasks from the queue until it is cancelled.\n *\n * @throws {Error} Throws an error if unable to start transaction batching.\n * @group Implementation\n * @category Transactions\n */\n async run() {\n try {\n while (!this.taskQueue.isCancelled()) {\n const task = await this.taskQueue.dequeue();\n await task();\n }\n } catch (error: any) {\n throw new Error(`Unable to start transaction batching: ${error}`);\n }\n }\n\n /**\n * Starts the transaction management process.\n *\n * @throws {Error} Throws an error if the worker has already started.\n * @group Implementation\n * @category Transactions\n */\n start() {\n if (this.started) {\n throw new Error(\"worker has already started\");\n }\n this.started = true;\n this.taskQueue.enqueue(() => this.submitNextTransaction());\n this.taskQueue.enqueue(() => this.processTransactions());\n this.run();\n }\n\n /**\n * Stops the transaction management process.\n *\n * @throws {Error} Throws an error if the worker has already stopped.\n * @group Implementation\n * @category Transactions\n */\n stop() {\n if (this.taskQueue.isCancelled()) {\n throw new Error(\"worker has already stopped\");\n }\n this.started = false;\n this.taskQueue.cancel();\n }\n}\n"],"mappings":"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","names":["TransactionWorkerEventsEnum"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Serializable
|
|
3
|
+
} from "./chunk-C7T6GW5P.mjs";
|
|
4
|
+
|
|
5
|
+
// src/transactions/instances/identifier.ts
|
|
6
|
+
var Identifier = class _Identifier extends Serializable {
|
|
7
|
+
/**
|
|
8
|
+
* Creates an instance of the class with a specified identifier.
|
|
9
|
+
*
|
|
10
|
+
* @param identifier - The unique identifier for the instance.
|
|
11
|
+
* @group Implementation
|
|
12
|
+
* @category Transactions
|
|
13
|
+
*/
|
|
14
|
+
constructor(identifier) {
|
|
15
|
+
super();
|
|
16
|
+
this.identifier = identifier;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Serializes the identifier of the current instance using the provided serializer.
|
|
20
|
+
*
|
|
21
|
+
* @param serializer - The serializer instance used to perform the serialization.
|
|
22
|
+
* @group Implementation
|
|
23
|
+
* @category Transactions
|
|
24
|
+
*/
|
|
25
|
+
serialize(serializer) {
|
|
26
|
+
serializer.serializeStr(this.identifier);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Deserializes an identifier from the provided deserializer.
|
|
30
|
+
* This function is useful for reconstructing an Identifier object from a serialized format.
|
|
31
|
+
*
|
|
32
|
+
* @param deserializer - The deserializer instance used to read the serialized data.
|
|
33
|
+
* @group Implementation
|
|
34
|
+
* @category Transactions
|
|
35
|
+
*/
|
|
36
|
+
static deserialize(deserializer) {
|
|
37
|
+
const identifier = deserializer.deserializeStr();
|
|
38
|
+
return new _Identifier(identifier);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
Identifier
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=chunk-MFFBZ43D.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/transactions/instances/identifier.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\n\n/**\n * Represents an Identifier that can be serialized and deserialized.\n * This class is used to denote the module \"name\" in \"ModuleId\" and\n * the \"function name\" in \"EntryFunction\".\n *\n * @extends Serializable\n * @group Implementation\n * @category Transactions\n */\nexport class Identifier extends Serializable {\n public identifier: string;\n\n /**\n * Creates an instance of the class with a specified identifier.\n *\n * @param identifier - The unique identifier for the instance.\n * @group Implementation\n * @category Transactions\n */\n constructor(identifier: string) {\n super();\n this.identifier = identifier;\n }\n\n /**\n * Serializes the identifier of the current instance using the provided serializer.\n *\n * @param serializer - The serializer instance used to perform the serialization.\n * @group Implementation\n * @category Transactions\n */\n public serialize(serializer: Serializer): void {\n serializer.serializeStr(this.identifier);\n }\n\n /**\n * Deserializes an identifier from the provided deserializer.\n * This function is useful for reconstructing an Identifier object from a serialized format.\n *\n * @param deserializer - The deserializer instance used to read the serialized data.\n * @group Implementation\n * @category Transactions\n */\n static deserialize(deserializer: Deserializer): Identifier {\n const identifier = deserializer.deserializeStr();\n return new Identifier(identifier);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/instances/identifier.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\n\n/**\n * Represents an Identifier that can be serialized and deserialized.\n * This class is used to denote the module \"name\" in \"ModuleId\" and\n * the \"function name\" in \"EntryFunction\".\n *\n * @extends Serializable\n * @group Implementation\n * @category Transactions\n */\nexport class Identifier extends Serializable {\n public identifier: string;\n\n /**\n * Creates an instance of the class with a specified identifier.\n *\n * @param identifier - The unique identifier for the instance.\n * @group Implementation\n * @category Transactions\n */\n constructor(identifier: string) {\n super();\n this.identifier = identifier;\n }\n\n /**\n * Serializes the identifier of the current instance using the provided serializer.\n *\n * @param serializer - The serializer instance used to perform the serialization.\n * @group Implementation\n * @category Transactions\n */\n public serialize(serializer: Serializer): void {\n serializer.serializeStr(this.identifier);\n }\n\n /**\n * Deserializes an identifier from the provided deserializer.\n * This function is useful for reconstructing an Identifier object from a serialized format.\n *\n * @param deserializer - The deserializer instance used to read the serialized data.\n * @group Implementation\n * @category Transactions\n */\n static deserialize(deserializer: Deserializer): Identifier {\n const identifier = deserializer.deserializeStr();\n return new Identifier(identifier);\n }\n}\n"],"mappings":";;;;;AAeO,IAAM,aAAN,MAAM,oBAAmB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU3C,YAAY,YAAoB;AAC9B,UAAM;AACN,SAAK,aAAa;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASO,UAAU,YAA8B;AAC7C,eAAW,aAAa,KAAK,UAAU;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAO,YAAY,cAAwC;AACzD,UAAM,aAAa,aAAa,eAAe;AAC/C,WAAO,IAAI,YAAW,UAAU;AAAA,EAClC;AACF;","names":[]}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AbstractKeylessAccount
|
|
3
|
+
} from "./chunk-46VPRC7E.mjs";
|
|
4
|
+
import {
|
|
5
|
+
SingleKeyAccount
|
|
6
|
+
} from "./chunk-6PMKDSGB.mjs";
|
|
7
|
+
import {
|
|
8
|
+
Ed25519Account
|
|
9
|
+
} from "./chunk-P64LPFEC.mjs";
|
|
10
|
+
import {
|
|
11
|
+
AccountAuthenticatorMultiKey
|
|
12
|
+
} from "./chunk-AGKEC2IM.mjs";
|
|
13
|
+
import {
|
|
14
|
+
MultiKey,
|
|
15
|
+
MultiKeySignature
|
|
16
|
+
} from "./chunk-DMFRIING.mjs";
|
|
17
|
+
import {
|
|
18
|
+
AccountAddress
|
|
19
|
+
} from "./chunk-CXLXUSCG.mjs";
|
|
20
|
+
|
|
21
|
+
// src/account/MultiKeyAccount.ts
|
|
22
|
+
var MultiKeyAccount = class _MultiKeyAccount {
|
|
23
|
+
/**
|
|
24
|
+
* Constructs a MultiKeyAccount instance, which requires multiple signatures for transactions.
|
|
25
|
+
*
|
|
26
|
+
* @param args - The arguments for creating a MultiKeyAccount.
|
|
27
|
+
* @param args.multiKey - The multikey of the account consisting of N public keys and a number M representing the required signatures.
|
|
28
|
+
* @param args.signers - An array of M signers that will be used to sign the transaction.
|
|
29
|
+
* @param args.address - An optional account address input. If not provided, the derived address from the public key will be used.
|
|
30
|
+
* @group Implementation
|
|
31
|
+
* @category Account (On-Chain Model)
|
|
32
|
+
*/
|
|
33
|
+
constructor(args) {
|
|
34
|
+
/**
|
|
35
|
+
* Signing scheme used to sign transactions
|
|
36
|
+
* @group Implementation
|
|
37
|
+
* @category Account (On-Chain Model)
|
|
38
|
+
*/
|
|
39
|
+
this.signingScheme = 3 /* MultiKey */;
|
|
40
|
+
const { multiKey, address } = args;
|
|
41
|
+
const signers = args.signers.map(
|
|
42
|
+
(signer) => signer instanceof Ed25519Account ? SingleKeyAccount.fromEd25519Account(signer) : signer
|
|
43
|
+
);
|
|
44
|
+
if (multiKey.signaturesRequired > signers.length) {
|
|
45
|
+
throw new Error(
|
|
46
|
+
// eslint-disable-next-line max-len
|
|
47
|
+
`Not enough signers provided to satisfy the required signatures. Need ${multiKey.signaturesRequired} signers, but only ${signers.length} provided`
|
|
48
|
+
);
|
|
49
|
+
} else if (multiKey.signaturesRequired < signers.length) {
|
|
50
|
+
throw new Error(
|
|
51
|
+
// eslint-disable-next-line max-len
|
|
52
|
+
`More signers provided than required. Need ${multiKey.signaturesRequired} signers, but ${signers.length} provided`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
this.publicKey = multiKey;
|
|
56
|
+
this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
|
|
57
|
+
const bitPositions = [];
|
|
58
|
+
for (const signer of signers) {
|
|
59
|
+
bitPositions.push(this.publicKey.getIndex(signer.getAnyPublicKey()));
|
|
60
|
+
}
|
|
61
|
+
const signersAndBitPosition = signers.map((signer, index) => [signer, bitPositions[index]]);
|
|
62
|
+
signersAndBitPosition.sort((a, b) => a[1] - b[1]);
|
|
63
|
+
this.signers = signersAndBitPosition.map((value) => value[0]);
|
|
64
|
+
this.signerIndicies = signersAndBitPosition.map((value) => value[1]);
|
|
65
|
+
this.signaturesBitmap = this.publicKey.createBitmap({ bits: bitPositions });
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Static constructor to create a MultiKeyAccount using the provided public keys and signers.
|
|
69
|
+
*
|
|
70
|
+
* @param args - The arguments for creating a MultiKeyAccount.
|
|
71
|
+
* @param args.publicKeys - The N public keys of the MultiKeyAccount.
|
|
72
|
+
* @param args.signaturesRequired - The number of signatures required to authorize a transaction.
|
|
73
|
+
* @param args.signers - An array of M signers that will be used to sign the transaction.
|
|
74
|
+
* @returns MultiKeyAccount - The newly created MultiKeyAccount.
|
|
75
|
+
* @group Implementation
|
|
76
|
+
* @category Account (On-Chain Model)
|
|
77
|
+
*/
|
|
78
|
+
static fromPublicKeysAndSigners(args) {
|
|
79
|
+
const { publicKeys, signaturesRequired, signers } = args;
|
|
80
|
+
const multiKey = new MultiKey({ publicKeys, signaturesRequired });
|
|
81
|
+
return new _MultiKeyAccount({ multiKey, signers });
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Determines if the provided account is a multi-key account.
|
|
85
|
+
*
|
|
86
|
+
* @param account - The account to check.
|
|
87
|
+
* @returns A boolean indicating whether the account is a multi-key account.
|
|
88
|
+
* @group Implementation
|
|
89
|
+
* @category Account (On-Chain Model)
|
|
90
|
+
*/
|
|
91
|
+
static isMultiKeySigner(account) {
|
|
92
|
+
return account instanceof _MultiKeyAccount;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sign a message using the account's signers and return an AccountAuthenticator containing the signature along with the
|
|
96
|
+
* account's public key.
|
|
97
|
+
* @param message - The signing message, represented as binary input in hexadecimal format.
|
|
98
|
+
* @returns An instance of AccountAuthenticatorMultiKey that includes the signature and the public key.
|
|
99
|
+
* @group Implementation
|
|
100
|
+
* @category Account (On-Chain Model)
|
|
101
|
+
*/
|
|
102
|
+
signWithAuthenticator(message) {
|
|
103
|
+
return new AccountAuthenticatorMultiKey(this.publicKey, this.sign(message));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Sign a transaction using the account's signers, returning an AccountAuthenticator that contains the signature and the
|
|
107
|
+
* account's public key.
|
|
108
|
+
* @param transaction - The raw transaction to be signed.
|
|
109
|
+
* @returns An AccountAuthenticatorMultiKey containing the signature of the transaction along with the account's public key.
|
|
110
|
+
* @group Implementation
|
|
111
|
+
* @category Account (On-Chain Model)
|
|
112
|
+
*/
|
|
113
|
+
signTransactionWithAuthenticator(transaction) {
|
|
114
|
+
return new AccountAuthenticatorMultiKey(this.publicKey, this.signTransaction(transaction));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Waits for any proofs on KeylessAccount signers to be fetched. This ensures that signing with the KeylessAccount does not
|
|
118
|
+
* fail due to missing proofs.
|
|
119
|
+
* @return {Promise<void>} A promise that resolves when all proofs have been fetched.
|
|
120
|
+
* @group Implementation
|
|
121
|
+
* @category Account (On-Chain Model)
|
|
122
|
+
*/
|
|
123
|
+
async waitForProofFetch() {
|
|
124
|
+
const keylessSigners = this.signers.filter(
|
|
125
|
+
(signer) => signer instanceof AbstractKeylessAccount
|
|
126
|
+
);
|
|
127
|
+
const promises = keylessSigners.map(async (signer) => signer.waitForProofFetch());
|
|
128
|
+
await Promise.all(promises);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Validates that the Keyless Account can be used to sign transactions.
|
|
132
|
+
* @return
|
|
133
|
+
* @group Implementation
|
|
134
|
+
* @category Account (On-Chain Model)
|
|
135
|
+
*/
|
|
136
|
+
async checkKeylessAccountValidity(aptosConfig) {
|
|
137
|
+
const keylessSigners = this.signers.filter(
|
|
138
|
+
(signer) => signer instanceof AbstractKeylessAccount
|
|
139
|
+
);
|
|
140
|
+
const promises = keylessSigners.map((signer) => signer.checkKeylessAccountValidity(aptosConfig));
|
|
141
|
+
await Promise.all(promises);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Sign the given message using the MultiKeyAccount's signers
|
|
145
|
+
* @param data - The data to be signed in HexInput format.
|
|
146
|
+
* @returns MultiKeySignature
|
|
147
|
+
* @group Implementation
|
|
148
|
+
* @category Account (On-Chain Model)
|
|
149
|
+
*/
|
|
150
|
+
sign(data) {
|
|
151
|
+
const signatures = [];
|
|
152
|
+
for (const signer of this.signers) {
|
|
153
|
+
signatures.push(signer.sign(data));
|
|
154
|
+
}
|
|
155
|
+
return new MultiKeySignature({ signatures, bitmap: this.signaturesBitmap });
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Sign the given transaction using the MultiKeyAccount's signers.
|
|
159
|
+
* This function aggregates signatures from all signers associated with the MultiKeyAccount.
|
|
160
|
+
*
|
|
161
|
+
* @param transaction - The transaction to be signed.
|
|
162
|
+
* @returns MultiKeySignature - An object containing the aggregated signatures and a bitmap of the signatures.
|
|
163
|
+
* @group Implementation
|
|
164
|
+
* @category Account (On-Chain Model)
|
|
165
|
+
*/
|
|
166
|
+
signTransaction(transaction) {
|
|
167
|
+
const signatures = [];
|
|
168
|
+
for (const signer of this.signers) {
|
|
169
|
+
signatures.push(signer.signTransaction(transaction));
|
|
170
|
+
}
|
|
171
|
+
return new MultiKeySignature({ signatures, bitmap: this.signaturesBitmap });
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Verify the given message and signature with the public keys.
|
|
175
|
+
*
|
|
176
|
+
* This function checks if the provided signatures are valid for the given message using the corresponding public keys.
|
|
177
|
+
*
|
|
178
|
+
* @param args - The arguments for verifying the signature.
|
|
179
|
+
* @param args.message - The raw message data in HexInput format.
|
|
180
|
+
* @param args.signature - The signed message MultiKeySignature containing multiple signatures.
|
|
181
|
+
* @returns A boolean indicating whether the signatures are valid for the message.
|
|
182
|
+
* @group Implementation
|
|
183
|
+
* @category Account (On-Chain Model)
|
|
184
|
+
*/
|
|
185
|
+
verifySignature(args) {
|
|
186
|
+
const { message, signature } = args;
|
|
187
|
+
const isSignerIndicesSorted = this.signerIndicies.every(
|
|
188
|
+
(value, i) => i === 0 || value >= this.signerIndicies[i - 1]
|
|
189
|
+
);
|
|
190
|
+
if (!isSignerIndicesSorted) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
for (let i = 0; i < signature.signatures.length; i += 1) {
|
|
194
|
+
const singleSignature = signature.signatures[i];
|
|
195
|
+
const publicKey = this.publicKey.publicKeys[this.signerIndicies[i]];
|
|
196
|
+
if (!publicKey.verifySignature({ message, signature: singleSignature })) {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
export {
|
|
205
|
+
MultiKeyAccount
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=chunk-MG6UFOJW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/account/MultiKeyAccount.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Account } from \"./Account\";\nimport { MultiKey, MultiKeySignature, PublicKey } from \"../core/crypto\";\nimport { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { HexInput, SigningScheme } from \"../types\";\nimport { AccountAuthenticatorMultiKey } from \"../transactions/authenticator/account\";\nimport { AnyRawTransaction } from \"../transactions/types\";\nimport { AbstractKeylessAccount, KeylessSigner } from \"./AbstractKeylessAccount\";\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { SingleKeyAccount, SingleKeySigner, SingleKeySignerOrLegacyEd25519Account } from \"./SingleKeyAccount\";\nimport { Ed25519Account } from \"./Ed25519Account\";\n\n/**\n * Arguments required to verify a multi-key signature against a given message.\n *\n * @param message - The original message that was signed.\n * @param signature - The multi-key signature to be verified.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport interface VerifyMultiKeySignatureArgs {\n message: HexInput;\n signature: MultiKeySignature;\n}\n\n/**\n * Signer implementation for the MultiKey authentication scheme.\n *\n * This account utilizes an M of N signing scheme, where M and N are specified in the {@link MultiKey}.\n * It signs messages using an array of M accounts, each corresponding to a public key in the {@link MultiKey}.\n *\n * Note: Generating a signer instance does not create the account on-chain.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\nexport class MultiKeyAccount implements Account, KeylessSigner {\n /**\n * Public key associated with the account\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly publicKey: MultiKey;\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 * Signing scheme used to sign transactions\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly signingScheme: SigningScheme = SigningScheme.MultiKey;\n\n /**\n * The signers used to sign messages. These signers should correspond to public keys in the\n * MultiKeyAccount's public key. The number of signers should be equal to this.publicKey.signaturesRequired.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n readonly signers: Account[];\n\n /**\n * An array of indices where for signer[i], signerIndicies[i] is the index of the corresponding public key in\n * publicKey.publicKeys. Used to derive the right public key to use for verification.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n // TODO: Rename Indicies to Indices\n readonly signerIndicies: number[];\n\n readonly signaturesBitmap: Uint8Array;\n\n /**\n * Constructs a MultiKeyAccount instance, which requires multiple signatures for transactions.\n *\n * @param args - The arguments for creating a MultiKeyAccount.\n * @param args.multiKey - The multikey of the account consisting of N public keys and a number M representing the required signatures.\n * @param args.signers - An array of M signers that will be used to sign the transaction.\n * @param args.address - An optional account address input. If not provided, the derived address from the public key will be used.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n constructor(args: {\n multiKey: MultiKey;\n signers: SingleKeySignerOrLegacyEd25519Account[];\n address?: AccountAddressInput;\n }) {\n const { multiKey, address } = args;\n\n const signers: SingleKeySigner[] = args.signers.map((signer) =>\n signer instanceof Ed25519Account ? SingleKeyAccount.fromEd25519Account(signer) : signer,\n );\n\n if (multiKey.signaturesRequired > signers.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Not enough signers provided to satisfy the required signatures. Need ${multiKey.signaturesRequired} signers, but only ${signers.length} provided`,\n );\n } else if (multiKey.signaturesRequired < signers.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `More signers provided than required. Need ${multiKey.signaturesRequired} signers, but ${signers.length} provided`,\n );\n }\n\n this.publicKey = multiKey;\n\n this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();\n\n // For each signer, find its corresponding position in the MultiKey's public keys array\n const bitPositions: number[] = [];\n for (const signer of signers) {\n bitPositions.push(this.publicKey.getIndex(signer.getAnyPublicKey()));\n }\n\n // Create pairs of [signer, position] and sort them by position\n // This sorting is critical because:\n // 1. The on-chain verification expects signatures to be in ascending order by bit position\n // 2. The bitmap must match the order of signatures when verifying\n const signersAndBitPosition: [Account, number][] = signers.map((signer, index) => [signer, bitPositions[index]]);\n signersAndBitPosition.sort((a, b) => a[1] - b[1]);\n\n // Extract the sorted signers and their positions into separate arrays\n this.signers = signersAndBitPosition.map((value) => value[0]);\n this.signerIndicies = signersAndBitPosition.map((value) => value[1]);\n\n // Create a bitmap representing which public keys from the MultiKey are being used\n // This bitmap is used during signature verification to identify which public keys\n // should be used to verify each signature\n this.signaturesBitmap = this.publicKey.createBitmap({ bits: bitPositions });\n }\n\n /**\n * Static constructor to create a MultiKeyAccount using the provided public keys and signers.\n *\n * @param args - The arguments for creating a MultiKeyAccount.\n * @param args.publicKeys - The N public keys of the MultiKeyAccount.\n * @param args.signaturesRequired - The number of signatures required to authorize a transaction.\n * @param args.signers - An array of M signers that will be used to sign the transaction.\n * @returns MultiKeyAccount - The newly created MultiKeyAccount.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n static fromPublicKeysAndSigners(args: {\n publicKeys: PublicKey[];\n signaturesRequired: number;\n signers: SingleKeySignerOrLegacyEd25519Account[];\n }): MultiKeyAccount {\n const { publicKeys, signaturesRequired, signers } = args;\n const multiKey = new MultiKey({ publicKeys, signaturesRequired });\n return new MultiKeyAccount({ multiKey, signers });\n }\n\n /**\n * Determines if the provided account is a multi-key account.\n *\n * @param account - The account to check.\n * @returns A boolean indicating whether the account is a multi-key account.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n static isMultiKeySigner(account: Account): account is MultiKeyAccount {\n return account instanceof MultiKeyAccount;\n }\n\n /**\n * Sign a message using the account's signers and return an AccountAuthenticator containing the signature along with the\n * account's public key.\n * @param message - The signing message, represented as binary input in hexadecimal format.\n * @returns An instance of AccountAuthenticatorMultiKey that includes the signature and the public key.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signWithAuthenticator(message: HexInput): AccountAuthenticatorMultiKey {\n return new AccountAuthenticatorMultiKey(this.publicKey, this.sign(message));\n }\n\n /**\n * Sign a transaction using the account's signers, returning an AccountAuthenticator that contains the signature and the\n * account's public key.\n * @param transaction - The raw transaction to be signed.\n * @returns An AccountAuthenticatorMultiKey containing the signature of the transaction along with the account's public key.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorMultiKey {\n return new AccountAuthenticatorMultiKey(this.publicKey, this.signTransaction(transaction));\n }\n\n /**\n * Waits for any proofs on KeylessAccount signers to be fetched. This ensures that signing with the KeylessAccount does not\n * fail due to missing proofs.\n * @return {Promise<void>} A promise that resolves when all proofs have been fetched.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async waitForProofFetch(): Promise<void> {\n const keylessSigners = this.signers.filter(\n (signer) => signer instanceof AbstractKeylessAccount,\n ) as AbstractKeylessAccount[];\n const promises = keylessSigners.map(async (signer) => signer.waitForProofFetch());\n await Promise.all(promises);\n }\n\n /**\n * Validates that the Keyless Account can be used to sign transactions.\n * @return\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n async checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void> {\n const keylessSigners = this.signers.filter(\n (signer) => signer instanceof AbstractKeylessAccount,\n ) as AbstractKeylessAccount[];\n const promises = keylessSigners.map((signer) => signer.checkKeylessAccountValidity(aptosConfig));\n await Promise.all(promises);\n }\n\n /**\n * Sign the given message using the MultiKeyAccount's signers\n * @param data - The data to be signed in HexInput format.\n * @returns MultiKeySignature\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n sign(data: HexInput): MultiKeySignature {\n const signatures = [];\n for (const signer of this.signers) {\n signatures.push(signer.sign(data));\n }\n return new MultiKeySignature({ signatures, bitmap: this.signaturesBitmap });\n }\n\n /**\n * Sign the given transaction using the MultiKeyAccount's signers.\n * This function aggregates signatures from all signers associated with the MultiKeyAccount.\n *\n * @param transaction - The transaction to be signed.\n * @returns MultiKeySignature - An object containing the aggregated signatures and a bitmap of the signatures.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n signTransaction(transaction: AnyRawTransaction): MultiKeySignature {\n const signatures = [];\n for (const signer of this.signers) {\n signatures.push(signer.signTransaction(transaction));\n }\n return new MultiKeySignature({ signatures, bitmap: this.signaturesBitmap });\n }\n\n /**\n * Verify the given message and signature with the public keys.\n *\n * This function checks if the provided signatures are valid for the given message using the corresponding public keys.\n *\n * @param args - The arguments for verifying the signature.\n * @param args.message - The raw message data in HexInput format.\n * @param args.signature - The signed message MultiKeySignature containing multiple signatures.\n * @returns A boolean indicating whether the signatures are valid for the message.\n * @group Implementation\n * @category Account (On-Chain Model)\n */\n verifySignature(args: VerifyMultiKeySignatureArgs): boolean {\n const { message, signature } = args;\n const isSignerIndicesSorted = this.signerIndicies.every(\n (value, i) => i === 0 || value >= this.signerIndicies[i - 1],\n );\n if (!isSignerIndicesSorted) {\n return false;\n }\n for (let i = 0; i < signature.signatures.length; i += 1) {\n const singleSignature = signature.signatures[i];\n const publicKey = this.publicKey.publicKeys[this.signerIndicies[i]];\n if (!publicKey.verifySignature({ message, signature: singleSignature })) {\n return false;\n }\n }\n return true;\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import {
|
|
2
|
+
generateTransaction
|
|
3
|
+
} from "./chunk-UKZP2GAB.mjs";
|
|
4
|
+
import {
|
|
5
|
+
lookupOriginalAccountAddress
|
|
6
|
+
} from "./chunk-KEZG4OGH.mjs";
|
|
7
|
+
import {
|
|
8
|
+
FederatedKeylessAccount
|
|
9
|
+
} from "./chunk-Y7KAC4I4.mjs";
|
|
10
|
+
import {
|
|
11
|
+
KeylessAccount
|
|
12
|
+
} from "./chunk-I4OHHVRF.mjs";
|
|
13
|
+
import {
|
|
14
|
+
FederatedKeylessPublicKey
|
|
15
|
+
} from "./chunk-6SNGKTWE.mjs";
|
|
16
|
+
import {
|
|
17
|
+
Groth16Zkp,
|
|
18
|
+
KeylessPublicKey,
|
|
19
|
+
ZeroKnowledgeSig,
|
|
20
|
+
ZkProof,
|
|
21
|
+
getKeylessConfig
|
|
22
|
+
} from "./chunk-T573PCIR.mjs";
|
|
23
|
+
import {
|
|
24
|
+
EphemeralSignature
|
|
25
|
+
} from "./chunk-UOHCJOXI.mjs";
|
|
26
|
+
import {
|
|
27
|
+
postAptosPepperService,
|
|
28
|
+
postAptosProvingService
|
|
29
|
+
} from "./chunk-LL4RQKIB.mjs";
|
|
30
|
+
import {
|
|
31
|
+
KeylessError
|
|
32
|
+
} from "./chunk-32UQAST6.mjs";
|
|
33
|
+
import {
|
|
34
|
+
MoveVector
|
|
35
|
+
} from "./chunk-KSK3XIGF.mjs";
|
|
36
|
+
import {
|
|
37
|
+
Hex
|
|
38
|
+
} from "./chunk-BDM6FBUO.mjs";
|
|
39
|
+
import {
|
|
40
|
+
FIREBASE_AUTH_ISS_PATTERN
|
|
41
|
+
} from "./chunk-5QHMFYVL.mjs";
|
|
42
|
+
|
|
43
|
+
// src/internal/keyless.ts
|
|
44
|
+
import { jwtDecode } from "jwt-decode";
|
|
45
|
+
async function getPepper(args) {
|
|
46
|
+
const { aptosConfig, jwt, ephemeralKeyPair, uidKey = "sub", derivationPath } = args;
|
|
47
|
+
const body = {
|
|
48
|
+
jwt_b64: jwt,
|
|
49
|
+
epk: ephemeralKeyPair.getPublicKey().bcsToHex().toStringWithoutPrefix(),
|
|
50
|
+
exp_date_secs: ephemeralKeyPair.expiryDateSecs,
|
|
51
|
+
epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),
|
|
52
|
+
uid_key: uidKey,
|
|
53
|
+
derivation_path: derivationPath
|
|
54
|
+
};
|
|
55
|
+
const { data } = await postAptosPepperService({
|
|
56
|
+
aptosConfig,
|
|
57
|
+
path: "fetch",
|
|
58
|
+
body,
|
|
59
|
+
originMethod: "getPepper",
|
|
60
|
+
overrides: { WITH_CREDENTIALS: false }
|
|
61
|
+
});
|
|
62
|
+
return Hex.fromHexInput(data.pepper).toUint8Array();
|
|
63
|
+
}
|
|
64
|
+
async function getProof(args) {
|
|
65
|
+
const {
|
|
66
|
+
aptosConfig,
|
|
67
|
+
jwt,
|
|
68
|
+
ephemeralKeyPair,
|
|
69
|
+
pepper = await getPepper(args),
|
|
70
|
+
uidKey = "sub",
|
|
71
|
+
maxExpHorizonSecs = (await getKeylessConfig({ aptosConfig })).maxExpHorizonSecs
|
|
72
|
+
} = args;
|
|
73
|
+
if (Hex.fromHexInput(pepper).toUint8Array().length !== KeylessAccount.PEPPER_LENGTH) {
|
|
74
|
+
throw new Error(`Pepper needs to be ${KeylessAccount.PEPPER_LENGTH} bytes`);
|
|
75
|
+
}
|
|
76
|
+
const decodedJwt = jwtDecode(jwt);
|
|
77
|
+
if (typeof decodedJwt.iat !== "number") {
|
|
78
|
+
throw new Error("iat was not found");
|
|
79
|
+
}
|
|
80
|
+
if (maxExpHorizonSecs < ephemeralKeyPair.expiryDateSecs - decodedJwt.iat) {
|
|
81
|
+
throw Error(`The EphemeralKeyPair is too long lived. It's lifespan must be less than ${maxExpHorizonSecs}`);
|
|
82
|
+
}
|
|
83
|
+
const json = {
|
|
84
|
+
jwt_b64: jwt,
|
|
85
|
+
epk: ephemeralKeyPair.getPublicKey().bcsToHex().toStringWithoutPrefix(),
|
|
86
|
+
epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),
|
|
87
|
+
exp_date_secs: ephemeralKeyPair.expiryDateSecs,
|
|
88
|
+
exp_horizon_secs: maxExpHorizonSecs,
|
|
89
|
+
pepper: Hex.fromHexInput(pepper).toStringWithoutPrefix(),
|
|
90
|
+
uid_key: uidKey
|
|
91
|
+
};
|
|
92
|
+
const { data } = await postAptosProvingService({
|
|
93
|
+
aptosConfig,
|
|
94
|
+
path: "prove",
|
|
95
|
+
body: json,
|
|
96
|
+
originMethod: "getProof",
|
|
97
|
+
overrides: { WITH_CREDENTIALS: false }
|
|
98
|
+
});
|
|
99
|
+
const proofPoints = data.proof;
|
|
100
|
+
const groth16Zkp = new Groth16Zkp({
|
|
101
|
+
a: proofPoints.a,
|
|
102
|
+
b: proofPoints.b,
|
|
103
|
+
c: proofPoints.c
|
|
104
|
+
});
|
|
105
|
+
const signedProof = new ZeroKnowledgeSig({
|
|
106
|
+
proof: new ZkProof(groth16Zkp, 0 /* Groth16 */),
|
|
107
|
+
trainingWheelsSignature: EphemeralSignature.fromHex(data.training_wheels_signature),
|
|
108
|
+
expHorizonSecs: maxExpHorizonSecs
|
|
109
|
+
});
|
|
110
|
+
return signedProof;
|
|
111
|
+
}
|
|
112
|
+
async function deriveKeylessAccount(args) {
|
|
113
|
+
const { aptosConfig, jwt, jwkAddress, uidKey, proofFetchCallback, pepper = await getPepper(args) } = args;
|
|
114
|
+
const { verificationKey, maxExpHorizonSecs } = await getKeylessConfig({ aptosConfig });
|
|
115
|
+
const proofPromise = getProof({ ...args, pepper, maxExpHorizonSecs });
|
|
116
|
+
const proof = proofFetchCallback ? proofPromise : await proofPromise;
|
|
117
|
+
if (jwkAddress !== void 0) {
|
|
118
|
+
const publicKey2 = FederatedKeylessPublicKey.fromJwtAndPepper({ jwt, pepper, jwkAddress, uidKey });
|
|
119
|
+
const address2 = await lookupOriginalAccountAddress({
|
|
120
|
+
aptosConfig,
|
|
121
|
+
authenticationKey: publicKey2.authKey().derivedAddress()
|
|
122
|
+
});
|
|
123
|
+
return FederatedKeylessAccount.create({
|
|
124
|
+
...args,
|
|
125
|
+
address: address2,
|
|
126
|
+
proof,
|
|
127
|
+
pepper,
|
|
128
|
+
proofFetchCallback,
|
|
129
|
+
jwkAddress,
|
|
130
|
+
verificationKey
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const publicKey = KeylessPublicKey.fromJwtAndPepper({ jwt, pepper, uidKey });
|
|
134
|
+
const address = await lookupOriginalAccountAddress({
|
|
135
|
+
aptosConfig,
|
|
136
|
+
authenticationKey: publicKey.authKey().derivedAddress()
|
|
137
|
+
});
|
|
138
|
+
return KeylessAccount.create({ ...args, address, proof, pepper, proofFetchCallback, verificationKey });
|
|
139
|
+
}
|
|
140
|
+
async function updateFederatedKeylessJwkSetTransaction(args) {
|
|
141
|
+
const { aptosConfig, sender, iss, options } = args;
|
|
142
|
+
let { jwksUrl } = args;
|
|
143
|
+
if (jwksUrl === void 0) {
|
|
144
|
+
if (FIREBASE_AUTH_ISS_PATTERN.test(iss)) {
|
|
145
|
+
jwksUrl = "https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com";
|
|
146
|
+
} else {
|
|
147
|
+
jwksUrl = iss.endsWith("/") ? `${iss}.well-known/jwks.json` : `${iss}/.well-known/jwks.json`;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
let response;
|
|
151
|
+
try {
|
|
152
|
+
response = await fetch(jwksUrl);
|
|
153
|
+
if (!response.ok) {
|
|
154
|
+
throw new Error(`${response.status} ${response.statusText}`);
|
|
155
|
+
}
|
|
156
|
+
} catch (error) {
|
|
157
|
+
let errorMessage;
|
|
158
|
+
if (error instanceof Error) {
|
|
159
|
+
errorMessage = `${error.message}`;
|
|
160
|
+
} else {
|
|
161
|
+
errorMessage = `error unknown - ${error}`;
|
|
162
|
+
}
|
|
163
|
+
throw KeylessError.fromErrorType({
|
|
164
|
+
type: 14 /* JWK_FETCH_FAILED_FEDERATED */,
|
|
165
|
+
details: `Failed to fetch JWKS at ${jwksUrl}: ${errorMessage}`
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
const jwks = await response.json();
|
|
169
|
+
return generateTransaction({
|
|
170
|
+
aptosConfig,
|
|
171
|
+
sender: sender.accountAddress,
|
|
172
|
+
data: {
|
|
173
|
+
function: "0x1::jwks::update_federated_jwk_set",
|
|
174
|
+
functionArguments: [
|
|
175
|
+
iss,
|
|
176
|
+
MoveVector.MoveString(jwks.keys.map((key) => key.kid)),
|
|
177
|
+
MoveVector.MoveString(jwks.keys.map((key) => key.alg)),
|
|
178
|
+
MoveVector.MoveString(jwks.keys.map((key) => key.e)),
|
|
179
|
+
MoveVector.MoveString(jwks.keys.map((key) => key.n))
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
options
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export {
|
|
187
|
+
getPepper,
|
|
188
|
+
getProof,
|
|
189
|
+
deriveKeylessAccount,
|
|
190
|
+
updateFederatedKeylessJwkSetTransaction
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=chunk-MHZVL3EA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/internal/keyless.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/keyless}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * keyless namespace and without having a dependency cycle error.\n * @group Implementation\n */\nimport { jwtDecode, JwtPayload } from \"jwt-decode\";\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { postAptosPepperService, postAptosProvingService } from \"../client\";\nimport {\n AccountAddressInput,\n EphemeralSignature,\n Groth16Zkp,\n Hex,\n KeylessPublicKey,\n MoveJWK,\n ZeroKnowledgeSig,\n ZkProof,\n getKeylessConfig,\n} from \"../core\";\nimport { HexInput, ZkpVariant } from \"../types\";\nimport { Account, EphemeralKeyPair, KeylessAccount, ProofFetchCallback } from \"../account\";\nimport { PepperFetchRequest, PepperFetchResponse, ProverRequest, ProverResponse } from \"../types/keyless\";\nimport { lookupOriginalAccountAddress } from \"./account\";\nimport { FederatedKeylessPublicKey } from \"../core/crypto/federatedKeyless\";\nimport { FederatedKeylessAccount } from \"../account/FederatedKeylessAccount\";\nimport { MoveVector } from \"../bcs\";\nimport { generateTransaction } from \"./transactionSubmission\";\nimport { InputGenerateTransactionOptions, SimpleTransaction } from \"../transactions\";\nimport { KeylessError, KeylessErrorType } from \"../errors\";\nimport { FIREBASE_AUTH_ISS_PATTERN } from \"../utils/const\";\n\n/**\n * Retrieves a pepper value based on the provided configuration and authentication details.\n *\n * @param args - The arguments required to fetch the pepper.\n * @param args.aptosConfig - The configuration object for Aptos.\n * @param args.jwt - The JSON Web Token used for authentication.\n * @param args.ephemeralKeyPair - The ephemeral key pair used for the operation.\n * @param args.uidKey - An optional unique identifier key (defaults to \"sub\").\n * @param args.derivationPath - An optional derivation path for the key.\n * @returns A Uint8Array containing the fetched pepper value.\n * @group Implementation\n */\nexport async function getPepper(args: {\n aptosConfig: AptosConfig;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n uidKey?: string;\n derivationPath?: string;\n}): Promise<Uint8Array> {\n const { aptosConfig, jwt, ephemeralKeyPair, uidKey = \"sub\", derivationPath } = args;\n\n const body = {\n jwt_b64: jwt,\n epk: ephemeralKeyPair.getPublicKey().bcsToHex().toStringWithoutPrefix(),\n exp_date_secs: ephemeralKeyPair.expiryDateSecs,\n epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),\n uid_key: uidKey,\n derivation_path: derivationPath,\n };\n const { data } = await postAptosPepperService<PepperFetchRequest, PepperFetchResponse>({\n aptosConfig,\n path: \"fetch\",\n body,\n originMethod: \"getPepper\",\n overrides: { WITH_CREDENTIALS: false },\n });\n return Hex.fromHexInput(data.pepper).toUint8Array();\n}\n\n/**\n * Generates a zero-knowledge proof based on the provided parameters.\n * This function is essential for creating a signed proof that can be used in various cryptographic operations.\n *\n * @param args - The parameters required to generate the proof.\n * @param args.aptosConfig - The configuration settings for Aptos.\n * @param args.jwt - The JSON Web Token used for authentication.\n * @param args.ephemeralKeyPair - The ephemeral key pair used for generating the proof.\n * @param args.pepper - An optional hex input used to enhance security (default is generated if not provided).\n * @param args.uidKey - An optional string that specifies the unique identifier key (defaults to \"sub\").\n * @throws Error if the pepper length is not valid or if the ephemeral key pair's lifespan exceeds the maximum allowed.\n * @group Implementation\n */\nexport async function getProof(args: {\n aptosConfig: AptosConfig;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n pepper?: HexInput;\n uidKey?: string;\n maxExpHorizonSecs?: number;\n}): Promise<ZeroKnowledgeSig> {\n const {\n aptosConfig,\n jwt,\n ephemeralKeyPair,\n pepper = await getPepper(args),\n uidKey = \"sub\",\n maxExpHorizonSecs = (await getKeylessConfig({ aptosConfig })).maxExpHorizonSecs,\n } = args;\n if (Hex.fromHexInput(pepper).toUint8Array().length !== KeylessAccount.PEPPER_LENGTH) {\n throw new Error(`Pepper needs to be ${KeylessAccount.PEPPER_LENGTH} bytes`);\n }\n const decodedJwt = jwtDecode<JwtPayload>(jwt);\n if (typeof decodedJwt.iat !== \"number\") {\n throw new Error(\"iat was not found\");\n }\n if (maxExpHorizonSecs < ephemeralKeyPair.expiryDateSecs - decodedJwt.iat) {\n throw Error(`The EphemeralKeyPair is too long lived. It's lifespan must be less than ${maxExpHorizonSecs}`);\n }\n const json = {\n jwt_b64: jwt,\n epk: ephemeralKeyPair.getPublicKey().bcsToHex().toStringWithoutPrefix(),\n epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),\n exp_date_secs: ephemeralKeyPair.expiryDateSecs,\n exp_horizon_secs: maxExpHorizonSecs,\n pepper: Hex.fromHexInput(pepper).toStringWithoutPrefix(),\n uid_key: uidKey,\n };\n\n const { data } = await postAptosProvingService<ProverRequest, ProverResponse>({\n aptosConfig,\n path: \"prove\",\n body: json,\n originMethod: \"getProof\",\n overrides: { WITH_CREDENTIALS: false },\n });\n\n const proofPoints = data.proof;\n const groth16Zkp = new Groth16Zkp({\n a: proofPoints.a,\n b: proofPoints.b,\n c: proofPoints.c,\n });\n\n const signedProof = new ZeroKnowledgeSig({\n proof: new ZkProof(groth16Zkp, ZkpVariant.Groth16),\n trainingWheelsSignature: EphemeralSignature.fromHex(data.training_wheels_signature),\n expHorizonSecs: maxExpHorizonSecs,\n });\n return signedProof;\n}\n\n/**\n * Parameters for deriving a keyless account\n */\nexport type DeriveKeylessAccountParams = {\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n jwkAddress?: AccountAddressInput;\n uidKey?: string;\n pepper?: HexInput;\n proofFetchCallback?: ProofFetchCallback;\n};\n\n/**\n * Derives a keyless account by fetching the necessary proof and looking up the original account address.\n * This function helps in creating a keyless account that can be used without managing private keys directly.\n *\n * @param args - The arguments required to derive the keyless account.\n * @param args.aptosConfig - The configuration settings for Aptos.\n * @param args.jwt - The JSON Web Token used for authentication.\n * @param args.ephemeralKeyPair - The ephemeral key pair used for cryptographic operations.\n * @param args.uidKey - An optional unique identifier key for the user.\n * @param args.pepper - An optional hexadecimal input used for additional security.\n * @param args.proofFetchCallback - An optional callback function to handle the proof fetch outcome.\n * @returns A keyless account object.\n * @group Implementation\n */\nexport async function deriveKeylessAccount(args: {\n aptosConfig: AptosConfig;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n uidKey?: string;\n pepper?: HexInput;\n proofFetchCallback?: ProofFetchCallback;\n}): Promise<KeylessAccount>;\n\nexport async function deriveKeylessAccount(args: {\n aptosConfig: AptosConfig;\n jwt: string;\n ephemeralKeyPair: EphemeralKeyPair;\n jwkAddress: AccountAddressInput;\n uidKey?: string;\n pepper?: HexInput;\n proofFetchCallback?: ProofFetchCallback;\n}): Promise<FederatedKeylessAccount>;\n\nexport async function deriveKeylessAccount(\n args: {\n aptosConfig: AptosConfig;\n } & DeriveKeylessAccountParams,\n): Promise<KeylessAccount | FederatedKeylessAccount> {\n const { aptosConfig, jwt, jwkAddress, uidKey, proofFetchCallback, pepper = await getPepper(args) } = args;\n const { verificationKey, maxExpHorizonSecs } = await getKeylessConfig({ aptosConfig });\n\n const proofPromise = getProof({ ...args, pepper, maxExpHorizonSecs });\n // If a callback is provided, pass in the proof as a promise to KeylessAccount.create. This will make the proof be fetched in the\n // background and the callback will handle the outcome of the fetch. This allows the developer to not have to block on the proof fetch\n // allowing for faster rendering of UX.\n //\n // If no callback is provided, the just await the proof fetch and continue synchronously.\n const proof = proofFetchCallback ? proofPromise : await proofPromise;\n\n // Look up the original address to handle key rotations and then instantiate the account.\n if (jwkAddress !== undefined) {\n const publicKey = FederatedKeylessPublicKey.fromJwtAndPepper({ jwt, pepper, jwkAddress, uidKey });\n const address = await lookupOriginalAccountAddress({\n aptosConfig,\n authenticationKey: publicKey.authKey().derivedAddress(),\n });\n\n return FederatedKeylessAccount.create({\n ...args,\n address,\n proof,\n pepper,\n proofFetchCallback,\n jwkAddress,\n verificationKey,\n });\n }\n\n const publicKey = KeylessPublicKey.fromJwtAndPepper({ jwt, pepper, uidKey });\n const address = await lookupOriginalAccountAddress({\n aptosConfig,\n authenticationKey: publicKey.authKey().derivedAddress(),\n });\n return KeylessAccount.create({ ...args, address, proof, pepper, proofFetchCallback, verificationKey });\n}\n\nexport interface JWKS {\n keys: MoveJWK[];\n}\n\nexport async function updateFederatedKeylessJwkSetTransaction(args: {\n aptosConfig: AptosConfig;\n sender: Account;\n iss: string;\n jwksUrl?: string;\n options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n const { aptosConfig, sender, iss, options } = args;\n\n let { jwksUrl } = args;\n\n if (jwksUrl === undefined) {\n if (FIREBASE_AUTH_ISS_PATTERN.test(iss)) {\n jwksUrl = \"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com\";\n } else {\n jwksUrl = iss.endsWith(\"/\") ? `${iss}.well-known/jwks.json` : `${iss}/.well-known/jwks.json`;\n }\n }\n\n let response: Response;\n\n try {\n response = await fetch(jwksUrl);\n if (!response.ok) {\n throw new Error(`${response.status} ${response.statusText}`);\n }\n } catch (error) {\n let errorMessage: string;\n if (error instanceof Error) {\n errorMessage = `${error.message}`;\n } else {\n errorMessage = `error unknown - ${error}`;\n }\n throw KeylessError.fromErrorType({\n type: KeylessErrorType.JWK_FETCH_FAILED_FEDERATED,\n details: `Failed to fetch JWKS at ${jwksUrl}: ${errorMessage}`,\n });\n }\n\n const jwks: JWKS = await response.json();\n return generateTransaction({\n aptosConfig,\n sender: sender.accountAddress,\n data: {\n function: \"0x1::jwks::update_federated_jwk_set\",\n functionArguments: [\n iss,\n MoveVector.MoveString(jwks.keys.map((key) => key.kid)),\n MoveVector.MoveString(jwks.keys.map((key) => key.alg)),\n MoveVector.MoveString(jwks.keys.map((key) => key.e)),\n MoveVector.MoveString(jwks.keys.map((key) => key.n)),\n ],\n },\n options,\n });\n}\n"],"mappings":"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","names":["publicKey","address"]}
|