@aptos-labs/ts-sdk 1.33.1 → 1.33.2
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 +4 -6
- package/dist/common/{accountAddress-BHsGaOsa.d.ts → accountAddress-Cf1amU98.d.ts} +279 -0
- package/dist/common/{chunk-F43XVDYJ.js → chunk-IHUCZKG2.js} +1 -1
- package/dist/common/chunk-IHUCZKG2.js.map +1 -0
- package/dist/common/cli/index.d.ts +47 -9
- package/dist/common/cli/index.js +1 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +1941 -225
- package/dist/common/index.js +33 -33
- package/dist/common/index.js.map +1 -1
- package/dist/esm/{Ed25519Account-B3xHXAQe.d.mts → Ed25519Account-D4j3_WIS.d.mts} +122 -12
- package/dist/esm/account/AbstractKeylessAccount.d.mts +81 -7
- package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
- package/dist/esm/account/Account.d.mts +5 -4
- package/dist/esm/account/Account.mjs +1 -1
- package/dist/esm/account/AccountUtils.d.mts +64 -0
- package/dist/esm/account/AccountUtils.mjs +2 -0
- package/dist/esm/account/Ed25519Account.d.mts +3 -2
- package/dist/esm/account/Ed25519Account.mjs +1 -1
- package/dist/esm/account/EphemeralKeyPair.d.mts +29 -1
- package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +25 -5
- package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
- package/dist/esm/account/KeylessAccount.d.mts +30 -5
- package/dist/esm/account/KeylessAccount.mjs +1 -1
- package/dist/esm/account/MultiKeyAccount.d.mts +40 -5
- package/dist/esm/account/MultiKeyAccount.mjs +1 -1
- package/dist/esm/account/SingleKeyAccount.d.mts +4 -3
- package/dist/esm/account/SingleKeyAccount.mjs +1 -1
- package/dist/esm/account/index.d.mts +4 -2
- package/dist/esm/account/index.mjs +1 -1
- package/dist/esm/account/utils.d.mts +18 -0
- package/dist/esm/account/utils.mjs +2 -0
- package/dist/esm/account/utils.mjs.map +1 -0
- package/dist/esm/api/account.d.mts +25 -4
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +18 -2
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +5 -2
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/aptosConfig.d.mts +16 -0
- package/dist/esm/api/aptosConfig.mjs +1 -1
- package/dist/esm/api/coin.d.mts +5 -1
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +29 -2
- package/dist/esm/api/digitalAsset.mjs +1 -1
- package/dist/esm/api/event.d.mts +6 -0
- package/dist/esm/api/event.mjs +1 -1
- package/dist/esm/api/faucet.d.mts +11 -2
- package/dist/esm/api/faucet.mjs +1 -1
- package/dist/esm/api/fungibleAsset.d.mts +11 -2
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.d.mts +14 -1
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +3 -2
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/keyless.d.mts +8 -2
- package/dist/esm/api/keyless.mjs +1 -1
- package/dist/esm/api/object.d.mts +3 -0
- package/dist/esm/api/object.mjs +1 -1
- package/dist/esm/api/staking.d.mts +5 -0
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/table.d.mts +5 -0
- package/dist/esm/api/table.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +23 -6
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +6 -1
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/helpers.d.mts +2 -0
- package/dist/esm/api/transactionSubmission/helpers.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +8 -2
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +7 -2
- package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
- package/dist/esm/api/transactionSubmission/simulate.d.mts +6 -1
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +6 -1
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.d.mts +1 -0
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/deserializer.d.mts +42 -1
- package/dist/esm/bcs/deserializer.mjs +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +10 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
- package/dist/esm/bcs/serializable/fixedBytes.d.mts +12 -0
- package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
- package/dist/esm/bcs/serializable/movePrimitives.d.mts +24 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
- package/dist/esm/bcs/serializable/moveStructs.d.mts +56 -0
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/bcs/serializer.d.mts +60 -0
- package/dist/esm/bcs/serializer.mjs +1 -1
- package/dist/esm/{chunk-PMGK5IHB.mjs → chunk-2FBJWTJD.mjs} +2 -2
- package/dist/esm/chunk-2FBJWTJD.mjs.map +1 -0
- package/dist/esm/{chunk-L4SWQLAJ.mjs → chunk-2N5KYALM.mjs} +2 -2
- package/dist/esm/chunk-2N5KYALM.mjs.map +1 -0
- package/dist/esm/{chunk-7V35JAAF.mjs → chunk-2TJ6OTVD.mjs} +2 -2
- package/dist/esm/chunk-2TJ6OTVD.mjs.map +1 -0
- package/dist/esm/{chunk-GVNK3UMT.mjs → chunk-2UXW3EB7.mjs} +2 -2
- package/dist/esm/chunk-2UXW3EB7.mjs.map +1 -0
- package/dist/esm/{chunk-UJSTWN32.mjs → chunk-2WCATZVL.mjs} +2 -2
- package/dist/esm/{chunk-UJSTWN32.mjs.map → chunk-2WCATZVL.mjs.map} +1 -1
- package/dist/esm/{chunk-FZDEGDUY.mjs → chunk-35DKMW7Q.mjs} +1 -1
- package/dist/esm/chunk-35DKMW7Q.mjs.map +1 -0
- package/dist/esm/{chunk-WFK3XRQX.mjs → chunk-3RCAJICY.mjs} +2 -2
- package/dist/esm/chunk-3RCAJICY.mjs.map +1 -0
- package/dist/esm/{chunk-KCWRCWNT.mjs → chunk-43GCGE6C.mjs} +2 -2
- package/dist/esm/chunk-43GCGE6C.mjs.map +1 -0
- package/dist/esm/{chunk-4DP3PEYK.mjs → chunk-4EUS4E6S.mjs} +2 -2
- package/dist/esm/chunk-4EUS4E6S.mjs.map +1 -0
- package/dist/esm/chunk-4RXKALLC.mjs +2 -0
- package/dist/esm/chunk-4RXKALLC.mjs.map +1 -0
- package/dist/esm/chunk-4YLUM62M.mjs +2 -0
- package/dist/esm/chunk-4YLUM62M.mjs.map +1 -0
- package/dist/esm/{chunk-SNYYEVJA.mjs → chunk-4ZYPDCSP.mjs} +2 -2
- package/dist/esm/chunk-4ZYPDCSP.mjs.map +1 -0
- package/dist/esm/{chunk-F2WY2DEY.mjs → chunk-5EBUWO2M.mjs} +2 -2
- package/dist/esm/chunk-5EBUWO2M.mjs.map +1 -0
- package/dist/esm/{chunk-5LGKGWLX.mjs → chunk-5EYTHMRZ.mjs} +2 -2
- package/dist/esm/chunk-5EYTHMRZ.mjs.map +1 -0
- package/dist/esm/{chunk-DBTKJMLV.mjs → chunk-5PXDPMF2.mjs} +2 -2
- package/dist/esm/chunk-5PXDPMF2.mjs.map +1 -0
- package/dist/esm/chunk-5VMAJTTV.mjs +2 -0
- package/dist/esm/chunk-5VMAJTTV.mjs.map +1 -0
- package/dist/esm/{chunk-YEWZAR76.mjs → chunk-5YWH3XPN.mjs} +2 -2
- package/dist/esm/chunk-5YWH3XPN.mjs.map +1 -0
- package/dist/esm/{chunk-QI7OREBM.mjs → chunk-67ZVDKJF.mjs} +2 -2
- package/dist/esm/chunk-67ZVDKJF.mjs.map +1 -0
- package/dist/esm/{chunk-U6OCK6T4.mjs → chunk-6CXMDJQR.mjs} +2 -2
- package/dist/esm/chunk-6CXMDJQR.mjs.map +1 -0
- package/dist/esm/chunk-6IEZPA4H.mjs +2 -0
- package/dist/esm/chunk-6IEZPA4H.mjs.map +1 -0
- package/dist/esm/{chunk-N62NUAHT.mjs → chunk-6YHDZLRN.mjs} +2 -2
- package/dist/esm/chunk-6YHDZLRN.mjs.map +1 -0
- package/dist/esm/chunk-6YWYAVFS.mjs +2 -0
- package/dist/esm/chunk-6YWYAVFS.mjs.map +1 -0
- package/dist/esm/chunk-77AEKF7K.mjs +2 -0
- package/dist/esm/{chunk-YD2BMHH7.mjs.map → chunk-77AEKF7K.mjs.map} +1 -1
- package/dist/esm/{chunk-XOLU6UP3.mjs → chunk-7IY3DTEF.mjs} +2 -2
- package/dist/esm/chunk-7IY3DTEF.mjs.map +1 -0
- package/dist/esm/{chunk-2CJC43CV.mjs → chunk-A5L76YP7.mjs} +1 -1
- package/dist/esm/chunk-A5L76YP7.mjs.map +1 -0
- package/dist/esm/{chunk-ICMELYCL.mjs → chunk-AFEHO5PP.mjs} +2 -2
- package/dist/esm/chunk-AFEHO5PP.mjs.map +1 -0
- package/dist/esm/{chunk-NK67FECB.mjs → chunk-AXYARCYT.mjs} +2 -2
- package/dist/esm/chunk-AXYARCYT.mjs.map +1 -0
- package/dist/esm/{chunk-AOROYJ74.mjs → chunk-AZWVCBK2.mjs} +2 -2
- package/dist/esm/chunk-AZWVCBK2.mjs.map +1 -0
- package/dist/esm/{chunk-U3T4ZT7B.mjs → chunk-BGSEBFFC.mjs} +2 -2
- package/dist/esm/chunk-BGSEBFFC.mjs.map +1 -0
- package/dist/esm/{chunk-6ZOVTYLJ.mjs → chunk-BI3BTSUB.mjs} +2 -2
- package/dist/esm/chunk-BI3BTSUB.mjs.map +1 -0
- package/dist/esm/{chunk-OIOGOW6I.mjs → chunk-C3Q23D22.mjs} +1 -1
- package/dist/esm/chunk-C3Q23D22.mjs.map +1 -0
- package/dist/esm/{chunk-VQZMI3EZ.mjs → chunk-CWKNJZB6.mjs} +2 -2
- package/dist/esm/chunk-CWKNJZB6.mjs.map +1 -0
- package/dist/esm/{chunk-V4FKFCBL.mjs → chunk-DAFSKSZ5.mjs} +1 -1
- package/dist/esm/chunk-DAFSKSZ5.mjs.map +1 -0
- package/dist/esm/{chunk-IBZKCBN5.mjs → chunk-DOQV5BSA.mjs} +2 -2
- package/dist/esm/chunk-DOQV5BSA.mjs.map +1 -0
- package/dist/esm/chunk-DPW6ELCQ.mjs +2 -0
- package/dist/esm/chunk-DPW6ELCQ.mjs.map +1 -0
- package/dist/esm/{chunk-IK2NYNKG.mjs → chunk-DYATTONT.mjs} +2 -2
- package/dist/esm/chunk-DYATTONT.mjs.map +1 -0
- package/dist/esm/{chunk-ALNQK276.mjs → chunk-E5HGSOG2.mjs} +2 -2
- package/dist/esm/chunk-E5HGSOG2.mjs.map +1 -0
- package/dist/esm/{chunk-2MN7DW2J.mjs → chunk-E7JDVKFY.mjs} +2 -2
- package/dist/esm/chunk-E7JDVKFY.mjs.map +1 -0
- package/dist/esm/{chunk-AJ5JHBAE.mjs → chunk-EBMEXURY.mjs} +2 -2
- package/dist/esm/chunk-EBMEXURY.mjs.map +1 -0
- package/dist/esm/chunk-EMURYYVO.mjs +2 -0
- package/dist/esm/chunk-EMURYYVO.mjs.map +1 -0
- package/dist/esm/chunk-F2ZTBAJJ.mjs +2 -0
- package/dist/esm/chunk-F2ZTBAJJ.mjs.map +1 -0
- package/dist/esm/{chunk-UGIHQFID.mjs → chunk-FIEMUPXF.mjs} +2 -2
- package/dist/esm/chunk-FIEMUPXF.mjs.map +1 -0
- package/dist/esm/{chunk-AKIO3OIT.mjs → chunk-FN4C3CKC.mjs} +2 -2
- package/dist/esm/chunk-FN4C3CKC.mjs.map +1 -0
- package/dist/esm/{chunk-H3C3VTHS.mjs → chunk-FZD5RWSZ.mjs} +2 -2
- package/dist/esm/chunk-FZD5RWSZ.mjs.map +1 -0
- package/dist/esm/{chunk-T6ADNZE5.mjs → chunk-G4O6FXCF.mjs} +2 -2
- package/dist/esm/chunk-G4O6FXCF.mjs.map +1 -0
- package/dist/esm/{chunk-GMKKHGXK.mjs → chunk-GOXRBEIJ.mjs} +1 -1
- package/dist/esm/chunk-GOXRBEIJ.mjs.map +1 -0
- package/dist/esm/chunk-GP4TLDVZ.mjs +1 -0
- package/dist/esm/chunk-GP4TLDVZ.mjs.map +1 -0
- package/dist/esm/{chunk-BAEIZAP7.mjs → chunk-HBH2NQKU.mjs} +2 -2
- package/dist/esm/chunk-HBH2NQKU.mjs.map +1 -0
- package/dist/esm/{chunk-ZMMLM6ZJ.mjs → chunk-IDTLNF4M.mjs} +2 -2
- package/dist/esm/chunk-IDTLNF4M.mjs.map +1 -0
- package/dist/esm/{chunk-PXMNAP2Q.mjs → chunk-IEUEMBFD.mjs} +2 -2
- package/dist/esm/chunk-IEUEMBFD.mjs.map +1 -0
- package/dist/esm/{chunk-6Q2O5G3J.mjs → chunk-IF4UU2MT.mjs} +1 -1
- package/dist/esm/chunk-IF4UU2MT.mjs.map +1 -0
- package/dist/esm/{chunk-LPVGVTWT.mjs → chunk-JBEUUULP.mjs} +2 -2
- package/dist/esm/chunk-JBEUUULP.mjs.map +1 -0
- package/dist/esm/chunk-JJM6ELMS.mjs +2 -0
- package/dist/esm/chunk-JJM6ELMS.mjs.map +1 -0
- package/dist/esm/{chunk-2ESU5N3V.mjs → chunk-KOORZTHC.mjs} +2 -2
- package/dist/esm/chunk-KOORZTHC.mjs.map +1 -0
- package/dist/esm/{chunk-2QGJDHME.mjs → chunk-KVM2SGSF.mjs} +2 -2
- package/dist/esm/chunk-KVM2SGSF.mjs.map +1 -0
- package/dist/esm/{chunk-5PVZ4N42.mjs → chunk-M77M6NSB.mjs} +2 -2
- package/dist/esm/chunk-M77M6NSB.mjs.map +1 -0
- package/dist/esm/{chunk-G4KAHJXB.mjs → chunk-MCLYDS3O.mjs} +2 -2
- package/dist/esm/chunk-MCLYDS3O.mjs.map +1 -0
- package/dist/esm/{chunk-46O23AOD.mjs → chunk-MLSAZJZK.mjs} +2 -2
- package/dist/esm/chunk-MLSAZJZK.mjs.map +1 -0
- package/dist/esm/{chunk-BRV3RLKW.mjs → chunk-MT2RJ7H3.mjs} +2 -2
- package/dist/esm/chunk-MT2RJ7H3.mjs.map +1 -0
- package/dist/esm/chunk-MWBRD43V.mjs +2 -0
- package/dist/esm/chunk-MWBRD43V.mjs.map +1 -0
- package/dist/esm/{chunk-ACVIE7IE.mjs → chunk-N4DM5FYH.mjs} +2 -2
- package/dist/esm/chunk-N4DM5FYH.mjs.map +1 -0
- package/dist/esm/{chunk-LGTOOAQI.mjs → chunk-N6YTF76Q.mjs} +2 -2
- package/dist/esm/chunk-N6YTF76Q.mjs.map +1 -0
- package/dist/esm/{chunk-7N7FEBZA.mjs → chunk-NBNZ53ZV.mjs} +2 -2
- package/dist/esm/chunk-NBNZ53ZV.mjs.map +1 -0
- package/dist/esm/{chunk-CX6KECGV.mjs → chunk-NWLJ6RW7.mjs} +2 -2
- package/dist/esm/chunk-NWLJ6RW7.mjs.map +1 -0
- package/dist/esm/{chunk-VIZHWYI5.mjs → chunk-NYETBDSR.mjs} +2 -2
- package/dist/esm/chunk-NYETBDSR.mjs.map +1 -0
- package/dist/esm/{chunk-SK3LIS4Z.mjs → chunk-OEQ2U7GK.mjs} +2 -2
- package/dist/esm/chunk-OEQ2U7GK.mjs.map +1 -0
- package/dist/esm/{chunk-2C27NY4D.mjs → chunk-OHZURQPY.mjs} +2 -2
- package/dist/esm/chunk-OHZURQPY.mjs.map +1 -0
- package/dist/esm/{chunk-333QBK32.mjs → chunk-ONTWK5FU.mjs} +2 -2
- package/dist/esm/chunk-ONTWK5FU.mjs.map +1 -0
- package/dist/esm/chunk-OR6GFWLG.mjs +2 -0
- package/dist/esm/chunk-OR6GFWLG.mjs.map +1 -0
- package/dist/esm/{chunk-42H7WETG.mjs → chunk-ORMOQWWH.mjs} +2 -2
- package/dist/esm/chunk-ORMOQWWH.mjs.map +1 -0
- package/dist/esm/{chunk-S5SQJRAV.mjs → chunk-OROPNHRY.mjs} +2 -2
- package/dist/esm/chunk-OROPNHRY.mjs.map +1 -0
- package/dist/esm/{chunk-VWGB5BHW.mjs → chunk-OSBRPVVI.mjs} +2 -2
- package/dist/esm/chunk-OSBRPVVI.mjs.map +1 -0
- package/dist/esm/{chunk-NZ7M6NG2.mjs → chunk-P7A5RILV.mjs} +2 -2
- package/dist/esm/{chunk-JNO7KPMG.mjs → chunk-Q4C4U6I4.mjs} +2 -2
- package/dist/esm/chunk-Q4C4U6I4.mjs.map +1 -0
- package/dist/esm/{chunk-HMMNQFVM.mjs → chunk-QHC5DKVZ.mjs} +2 -2
- package/dist/esm/chunk-QHC5DKVZ.mjs.map +1 -0
- package/dist/esm/{chunk-F45G3GP3.mjs → chunk-QHEKBHNU.mjs} +2 -2
- package/dist/esm/chunk-QQEK7WVP.mjs +2 -0
- package/dist/esm/chunk-QQEK7WVP.mjs.map +1 -0
- package/dist/esm/{chunk-J7PJSK3J.mjs → chunk-RJ7F4JDV.mjs} +1 -1
- package/dist/esm/chunk-RJ7F4JDV.mjs.map +1 -0
- package/dist/esm/{chunk-BUAHUVAD.mjs → chunk-ROT6S6BM.mjs} +2 -2
- package/dist/esm/chunk-ROT6S6BM.mjs.map +1 -0
- package/dist/esm/{chunk-LKKI2KAP.mjs → chunk-S4LZMY2L.mjs} +2 -2
- package/dist/esm/chunk-S4LZMY2L.mjs.map +1 -0
- package/dist/esm/{chunk-33CVOPIN.mjs → chunk-S7RZGC56.mjs} +2 -2
- package/dist/esm/{chunk-33CVOPIN.mjs.map → chunk-S7RZGC56.mjs.map} +1 -1
- package/dist/esm/{chunk-SPRNSFUV.mjs → chunk-STY74NUA.mjs} +2 -2
- package/dist/esm/chunk-STY74NUA.mjs.map +1 -0
- package/dist/esm/{chunk-ZMBXHMVQ.mjs → chunk-TOBQ5UE6.mjs} +2 -2
- package/dist/esm/chunk-TOBQ5UE6.mjs.map +1 -0
- package/dist/esm/{chunk-7T26VA2W.mjs → chunk-UC23V7PU.mjs} +2 -2
- package/dist/esm/chunk-UC23V7PU.mjs.map +1 -0
- package/dist/esm/{chunk-4MTSP4S2.mjs → chunk-V6VPMNWJ.mjs} +2 -2
- package/dist/esm/chunk-V6VPMNWJ.mjs.map +1 -0
- package/dist/esm/{chunk-JMPHD4BP.mjs → chunk-VUIHJIMX.mjs} +2 -2
- package/dist/esm/chunk-VUIHJIMX.mjs.map +1 -0
- package/dist/esm/{chunk-2KSMV5KD.mjs → chunk-VV4HCOJQ.mjs} +2 -2
- package/dist/esm/chunk-VV4HCOJQ.mjs.map +1 -0
- package/dist/esm/{chunk-XZN344G4.mjs → chunk-VVXBVJXD.mjs} +2 -2
- package/dist/esm/chunk-VVXBVJXD.mjs.map +1 -0
- package/dist/esm/{chunk-IHGA5KAD.mjs → chunk-W4BSN6SK.mjs} +1 -1
- package/dist/esm/chunk-W4BSN6SK.mjs.map +1 -0
- package/dist/esm/chunk-WCMW2L3P.mjs +2 -0
- package/dist/esm/chunk-WCMW2L3P.mjs.map +1 -0
- package/dist/esm/{chunk-UFPYCROT.mjs → chunk-WQRGDSPD.mjs} +2 -2
- package/dist/esm/chunk-WQRGDSPD.mjs.map +1 -0
- package/dist/esm/chunk-WUWPN7XV.mjs +2 -0
- package/dist/esm/chunk-WUWPN7XV.mjs.map +1 -0
- package/dist/esm/{chunk-LA5HJILW.mjs → chunk-X6UNY6YM.mjs} +2 -2
- package/dist/esm/chunk-X6UNY6YM.mjs.map +1 -0
- package/dist/esm/chunk-XJJVJOX5.mjs +2 -0
- package/dist/esm/{chunk-UGTIALNW.mjs.map → chunk-XJJVJOX5.mjs.map} +1 -1
- package/dist/esm/{chunk-OPO5EYF7.mjs → chunk-XKUIMGKU.mjs} +2 -2
- package/dist/esm/chunk-XKUIMGKU.mjs.map +1 -0
- package/dist/esm/chunk-XTJOA5QN.mjs +2 -0
- package/dist/esm/chunk-XTJOA5QN.mjs.map +1 -0
- package/dist/esm/chunk-XTOIL6MB.mjs +2 -0
- package/dist/esm/chunk-XTOIL6MB.mjs.map +1 -0
- package/dist/esm/{chunk-ZMS3AOEZ.mjs → chunk-XY43TPRH.mjs} +2 -2
- package/dist/esm/chunk-XY43TPRH.mjs.map +1 -0
- package/dist/esm/{chunk-EGV3HFE3.mjs → chunk-XYB6KYKW.mjs} +2 -2
- package/dist/esm/chunk-XYB6KYKW.mjs.map +1 -0
- package/dist/esm/{chunk-RCA73RVB.mjs → chunk-XZ4JRYCE.mjs} +2 -2
- package/dist/esm/chunk-XZ4JRYCE.mjs.map +1 -0
- package/dist/esm/{chunk-4XB3BB5Z.mjs → chunk-YCQUYDZI.mjs} +2 -2
- package/dist/esm/chunk-YCQUYDZI.mjs.map +1 -0
- package/dist/esm/{chunk-HBIDHQ2M.mjs → chunk-YOZBVVKL.mjs} +1 -1
- package/dist/esm/chunk-YOZBVVKL.mjs.map +1 -0
- package/dist/esm/chunk-ZAIVZDOL.mjs +2 -0
- package/dist/esm/chunk-ZAIVZDOL.mjs.map +1 -0
- package/dist/esm/{chunk-ZXVN3HXB.mjs → chunk-ZGVNZE7J.mjs} +2 -2
- package/dist/esm/chunk-ZGVNZE7J.mjs.map +1 -0
- package/dist/esm/{chunk-YJVZFYBX.mjs → chunk-ZPV7HPA4.mjs} +2 -2
- package/dist/esm/chunk-ZPV7HPA4.mjs.map +1 -0
- package/dist/esm/cli/index.mjs +1 -1
- package/dist/esm/cli/localNode.d.mts +20 -8
- package/dist/esm/cli/localNode.mjs +1 -1
- package/dist/esm/cli/move.d.mts +26 -0
- package/dist/esm/cli/move.mjs +1 -1
- package/dist/esm/client/core.d.mts +4 -0
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.d.mts +33 -1
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.d.mts +37 -0
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/core/account/index.mjs +1 -1
- package/dist/esm/core/account/utils/address.d.mts +6 -0
- package/dist/esm/core/account/utils/address.mjs +1 -1
- package/dist/esm/core/account/utils/index.mjs +1 -1
- package/dist/esm/core/accountAddress.d.mts +46 -0
- package/dist/esm/core/accountAddress.mjs +1 -1
- package/dist/esm/core/authenticationKey.d.mts +1 -1
- package/dist/esm/core/authenticationKey.mjs +1 -1
- package/dist/esm/core/common.d.mts +14 -0
- package/dist/esm/core/common.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.d.mts +57 -5
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +23 -1
- package/dist/esm/core/crypto/ephemeral.mjs +1 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +13 -1
- package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
- package/dist/esm/core/crypto/hdKey.d.mts +28 -0
- package/dist/esm/core/crypto/hdKey.mjs +1 -1
- package/dist/esm/core/crypto/index.d.mts +2 -2
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/keyless.d.mts +131 -1
- package/dist/esm/core/crypto/keyless.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +41 -1
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.d.mts +38 -1
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/poseidon.d.mts +10 -0
- package/dist/esm/core/crypto/poseidon.mjs +1 -1
- package/dist/esm/core/crypto/privateKey.d.mts +9 -1
- package/dist/esm/core/crypto/privateKey.mjs +1 -1
- package/dist/esm/core/crypto/proof.d.mts +2 -0
- package/dist/esm/core/crypto/proof.mjs +1 -1
- package/dist/esm/core/crypto/publicKey.d.mts +1 -1
- package/dist/esm/core/crypto/publicKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.d.mts +50 -3
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.d.mts +6 -0
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.d.mts +36 -2
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/crypto/utils.d.mts +2 -0
- package/dist/esm/core/crypto/utils.mjs +1 -1
- package/dist/esm/core/hex.d.mts +20 -0
- package/dist/esm/core/hex.mjs +1 -1
- package/dist/esm/core/index.d.mts +2 -2
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/errors/index.mjs +1 -1
- package/dist/esm/index.d.mts +5 -4
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/account.d.mts +24 -4
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +27 -2
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +3 -1
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +31 -2
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.d.mts +5 -0
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.d.mts +5 -0
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +8 -2
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.d.mts +7 -0
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/keyless.d.mts +6 -2
- package/dist/esm/internal/keyless.mjs +1 -1
- package/dist/esm/internal/object.d.mts +2 -0
- package/dist/esm/internal/object.mjs +1 -1
- package/dist/esm/internal/staking.d.mts +5 -1
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/table.d.mts +3 -0
- package/dist/esm/internal/table.mjs +1 -1
- package/dist/esm/internal/transaction.d.mts +14 -0
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.d.mts +16 -5
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- package/dist/esm/internal/view.d.mts +2 -1
- package/dist/esm/internal/view.mjs +1 -1
- package/dist/esm/{publicKey-BVXX1nVl.d.mts → publicKey-BMtGNNLg.d.mts} +36 -0
- package/dist/esm/transactions/authenticator/account.d.mts +28 -1
- package/dist/esm/transactions/authenticator/account.mjs +1 -1
- package/dist/esm/transactions/authenticator/index.d.mts +2 -1
- package/dist/esm/transactions/authenticator/index.mjs +1 -1
- package/dist/esm/transactions/authenticator/transaction.d.mts +23 -2
- package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
- package/dist/esm/transactions/index.d.mts +2 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/transactions/instances/chainId.d.mts +8 -0
- package/dist/esm/transactions/instances/chainId.mjs +1 -1
- package/dist/esm/transactions/instances/identifier.d.mts +8 -0
- package/dist/esm/transactions/instances/identifier.mjs +1 -1
- package/dist/esm/transactions/instances/index.d.mts +2 -1
- package/dist/esm/transactions/instances/index.mjs +1 -1
- package/dist/esm/transactions/instances/moduleId.d.mts +10 -0
- package/dist/esm/transactions/instances/moduleId.mjs +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +8 -0
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.d.mts +30 -0
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +7 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +10 -1
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.d.mts +8 -0
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionArgument.d.mts +16 -0
- package/dist/esm/transactions/instances/transactionPayload.d.mts +48 -0
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +19 -2
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/asyncQueue.d.mts +16 -0
- package/dist/esm/transactions/management/asyncQueue.mjs +1 -1
- package/dist/esm/transactions/management/index.d.mts +3 -2
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +45 -7
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +64 -1
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +2 -1
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +14 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +10 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +42 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
- package/dist/esm/transactions/typeTag/index.d.mts +82 -0
- package/dist/esm/transactions/typeTag/index.mjs +1 -1
- package/dist/esm/transactions/typeTag/parser.d.mts +8 -0
- package/dist/esm/transactions/typeTag/parser.mjs +1 -1
- package/dist/esm/transactions/types.d.mts +80 -1
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/types/indexer.d.mts +52 -0
- package/dist/esm/types/keyless.d.mts +12 -0
- package/dist/esm/utils/apiEndpoints.d.mts +30 -0
- package/dist/esm/utils/apiEndpoints.mjs +1 -1
- package/dist/esm/utils/const.d.mts +24 -0
- package/dist/esm/utils/const.mjs +1 -1
- package/dist/esm/utils/helpers.d.mts +20 -0
- package/dist/esm/utils/helpers.mjs +1 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/memoize.d.mts +4 -0
- package/dist/esm/utils/memoize.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.d.mts +8 -0
- package/dist/esm/utils/normalizeBundle.mjs +1 -1
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +19 -20
- package/src/account/AbstractKeylessAccount.ts +80 -9
- package/src/account/Account.ts +51 -6
- package/src/account/AccountUtils.ts +216 -0
- package/src/account/Ed25519Account.ts +26 -0
- package/src/account/EphemeralKeyPair.ts +30 -0
- package/src/account/FederatedKeylessAccount.ts +10 -3
- package/src/account/KeylessAccount.ts +13 -1
- package/src/account/MultiKeyAccount.ts +75 -12
- package/src/account/SingleKeyAccount.ts +63 -6
- package/src/account/index.ts +1 -0
- package/src/account/utils.ts +16 -0
- package/src/api/account.ts +22 -2
- package/src/api/ans.ts +15 -0
- package/src/api/aptos.ts +3 -0
- package/src/api/aptosConfig.ts +24 -0
- package/src/api/coin.ts +3 -0
- package/src/api/digitalAsset.ts +26 -0
- package/src/api/event.ts +6 -0
- package/src/api/faucet.ts +11 -2
- package/src/api/fungibleAsset.ts +8 -0
- package/src/api/general.ts +12 -0
- package/src/api/keyless.ts +6 -0
- package/src/api/object.ts +3 -0
- package/src/api/staking.ts +5 -0
- package/src/api/table.ts +5 -0
- package/src/api/transaction.ts +19 -3
- package/src/api/transactionSubmission/build.ts +4 -0
- package/src/api/transactionSubmission/helpers.ts +2 -0
- package/src/api/transactionSubmission/management.ts +5 -0
- package/src/api/transactionSubmission/sign.ts +4 -0
- package/src/api/transactionSubmission/simulate.ts +4 -0
- package/src/api/transactionSubmission/submit.ts +4 -0
- package/src/api/utils.ts +1 -0
- package/src/bcs/deserializer.ts +47 -1
- package/src/bcs/serializable/entryFunctionBytes.ts +10 -0
- package/src/bcs/serializable/fixedBytes.ts +12 -0
- package/src/bcs/serializable/movePrimitives.ts +26 -0
- package/src/bcs/serializable/moveStructs.ts +56 -0
- package/src/bcs/serializer.ts +64 -1
- package/src/cli/localNode.ts +22 -8
- package/src/cli/move.ts +26 -0
- package/src/client/core.ts +4 -0
- package/src/client/get.ts +75 -1
- package/src/client/post.ts +37 -0
- package/src/core/account/utils/address.ts +6 -0
- package/src/core/accountAddress.ts +46 -0
- package/src/core/authenticationKey.ts +22 -0
- package/src/core/common.ts +14 -0
- package/src/core/crypto/ed25519.ts +58 -4
- package/src/core/crypto/ephemeral.ts +22 -0
- package/src/core/crypto/federatedKeyless.ts +12 -0
- package/src/core/crypto/hdKey.ts +29 -0
- package/src/core/crypto/keyless.ts +134 -0
- package/src/core/crypto/multiEd25519.ts +40 -0
- package/src/core/crypto/multiKey.ts +37 -1
- package/src/core/crypto/poseidon.ts +20 -0
- package/src/core/crypto/privateKey.ts +8 -0
- package/src/core/crypto/proof.ts +2 -0
- package/src/core/crypto/publicKey.ts +14 -0
- package/src/core/crypto/secp256k1.ts +49 -2
- package/src/core/crypto/signature.ts +8 -0
- package/src/core/crypto/singleKey.ts +34 -2
- package/src/core/crypto/utils.ts +2 -0
- package/src/core/hex.ts +20 -0
- package/src/internal/account.ts +27 -7
- package/src/internal/ans.ts +27 -0
- package/src/internal/coin.ts +1 -0
- package/src/internal/digitalAsset.ts +30 -0
- package/src/internal/event.ts +6 -0
- package/src/internal/faucet.ts +5 -0
- package/src/internal/fungibleAsset.ts +5 -0
- package/src/internal/general.ts +7 -0
- package/src/internal/keyless.ts +4 -0
- package/src/internal/object.ts +2 -0
- package/src/internal/staking.ts +5 -1
- package/src/internal/table.ts +3 -0
- package/src/internal/transaction.ts +16 -0
- package/src/internal/transactionSubmission.ts +15 -2
- package/src/transactions/authenticator/account.ts +26 -0
- package/src/transactions/authenticator/transaction.ts +20 -0
- package/src/transactions/instances/chainId.ts +8 -0
- package/src/transactions/instances/identifier.ts +8 -0
- package/src/transactions/instances/moduleId.ts +10 -0
- package/src/transactions/instances/multiAgentTransaction.ts +8 -0
- package/src/transactions/instances/rawTransaction.ts +30 -0
- package/src/transactions/instances/rotationProofChallenge.ts +6 -0
- package/src/transactions/instances/signedTransaction.ts +8 -0
- package/src/transactions/instances/simpleTransaction.ts +8 -0
- package/src/transactions/instances/transactionArgument.ts +16 -0
- package/src/transactions/instances/transactionPayload.ts +50 -0
- package/src/transactions/management/accountSequenceNumber.ts +16 -0
- package/src/transactions/management/asyncQueue.ts +16 -0
- package/src/transactions/management/transactionWorker.ts +42 -5
- package/src/transactions/transactionBuilder/helpers.ts +82 -10
- package/src/transactions/transactionBuilder/remoteAbi.ts +20 -0
- package/src/transactions/transactionBuilder/signingMessage.ts +10 -0
- package/src/transactions/transactionBuilder/transactionBuilder.ts +58 -0
- package/src/transactions/typeTag/index.ts +82 -0
- package/src/transactions/typeTag/parser.ts +24 -0
- package/src/transactions/types.ts +78 -0
- package/src/types/indexer.ts +52 -0
- package/src/types/keyless.ts +12 -0
- package/src/utils/apiEndpoints.ts +30 -2
- package/src/utils/const.ts +24 -1
- package/src/utils/helpers.ts +22 -0
- package/src/utils/memoize.ts +6 -0
- package/src/utils/normalizeBundle.ts +8 -1
- package/src/version.ts +1 -1
- package/dist/common/chunk-F43XVDYJ.js.map +0 -1
- package/dist/esm/chunk-2C27NY4D.mjs.map +0 -1
- package/dist/esm/chunk-2CJC43CV.mjs.map +0 -1
- package/dist/esm/chunk-2ESU5N3V.mjs.map +0 -1
- package/dist/esm/chunk-2KSMV5KD.mjs.map +0 -1
- package/dist/esm/chunk-2MN7DW2J.mjs.map +0 -1
- package/dist/esm/chunk-2QGJDHME.mjs.map +0 -1
- package/dist/esm/chunk-333QBK32.mjs.map +0 -1
- package/dist/esm/chunk-372SLYVR.mjs +0 -2
- package/dist/esm/chunk-372SLYVR.mjs.map +0 -1
- package/dist/esm/chunk-42H7WETG.mjs.map +0 -1
- package/dist/esm/chunk-46O23AOD.mjs.map +0 -1
- package/dist/esm/chunk-4DI5SPSK.mjs +0 -2
- package/dist/esm/chunk-4DI5SPSK.mjs.map +0 -1
- package/dist/esm/chunk-4DP3PEYK.mjs.map +0 -1
- package/dist/esm/chunk-4MTSP4S2.mjs.map +0 -1
- package/dist/esm/chunk-4O5XDQDO.mjs +0 -2
- package/dist/esm/chunk-4O5XDQDO.mjs.map +0 -1
- package/dist/esm/chunk-4OV2A6PJ.mjs +0 -2
- package/dist/esm/chunk-4OV2A6PJ.mjs.map +0 -1
- package/dist/esm/chunk-4XB3BB5Z.mjs.map +0 -1
- package/dist/esm/chunk-5B3SMBXQ.mjs +0 -2
- package/dist/esm/chunk-5B3SMBXQ.mjs.map +0 -1
- package/dist/esm/chunk-5LGKGWLX.mjs.map +0 -1
- package/dist/esm/chunk-5PVZ4N42.mjs.map +0 -1
- package/dist/esm/chunk-6Q2O5G3J.mjs.map +0 -1
- package/dist/esm/chunk-6ZOVTYLJ.mjs.map +0 -1
- package/dist/esm/chunk-7N7FEBZA.mjs.map +0 -1
- package/dist/esm/chunk-7T26VA2W.mjs.map +0 -1
- package/dist/esm/chunk-7V35JAAF.mjs.map +0 -1
- package/dist/esm/chunk-ACVIE7IE.mjs.map +0 -1
- package/dist/esm/chunk-AJ5JHBAE.mjs.map +0 -1
- package/dist/esm/chunk-AKIO3OIT.mjs.map +0 -1
- package/dist/esm/chunk-ALNQK276.mjs.map +0 -1
- package/dist/esm/chunk-AOROYJ74.mjs.map +0 -1
- package/dist/esm/chunk-BAEIZAP7.mjs.map +0 -1
- package/dist/esm/chunk-BRV3RLKW.mjs.map +0 -1
- package/dist/esm/chunk-BUAHUVAD.mjs.map +0 -1
- package/dist/esm/chunk-C2HCRGQU.mjs +0 -2
- package/dist/esm/chunk-C2HCRGQU.mjs.map +0 -1
- package/dist/esm/chunk-CDEYH77E.mjs +0 -2
- package/dist/esm/chunk-CDEYH77E.mjs.map +0 -1
- package/dist/esm/chunk-CX6KECGV.mjs.map +0 -1
- package/dist/esm/chunk-D3OEQLUE.mjs +0 -2
- package/dist/esm/chunk-D3OEQLUE.mjs.map +0 -1
- package/dist/esm/chunk-DBTKJMLV.mjs.map +0 -1
- package/dist/esm/chunk-DC2IESER.mjs +0 -2
- package/dist/esm/chunk-DC2IESER.mjs.map +0 -1
- package/dist/esm/chunk-EGV3HFE3.mjs.map +0 -1
- package/dist/esm/chunk-ELXJ5A4B.mjs +0 -2
- package/dist/esm/chunk-ELXJ5A4B.mjs.map +0 -1
- package/dist/esm/chunk-F2WY2DEY.mjs.map +0 -1
- package/dist/esm/chunk-FZDEGDUY.mjs.map +0 -1
- package/dist/esm/chunk-G4KAHJXB.mjs.map +0 -1
- package/dist/esm/chunk-GAEAYY44.mjs +0 -1
- package/dist/esm/chunk-GMKKHGXK.mjs.map +0 -1
- package/dist/esm/chunk-GVNK3UMT.mjs.map +0 -1
- package/dist/esm/chunk-H3C3VTHS.mjs.map +0 -1
- package/dist/esm/chunk-HBIDHQ2M.mjs.map +0 -1
- package/dist/esm/chunk-HMMNQFVM.mjs.map +0 -1
- package/dist/esm/chunk-IBZKCBN5.mjs.map +0 -1
- package/dist/esm/chunk-ICMELYCL.mjs.map +0 -1
- package/dist/esm/chunk-IHGA5KAD.mjs.map +0 -1
- package/dist/esm/chunk-IK2NYNKG.mjs.map +0 -1
- package/dist/esm/chunk-J3E4UMBB.mjs +0 -2
- package/dist/esm/chunk-J3E4UMBB.mjs.map +0 -1
- package/dist/esm/chunk-J7PJSK3J.mjs.map +0 -1
- package/dist/esm/chunk-JMPHD4BP.mjs.map +0 -1
- package/dist/esm/chunk-JNO7KPMG.mjs.map +0 -1
- package/dist/esm/chunk-KCWRCWNT.mjs.map +0 -1
- package/dist/esm/chunk-L4SWQLAJ.mjs.map +0 -1
- package/dist/esm/chunk-LA5HJILW.mjs.map +0 -1
- package/dist/esm/chunk-LGTOOAQI.mjs.map +0 -1
- package/dist/esm/chunk-LKKI2KAP.mjs.map +0 -1
- package/dist/esm/chunk-LPVGVTWT.mjs.map +0 -1
- package/dist/esm/chunk-MHN6XY4Z.mjs +0 -2
- package/dist/esm/chunk-MHN6XY4Z.mjs.map +0 -1
- package/dist/esm/chunk-N62NUAHT.mjs.map +0 -1
- package/dist/esm/chunk-NK67FECB.mjs.map +0 -1
- package/dist/esm/chunk-OIOGOW6I.mjs.map +0 -1
- package/dist/esm/chunk-OPO5EYF7.mjs.map +0 -1
- package/dist/esm/chunk-P6KX7AS2.mjs +0 -2
- package/dist/esm/chunk-P6KX7AS2.mjs.map +0 -1
- package/dist/esm/chunk-PMGK5IHB.mjs.map +0 -1
- package/dist/esm/chunk-PXMNAP2Q.mjs.map +0 -1
- package/dist/esm/chunk-QI7OREBM.mjs.map +0 -1
- package/dist/esm/chunk-RCA73RVB.mjs.map +0 -1
- package/dist/esm/chunk-S5SQJRAV.mjs.map +0 -1
- package/dist/esm/chunk-SK3LIS4Z.mjs.map +0 -1
- package/dist/esm/chunk-SNYYEVJA.mjs.map +0 -1
- package/dist/esm/chunk-SPRNSFUV.mjs.map +0 -1
- package/dist/esm/chunk-T6ADNZE5.mjs.map +0 -1
- package/dist/esm/chunk-TCXYTPUR.mjs +0 -2
- package/dist/esm/chunk-TCXYTPUR.mjs.map +0 -1
- package/dist/esm/chunk-U3T4ZT7B.mjs.map +0 -1
- package/dist/esm/chunk-U6OCK6T4.mjs.map +0 -1
- package/dist/esm/chunk-UFPYCROT.mjs.map +0 -1
- package/dist/esm/chunk-UGIHQFID.mjs.map +0 -1
- package/dist/esm/chunk-UGTIALNW.mjs +0 -2
- package/dist/esm/chunk-V4FKFCBL.mjs.map +0 -1
- package/dist/esm/chunk-V5NDNR36.mjs +0 -2
- package/dist/esm/chunk-V5NDNR36.mjs.map +0 -1
- package/dist/esm/chunk-VIZHWYI5.mjs.map +0 -1
- package/dist/esm/chunk-VQZMI3EZ.mjs.map +0 -1
- package/dist/esm/chunk-VWGB5BHW.mjs.map +0 -1
- package/dist/esm/chunk-WFK3XRQX.mjs.map +0 -1
- package/dist/esm/chunk-XOLU6UP3.mjs.map +0 -1
- package/dist/esm/chunk-XZN344G4.mjs.map +0 -1
- package/dist/esm/chunk-YD2BMHH7.mjs +0 -2
- package/dist/esm/chunk-YEWZAR76.mjs.map +0 -1
- package/dist/esm/chunk-YJVZFYBX.mjs.map +0 -1
- package/dist/esm/chunk-ZMBXHMVQ.mjs.map +0 -1
- package/dist/esm/chunk-ZMMLM6ZJ.mjs.map +0 -1
- package/dist/esm/chunk-ZMS3AOEZ.mjs.map +0 -1
- package/dist/esm/chunk-ZXVN3HXB.mjs.map +0 -1
- /package/dist/esm/{chunk-GAEAYY44.mjs.map → account/AccountUtils.mjs.map} +0 -0
- /package/dist/esm/{chunk-NZ7M6NG2.mjs.map → chunk-P7A5RILV.mjs.map} +0 -0
- /package/dist/esm/{chunk-F45G3GP3.mjs.map → chunk-QHEKBHNU.mjs.map} +0 -0
package/src/account/Account.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { AccountAuthenticator } from "../transactions/authenticator/account
|
|
|
2
2
|
import { HexInput, SigningScheme, SigningSchemeInput } from "../types";
|
|
3
3
|
import type { AccountAddress, AccountAddressInput } from "../core/accountAddress";
|
|
4
4
|
import { AuthenticationKey } from "../core/authenticationKey";
|
|
5
|
-
import { AccountPublicKey, Ed25519PrivateKey,
|
|
5
|
+
import { AccountPublicKey, Ed25519PrivateKey, PrivateKeyInput, Signature, VerifySignatureArgs } from "../core/crypto";
|
|
6
6
|
import { Ed25519Account } from "./Ed25519Account";
|
|
7
7
|
import { SingleKeyAccount } from "./SingleKeyAccount";
|
|
8
8
|
import { AnyRawTransaction } from "../transactions/types";
|
|
@@ -14,6 +14,8 @@ import { AnyRawTransaction } from "../transactions/types";
|
|
|
14
14
|
* @param privateKey - The private key used to create the account.
|
|
15
15
|
* @param address - Optional address for the account.
|
|
16
16
|
* @param legacy - Indicates whether to use legacy authentication (default is true).
|
|
17
|
+
* @group Implementation
|
|
18
|
+
* @category Account (On-Chain Model)
|
|
17
19
|
*/
|
|
18
20
|
export interface CreateEd25519AccountFromPrivateKeyArgs {
|
|
19
21
|
privateKey: Ed25519PrivateKey;
|
|
@@ -28,6 +30,8 @@ export interface CreateEd25519AccountFromPrivateKeyArgs {
|
|
|
28
30
|
* @param privateKey - The Ed25519 private key used for account creation.
|
|
29
31
|
* @param address - Optional account address input.
|
|
30
32
|
* @param legacy - Must be false to enable the `SingleKey` authentication scheme.
|
|
33
|
+
* @group Implementation
|
|
34
|
+
* @category Account (On-Chain Model)
|
|
31
35
|
*/
|
|
32
36
|
export interface CreateEd25519SingleKeyAccountFromPrivateKeyArgs {
|
|
33
37
|
privateKey: Ed25519PrivateKey;
|
|
@@ -42,9 +46,11 @@ export interface CreateEd25519SingleKeyAccountFromPrivateKeyArgs {
|
|
|
42
46
|
* @param privateKey - The private key used to create the account.
|
|
43
47
|
* @param address - Optional address input for the account.
|
|
44
48
|
* @param legacy - Always false; cannot be explicitly set to true.
|
|
49
|
+
* @group Implementation
|
|
50
|
+
* @category Account (On-Chain Model)
|
|
45
51
|
*/
|
|
46
52
|
export interface CreateSingleKeyAccountFromPrivateKeyArgs {
|
|
47
|
-
privateKey:
|
|
53
|
+
privateKey: PrivateKeyInput;
|
|
48
54
|
address?: AccountAddressInput;
|
|
49
55
|
legacy?: false;
|
|
50
56
|
}
|
|
@@ -55,9 +61,11 @@ export interface CreateSingleKeyAccountFromPrivateKeyArgs {
|
|
|
55
61
|
* @param privateKey - The private key used to create the account.
|
|
56
62
|
* @param address - Optional address for the account.
|
|
57
63
|
* @param legacy - Optional flag indicating if the account is a legacy account.
|
|
64
|
+
* @group Implementation
|
|
65
|
+
* @category Account (On-Chain Model)
|
|
58
66
|
*/
|
|
59
67
|
export interface CreateAccountFromPrivateKeyArgs {
|
|
60
|
-
privateKey:
|
|
68
|
+
privateKey: PrivateKeyInput;
|
|
61
69
|
address?: AccountAddressInput;
|
|
62
70
|
legacy?: boolean;
|
|
63
71
|
}
|
|
@@ -67,6 +75,8 @@ export interface CreateAccountFromPrivateKeyArgs {
|
|
|
67
75
|
*
|
|
68
76
|
* @param scheme - The signing scheme to use for the account.
|
|
69
77
|
* @param legacy - Indicates if the account should be created in legacy mode.
|
|
78
|
+
* @group Implementation
|
|
79
|
+
* @category Account (On-Chain Model)
|
|
70
80
|
*/
|
|
71
81
|
export interface GenerateEd25519AccountArgs {
|
|
72
82
|
scheme?: SigningSchemeInput.Ed25519;
|
|
@@ -79,6 +89,8 @@ export interface GenerateEd25519AccountArgs {
|
|
|
79
89
|
*
|
|
80
90
|
* @param scheme - Optional signing scheme input for the account.
|
|
81
91
|
* @param legacy - Indicates whether to use legacy account generation.
|
|
92
|
+
* @group Implementation
|
|
93
|
+
* @category Account (On-Chain Model)
|
|
82
94
|
*/
|
|
83
95
|
export interface GenerateEd25519SingleKeyAccountArgs {
|
|
84
96
|
scheme?: SigningSchemeInput.Ed25519;
|
|
@@ -91,6 +103,8 @@ export interface GenerateEd25519SingleKeyAccountArgs {
|
|
|
91
103
|
*
|
|
92
104
|
* @param scheme - The signing scheme to use for the account.
|
|
93
105
|
* @param legacy - Indicates whether to use legacy account generation (defaults to false).
|
|
106
|
+
* @group Implementation
|
|
107
|
+
* @category Account (On-Chain Model)
|
|
94
108
|
*/
|
|
95
109
|
export interface GenerateSingleKeyAccountArgs {
|
|
96
110
|
scheme: Exclude<SigningSchemeInput, SigningSchemeInput.Ed25519>;
|
|
@@ -102,6 +116,8 @@ export interface GenerateSingleKeyAccountArgs {
|
|
|
102
116
|
*
|
|
103
117
|
* @param scheme - The signing scheme to use for account generation.
|
|
104
118
|
* @param legacy - Indicates whether to use legacy account generation methods.
|
|
119
|
+
* @group Implementation
|
|
120
|
+
* @category Account (On-Chain Model)
|
|
105
121
|
*/
|
|
106
122
|
export interface GenerateAccountArgs {
|
|
107
123
|
scheme?: SigningSchemeInput;
|
|
@@ -113,6 +129,8 @@ export interface GenerateAccountArgs {
|
|
|
113
129
|
*
|
|
114
130
|
* @param path - The BIP44 derivation path for the key.
|
|
115
131
|
* @param mnemonic - The mnemonic phrase used for key generation.
|
|
132
|
+
* @group Implementation
|
|
133
|
+
* @category Account (On-Chain Model)
|
|
116
134
|
*/
|
|
117
135
|
export interface PrivateKeyFromDerivationPathArgs {
|
|
118
136
|
path: string;
|
|
@@ -127,20 +145,28 @@ export interface PrivateKeyFromDerivationPathArgs {
|
|
|
127
145
|
* abstract class, it should be treated as an interface and enforced using the `implements` keyword.
|
|
128
146
|
*
|
|
129
147
|
* Note: Generating an account instance does not create the account on-chain.
|
|
148
|
+
* @group Implementation
|
|
149
|
+
* @category Account (On-Chain Model)
|
|
130
150
|
*/
|
|
131
151
|
export abstract class Account {
|
|
132
152
|
/**
|
|
133
153
|
* Public key associated with the account
|
|
154
|
+
* @group Implementation
|
|
155
|
+
* @category Account (On-Chain Model)
|
|
134
156
|
*/
|
|
135
157
|
abstract readonly publicKey: AccountPublicKey;
|
|
136
158
|
|
|
137
159
|
/**
|
|
138
160
|
* Account address associated with the account
|
|
161
|
+
* @group Implementation
|
|
162
|
+
* @category Account (On-Chain Model)
|
|
139
163
|
*/
|
|
140
164
|
abstract readonly accountAddress: AccountAddress;
|
|
141
165
|
|
|
142
166
|
/**
|
|
143
167
|
* Signing scheme used to sign transactions
|
|
168
|
+
* @group Implementation
|
|
169
|
+
* @category Account (On-Chain Model)
|
|
144
170
|
*/
|
|
145
171
|
abstract signingScheme: SigningScheme;
|
|
146
172
|
|
|
@@ -151,6 +177,8 @@ export abstract class Account {
|
|
|
151
177
|
* @param args - The arguments for generating the account.
|
|
152
178
|
* @param args.scheme - The signing scheme to use for account generation. Defaults to Ed25519.
|
|
153
179
|
* @param args.legacy - Indicates whether to use the legacy account generation method. Defaults to true.
|
|
180
|
+
* @group Implementation
|
|
181
|
+
* @category Account (On-Chain Model)
|
|
154
182
|
*/
|
|
155
183
|
static generate(args?: GenerateEd25519AccountArgs): Ed25519Account;
|
|
156
184
|
static generate(args: GenerateEd25519SingleKeyAccountArgs): SingleKeyAccount;
|
|
@@ -174,12 +202,13 @@ export abstract class Account {
|
|
|
174
202
|
* @param args.address - The address associated with the account.
|
|
175
203
|
* @param args.legacy - A boolean indicating whether to create a legacy account (default is true).
|
|
176
204
|
* @returns An instance of either Ed25519Account or SingleKeyAccount based on the provided private key.
|
|
205
|
+
* @group Implementation
|
|
206
|
+
* @category Account (On-Chain Model)
|
|
177
207
|
*/
|
|
178
208
|
static fromPrivateKey(args: CreateEd25519AccountFromPrivateKeyArgs): Ed25519Account;
|
|
179
|
-
static fromPrivateKey(args: CreateEd25519SingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;
|
|
180
209
|
static fromPrivateKey(args: CreateSingleKeyAccountFromPrivateKeyArgs): SingleKeyAccount;
|
|
181
|
-
static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs):
|
|
182
|
-
static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs) {
|
|
210
|
+
static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs): SingleKeyAccount;
|
|
211
|
+
static fromPrivateKey(args: CreateAccountFromPrivateKeyArgs): Ed25519Account | SingleKeyAccount {
|
|
183
212
|
const { privateKey, address, legacy = true } = args;
|
|
184
213
|
if (privateKey instanceof Ed25519PrivateKey && legacy) {
|
|
185
214
|
return new Ed25519Account({
|
|
@@ -202,6 +231,8 @@ export abstract class Account {
|
|
|
202
231
|
* Ed25519 keypair.
|
|
203
232
|
*
|
|
204
233
|
* @returns Account
|
|
234
|
+
* @group Implementation
|
|
235
|
+
* @category Account (On-Chain Model)
|
|
205
236
|
*/
|
|
206
237
|
static fromPrivateKeyAndAddress(args: CreateAccountFromPrivateKeyArgs) {
|
|
207
238
|
return this.fromPrivateKey(args);
|
|
@@ -216,6 +247,8 @@ export abstract class Account {
|
|
|
216
247
|
* @param args.mnemonic - The mnemonic phrase used to derive the account.
|
|
217
248
|
* @param args.path - The derivation path used to generate the account.
|
|
218
249
|
* @param args.legacy - A boolean indicating whether to use the legacy account generation method. Defaults to true.
|
|
250
|
+
* @group Implementation
|
|
251
|
+
* @category Account (On-Chain Model)
|
|
219
252
|
*/
|
|
220
253
|
static fromDerivationPath(args: GenerateEd25519AccountArgs & PrivateKeyFromDerivationPathArgs): Ed25519Account;
|
|
221
254
|
static fromDerivationPath(
|
|
@@ -240,6 +273,8 @@ export abstract class Account {
|
|
|
240
273
|
* @param args - The arguments for retrieving the authentication key.
|
|
241
274
|
* @param args.publicKey - The public key of the account.
|
|
242
275
|
* @returns The authentication key for the associated account.
|
|
276
|
+
* @group Implementation
|
|
277
|
+
* @category Account (On-Chain Model)
|
|
243
278
|
*/
|
|
244
279
|
static authKey(args: { publicKey: AccountPublicKey }): AuthenticationKey {
|
|
245
280
|
const { publicKey } = args;
|
|
@@ -250,6 +285,8 @@ export abstract class Account {
|
|
|
250
285
|
* Sign a message using the available signing capabilities.
|
|
251
286
|
* @param message the signing message, as binary input
|
|
252
287
|
* @return the AccountAuthenticator containing the signature, together with the account's public key
|
|
288
|
+
* @group Implementation
|
|
289
|
+
* @category Account (On-Chain Model)
|
|
253
290
|
*/
|
|
254
291
|
abstract signWithAuthenticator(message: HexInput): AccountAuthenticator;
|
|
255
292
|
|
|
@@ -257,6 +294,8 @@ export abstract class Account {
|
|
|
257
294
|
* Sign a transaction using the available signing capabilities.
|
|
258
295
|
* @param transaction the raw transaction
|
|
259
296
|
* @return the AccountAuthenticator containing the signature of the transaction, together with the account's public key
|
|
297
|
+
* @group Implementation
|
|
298
|
+
* @category Account (On-Chain Model)
|
|
260
299
|
*/
|
|
261
300
|
abstract signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticator;
|
|
262
301
|
|
|
@@ -264,6 +303,8 @@ export abstract class Account {
|
|
|
264
303
|
* Sign the given message using the available signing capabilities.
|
|
265
304
|
* @param message in HexInput format
|
|
266
305
|
* @returns Signature
|
|
306
|
+
* @group Implementation
|
|
307
|
+
* @category Account (On-Chain Model)
|
|
267
308
|
*/
|
|
268
309
|
abstract sign(message: HexInput): Signature;
|
|
269
310
|
|
|
@@ -271,6 +312,8 @@ export abstract class Account {
|
|
|
271
312
|
* Sign the given transaction using the available signing capabilities.
|
|
272
313
|
* @param transaction the transaction to be signed
|
|
273
314
|
* @returns Signature
|
|
315
|
+
* @group Implementation
|
|
316
|
+
* @category Account (On-Chain Model)
|
|
274
317
|
*/
|
|
275
318
|
abstract signTransaction(transaction: AnyRawTransaction): Signature;
|
|
276
319
|
|
|
@@ -282,6 +325,8 @@ export abstract class Account {
|
|
|
282
325
|
* @param args.message - The raw message data in HexInput format.
|
|
283
326
|
* @param args.signature - The signed message signature.
|
|
284
327
|
* @returns A boolean indicating whether the signature is valid.
|
|
328
|
+
* @group Implementation
|
|
329
|
+
* @category Account (On-Chain Model)
|
|
285
330
|
*/
|
|
286
331
|
verifySignature(args: VerifySignatureArgs): boolean {
|
|
287
332
|
return this.publicKey.verifySignature(args);
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { Deserializer, Serializer } from "../bcs";
|
|
2
|
+
import { AnyPublicKeyVariant, HexInput, SigningScheme } from "../types";
|
|
3
|
+
import { MultiKeyAccount } from "./MultiKeyAccount";
|
|
4
|
+
import { Account } from "./Account";
|
|
5
|
+
import { Ed25519Account } from "./Ed25519Account";
|
|
6
|
+
import { isSingleKeySigner, SingleKeyAccount, SingleKeySignerOrLegacyEd25519Account } from "./SingleKeyAccount";
|
|
7
|
+
import { KeylessAccount } from "./KeylessAccount";
|
|
8
|
+
import { FederatedKeylessAccount } from "./FederatedKeylessAccount";
|
|
9
|
+
import { AbstractKeylessAccount } from "./AbstractKeylessAccount";
|
|
10
|
+
import {
|
|
11
|
+
AccountAddress,
|
|
12
|
+
Ed25519PrivateKey,
|
|
13
|
+
getIssAudAndUidVal,
|
|
14
|
+
Hex,
|
|
15
|
+
MultiKey,
|
|
16
|
+
Secp256k1PrivateKey,
|
|
17
|
+
ZeroKnowledgeSig,
|
|
18
|
+
} from "../core";
|
|
19
|
+
import { deserializeSchemeAndAddress } from "./utils";
|
|
20
|
+
import { EphemeralKeyPair } from "./EphemeralKeyPair";
|
|
21
|
+
|
|
22
|
+
function serializeKeylessAccountCommon(account: AbstractKeylessAccount, serializer: Serializer): void {
|
|
23
|
+
serializer.serializeStr(account.jwt);
|
|
24
|
+
serializer.serializeStr(account.uidKey);
|
|
25
|
+
serializer.serializeFixedBytes(account.pepper);
|
|
26
|
+
account.ephemeralKeyPair.serialize(serializer);
|
|
27
|
+
if (account.proof === undefined) {
|
|
28
|
+
throw new Error("Cannot serialize - proof undefined");
|
|
29
|
+
}
|
|
30
|
+
account.proof.serialize(serializer);
|
|
31
|
+
serializer.serializeOption(account.verificationKeyHash, 32);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function deserializeKeylessAccountCommon(deserializer: Deserializer): {
|
|
35
|
+
jwt: string;
|
|
36
|
+
uidKey: string;
|
|
37
|
+
pepper: Uint8Array;
|
|
38
|
+
ephemeralKeyPair: EphemeralKeyPair;
|
|
39
|
+
proof: ZeroKnowledgeSig;
|
|
40
|
+
verificationKeyHash?: Uint8Array;
|
|
41
|
+
} {
|
|
42
|
+
const jwt = deserializer.deserializeStr();
|
|
43
|
+
const uidKey = deserializer.deserializeStr();
|
|
44
|
+
const pepper = deserializer.deserializeFixedBytes(31);
|
|
45
|
+
const ephemeralKeyPair = EphemeralKeyPair.deserialize(deserializer);
|
|
46
|
+
const proof = ZeroKnowledgeSig.deserialize(deserializer);
|
|
47
|
+
const verificationKeyHash = deserializer.deserializeOption("fixedBytes", 32);
|
|
48
|
+
return { jwt, uidKey, pepper, ephemeralKeyPair, proof, verificationKeyHash };
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Utility functions for working with accounts.
|
|
53
|
+
*/
|
|
54
|
+
export namespace AccountUtils {
|
|
55
|
+
export function toBytes(account: Account): Uint8Array {
|
|
56
|
+
const serializer = new Serializer();
|
|
57
|
+
serializer.serializeU32AsUleb128(account.signingScheme);
|
|
58
|
+
account.accountAddress.serialize(serializer);
|
|
59
|
+
switch (account.signingScheme) {
|
|
60
|
+
case SigningScheme.Ed25519:
|
|
61
|
+
(account as Ed25519Account).privateKey.serialize(serializer);
|
|
62
|
+
return serializer.toUint8Array();
|
|
63
|
+
case SigningScheme.SingleKey: {
|
|
64
|
+
if (!isSingleKeySigner(account)) {
|
|
65
|
+
throw new Error("Account is not a SingleKeySigner");
|
|
66
|
+
}
|
|
67
|
+
const anyPublicKey = account.getAnyPublicKey();
|
|
68
|
+
serializer.serializeU32AsUleb128(anyPublicKey.variant);
|
|
69
|
+
switch (anyPublicKey.variant) {
|
|
70
|
+
case AnyPublicKeyVariant.Keyless: {
|
|
71
|
+
const keylessAccount = account as KeylessAccount;
|
|
72
|
+
serializeKeylessAccountCommon(keylessAccount, serializer);
|
|
73
|
+
return serializer.toUint8Array();
|
|
74
|
+
}
|
|
75
|
+
case AnyPublicKeyVariant.FederatedKeyless: {
|
|
76
|
+
const federatedKeylessAccount = account as FederatedKeylessAccount;
|
|
77
|
+
serializeKeylessAccountCommon(federatedKeylessAccount, serializer);
|
|
78
|
+
federatedKeylessAccount.publicKey.jwkAddress.serialize(serializer);
|
|
79
|
+
serializer.serializeBool(federatedKeylessAccount.audless);
|
|
80
|
+
return serializer.toUint8Array();
|
|
81
|
+
}
|
|
82
|
+
case AnyPublicKeyVariant.Secp256k1:
|
|
83
|
+
case AnyPublicKeyVariant.Ed25519: {
|
|
84
|
+
const singleKeyAccount = account as SingleKeyAccount;
|
|
85
|
+
singleKeyAccount.privateKey.serialize(serializer);
|
|
86
|
+
return serializer.toUint8Array();
|
|
87
|
+
}
|
|
88
|
+
default: {
|
|
89
|
+
throw new Error(`Invalid public key variant: ${anyPublicKey.variant}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
case SigningScheme.MultiKey: {
|
|
94
|
+
const multiKeyAccount = account as MultiKeyAccount;
|
|
95
|
+
multiKeyAccount.publicKey.serialize(serializer);
|
|
96
|
+
serializer.serializeU32AsUleb128(multiKeyAccount.signers.length);
|
|
97
|
+
multiKeyAccount.signers.forEach((signer) => {
|
|
98
|
+
serializer.serializeFixedBytes(toBytes(signer));
|
|
99
|
+
});
|
|
100
|
+
return serializer.toUint8Array();
|
|
101
|
+
}
|
|
102
|
+
default:
|
|
103
|
+
throw new Error(`Deserialization of Account failed: invalid signingScheme value ${account.signingScheme}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function toHexStringWithoutPrefix(account: Account): string {
|
|
108
|
+
return Hex.hexInputToStringWithoutPrefix(toBytes(account));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function toHexString(account: Account): string {
|
|
112
|
+
return Hex.hexInputToString(toBytes(account));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function deserialize(deserializer: Deserializer): Account {
|
|
116
|
+
const { address, signingScheme } = deserializeSchemeAndAddress(deserializer);
|
|
117
|
+
switch (signingScheme) {
|
|
118
|
+
case SigningScheme.Ed25519: {
|
|
119
|
+
const privateKey = Ed25519PrivateKey.deserialize(deserializer);
|
|
120
|
+
return new Ed25519Account({ privateKey, address });
|
|
121
|
+
}
|
|
122
|
+
case SigningScheme.SingleKey: {
|
|
123
|
+
const variantIndex = deserializer.deserializeUleb128AsU32();
|
|
124
|
+
switch (variantIndex) {
|
|
125
|
+
case AnyPublicKeyVariant.Ed25519: {
|
|
126
|
+
const privateKey = Ed25519PrivateKey.deserialize(deserializer);
|
|
127
|
+
return new SingleKeyAccount({ privateKey, address });
|
|
128
|
+
}
|
|
129
|
+
case AnyPublicKeyVariant.Secp256k1: {
|
|
130
|
+
const privateKey = Secp256k1PrivateKey.deserialize(deserializer);
|
|
131
|
+
return new SingleKeyAccount({ privateKey, address });
|
|
132
|
+
}
|
|
133
|
+
case AnyPublicKeyVariant.Keyless: {
|
|
134
|
+
const keylessComponents = deserializeKeylessAccountCommon(deserializer);
|
|
135
|
+
const jwtClaims = getIssAudAndUidVal(keylessComponents);
|
|
136
|
+
return new KeylessAccount({ ...keylessComponents, ...jwtClaims });
|
|
137
|
+
}
|
|
138
|
+
case AnyPublicKeyVariant.FederatedKeyless: {
|
|
139
|
+
const keylessComponents = deserializeKeylessAccountCommon(deserializer);
|
|
140
|
+
const jwkAddress = AccountAddress.deserialize(deserializer);
|
|
141
|
+
const audless = deserializer.deserializeBool();
|
|
142
|
+
const jwtClaims = getIssAudAndUidVal(keylessComponents);
|
|
143
|
+
return new FederatedKeylessAccount({ ...keylessComponents, ...jwtClaims, jwkAddress, audless });
|
|
144
|
+
}
|
|
145
|
+
default:
|
|
146
|
+
throw new Error(`Unsupported public key variant ${variantIndex}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
case SigningScheme.MultiKey: {
|
|
150
|
+
const multiKey = MultiKey.deserialize(deserializer);
|
|
151
|
+
const length = deserializer.deserializeUleb128AsU32();
|
|
152
|
+
const signers = new Array<SingleKeySignerOrLegacyEd25519Account>();
|
|
153
|
+
for (let i = 0; i < length; i += 1) {
|
|
154
|
+
const signer = deserialize(deserializer);
|
|
155
|
+
if (!isSingleKeySigner(signer) && !(signer instanceof Ed25519Account)) {
|
|
156
|
+
throw new Error(
|
|
157
|
+
"Deserialization of MultiKeyAccount failed. Signer is not a SingleKeySigner or Ed25519Account",
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
signers.push(signer);
|
|
161
|
+
}
|
|
162
|
+
return new MultiKeyAccount({ multiKey, signers, address });
|
|
163
|
+
}
|
|
164
|
+
default:
|
|
165
|
+
throw new Error(`Deserialization of Account failed: invalid signingScheme value ${signingScheme}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export function keylessAccountFromHex(hex: HexInput): KeylessAccount {
|
|
170
|
+
const account = fromHex(hex);
|
|
171
|
+
if (!(account instanceof KeylessAccount)) {
|
|
172
|
+
throw new Error("Deserialization of KeylessAccount failed");
|
|
173
|
+
}
|
|
174
|
+
return account;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export function federatedKeylessAccountFromHex(hex: HexInput): FederatedKeylessAccount {
|
|
178
|
+
const account = fromHex(hex);
|
|
179
|
+
if (!(account instanceof FederatedKeylessAccount)) {
|
|
180
|
+
throw new Error("Deserialization of FederatedKeylessAccount failed");
|
|
181
|
+
}
|
|
182
|
+
return account;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export function multiKeyAccountFromHex(hex: HexInput): MultiKeyAccount {
|
|
186
|
+
const account = fromHex(hex);
|
|
187
|
+
if (!(account instanceof MultiKeyAccount)) {
|
|
188
|
+
throw new Error("Deserialization of MultiKeyAccount failed");
|
|
189
|
+
}
|
|
190
|
+
return account;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export function singleKeyAccountFromHex(hex: HexInput): SingleKeyAccount {
|
|
194
|
+
const account = fromHex(hex);
|
|
195
|
+
if (!(account instanceof SingleKeyAccount)) {
|
|
196
|
+
throw new Error("Deserialization of SingleKeyAccount failed");
|
|
197
|
+
}
|
|
198
|
+
return account;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export function ed25519AccountFromHex(hex: HexInput): Ed25519Account {
|
|
202
|
+
const account = fromHex(hex);
|
|
203
|
+
if (!(account instanceof Ed25519Account)) {
|
|
204
|
+
throw new Error("Deserialization of Ed25519Account failed");
|
|
205
|
+
}
|
|
206
|
+
return account;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export function fromHex(hex: HexInput): Account {
|
|
210
|
+
return deserialize(Deserializer.fromHex(hex));
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export function fromBytes(bytes: Uint8Array): Account {
|
|
214
|
+
return fromHex(bytes);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
@@ -11,6 +11,8 @@ import { generateSigningMessageForTransaction } from "../transactions/transactio
|
|
|
11
11
|
*
|
|
12
12
|
* @param privateKey - The private key used for signing.
|
|
13
13
|
* @param address - Optional account address associated with the signer.
|
|
14
|
+
* @group Implementation
|
|
15
|
+
* @category Account (On-Chain Model)
|
|
14
16
|
*/
|
|
15
17
|
export interface Ed25519SignerConstructorArgs {
|
|
16
18
|
privateKey: Ed25519PrivateKey;
|
|
@@ -22,6 +24,8 @@ export interface Ed25519SignerConstructorArgs {
|
|
|
22
24
|
*
|
|
23
25
|
* @param path - The derivation path for the Ed25519 key.
|
|
24
26
|
* @param mnemonic - The mnemonic phrase used to generate the key.
|
|
27
|
+
* @group Implementation
|
|
28
|
+
* @category Account (On-Chain Model)
|
|
25
29
|
*/
|
|
26
30
|
export interface Ed25519SignerFromDerivationPathArgs {
|
|
27
31
|
path: string;
|
|
@@ -33,6 +37,8 @@ export interface Ed25519SignerFromDerivationPathArgs {
|
|
|
33
37
|
*
|
|
34
38
|
* @param message - The message to be verified, represented in hexadecimal format.
|
|
35
39
|
* @param signature - The Ed25519 signature to validate.
|
|
40
|
+
* @group Implementation
|
|
41
|
+
* @category Account (On-Chain Model)
|
|
36
42
|
*/
|
|
37
43
|
export interface VerifyEd25519SignatureArgs {
|
|
38
44
|
message: HexInput;
|
|
@@ -44,10 +50,14 @@ export interface VerifyEd25519SignatureArgs {
|
|
|
44
50
|
* This class allows for the creation of accounts, signing messages and transactions, and verifying signatures.
|
|
45
51
|
*
|
|
46
52
|
* Note: Generating an instance of this class does not create the account on-chain.
|
|
53
|
+
* @group Implementation
|
|
54
|
+
* @category Account (On-Chain Model)
|
|
47
55
|
*/
|
|
48
56
|
export class Ed25519Account implements Account {
|
|
49
57
|
/**
|
|
50
58
|
* Private key associated with the account
|
|
59
|
+
* @group Implementation
|
|
60
|
+
* @category Account (On-Chain Model)
|
|
51
61
|
*/
|
|
52
62
|
readonly privateKey: Ed25519PrivateKey;
|
|
53
63
|
|
|
@@ -66,6 +76,8 @@ export class Ed25519Account implements Account {
|
|
|
66
76
|
* @param args - The constructor arguments for the Ed25519Signer.
|
|
67
77
|
* @param args.privateKey - The private key used for signing.
|
|
68
78
|
* @param args.address - The optional account address; if not provided, it will derive the address from the public key.
|
|
79
|
+
* @group Implementation
|
|
80
|
+
* @category Account (On-Chain Model)
|
|
69
81
|
*/
|
|
70
82
|
constructor(args: Ed25519SignerConstructorArgs) {
|
|
71
83
|
const { privateKey, address } = args;
|
|
@@ -79,6 +91,8 @@ export class Ed25519Account implements Account {
|
|
|
79
91
|
* This function is useful for creating a signer that can be used for cryptographic operations.
|
|
80
92
|
*
|
|
81
93
|
* @returns {Ed25519Account} The newly generated Ed25519 account.
|
|
94
|
+
* @group Implementation
|
|
95
|
+
* @category Account (On-Chain Model)
|
|
82
96
|
*/
|
|
83
97
|
static generate(): Ed25519Account {
|
|
84
98
|
const privateKey = Ed25519PrivateKey.generate();
|
|
@@ -92,6 +106,8 @@ export class Ed25519Account implements Account {
|
|
|
92
106
|
* @param args.path - The BIP44 derive hardened path, e.g., m/44'/637'/0'/0'/0'.
|
|
93
107
|
* Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}
|
|
94
108
|
* @param args.mnemonic - The mnemonic seed phrase of the account.
|
|
109
|
+
* @group Implementation
|
|
110
|
+
* @category Account (On-Chain Model)
|
|
95
111
|
*/
|
|
96
112
|
static fromDerivationPath(args: Ed25519SignerFromDerivationPathArgs) {
|
|
97
113
|
const { path, mnemonic } = args;
|
|
@@ -108,6 +124,8 @@ export class Ed25519Account implements Account {
|
|
|
108
124
|
* @param args.message - Raw message data in HexInput format.
|
|
109
125
|
* @param args.signature - Signed message signature.
|
|
110
126
|
* @returns A boolean indicating whether the signature is valid.
|
|
127
|
+
* @group Implementation
|
|
128
|
+
* @category Account (On-Chain Model)
|
|
111
129
|
*/
|
|
112
130
|
verifySignature(args: VerifyEd25519SignatureArgs): boolean {
|
|
113
131
|
return this.publicKey.verifySignature(args);
|
|
@@ -119,6 +137,8 @@ export class Ed25519Account implements Account {
|
|
|
119
137
|
*
|
|
120
138
|
* @param message - The signing message, represented as hexadecimal input.
|
|
121
139
|
* @returns An AccountAuthenticator containing the signature and the account's public key.
|
|
140
|
+
* @group Implementation
|
|
141
|
+
* @category Account (On-Chain Model)
|
|
122
142
|
*/
|
|
123
143
|
signWithAuthenticator(message: HexInput): AccountAuthenticatorEd25519 {
|
|
124
144
|
return new AccountAuthenticatorEd25519(this.publicKey, this.privateKey.sign(message));
|
|
@@ -130,6 +150,8 @@ export class Ed25519Account implements Account {
|
|
|
130
150
|
*
|
|
131
151
|
* @param transaction - The raw transaction to be signed.
|
|
132
152
|
* @returns An AccountAuthenticator containing the signature and the public key.
|
|
153
|
+
* @group Implementation
|
|
154
|
+
* @category Account (On-Chain Model)
|
|
133
155
|
*/
|
|
134
156
|
signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorEd25519 {
|
|
135
157
|
return new AccountAuthenticatorEd25519(this.publicKey, this.signTransaction(transaction));
|
|
@@ -139,6 +161,8 @@ export class Ed25519Account implements Account {
|
|
|
139
161
|
* Sign the given message using the account's Ed25519 private key.
|
|
140
162
|
* @param message - The message to be signed in HexInput format.
|
|
141
163
|
* @returns Signature - The resulting signature of the signed message.
|
|
164
|
+
* @group Implementation
|
|
165
|
+
* @category Account (On-Chain Model)
|
|
142
166
|
*/
|
|
143
167
|
sign(message: HexInput): Ed25519Signature {
|
|
144
168
|
return this.privateKey.sign(message);
|
|
@@ -150,6 +174,8 @@ export class Ed25519Account implements Account {
|
|
|
150
174
|
*
|
|
151
175
|
* @param transaction - The transaction to be signed.
|
|
152
176
|
* @returns Signature - The resulting signature for the transaction.
|
|
177
|
+
* @group Implementation
|
|
178
|
+
* @category Account (On-Chain Model)
|
|
153
179
|
*/
|
|
154
180
|
signTransaction(transaction: AnyRawTransaction): Ed25519Signature {
|
|
155
181
|
return this.sign(generateSigningMessageForTransaction(transaction));
|
|
@@ -24,6 +24,8 @@ const TWO_WEEKS_IN_SECONDS = 1_209_600;
|
|
|
24
24
|
* This key pair is temporary and includes an expiration time.
|
|
25
25
|
* For more details on how this class is used, refer to the documentation:
|
|
26
26
|
* https://aptos.dev/guides/keyless-accounts/#1-present-the-user-with-a-sign-in-with-idp-button-on-the-ui
|
|
27
|
+
* @group Implementation
|
|
28
|
+
* @category Account (On-Chain Model)
|
|
27
29
|
*/
|
|
28
30
|
export class EphemeralKeyPair extends Serializable {
|
|
29
31
|
static readonly BLINDER_LENGTH: number = 31;
|
|
@@ -31,30 +33,40 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
31
33
|
/**
|
|
32
34
|
* A byte array of length BLINDER_LENGTH used to obfuscate the public key from the IdP.
|
|
33
35
|
* Used in calculating the nonce passed to the IdP and as a secret witness in proof generation.
|
|
36
|
+
* @group Implementation
|
|
37
|
+
* @category Account (On-Chain Model)
|
|
34
38
|
*/
|
|
35
39
|
readonly blinder: Uint8Array;
|
|
36
40
|
|
|
37
41
|
/**
|
|
38
42
|
* A timestamp in seconds indicating when the ephemeral key pair is expired. After expiry, a new
|
|
39
43
|
* EphemeralKeyPair must be generated and a new JWT needs to be created.
|
|
44
|
+
* @group Implementation
|
|
45
|
+
* @category Account (On-Chain Model)
|
|
40
46
|
*/
|
|
41
47
|
readonly expiryDateSecs: number;
|
|
42
48
|
|
|
43
49
|
/**
|
|
44
50
|
* The value passed to the IdP when the user authenticates. It consists of a hash of the
|
|
45
51
|
* ephemeral public key, expiry date, and blinder.
|
|
52
|
+
* @group Implementation
|
|
53
|
+
* @category Account (On-Chain Model)
|
|
46
54
|
*/
|
|
47
55
|
readonly nonce: string;
|
|
48
56
|
|
|
49
57
|
/**
|
|
50
58
|
* A private key used to sign transactions. This private key is not tied to any account on the chain as it
|
|
51
59
|
* is ephemeral (not permanent) in nature.
|
|
60
|
+
* @group Implementation
|
|
61
|
+
* @category Account (On-Chain Model)
|
|
52
62
|
*/
|
|
53
63
|
private privateKey: PrivateKey;
|
|
54
64
|
|
|
55
65
|
/**
|
|
56
66
|
* A public key used to verify transactions. This public key is not tied to any account on the chain as it
|
|
57
67
|
* is ephemeral (not permanent) in nature.
|
|
68
|
+
* @group Implementation
|
|
69
|
+
* @category Account (On-Chain Model)
|
|
58
70
|
*/
|
|
59
71
|
private publicKey: EphemeralPublicKey;
|
|
60
72
|
|
|
@@ -67,6 +79,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
67
79
|
* @param args.privateKey - The private key used for creating the instance.
|
|
68
80
|
* @param args.expiryDateSecs - Optional expiry date in seconds from the current time. Defaults to two weeks from now.
|
|
69
81
|
* @param args.blinder - Optional blinder value. If not provided, a new blinder will be generated.
|
|
82
|
+
* @group Implementation
|
|
83
|
+
* @category Account (On-Chain Model)
|
|
70
84
|
*/
|
|
71
85
|
constructor(args: { privateKey: PrivateKey; expiryDateSecs?: number; blinder?: HexInput }) {
|
|
72
86
|
super();
|
|
@@ -88,6 +102,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
88
102
|
/**
|
|
89
103
|
* Returns the public key of the key pair.
|
|
90
104
|
* @return EphemeralPublicKey
|
|
105
|
+
* @group Implementation
|
|
106
|
+
* @category Account (On-Chain Model)
|
|
91
107
|
*/
|
|
92
108
|
getPublicKey(): EphemeralPublicKey {
|
|
93
109
|
return this.publicKey;
|
|
@@ -96,6 +112,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
96
112
|
/**
|
|
97
113
|
* Checks if the current time has surpassed the expiry date of the key pair.
|
|
98
114
|
* @return boolean - Returns true if the key pair is expired, otherwise false.
|
|
115
|
+
* @group Implementation
|
|
116
|
+
* @category Account (On-Chain Model)
|
|
99
117
|
*/
|
|
100
118
|
isExpired(): boolean {
|
|
101
119
|
const currentTimeSecs: number = Math.floor(Date.now() / 1000);
|
|
@@ -107,6 +125,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
107
125
|
* This function is essential for preparing the object data for serialization processes.
|
|
108
126
|
*
|
|
109
127
|
* @param serializer - The serializer instance used to serialize the object's properties.
|
|
128
|
+
* @group Implementation
|
|
129
|
+
* @category Account (On-Chain Model)
|
|
110
130
|
*/
|
|
111
131
|
serialize(serializer: Serializer): void {
|
|
112
132
|
serializer.serializeU32AsUleb128(this.publicKey.variant);
|
|
@@ -120,6 +140,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
120
140
|
* This function helps in reconstructing an ephemeral key pair, which is essential for cryptographic operations.
|
|
121
141
|
*
|
|
122
142
|
* @param deserializer - The deserializer instance used to read the serialized data.
|
|
143
|
+
* @group Implementation
|
|
144
|
+
* @category Account (On-Chain Model)
|
|
123
145
|
*/
|
|
124
146
|
static deserialize(deserializer: Deserializer): EphemeralKeyPair {
|
|
125
147
|
const variantIndex = deserializer.deserializeUleb128AsU32();
|
|
@@ -141,6 +163,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
141
163
|
* This function allows you to reconstruct an EphemeralKeyPair from its serialized byte representation.
|
|
142
164
|
*
|
|
143
165
|
* @param bytes - The byte array representing the serialized EphemeralKeyPair.
|
|
166
|
+
* @group Implementation
|
|
167
|
+
* @category Account (On-Chain Model)
|
|
144
168
|
*/
|
|
145
169
|
static fromBytes(bytes: Uint8Array): EphemeralKeyPair {
|
|
146
170
|
return EphemeralKeyPair.deserialize(new Deserializer(bytes));
|
|
@@ -154,6 +178,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
154
178
|
* @param args.scheme - The type of key pair to use for the EphemeralKeyPair. Only Ed25519 is supported for now.
|
|
155
179
|
* @param args.expiryDateSecs - The date of expiry for the key pair in seconds.
|
|
156
180
|
* @returns An instance of EphemeralKeyPair containing the generated private key and expiry date.
|
|
181
|
+
* @group Implementation
|
|
182
|
+
* @category Account (On-Chain Model)
|
|
157
183
|
*/
|
|
158
184
|
static generate(args?: { scheme?: EphemeralPublicKeyVariant; expiryDateSecs?: number }): EphemeralKeyPair {
|
|
159
185
|
let privateKey: PrivateKey;
|
|
@@ -174,6 +200,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
174
200
|
* @param data - The data to be signed, provided in HexInput format.
|
|
175
201
|
* @returns EphemeralSignature - The resulting ephemeral signature.
|
|
176
202
|
* @throws Error - Throws an error if the EphemeralKeyPair has expired.
|
|
203
|
+
* @group Implementation
|
|
204
|
+
* @category Account (On-Chain Model)
|
|
177
205
|
*/
|
|
178
206
|
sign(data: HexInput): EphemeralSignature {
|
|
179
207
|
if (this.isExpired()) {
|
|
@@ -186,6 +214,8 @@ export class EphemeralKeyPair extends Serializable {
|
|
|
186
214
|
/**
|
|
187
215
|
* Generates a random byte array of length EphemeralKeyPair.BLINDER_LENGTH.
|
|
188
216
|
* @returns Uint8Array A random byte array used for blinding.
|
|
217
|
+
* @group Implementation
|
|
218
|
+
* @category Account (On-Chain Model)
|
|
189
219
|
*/
|
|
190
220
|
function generateBlinder(): Uint8Array {
|
|
191
221
|
return randomBytes(EphemeralKeyPair.BLINDER_LENGTH);
|