@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
|
@@ -9,7 +9,6 @@ import { EphemeralKeyPair } from "./EphemeralKeyPair";
|
|
|
9
9
|
import { Deserializer, Serializer } from "../bcs";
|
|
10
10
|
import { FederatedKeylessPublicKey } from "../core/crypto/federatedKeyless";
|
|
11
11
|
import { AbstractKeylessAccount, ProofFetchCallback } from "./AbstractKeylessAccount";
|
|
12
|
-
import { Hex } from "../core";
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Account implementation for the FederatedKeyless authentication scheme.
|
|
@@ -21,13 +20,19 @@ import { Hex } from "../core";
|
|
|
21
20
|
*
|
|
22
21
|
* When the proof expires or the JWT becomes invalid, the KeylessAccount must be instantiated again with a new JWT,
|
|
23
22
|
* EphemeralKeyPair, and corresponding proof.
|
|
23
|
+
* @group Implementation
|
|
24
|
+
* @category Account (On-Chain Model)
|
|
24
25
|
*/
|
|
25
26
|
export class FederatedKeylessAccount extends AbstractKeylessAccount {
|
|
26
27
|
/**
|
|
27
28
|
* The FederatedKeylessPublicKey associated with the account
|
|
29
|
+
* @group Implementation
|
|
30
|
+
* @category Account (On-Chain Model)
|
|
28
31
|
*/
|
|
29
32
|
readonly publicKey: FederatedKeylessPublicKey;
|
|
30
33
|
|
|
34
|
+
readonly audless: boolean;
|
|
35
|
+
|
|
31
36
|
/**
|
|
32
37
|
* Use the static generator `FederatedKeylessAccount.create(...)` instead.
|
|
33
38
|
* Creates a KeylessAccount instance using the provided parameters.
|
|
@@ -42,7 +47,7 @@ export class FederatedKeylessAccount extends AbstractKeylessAccount {
|
|
|
42
47
|
* @param args.uidKey - Optional key for user identification, defaults to "sub".
|
|
43
48
|
* @param args.proofFetchCallback - Optional callback function for fetching proof.
|
|
44
49
|
*/
|
|
45
|
-
|
|
50
|
+
constructor(args: {
|
|
46
51
|
address?: AccountAddress;
|
|
47
52
|
ephemeralKeyPair: EphemeralKeyPair;
|
|
48
53
|
iss: string;
|
|
@@ -55,10 +60,12 @@ export class FederatedKeylessAccount extends AbstractKeylessAccount {
|
|
|
55
60
|
proofFetchCallback?: ProofFetchCallback;
|
|
56
61
|
jwt: string;
|
|
57
62
|
verificationKeyHash?: HexInput;
|
|
63
|
+
audless?: boolean;
|
|
58
64
|
}) {
|
|
59
65
|
const publicKey = FederatedKeylessPublicKey.create(args);
|
|
60
66
|
super({ publicKey, ...args });
|
|
61
67
|
this.publicKey = publicKey;
|
|
68
|
+
this.audless = args.audless ?? false;
|
|
62
69
|
}
|
|
63
70
|
|
|
64
71
|
/**
|
|
@@ -106,7 +113,7 @@ export class FederatedKeylessAccount extends AbstractKeylessAccount {
|
|
|
106
113
|
* @returns
|
|
107
114
|
*/
|
|
108
115
|
static fromBytes(bytes: HexInput): FederatedKeylessAccount {
|
|
109
|
-
return FederatedKeylessAccount.deserialize(
|
|
116
|
+
return FederatedKeylessAccount.deserialize(Deserializer.fromHex(bytes));
|
|
110
117
|
}
|
|
111
118
|
|
|
112
119
|
/**
|
|
@@ -19,10 +19,14 @@ import { Hex } from "../core/hex";
|
|
|
19
19
|
*
|
|
20
20
|
* When the proof expires or the JWT becomes invalid, the KeylessAccount must be instantiated again with a new JWT,
|
|
21
21
|
* EphemeralKeyPair, and corresponding proof.
|
|
22
|
+
* @group Implementation
|
|
23
|
+
* @category Account (On-Chain Model)
|
|
22
24
|
*/
|
|
23
25
|
export class KeylessAccount extends AbstractKeylessAccount {
|
|
24
26
|
/**
|
|
25
27
|
* The KeylessPublicKey associated with the account
|
|
28
|
+
* @group Implementation
|
|
29
|
+
* @category Account (On-Chain Model)
|
|
26
30
|
*/
|
|
27
31
|
readonly publicKey: KeylessPublicKey;
|
|
28
32
|
|
|
@@ -44,8 +48,10 @@ export class KeylessAccount extends AbstractKeylessAccount {
|
|
|
44
48
|
* @param args.proof - A Zero Knowledge Signature or a promise that resolves to one.
|
|
45
49
|
* @param args.proofFetchCallback - Optional callback function for fetching proof.
|
|
46
50
|
* @param args.jwt - A JSON Web Token used for authentication.
|
|
51
|
+
* @group Implementation
|
|
52
|
+
* @category Account (On-Chain Model)
|
|
47
53
|
*/
|
|
48
|
-
|
|
54
|
+
constructor(args: {
|
|
49
55
|
address?: AccountAddress;
|
|
50
56
|
ephemeralKeyPair: EphemeralKeyPair;
|
|
51
57
|
iss: string;
|
|
@@ -68,6 +74,8 @@ export class KeylessAccount extends AbstractKeylessAccount {
|
|
|
68
74
|
* This function ensures that both the transaction bytes and the proof are properly serialized.
|
|
69
75
|
*
|
|
70
76
|
* @param serializer - The serializer instance used to convert the transaction data into bytes.
|
|
77
|
+
* @group Implementation
|
|
78
|
+
* @category Account (On-Chain Model)
|
|
71
79
|
*/
|
|
72
80
|
serialize(serializer: Serializer): void {
|
|
73
81
|
super.serialize(serializer);
|
|
@@ -79,6 +87,8 @@ export class KeylessAccount extends AbstractKeylessAccount {
|
|
|
79
87
|
*
|
|
80
88
|
* @param deserializer - The deserializer instance used to retrieve the serialized data.
|
|
81
89
|
* @returns A KeylessAccount instance created from the deserialized data.
|
|
90
|
+
* @group Implementation
|
|
91
|
+
* @category Account (On-Chain Model)
|
|
82
92
|
*/
|
|
83
93
|
static deserialize(deserializer: Deserializer): KeylessAccount {
|
|
84
94
|
const { address, proof, ephemeralKeyPair, jwt, uidKey, pepper, verificationKeyHash } =
|
|
@@ -121,6 +131,8 @@ export class KeylessAccount extends AbstractKeylessAccount {
|
|
|
121
131
|
* @param args.pepper - A hexadecimal input used for additional security.
|
|
122
132
|
* @param args.uidKey - Optional key for user identification, defaults to "sub".
|
|
123
133
|
* @param args.proofFetchCallback - Optional callback function for fetching proof.
|
|
134
|
+
* @group Implementation
|
|
135
|
+
* @category Account (On-Chain Model)
|
|
124
136
|
*/
|
|
125
137
|
static create(args: {
|
|
126
138
|
address?: AccountAddress;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright © Aptos Foundation
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { Account } from "./Account";
|
|
4
|
+
import type { Account } from "./Account";
|
|
5
5
|
import { MultiKey, MultiKeySignature, PublicKey } from "../core/crypto";
|
|
6
6
|
import { AccountAddress, AccountAddressInput } from "../core/accountAddress";
|
|
7
7
|
import { HexInput, SigningScheme } from "../types";
|
|
@@ -9,12 +9,16 @@ import { AccountAuthenticatorMultiKey } from "../transactions/authenticator/acco
|
|
|
9
9
|
import { AnyRawTransaction } from "../transactions/types";
|
|
10
10
|
import { AbstractKeylessAccount, KeylessSigner } from "./AbstractKeylessAccount";
|
|
11
11
|
import { AptosConfig } from "../api/aptosConfig";
|
|
12
|
+
import { SingleKeyAccount, SingleKeySigner, SingleKeySignerOrLegacyEd25519Account } from "./SingleKeyAccount";
|
|
13
|
+
import { Ed25519Account } from "./Ed25519Account";
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* Arguments required to verify a multi-key signature against a given message.
|
|
15
17
|
*
|
|
16
18
|
* @param message - The original message that was signed.
|
|
17
19
|
* @param signature - The multi-key signature to be verified.
|
|
20
|
+
* @group Implementation
|
|
21
|
+
* @category Account (On-Chain Model)
|
|
18
22
|
*/
|
|
19
23
|
export interface VerifyMultiKeySignatureArgs {
|
|
20
24
|
message: HexInput;
|
|
@@ -28,33 +32,45 @@ export interface VerifyMultiKeySignatureArgs {
|
|
|
28
32
|
* It signs messages using an array of M accounts, each corresponding to a public key in the {@link MultiKey}.
|
|
29
33
|
*
|
|
30
34
|
* Note: Generating a signer instance does not create the account on-chain.
|
|
35
|
+
* @group Implementation
|
|
36
|
+
* @category Account (On-Chain Model)
|
|
31
37
|
*/
|
|
32
38
|
export class MultiKeyAccount implements Account, KeylessSigner {
|
|
33
39
|
/**
|
|
34
40
|
* Public key associated with the account
|
|
41
|
+
* @group Implementation
|
|
42
|
+
* @category Account (On-Chain Model)
|
|
35
43
|
*/
|
|
36
44
|
readonly publicKey: MultiKey;
|
|
37
45
|
|
|
38
46
|
/**
|
|
39
47
|
* Account address associated with the account
|
|
48
|
+
* @group Implementation
|
|
49
|
+
* @category Account (On-Chain Model)
|
|
40
50
|
*/
|
|
41
51
|
readonly accountAddress: AccountAddress;
|
|
42
52
|
|
|
43
53
|
/**
|
|
44
54
|
* Signing scheme used to sign transactions
|
|
55
|
+
* @group Implementation
|
|
56
|
+
* @category Account (On-Chain Model)
|
|
45
57
|
*/
|
|
46
|
-
readonly signingScheme: SigningScheme;
|
|
58
|
+
readonly signingScheme: SigningScheme = SigningScheme.MultiKey;
|
|
47
59
|
|
|
48
60
|
/**
|
|
49
61
|
* The signers used to sign messages. These signers should correspond to public keys in the
|
|
50
62
|
* MultiKeyAccount's public key. The number of signers should be equal or greater
|
|
51
63
|
* than this.publicKey.signaturesRequired
|
|
64
|
+
* @group Implementation
|
|
65
|
+
* @category Account (On-Chain Model)
|
|
52
66
|
*/
|
|
53
67
|
readonly signers: Account[];
|
|
54
68
|
|
|
55
69
|
/**
|
|
56
70
|
* An array of indices where for signer[i], signerIndicies[i] is the index of the corresponding public key in
|
|
57
71
|
* publicKey.publicKeys. Used to derive the right public key to use for verification.
|
|
72
|
+
* @group Implementation
|
|
73
|
+
* @category Account (On-Chain Model)
|
|
58
74
|
*/
|
|
59
75
|
// TODO: Rename Indicies to Indices
|
|
60
76
|
readonly signerIndicies: number[];
|
|
@@ -68,27 +84,56 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
68
84
|
* @param args.multiKey - The multikey of the account consisting of N public keys and a number M representing the required signatures.
|
|
69
85
|
* @param args.signers - An array of M signers that will be used to sign the transaction.
|
|
70
86
|
* @param args.address - An optional account address input. If not provided, the derived address from the public key will be used.
|
|
87
|
+
* @group Implementation
|
|
88
|
+
* @category Account (On-Chain Model)
|
|
71
89
|
*/
|
|
72
|
-
constructor(args: {
|
|
73
|
-
|
|
90
|
+
constructor(args: {
|
|
91
|
+
multiKey: MultiKey;
|
|
92
|
+
signers: SingleKeySignerOrLegacyEd25519Account[];
|
|
93
|
+
address?: AccountAddressInput;
|
|
94
|
+
}) {
|
|
95
|
+
const { multiKey, address } = args;
|
|
96
|
+
|
|
97
|
+
const signers: SingleKeySigner[] = args.signers.map((signer) =>
|
|
98
|
+
signer instanceof Ed25519Account ? SingleKeyAccount.fromEd25519Account(signer) : signer,
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
if (multiKey.signaturesRequired > signers.length) {
|
|
102
|
+
throw new Error(
|
|
103
|
+
// eslint-disable-next-line max-len
|
|
104
|
+
`Not enough signers provided to satisfy the required signatures. Need ${multiKey.signaturesRequired} signers, but only ${signers.length} provided`,
|
|
105
|
+
);
|
|
106
|
+
} else if (multiKey.signaturesRequired < signers.length) {
|
|
107
|
+
throw new Error(
|
|
108
|
+
// eslint-disable-next-line max-len
|
|
109
|
+
`More signers provided than required. Need ${multiKey.signaturesRequired} signers, but ${signers.length} provided`,
|
|
110
|
+
);
|
|
111
|
+
}
|
|
74
112
|
|
|
75
113
|
this.publicKey = multiKey;
|
|
76
|
-
this.signingScheme = SigningScheme.MultiKey;
|
|
77
114
|
|
|
78
115
|
this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
|
|
79
116
|
|
|
80
|
-
//
|
|
117
|
+
// For each signer, find its corresponding position in the MultiKey's public keys array
|
|
81
118
|
const bitPositions: number[] = [];
|
|
82
119
|
for (const signer of signers) {
|
|
83
|
-
bitPositions.push(this.publicKey.getIndex(signer.
|
|
120
|
+
bitPositions.push(this.publicKey.getIndex(signer.getAnyPublicKey()));
|
|
84
121
|
}
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
//
|
|
122
|
+
|
|
123
|
+
// Create pairs of [signer, position] and sort them by position
|
|
124
|
+
// This sorting is critical because:
|
|
125
|
+
// 1. The on-chain verification expects signatures to be in ascending order by bit position
|
|
126
|
+
// 2. The bitmap must match the order of signatures when verifying
|
|
88
127
|
const signersAndBitPosition: [Account, number][] = signers.map((signer, index) => [signer, bitPositions[index]]);
|
|
89
128
|
signersAndBitPosition.sort((a, b) => a[1] - b[1]);
|
|
129
|
+
|
|
130
|
+
// Extract the sorted signers and their positions into separate arrays
|
|
90
131
|
this.signers = signersAndBitPosition.map((value) => value[0]);
|
|
91
132
|
this.signerIndicies = signersAndBitPosition.map((value) => value[1]);
|
|
133
|
+
|
|
134
|
+
// Create a bitmap representing which public keys from the MultiKey are being used
|
|
135
|
+
// This bitmap is used during signature verification to identify which public keys
|
|
136
|
+
// should be used to verify each signature
|
|
92
137
|
this.signaturesBitmap = this.publicKey.createBitmap({ bits: bitPositions });
|
|
93
138
|
}
|
|
94
139
|
|
|
@@ -100,11 +145,13 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
100
145
|
* @param args.signaturesRequired - The number of signatures required to authorize a transaction.
|
|
101
146
|
* @param args.signers - An array of M signers that will be used to sign the transaction.
|
|
102
147
|
* @returns MultiKeyAccount - The newly created MultiKeyAccount.
|
|
148
|
+
* @group Implementation
|
|
149
|
+
* @category Account (On-Chain Model)
|
|
103
150
|
*/
|
|
104
151
|
static fromPublicKeysAndSigners(args: {
|
|
105
152
|
publicKeys: PublicKey[];
|
|
106
153
|
signaturesRequired: number;
|
|
107
|
-
signers:
|
|
154
|
+
signers: SingleKeySignerOrLegacyEd25519Account[];
|
|
108
155
|
}): MultiKeyAccount {
|
|
109
156
|
const { publicKeys, signaturesRequired, signers } = args;
|
|
110
157
|
const multiKey = new MultiKey({ publicKeys, signaturesRequired });
|
|
@@ -116,6 +163,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
116
163
|
*
|
|
117
164
|
* @param account - The account to check.
|
|
118
165
|
* @returns A boolean indicating whether the account is a multi-key account.
|
|
166
|
+
* @group Implementation
|
|
167
|
+
* @category Account (On-Chain Model)
|
|
119
168
|
*/
|
|
120
169
|
static isMultiKeySigner(account: Account): account is MultiKeyAccount {
|
|
121
170
|
return account instanceof MultiKeyAccount;
|
|
@@ -126,6 +175,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
126
175
|
* account's public key.
|
|
127
176
|
* @param message - The signing message, represented as binary input in hexadecimal format.
|
|
128
177
|
* @returns An instance of AccountAuthenticatorMultiKey that includes the signature and the public key.
|
|
178
|
+
* @group Implementation
|
|
179
|
+
* @category Account (On-Chain Model)
|
|
129
180
|
*/
|
|
130
181
|
signWithAuthenticator(message: HexInput): AccountAuthenticatorMultiKey {
|
|
131
182
|
return new AccountAuthenticatorMultiKey(this.publicKey, this.sign(message));
|
|
@@ -136,6 +187,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
136
187
|
* account's public key.
|
|
137
188
|
* @param transaction - The raw transaction to be signed.
|
|
138
189
|
* @returns An AccountAuthenticatorMultiKey containing the signature of the transaction along with the account's public key.
|
|
190
|
+
* @group Implementation
|
|
191
|
+
* @category Account (On-Chain Model)
|
|
139
192
|
*/
|
|
140
193
|
signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorMultiKey {
|
|
141
194
|
return new AccountAuthenticatorMultiKey(this.publicKey, this.signTransaction(transaction));
|
|
@@ -145,6 +198,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
145
198
|
* Waits for any proofs on KeylessAccount signers to be fetched. This ensures that signing with the KeylessAccount does not
|
|
146
199
|
* fail due to missing proofs.
|
|
147
200
|
* @return {Promise<void>} A promise that resolves when all proofs have been fetched.
|
|
201
|
+
* @group Implementation
|
|
202
|
+
* @category Account (On-Chain Model)
|
|
148
203
|
*/
|
|
149
204
|
async waitForProofFetch(): Promise<void> {
|
|
150
205
|
const keylessSigners = this.signers.filter(
|
|
@@ -157,6 +212,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
157
212
|
/**
|
|
158
213
|
* Validates that the Keyless Account can be used to sign transactions.
|
|
159
214
|
* @return
|
|
215
|
+
* @group Implementation
|
|
216
|
+
* @category Account (On-Chain Model)
|
|
160
217
|
*/
|
|
161
218
|
async checkKeylessAccountValidity(aptosConfig: AptosConfig): Promise<void> {
|
|
162
219
|
const keylessSigners = this.signers.filter(
|
|
@@ -168,8 +225,10 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
168
225
|
|
|
169
226
|
/**
|
|
170
227
|
* Sign the given message using the MultiKeyAccount's signers
|
|
171
|
-
* @param
|
|
228
|
+
* @param data - The data to be signed in HexInput format.
|
|
172
229
|
* @returns MultiKeySignature
|
|
230
|
+
* @group Implementation
|
|
231
|
+
* @category Account (On-Chain Model)
|
|
173
232
|
*/
|
|
174
233
|
sign(data: HexInput): MultiKeySignature {
|
|
175
234
|
const signatures = [];
|
|
@@ -185,6 +244,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
185
244
|
*
|
|
186
245
|
* @param transaction - The transaction to be signed.
|
|
187
246
|
* @returns MultiKeySignature - An object containing the aggregated signatures and a bitmap of the signatures.
|
|
247
|
+
* @group Implementation
|
|
248
|
+
* @category Account (On-Chain Model)
|
|
188
249
|
*/
|
|
189
250
|
signTransaction(transaction: AnyRawTransaction): MultiKeySignature {
|
|
190
251
|
const signatures = [];
|
|
@@ -203,6 +264,8 @@ export class MultiKeyAccount implements Account, KeylessSigner {
|
|
|
203
264
|
* @param args.message - The raw message data in HexInput format.
|
|
204
265
|
* @param args.signature - The signed message MultiKeySignature containing multiple signatures.
|
|
205
266
|
* @returns A boolean indicating whether the signatures are valid for the message.
|
|
267
|
+
* @group Implementation
|
|
268
|
+
* @category Account (On-Chain Model)
|
|
206
269
|
*/
|
|
207
270
|
verifySignature(args: VerifyMultiKeySignatureArgs): boolean {
|
|
208
271
|
const { message, signature } = args;
|
|
@@ -1,19 +1,42 @@
|
|
|
1
1
|
import { AccountAuthenticatorSingleKey } from "../transactions/authenticator/account";
|
|
2
2
|
import { type HexInput, SigningScheme, SigningSchemeInput } from "../types";
|
|
3
3
|
import { AccountAddress, AccountAddressInput } from "../core/accountAddress";
|
|
4
|
-
import { AnyPublicKey, AnySignature, Ed25519PrivateKey,
|
|
4
|
+
import { AnyPublicKey, AnySignature, Ed25519PrivateKey, PrivateKeyInput, Secp256k1PrivateKey } from "../core/crypto";
|
|
5
5
|
import type { Account } from "./Account";
|
|
6
6
|
import { generateSigningMessageForTransaction } from "../transactions/transactionBuilder/signingMessage";
|
|
7
7
|
import { AnyRawTransaction } from "../transactions/types";
|
|
8
|
+
import { Ed25519Account } from "./Ed25519Account";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* An interface which defines if an Account utilizes SingleKey signing.
|
|
12
|
+
*
|
|
13
|
+
* Such an account will use the AnyPublicKey enum to represent its public key when deriving the auth key.
|
|
14
|
+
*/
|
|
15
|
+
export interface SingleKeySigner extends Account {
|
|
16
|
+
getAnyPublicKey(): AnyPublicKey;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function isSingleKeySigner(obj: unknown): obj is SingleKeySigner {
|
|
20
|
+
return (
|
|
21
|
+
typeof obj === "object" &&
|
|
22
|
+
obj !== null &&
|
|
23
|
+
"getAnyPublicKey" in obj &&
|
|
24
|
+
typeof (obj as any).getAnyPublicKey === "function"
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type SingleKeySignerOrLegacyEd25519Account = SingleKeySigner | Ed25519Account;
|
|
8
29
|
|
|
9
30
|
/**
|
|
10
31
|
* Arguments required to create a single key signer.
|
|
11
32
|
*
|
|
12
33
|
* @param privateKey - The private key used for signing.
|
|
13
34
|
* @param address - Optional account address associated with the signer.
|
|
35
|
+
* @group Implementation
|
|
36
|
+
* @category Account (On-Chain Model)
|
|
14
37
|
*/
|
|
15
38
|
export interface SingleKeySignerConstructorArgs {
|
|
16
|
-
privateKey:
|
|
39
|
+
privateKey: PrivateKeyInput;
|
|
17
40
|
address?: AccountAddressInput;
|
|
18
41
|
}
|
|
19
42
|
|
|
@@ -21,6 +44,8 @@ export interface SingleKeySignerConstructorArgs {
|
|
|
21
44
|
* Arguments for generating a single key signer.
|
|
22
45
|
*
|
|
23
46
|
* @param scheme - The signing scheme to be used.
|
|
47
|
+
* @group Implementation
|
|
48
|
+
* @category Account (On-Chain Model)
|
|
24
49
|
*/
|
|
25
50
|
export interface SingleKeySignerGenerateArgs {
|
|
26
51
|
scheme?: SigningSchemeInput;
|
|
@@ -28,6 +53,8 @@ export interface SingleKeySignerGenerateArgs {
|
|
|
28
53
|
|
|
29
54
|
/**
|
|
30
55
|
* The arguments for generating a single key signer from a specified derivation path.
|
|
56
|
+
* @group Implementation
|
|
57
|
+
* @category Account (On-Chain Model)
|
|
31
58
|
*/
|
|
32
59
|
export type SingleKeySignerFromDerivationPathArgs = SingleKeySignerGenerateArgs & {
|
|
33
60
|
path: string;
|
|
@@ -39,6 +66,8 @@ export type SingleKeySignerFromDerivationPathArgs = SingleKeySignerGenerateArgs
|
|
|
39
66
|
*
|
|
40
67
|
* @param message - The message to be verified, represented in hexadecimal format.
|
|
41
68
|
* @param signature - The signature that corresponds to the message.
|
|
69
|
+
* @group Implementation
|
|
70
|
+
* @category Account (On-Chain Model)
|
|
42
71
|
*/
|
|
43
72
|
export interface VerifySingleKeySignatureArgs {
|
|
44
73
|
message: HexInput;
|
|
@@ -51,12 +80,16 @@ export interface VerifySingleKeySignatureArgs {
|
|
|
51
80
|
* Currently, the only supported signature schemes are Ed25519 and Secp256k1.
|
|
52
81
|
*
|
|
53
82
|
* Note: Generating a signer instance does not create the account on-chain.
|
|
83
|
+
* @group Implementation
|
|
84
|
+
* @category Account (On-Chain Model)
|
|
54
85
|
*/
|
|
55
|
-
export class SingleKeyAccount implements Account {
|
|
86
|
+
export class SingleKeyAccount implements Account, SingleKeySigner {
|
|
56
87
|
/**
|
|
57
88
|
* Private key associated with the account
|
|
89
|
+
* @group Implementation
|
|
90
|
+
* @category Account (On-Chain Model)
|
|
58
91
|
*/
|
|
59
|
-
readonly privateKey:
|
|
92
|
+
readonly privateKey: PrivateKeyInput;
|
|
60
93
|
|
|
61
94
|
readonly publicKey: AnyPublicKey;
|
|
62
95
|
|
|
@@ -71,6 +104,8 @@ export class SingleKeyAccount implements Account {
|
|
|
71
104
|
* @param args - The constructor arguments for initializing the SingleKeySigner.
|
|
72
105
|
* @param args.privateKey - The private key used for signing.
|
|
73
106
|
* @param args.address - The optional account address; if not provided, it will derive the address from the public key.
|
|
107
|
+
* @group Implementation
|
|
108
|
+
* @category Account (On-Chain Model)
|
|
74
109
|
*/
|
|
75
110
|
constructor(args: SingleKeySignerConstructorArgs) {
|
|
76
111
|
const { privateKey, address } = args;
|
|
@@ -79,6 +114,10 @@ export class SingleKeyAccount implements Account {
|
|
|
79
114
|
this.accountAddress = address ? AccountAddress.from(address) : this.publicKey.authKey().derivedAddress();
|
|
80
115
|
}
|
|
81
116
|
|
|
117
|
+
getAnyPublicKey(): AnyPublicKey {
|
|
118
|
+
return this.publicKey;
|
|
119
|
+
}
|
|
120
|
+
|
|
82
121
|
/**
|
|
83
122
|
* Derives an account from a randomly generated private key based on the specified signing scheme.
|
|
84
123
|
* The default generation scheme is Ed25519, but it can also support Secp256k1Ecdsa.
|
|
@@ -87,10 +126,12 @@ export class SingleKeyAccount implements Account {
|
|
|
87
126
|
* @param args.scheme - The signing scheme to use for generating the private key. Defaults to SigningSchemeInput.Ed25519.
|
|
88
127
|
* @returns An account with the generated private key based on the specified signing scheme.
|
|
89
128
|
* @throws Error if an unsupported signature scheme is provided.
|
|
129
|
+
* @group Implementation
|
|
130
|
+
* @category Account (On-Chain Model)
|
|
90
131
|
*/
|
|
91
132
|
static generate(args: SingleKeySignerGenerateArgs = {}) {
|
|
92
133
|
const { scheme = SigningSchemeInput.Ed25519 } = args;
|
|
93
|
-
let privateKey:
|
|
134
|
+
let privateKey: PrivateKeyInput;
|
|
94
135
|
switch (scheme) {
|
|
95
136
|
case SigningSchemeInput.Ed25519:
|
|
96
137
|
privateKey = Ed25519PrivateKey.generate();
|
|
@@ -114,10 +155,12 @@ export class SingleKeyAccount implements Account {
|
|
|
114
155
|
* (e.g. m/44'/637'/0'/0/0) for secp256k1.
|
|
115
156
|
* Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}
|
|
116
157
|
* @param args.mnemonic - The mnemonic seed phrase of the account.
|
|
158
|
+
* @group Implementation
|
|
159
|
+
* @category Account (On-Chain Model)
|
|
117
160
|
*/
|
|
118
161
|
static fromDerivationPath(args: SingleKeySignerFromDerivationPathArgs) {
|
|
119
162
|
const { scheme = SigningSchemeInput.Ed25519, path, mnemonic } = args;
|
|
120
|
-
let privateKey:
|
|
163
|
+
let privateKey: PrivateKeyInput;
|
|
121
164
|
switch (scheme) {
|
|
122
165
|
case SigningSchemeInput.Ed25519:
|
|
123
166
|
privateKey = Ed25519PrivateKey.fromDerivationPath(path, mnemonic);
|
|
@@ -138,6 +181,8 @@ export class SingleKeyAccount implements Account {
|
|
|
138
181
|
* @param args.message - The raw message data in HexInput format.
|
|
139
182
|
* @param args.signature - The signed message signature.
|
|
140
183
|
* @returns A boolean indicating whether the signature is valid.
|
|
184
|
+
* @group Implementation
|
|
185
|
+
* @category Account (On-Chain Model)
|
|
141
186
|
*/
|
|
142
187
|
verifySignature(args: VerifySingleKeySignatureArgs): boolean {
|
|
143
188
|
return this.publicKey.verifySignature(args);
|
|
@@ -148,6 +193,8 @@ export class SingleKeyAccount implements Account {
|
|
|
148
193
|
* account's public key.
|
|
149
194
|
* @param message - The signing message, represented as binary input in hexadecimal format.
|
|
150
195
|
* @returns An instance of AccountAuthenticatorSingleKey containing the signature and the public key.
|
|
196
|
+
* @group Implementation
|
|
197
|
+
* @category Account (On-Chain Model)
|
|
151
198
|
*/
|
|
152
199
|
signWithAuthenticator(message: HexInput): AccountAuthenticatorSingleKey {
|
|
153
200
|
return new AccountAuthenticatorSingleKey(this.publicKey, this.sign(message));
|
|
@@ -158,6 +205,8 @@ export class SingleKeyAccount implements Account {
|
|
|
158
205
|
* This function returns an AccountAuthenticator that contains the signature of the transaction along with the account's public key.
|
|
159
206
|
* @param transaction - The raw transaction to be signed.
|
|
160
207
|
* @returns An AccountAuthenticatorSingleKey containing the signature of the transaction and the account's public key.
|
|
208
|
+
* @group Implementation
|
|
209
|
+
* @category Account (On-Chain Model)
|
|
161
210
|
*/
|
|
162
211
|
signTransactionWithAuthenticator(transaction: AnyRawTransaction): AccountAuthenticatorSingleKey {
|
|
163
212
|
return new AccountAuthenticatorSingleKey(this.publicKey, this.signTransaction(transaction));
|
|
@@ -167,6 +216,8 @@ export class SingleKeyAccount implements Account {
|
|
|
167
216
|
* Sign the given message using the account's private key.
|
|
168
217
|
* @param message - The message to be signed in HexInput format.
|
|
169
218
|
* @returns A new AnySignature containing the signature of the message.
|
|
219
|
+
* @group Implementation
|
|
220
|
+
* @category Account (On-Chain Model)
|
|
170
221
|
*/
|
|
171
222
|
sign(message: HexInput): AnySignature {
|
|
172
223
|
return new AnySignature(this.privateKey.sign(message));
|
|
@@ -178,10 +229,16 @@ export class SingleKeyAccount implements Account {
|
|
|
178
229
|
*
|
|
179
230
|
* @param transaction - The transaction to be signed.
|
|
180
231
|
* @returns Signature - The resulting signature for the signed transaction.
|
|
232
|
+
* @group Implementation
|
|
233
|
+
* @category Account (On-Chain Model)
|
|
181
234
|
*/
|
|
182
235
|
signTransaction(transaction: AnyRawTransaction): AnySignature {
|
|
183
236
|
return this.sign(generateSigningMessageForTransaction(transaction));
|
|
184
237
|
}
|
|
185
238
|
|
|
186
239
|
// endregion
|
|
240
|
+
|
|
241
|
+
static fromEd25519Account(account: Ed25519Account): SingleKeyAccount {
|
|
242
|
+
return new SingleKeyAccount({ privateKey: account.privateKey, address: account.accountAddress });
|
|
243
|
+
}
|
|
187
244
|
}
|
package/src/account/index.ts
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SigningScheme } from "../types";
|
|
2
|
+
import { AccountAddress } from "../core";
|
|
3
|
+
import { Deserializer } from "../bcs/deserializer";
|
|
4
|
+
|
|
5
|
+
export function deserializeSchemeAndAddress(deserializer: Deserializer): {
|
|
6
|
+
address: AccountAddress;
|
|
7
|
+
signingScheme: SigningScheme;
|
|
8
|
+
} {
|
|
9
|
+
const signingScheme = deserializer.deserializeUleb128AsU32();
|
|
10
|
+
// Validate that signingScheme is a valid SigningScheme value
|
|
11
|
+
if (!Object.values(SigningScheme).includes(signingScheme)) {
|
|
12
|
+
throw new Error(`Deserialization of Account failed: SigningScheme variant ${signingScheme} is invalid`);
|
|
13
|
+
}
|
|
14
|
+
const address = AccountAddress.deserialize(deserializer);
|
|
15
|
+
return { address, signingScheme };
|
|
16
|
+
}
|