@moveindustries/ts-sdk 5.1.4
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/LICENSE +201 -0
- package/README.md +66 -0
- package/dist/common/accountAddress-DoqkxUqw.d.ts +7769 -0
- package/dist/common/chunk-56DGDNEY.js +4 -0
- package/dist/common/chunk-56DGDNEY.js.map +1 -0
- package/dist/common/cli/index.d.ts +316 -0
- package/dist/common/cli/index.js +2 -0
- package/dist/common/cli/index.js.map +1 -0
- package/dist/common/index.d.ts +10643 -0
- package/dist/common/index.js +482 -0
- package/dist/common/index.js.map +1 -0
- package/dist/esm/Ed25519Account-DsqenvLJ.d.mts +628 -0
- package/dist/esm/account/AbstractKeylessAccount.d.mts +336 -0
- package/dist/esm/account/AbstractKeylessAccount.mjs +2 -0
- package/dist/esm/account/AbstractKeylessAccount.mjs.map +1 -0
- package/dist/esm/account/AbstractedAccount.d.mts +64 -0
- package/dist/esm/account/AbstractedAccount.mjs +2 -0
- package/dist/esm/account/AbstractedAccount.mjs.map +1 -0
- package/dist/esm/account/Account.d.mts +8 -0
- package/dist/esm/account/Account.mjs +2 -0
- package/dist/esm/account/Account.mjs.map +1 -0
- package/dist/esm/account/AccountUtils.d.mts +38 -0
- package/dist/esm/account/AccountUtils.mjs +2 -0
- package/dist/esm/account/AccountUtils.mjs.map +1 -0
- package/dist/esm/account/DerivableAbstractedAccount.d.mts +59 -0
- package/dist/esm/account/DerivableAbstractedAccount.mjs +2 -0
- package/dist/esm/account/DerivableAbstractedAccount.mjs.map +1 -0
- package/dist/esm/account/Ed25519Account.d.mts +8 -0
- package/dist/esm/account/Ed25519Account.mjs +2 -0
- package/dist/esm/account/Ed25519Account.mjs.map +1 -0
- package/dist/esm/account/EphemeralKeyPair.d.mts +141 -0
- package/dist/esm/account/EphemeralKeyPair.mjs +2 -0
- package/dist/esm/account/EphemeralKeyPair.mjs.map +1 -0
- package/dist/esm/account/FederatedKeylessAccount.d.mts +118 -0
- package/dist/esm/account/FederatedKeylessAccount.mjs +2 -0
- package/dist/esm/account/FederatedKeylessAccount.mjs.map +1 -0
- package/dist/esm/account/KeylessAccount.d.mts +124 -0
- package/dist/esm/account/KeylessAccount.mjs +2 -0
- package/dist/esm/account/KeylessAccount.mjs.map +1 -0
- package/dist/esm/account/MultiEd25519Account.d.mts +102 -0
- package/dist/esm/account/MultiEd25519Account.mjs +2 -0
- package/dist/esm/account/MultiEd25519Account.mjs.map +1 -0
- package/dist/esm/account/MultiKeyAccount.d.mts +206 -0
- package/dist/esm/account/MultiKeyAccount.mjs +2 -0
- package/dist/esm/account/MultiKeyAccount.mjs.map +1 -0
- package/dist/esm/account/SingleKeyAccount.d.mts +8 -0
- package/dist/esm/account/SingleKeyAccount.mjs +2 -0
- package/dist/esm/account/SingleKeyAccount.mjs.map +1 -0
- package/dist/esm/account/index.d.mts +24 -0
- package/dist/esm/account/index.mjs +2 -0
- package/dist/esm/account/index.mjs.map +1 -0
- package/dist/esm/account/utils.d.mts +14 -0
- package/dist/esm/account/utils.mjs +2 -0
- package/dist/esm/account/utils.mjs.map +1 -0
- package/dist/esm/accountAddress-CNXtapt1.d.mts +6979 -0
- package/dist/esm/api/account/abstraction.d.mts +181 -0
- package/dist/esm/api/account/abstraction.mjs +2 -0
- package/dist/esm/api/account/abstraction.mjs.map +1 -0
- package/dist/esm/api/account.d.mts +852 -0
- package/dist/esm/api/account.mjs +2 -0
- package/dist/esm/api/account.mjs.map +1 -0
- package/dist/esm/api/ans.d.mts +504 -0
- package/dist/esm/api/ans.mjs +2 -0
- package/dist/esm/api/ans.mjs.map +1 -0
- package/dist/esm/api/coin.d.mts +81 -0
- package/dist/esm/api/coin.mjs +2 -0
- package/dist/esm/api/coin.mjs.map +1 -0
- package/dist/esm/api/digitalAsset.d.mts +1030 -0
- package/dist/esm/api/digitalAsset.mjs +2 -0
- package/dist/esm/api/digitalAsset.mjs.map +1 -0
- package/dist/esm/api/faucet.d.mts +80 -0
- package/dist/esm/api/faucet.mjs +2 -0
- package/dist/esm/api/faucet.mjs.map +1 -0
- package/dist/esm/api/fungibleAsset.d.mts +288 -0
- package/dist/esm/api/fungibleAsset.mjs +2 -0
- package/dist/esm/api/fungibleAsset.mjs.map +1 -0
- package/dist/esm/api/general.d.mts +303 -0
- package/dist/esm/api/general.mjs +2 -0
- package/dist/esm/api/general.mjs.map +1 -0
- package/dist/esm/api/index.d.mts +46 -0
- package/dist/esm/api/index.mjs +2 -0
- package/dist/esm/api/index.mjs.map +1 -0
- package/dist/esm/api/keyless.d.mts +170 -0
- package/dist/esm/api/keyless.mjs +2 -0
- package/dist/esm/api/keyless.mjs.map +1 -0
- package/dist/esm/api/movement.d.mts +113 -0
- package/dist/esm/api/movement.mjs +2 -0
- package/dist/esm/api/movement.mjs.map +1 -0
- package/dist/esm/api/movementConfig.d.mts +7 -0
- package/dist/esm/api/movementConfig.mjs +2 -0
- package/dist/esm/api/movementConfig.mjs.map +1 -0
- package/dist/esm/api/object.d.mts +80 -0
- package/dist/esm/api/object.mjs +2 -0
- package/dist/esm/api/object.mjs.map +1 -0
- package/dist/esm/api/staking.d.mts +134 -0
- package/dist/esm/api/staking.mjs +2 -0
- package/dist/esm/api/staking.mjs.map +1 -0
- package/dist/esm/api/table.d.mts +169 -0
- package/dist/esm/api/table.mjs +2 -0
- package/dist/esm/api/table.mjs.map +1 -0
- package/dist/esm/api/transaction.d.mts +679 -0
- package/dist/esm/api/transaction.mjs +2 -0
- package/dist/esm/api/transaction.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission/build.d.mts +141 -0
- package/dist/esm/api/transactionSubmission/build.mjs +2 -0
- package/dist/esm/api/transactionSubmission/build.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission/helpers.d.mts +98 -0
- package/dist/esm/api/transactionSubmission/helpers.mjs +2 -0
- package/dist/esm/api/transactionSubmission/helpers.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission/management.d.mts +168 -0
- package/dist/esm/api/transactionSubmission/management.mjs +2 -0
- package/dist/esm/api/transactionSubmission/management.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission/sign.d.mts +124 -0
- package/dist/esm/api/transactionSubmission/sign.mjs +2 -0
- package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission/simulate.d.mts +181 -0
- package/dist/esm/api/transactionSubmission/simulate.mjs +2 -0
- package/dist/esm/api/transactionSubmission/simulate.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission/submit.d.mts +142 -0
- package/dist/esm/api/transactionSubmission/submit.mjs +2 -0
- package/dist/esm/api/transactionSubmission/submit.mjs.map +1 -0
- package/dist/esm/api/utils.d.mts +45 -0
- package/dist/esm/api/utils.mjs +2 -0
- package/dist/esm/api/utils.mjs.map +1 -0
- package/dist/esm/bcs/consts.d.mts +28 -0
- package/dist/esm/bcs/consts.mjs +2 -0
- package/dist/esm/bcs/consts.mjs.map +1 -0
- package/dist/esm/bcs/deserializer.d.mts +7 -0
- package/dist/esm/bcs/deserializer.mjs +2 -0
- package/dist/esm/bcs/deserializer.mjs.map +1 -0
- package/dist/esm/bcs/index.d.mts +8 -0
- package/dist/esm/bcs/index.mjs +2 -0
- package/dist/esm/bcs/index.mjs.map +1 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +65 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +2 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs.map +1 -0
- package/dist/esm/bcs/serializable/fixedBytes.d.mts +7 -0
- package/dist/esm/bcs/serializable/fixedBytes.mjs +2 -0
- package/dist/esm/bcs/serializable/fixedBytes.mjs.map +1 -0
- package/dist/esm/bcs/serializable/movePrimitives.d.mts +7 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs +2 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs.map +1 -0
- package/dist/esm/bcs/serializable/moveStructs.d.mts +7 -0
- package/dist/esm/bcs/serializable/moveStructs.mjs +2 -0
- package/dist/esm/bcs/serializable/moveStructs.mjs.map +1 -0
- package/dist/esm/bcs/serializer.d.mts +7 -0
- package/dist/esm/bcs/serializer.mjs +2 -0
- package/dist/esm/bcs/serializer.mjs.map +1 -0
- package/dist/esm/chunk-2KDUIZKB.mjs +2 -0
- package/dist/esm/chunk-2KDUIZKB.mjs.map +1 -0
- package/dist/esm/chunk-2QTV4AOE.mjs +2 -0
- package/dist/esm/chunk-2QTV4AOE.mjs.map +1 -0
- package/dist/esm/chunk-47V7UGV5.mjs +4 -0
- package/dist/esm/chunk-47V7UGV5.mjs.map +1 -0
- package/dist/esm/chunk-4QMXOWHP.mjs +1 -0
- package/dist/esm/chunk-4QMXOWHP.mjs.map +1 -0
- package/dist/esm/chunk-4WPQQPUF.mjs +1 -0
- package/dist/esm/chunk-4WPQQPUF.mjs.map +1 -0
- package/dist/esm/chunk-5HXLZHDW.mjs +1 -0
- package/dist/esm/chunk-5HXLZHDW.mjs.map +1 -0
- package/dist/esm/chunk-5IMQPJ6J.mjs +2 -0
- package/dist/esm/chunk-5IMQPJ6J.mjs.map +1 -0
- package/dist/esm/chunk-5ZKA765G.mjs +2 -0
- package/dist/esm/chunk-5ZKA765G.mjs.map +1 -0
- package/dist/esm/chunk-6NO4QKAO.mjs +2 -0
- package/dist/esm/chunk-6NO4QKAO.mjs.map +1 -0
- package/dist/esm/chunk-7ECCT6PK.mjs +1 -0
- package/dist/esm/chunk-7ECCT6PK.mjs.map +1 -0
- package/dist/esm/chunk-7TTTMBAK.mjs +2 -0
- package/dist/esm/chunk-7TTTMBAK.mjs.map +1 -0
- package/dist/esm/chunk-A5L76YP7.mjs +2 -0
- package/dist/esm/chunk-A5L76YP7.mjs.map +1 -0
- package/dist/esm/chunk-ANTEUWH6.mjs +2 -0
- package/dist/esm/chunk-ANTEUWH6.mjs.map +1 -0
- package/dist/esm/chunk-CHWDP6AR.mjs +2 -0
- package/dist/esm/chunk-CHWDP6AR.mjs.map +1 -0
- package/dist/esm/chunk-CRCE7R4D.mjs +2 -0
- package/dist/esm/chunk-CRCE7R4D.mjs.map +1 -0
- package/dist/esm/chunk-D6HPXGEP.mjs +2 -0
- package/dist/esm/chunk-D6HPXGEP.mjs.map +1 -0
- package/dist/esm/chunk-DS6QB6HG.mjs +4 -0
- package/dist/esm/chunk-DS6QB6HG.mjs.map +1 -0
- package/dist/esm/chunk-FD6FGKYY.mjs +1 -0
- package/dist/esm/chunk-FD6FGKYY.mjs.map +1 -0
- package/dist/esm/chunk-FJRPU2NH.mjs +2 -0
- package/dist/esm/chunk-FJRPU2NH.mjs.map +1 -0
- package/dist/esm/chunk-FS5ZJKO7.mjs +2 -0
- package/dist/esm/chunk-FS5ZJKO7.mjs.map +1 -0
- package/dist/esm/chunk-FZY4PMEE.mjs +1 -0
- package/dist/esm/chunk-FZY4PMEE.mjs.map +1 -0
- package/dist/esm/chunk-G3MHXDYA.mjs +1 -0
- package/dist/esm/chunk-G3MHXDYA.mjs.map +1 -0
- package/dist/esm/chunk-GOXRBEIJ.mjs +2 -0
- package/dist/esm/chunk-GOXRBEIJ.mjs.map +1 -0
- package/dist/esm/chunk-HGLO5LDS.mjs +1 -0
- package/dist/esm/chunk-HGLO5LDS.mjs.map +1 -0
- package/dist/esm/chunk-HL2JMZ7N.mjs +2 -0
- package/dist/esm/chunk-HL2JMZ7N.mjs.map +1 -0
- package/dist/esm/chunk-I6YGBK5S.mjs +2 -0
- package/dist/esm/chunk-I6YGBK5S.mjs.map +1 -0
- package/dist/esm/chunk-K4NT6TTN.mjs +2 -0
- package/dist/esm/chunk-K4NT6TTN.mjs.map +1 -0
- package/dist/esm/chunk-KDMSOCZY.mjs +2 -0
- package/dist/esm/chunk-KDMSOCZY.mjs.map +1 -0
- package/dist/esm/chunk-KPJGWDSQ.mjs +7 -0
- package/dist/esm/chunk-KPJGWDSQ.mjs.map +1 -0
- package/dist/esm/chunk-MEWW7VTQ.mjs +2 -0
- package/dist/esm/chunk-MEWW7VTQ.mjs.map +1 -0
- package/dist/esm/chunk-NECL5FCQ.mjs +1 -0
- package/dist/esm/chunk-NECL5FCQ.mjs.map +1 -0
- package/dist/esm/chunk-NMFJJOGW.mjs +2 -0
- package/dist/esm/chunk-NMFJJOGW.mjs.map +1 -0
- package/dist/esm/chunk-NQUZ4UHR.mjs +2 -0
- package/dist/esm/chunk-NQUZ4UHR.mjs.map +1 -0
- package/dist/esm/chunk-NUB6KE73.mjs +2 -0
- package/dist/esm/chunk-NUB6KE73.mjs.map +1 -0
- package/dist/esm/chunk-OOOAVIMQ.mjs +2 -0
- package/dist/esm/chunk-OOOAVIMQ.mjs.map +1 -0
- package/dist/esm/chunk-PCESRJYO.mjs +2 -0
- package/dist/esm/chunk-PCESRJYO.mjs.map +1 -0
- package/dist/esm/chunk-PHRRBT44.mjs +2 -0
- package/dist/esm/chunk-PHRRBT44.mjs.map +1 -0
- package/dist/esm/chunk-PZ233FIY.mjs +2 -0
- package/dist/esm/chunk-PZ233FIY.mjs.map +1 -0
- package/dist/esm/chunk-R2G23RIY.mjs +2 -0
- package/dist/esm/chunk-R2G23RIY.mjs.map +1 -0
- package/dist/esm/chunk-RL4YPMN4.mjs +2 -0
- package/dist/esm/chunk-RL4YPMN4.mjs.map +1 -0
- package/dist/esm/chunk-RUIFVDWM.mjs +2 -0
- package/dist/esm/chunk-RUIFVDWM.mjs.map +1 -0
- package/dist/esm/chunk-RXHPS4IU.mjs +2 -0
- package/dist/esm/chunk-RXHPS4IU.mjs.map +1 -0
- package/dist/esm/chunk-S4D2KBYN.mjs +2 -0
- package/dist/esm/chunk-S4D2KBYN.mjs.map +1 -0
- package/dist/esm/chunk-SRXFRTHK.mjs +2 -0
- package/dist/esm/chunk-SRXFRTHK.mjs.map +1 -0
- package/dist/esm/chunk-SYXDZA4K.mjs +2 -0
- package/dist/esm/chunk-SYXDZA4K.mjs.map +1 -0
- package/dist/esm/chunk-UI4OF6CP.mjs +2 -0
- package/dist/esm/chunk-UI4OF6CP.mjs.map +1 -0
- package/dist/esm/chunk-UL777LTI.mjs +494 -0
- package/dist/esm/chunk-UL777LTI.mjs.map +1 -0
- package/dist/esm/chunk-UVP74ONT.mjs +2 -0
- package/dist/esm/chunk-UVP74ONT.mjs.map +1 -0
- package/dist/esm/chunk-UYVPNUH3.mjs +1 -0
- package/dist/esm/chunk-UYVPNUH3.mjs.map +1 -0
- package/dist/esm/chunk-V3MBJJTL.mjs +1 -0
- package/dist/esm/chunk-V3MBJJTL.mjs.map +1 -0
- package/dist/esm/chunk-V3O2SBO4.mjs +2 -0
- package/dist/esm/chunk-V3O2SBO4.mjs.map +1 -0
- package/dist/esm/chunk-VEZCMPUG.mjs +2 -0
- package/dist/esm/chunk-VEZCMPUG.mjs.map +1 -0
- package/dist/esm/chunk-VW3WBAAD.mjs +2 -0
- package/dist/esm/chunk-VW3WBAAD.mjs.map +1 -0
- package/dist/esm/chunk-WFAH73WN.mjs +2 -0
- package/dist/esm/chunk-WFAH73WN.mjs.map +1 -0
- package/dist/esm/chunk-WVDICMU4.mjs +2 -0
- package/dist/esm/chunk-WVDICMU4.mjs.map +1 -0
- package/dist/esm/chunk-XCURF77K.mjs +2 -0
- package/dist/esm/chunk-XCURF77K.mjs.map +1 -0
- package/dist/esm/chunk-Y6YW4BAZ.mjs +2 -0
- package/dist/esm/chunk-Y6YW4BAZ.mjs.map +1 -0
- package/dist/esm/chunk-YFFYA5U3.mjs +2 -0
- package/dist/esm/chunk-YFFYA5U3.mjs.map +1 -0
- package/dist/esm/chunk-YOHEYPDP.mjs +2 -0
- package/dist/esm/chunk-YOHEYPDP.mjs.map +1 -0
- package/dist/esm/chunk-ZP4DWSQA.mjs +2 -0
- package/dist/esm/chunk-ZP4DWSQA.mjs.map +1 -0
- package/dist/esm/cli/index.d.mts +10 -0
- package/dist/esm/cli/index.mjs +2 -0
- package/dist/esm/cli/index.mjs.map +1 -0
- package/dist/esm/cli/localNode.d.mts +67 -0
- package/dist/esm/cli/localNode.mjs +2 -0
- package/dist/esm/cli/localNode.mjs.map +1 -0
- package/dist/esm/cli/move.d.mts +257 -0
- package/dist/esm/cli/move.mjs +2 -0
- package/dist/esm/cli/move.mjs.map +1 -0
- package/dist/esm/client/core.d.mts +42 -0
- package/dist/esm/client/core.mjs +2 -0
- package/dist/esm/client/core.mjs.map +1 -0
- package/dist/esm/client/get.d.mts +125 -0
- package/dist/esm/client/get.mjs +2 -0
- package/dist/esm/client/get.mjs.map +1 -0
- package/dist/esm/client/index.d.mts +10 -0
- package/dist/esm/client/index.mjs +2 -0
- package/dist/esm/client/index.mjs.map +1 -0
- package/dist/esm/client/post.d.mts +158 -0
- package/dist/esm/client/post.mjs +2 -0
- package/dist/esm/client/post.mjs.map +1 -0
- package/dist/esm/core/account/index.d.mts +8 -0
- package/dist/esm/core/account/index.mjs +2 -0
- package/dist/esm/core/account/index.mjs.map +1 -0
- package/dist/esm/core/account/utils/address.d.mts +55 -0
- package/dist/esm/core/account/utils/address.mjs +2 -0
- package/dist/esm/core/account/utils/address.mjs.map +1 -0
- package/dist/esm/core/account/utils/index.d.mts +8 -0
- package/dist/esm/core/account/utils/index.mjs +2 -0
- package/dist/esm/core/account/utils/index.mjs.map +1 -0
- package/dist/esm/core/accountAddress.d.mts +7 -0
- package/dist/esm/core/accountAddress.mjs +2 -0
- package/dist/esm/core/accountAddress.mjs.map +1 -0
- package/dist/esm/core/authenticationKey.d.mts +7 -0
- package/dist/esm/core/authenticationKey.mjs +2 -0
- package/dist/esm/core/authenticationKey.mjs.map +1 -0
- package/dist/esm/core/common.d.mts +52 -0
- package/dist/esm/core/common.mjs +2 -0
- package/dist/esm/core/common.mjs.map +1 -0
- package/dist/esm/core/crypto/abstraction.d.mts +24 -0
- package/dist/esm/core/crypto/abstraction.mjs +2 -0
- package/dist/esm/core/crypto/abstraction.mjs.map +1 -0
- package/dist/esm/core/crypto/deserializationUtils.d.mts +28 -0
- package/dist/esm/core/crypto/deserializationUtils.mjs +2 -0
- package/dist/esm/core/crypto/deserializationUtils.mjs.map +1 -0
- package/dist/esm/core/crypto/ed25519.d.mts +7 -0
- package/dist/esm/core/crypto/ed25519.mjs +2 -0
- package/dist/esm/core/crypto/ed25519.mjs.map +1 -0
- package/dist/esm/core/crypto/ephemeral.d.mts +116 -0
- package/dist/esm/core/crypto/ephemeral.mjs +2 -0
- package/dist/esm/core/crypto/ephemeral.mjs.map +1 -0
- package/dist/esm/core/crypto/federatedKeyless.d.mts +13 -0
- package/dist/esm/core/crypto/federatedKeyless.mjs +2 -0
- package/dist/esm/core/crypto/federatedKeyless.mjs.map +1 -0
- package/dist/esm/core/crypto/hdKey.d.mts +95 -0
- package/dist/esm/core/crypto/hdKey.mjs +2 -0
- package/dist/esm/core/crypto/hdKey.mjs.map +1 -0
- package/dist/esm/core/crypto/index.d.mts +19 -0
- package/dist/esm/core/crypto/index.mjs +2 -0
- package/dist/esm/core/crypto/index.mjs.map +1 -0
- package/dist/esm/core/crypto/keyless.d.mts +13 -0
- package/dist/esm/core/crypto/keyless.mjs +2 -0
- package/dist/esm/core/crypto/keyless.mjs.map +1 -0
- package/dist/esm/core/crypto/multiEd25519.d.mts +7 -0
- package/dist/esm/core/crypto/multiEd25519.mjs +2 -0
- package/dist/esm/core/crypto/multiEd25519.mjs.map +1 -0
- package/dist/esm/core/crypto/multiKey.d.mts +7 -0
- package/dist/esm/core/crypto/multiKey.mjs +2 -0
- package/dist/esm/core/crypto/multiKey.mjs.map +1 -0
- package/dist/esm/core/crypto/poseidon.d.mts +59 -0
- package/dist/esm/core/crypto/poseidon.mjs +2 -0
- package/dist/esm/core/crypto/poseidon.mjs.map +1 -0
- package/dist/esm/core/crypto/privateKey.d.mts +7 -0
- package/dist/esm/core/crypto/privateKey.mjs +2 -0
- package/dist/esm/core/crypto/privateKey.mjs.map +1 -0
- package/dist/esm/core/crypto/proof.d.mts +18 -0
- package/dist/esm/core/crypto/proof.mjs +2 -0
- package/dist/esm/core/crypto/proof.mjs.map +1 -0
- package/dist/esm/core/crypto/publicKey.d.mts +7 -0
- package/dist/esm/core/crypto/publicKey.mjs +2 -0
- package/dist/esm/core/crypto/publicKey.mjs.map +1 -0
- package/dist/esm/core/crypto/secp256k1.d.mts +7 -0
- package/dist/esm/core/crypto/secp256k1.mjs +2 -0
- package/dist/esm/core/crypto/secp256k1.mjs.map +1 -0
- package/dist/esm/core/crypto/secp256r1.d.mts +306 -0
- package/dist/esm/core/crypto/secp256r1.mjs +2 -0
- package/dist/esm/core/crypto/secp256r1.mjs.map +1 -0
- package/dist/esm/core/crypto/signature.d.mts +7 -0
- package/dist/esm/core/crypto/signature.mjs +2 -0
- package/dist/esm/core/crypto/signature.mjs.map +1 -0
- package/dist/esm/core/crypto/singleKey.d.mts +7 -0
- package/dist/esm/core/crypto/singleKey.mjs +2 -0
- package/dist/esm/core/crypto/singleKey.mjs.map +1 -0
- package/dist/esm/core/crypto/types.d.mts +11 -0
- package/dist/esm/core/crypto/types.mjs +2 -0
- package/dist/esm/core/crypto/types.mjs.map +1 -0
- package/dist/esm/core/crypto/utils.d.mts +23 -0
- package/dist/esm/core/crypto/utils.mjs +2 -0
- package/dist/esm/core/crypto/utils.mjs.map +1 -0
- package/dist/esm/core/hex.d.mts +7 -0
- package/dist/esm/core/hex.mjs +2 -0
- package/dist/esm/core/hex.mjs.map +1 -0
- package/dist/esm/core/index.d.mts +20 -0
- package/dist/esm/core/index.mjs +2 -0
- package/dist/esm/core/index.mjs.map +1 -0
- package/dist/esm/errors/index.d.mts +131 -0
- package/dist/esm/errors/index.mjs +2 -0
- package/dist/esm/errors/index.mjs.map +1 -0
- package/dist/esm/federatedKeyless-D-d9d5aC.d.mts +869 -0
- package/dist/esm/index.d.mts +71 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/internal/abstraction.d.mts +27 -0
- package/dist/esm/internal/abstraction.mjs +2 -0
- package/dist/esm/internal/abstraction.mjs.map +1 -0
- package/dist/esm/internal/account.d.mts +453 -0
- package/dist/esm/internal/account.mjs +2 -0
- package/dist/esm/internal/account.mjs.map +1 -0
- package/dist/esm/internal/ans.d.mts +365 -0
- package/dist/esm/internal/ans.mjs +2 -0
- package/dist/esm/internal/ans.mjs.map +1 -0
- package/dist/esm/internal/coin.d.mts +31 -0
- package/dist/esm/internal/coin.mjs +2 -0
- package/dist/esm/internal/coin.mjs.map +1 -0
- package/dist/esm/internal/digitalAsset.d.mts +580 -0
- package/dist/esm/internal/digitalAsset.mjs +2 -0
- package/dist/esm/internal/digitalAsset.mjs.map +1 -0
- package/dist/esm/internal/faucet.d.mts +39 -0
- package/dist/esm/internal/faucet.mjs +2 -0
- package/dist/esm/internal/faucet.mjs.map +1 -0
- package/dist/esm/internal/fungibleAsset.d.mts +112 -0
- package/dist/esm/internal/fungibleAsset.mjs +2 -0
- package/dist/esm/internal/fungibleAsset.mjs.map +1 -0
- package/dist/esm/internal/general.d.mts +92 -0
- package/dist/esm/internal/general.mjs +2 -0
- package/dist/esm/internal/general.mjs.map +1 -0
- package/dist/esm/internal/keyless.d.mts +111 -0
- package/dist/esm/internal/keyless.mjs +2 -0
- package/dist/esm/internal/keyless.mjs.map +1 -0
- package/dist/esm/internal/object.d.mts +42 -0
- package/dist/esm/internal/object.mjs +2 -0
- package/dist/esm/internal/object.mjs.map +1 -0
- package/dist/esm/internal/staking.d.mts +60 -0
- package/dist/esm/internal/staking.mjs +2 -0
- package/dist/esm/internal/staking.mjs.map +1 -0
- package/dist/esm/internal/table.d.mts +66 -0
- package/dist/esm/internal/table.mjs +2 -0
- package/dist/esm/internal/table.mjs.map +1 -0
- package/dist/esm/internal/transaction.d.mts +199 -0
- package/dist/esm/internal/transaction.mjs +2 -0
- package/dist/esm/internal/transaction.mjs.map +1 -0
- package/dist/esm/internal/transactionSubmission.d.mts +165 -0
- package/dist/esm/internal/transactionSubmission.mjs +2 -0
- package/dist/esm/internal/transactionSubmission.mjs.map +1 -0
- package/dist/esm/internal/utils/index.d.mts +8 -0
- package/dist/esm/internal/utils/index.mjs +2 -0
- package/dist/esm/internal/utils/index.mjs.map +1 -0
- package/dist/esm/internal/utils/utils.d.mts +41 -0
- package/dist/esm/internal/utils/utils.mjs +2 -0
- package/dist/esm/internal/utils/utils.mjs.map +1 -0
- package/dist/esm/internal/view.d.mts +20 -0
- package/dist/esm/internal/view.mjs +2 -0
- package/dist/esm/internal/view.mjs.map +1 -0
- package/dist/esm/transactions/authenticator/account.d.mts +7 -0
- package/dist/esm/transactions/authenticator/account.mjs +2 -0
- package/dist/esm/transactions/authenticator/account.mjs.map +1 -0
- package/dist/esm/transactions/authenticator/index.d.mts +8 -0
- package/dist/esm/transactions/authenticator/index.mjs +2 -0
- package/dist/esm/transactions/authenticator/index.mjs.map +1 -0
- package/dist/esm/transactions/authenticator/transaction.d.mts +152 -0
- package/dist/esm/transactions/authenticator/transaction.mjs +2 -0
- package/dist/esm/transactions/authenticator/transaction.mjs.map +1 -0
- package/dist/esm/transactions/index.d.mts +15 -0
- package/dist/esm/transactions/index.mjs +2 -0
- package/dist/esm/transactions/index.mjs.map +1 -0
- package/dist/esm/transactions/instances/chainId.d.mts +7 -0
- package/dist/esm/transactions/instances/chainId.mjs +2 -0
- package/dist/esm/transactions/instances/chainId.mjs.map +1 -0
- package/dist/esm/transactions/instances/identifier.d.mts +7 -0
- package/dist/esm/transactions/instances/identifier.mjs +2 -0
- package/dist/esm/transactions/instances/identifier.mjs.map +1 -0
- package/dist/esm/transactions/instances/index.d.mts +10 -0
- package/dist/esm/transactions/instances/index.mjs +2 -0
- package/dist/esm/transactions/instances/index.mjs.map +1 -0
- package/dist/esm/transactions/instances/moduleId.d.mts +7 -0
- package/dist/esm/transactions/instances/moduleId.mjs +2 -0
- package/dist/esm/transactions/instances/moduleId.mjs.map +1 -0
- package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +7 -0
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +2 -0
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs.map +1 -0
- package/dist/esm/transactions/instances/rawTransaction.d.mts +7 -0
- package/dist/esm/transactions/instances/rawTransaction.mjs +2 -0
- package/dist/esm/transactions/instances/rawTransaction.mjs.map +1 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +58 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +2 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs.map +1 -0
- package/dist/esm/transactions/instances/signedTransaction.d.mts +59 -0
- package/dist/esm/transactions/instances/signedTransaction.mjs +2 -0
- package/dist/esm/transactions/instances/signedTransaction.mjs.map +1 -0
- package/dist/esm/transactions/instances/simpleTransaction.d.mts +7 -0
- package/dist/esm/transactions/instances/simpleTransaction.mjs +2 -0
- package/dist/esm/transactions/instances/simpleTransaction.mjs.map +1 -0
- package/dist/esm/transactions/instances/transactionArgument.d.mts +7 -0
- package/dist/esm/transactions/instances/transactionArgument.mjs +2 -0
- package/dist/esm/transactions/instances/transactionArgument.mjs.map +1 -0
- package/dist/esm/transactions/instances/transactionPayload.d.mts +7 -0
- package/dist/esm/transactions/instances/transactionPayload.mjs +2 -0
- package/dist/esm/transactions/instances/transactionPayload.mjs.map +1 -0
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +123 -0
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +2 -0
- package/dist/esm/transactions/management/accountSequenceNumber.mjs.map +1 -0
- package/dist/esm/transactions/management/asyncQueue.d.mts +77 -0
- package/dist/esm/transactions/management/asyncQueue.mjs +2 -0
- package/dist/esm/transactions/management/asyncQueue.mjs.map +1 -0
- package/dist/esm/transactions/management/index.d.mts +12 -0
- package/dist/esm/transactions/management/index.mjs +2 -0
- package/dist/esm/transactions/management/index.mjs.map +1 -0
- package/dist/esm/transactions/management/transactionWorker.d.mts +210 -0
- package/dist/esm/transactions/management/transactionWorker.mjs +2 -0
- package/dist/esm/transactions/management/transactionWorker.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +159 -0
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/helpers.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/index.d.mts +11 -0
- package/dist/esm/transactions/transactionBuilder/index.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/index.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +104 -0
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +62 -0
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +192 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs.map +1 -0
- package/dist/esm/transactions/typeTag/index.d.mts +7 -0
- package/dist/esm/transactions/typeTag/index.mjs +2 -0
- package/dist/esm/transactions/typeTag/index.mjs.map +1 -0
- package/dist/esm/transactions/typeTag/parser.d.mts +81 -0
- package/dist/esm/transactions/typeTag/parser.mjs +2 -0
- package/dist/esm/transactions/typeTag/parser.mjs.map +1 -0
- package/dist/esm/transactions/types.d.mts +7 -0
- package/dist/esm/transactions/types.mjs +2 -0
- package/dist/esm/transactions/types.mjs.map +1 -0
- package/dist/esm/types/abstraction.d.mts +15 -0
- package/dist/esm/types/abstraction.mjs +2 -0
- package/dist/esm/types/abstraction.mjs.map +1 -0
- package/dist/esm/types/generated/operations.d.mts +709 -0
- package/dist/esm/types/generated/operations.mjs +1 -0
- package/dist/esm/types/generated/operations.mjs.map +1 -0
- package/dist/esm/types/generated/queries.d.mts +66 -0
- package/dist/esm/types/generated/queries.mjs +2 -0
- package/dist/esm/types/generated/queries.mjs.map +1 -0
- package/dist/esm/types/generated/types.d.mts +9495 -0
- package/dist/esm/types/generated/types.mjs +2 -0
- package/dist/esm/types/generated/types.mjs.map +1 -0
- package/dist/esm/types/index.d.mts +7 -0
- package/dist/esm/types/index.mjs +2 -0
- package/dist/esm/types/index.mjs.map +1 -0
- package/dist/esm/types/indexer.d.mts +186 -0
- package/dist/esm/types/indexer.mjs +2 -0
- package/dist/esm/types/indexer.mjs.map +1 -0
- package/dist/esm/types/keyless.d.mts +102 -0
- package/dist/esm/types/keyless.mjs +1 -0
- package/dist/esm/types/keyless.mjs.map +1 -0
- package/dist/esm/types/types.d.mts +7 -0
- package/dist/esm/types/types.mjs +2 -0
- package/dist/esm/types/types.mjs.map +1 -0
- package/dist/esm/utils/apiEndpoints.d.mts +51 -0
- package/dist/esm/utils/apiEndpoints.mjs +2 -0
- package/dist/esm/utils/apiEndpoints.mjs.map +1 -0
- package/dist/esm/utils/const.d.mts +90 -0
- package/dist/esm/utils/const.mjs +2 -0
- package/dist/esm/utils/const.mjs.map +1 -0
- package/dist/esm/utils/helpers.d.mts +174 -0
- package/dist/esm/utils/helpers.mjs +2 -0
- package/dist/esm/utils/helpers.mjs.map +1 -0
- package/dist/esm/utils/index.d.mts +9 -0
- package/dist/esm/utils/index.mjs +2 -0
- package/dist/esm/utils/index.mjs.map +1 -0
- package/dist/esm/utils/memoize.d.mts +26 -0
- package/dist/esm/utils/memoize.mjs +2 -0
- package/dist/esm/utils/memoize.mjs.map +1 -0
- package/dist/esm/utils/normalizeBundle.d.mts +35 -0
- package/dist/esm/utils/normalizeBundle.mjs +2 -0
- package/dist/esm/utils/normalizeBundle.mjs.map +1 -0
- package/dist/esm/version.d.mts +8 -0
- package/dist/esm/version.mjs +2 -0
- package/dist/esm/version.mjs.map +1 -0
- package/package.json +98 -0
- package/src/account/AbstractKeylessAccount.ts +579 -0
- package/src/account/AbstractedAccount.ts +124 -0
- package/src/account/Account.ts +354 -0
- package/src/account/AccountUtils.ts +216 -0
- package/src/account/DerivableAbstractedAccount.ts +103 -0
- package/src/account/Ed25519Account.ts +210 -0
- package/src/account/EphemeralKeyPair.ts +222 -0
- package/src/account/FederatedKeylessAccount.ts +178 -0
- package/src/account/KeylessAccount.ts +179 -0
- package/src/account/MultiEd25519Account.ts +181 -0
- package/src/account/MultiKeyAccount.ts +296 -0
- package/src/account/SingleKeyAccount.ts +277 -0
- package/src/account/index.ts +12 -0
- package/src/account/utils.ts +16 -0
- package/src/api/account/abstraction.ts +239 -0
- package/src/api/account.ts +1128 -0
- package/src/api/ans.ts +550 -0
- package/src/api/coin.ts +83 -0
- package/src/api/digitalAsset.ts +1203 -0
- package/src/api/faucet.ts +94 -0
- package/src/api/fungibleAsset.ts +371 -0
- package/src/api/general.ts +351 -0
- package/src/api/index.ts +6 -0
- package/src/api/keyless.ts +227 -0
- package/src/api/movement.ts +171 -0
- package/src/api/movementConfig.ts +334 -0
- package/src/api/object.ts +90 -0
- package/src/api/staking.ts +161 -0
- package/src/api/table.ts +193 -0
- package/src/api/transaction.ts +784 -0
- package/src/api/transactionSubmission/build.ts +153 -0
- package/src/api/transactionSubmission/helpers.ts +112 -0
- package/src/api/transactionSubmission/management.ts +211 -0
- package/src/api/transactionSubmission/sign.ts +142 -0
- package/src/api/transactionSubmission/simulate.ts +192 -0
- package/src/api/transactionSubmission/submit.ts +156 -0
- package/src/api/utils.ts +48 -0
- package/src/bcs/consts.ts +28 -0
- package/src/bcs/deserializer.ts +550 -0
- package/src/bcs/index.ts +10 -0
- package/src/bcs/serializable/entryFunctionBytes.ts +92 -0
- package/src/bcs/serializable/fixedBytes.ts +107 -0
- package/src/bcs/serializable/movePrimitives.ts +564 -0
- package/src/bcs/serializable/moveStructs.ts +619 -0
- package/src/bcs/serializer.ts +641 -0
- package/src/cli/index.ts +2 -0
- package/src/cli/localNode.ts +169 -0
- package/src/cli/move.ts +474 -0
- package/src/client/core.ts +120 -0
- package/src/client/get.ts +262 -0
- package/src/client/index.ts +7 -0
- package/src/client/post.ts +245 -0
- package/src/core/account/index.ts +1 -0
- package/src/core/account/utils/address.ts +85 -0
- package/src/core/account/utils/index.ts +1 -0
- package/src/core/accountAddress.ts +524 -0
- package/src/core/authenticationKey.ts +157 -0
- package/src/core/common.ts +60 -0
- package/src/core/crypto/abstraction.ts +52 -0
- package/src/core/crypto/deserializationUtils.ts +106 -0
- package/src/core/crypto/ed25519.ts +493 -0
- package/src/core/crypto/ephemeral.ts +185 -0
- package/src/core/crypto/federatedKeyless.ts +169 -0
- package/src/core/crypto/hdKey.ts +136 -0
- package/src/core/crypto/index.ts +21 -0
- package/src/core/crypto/keyless.ts +1700 -0
- package/src/core/crypto/multiEd25519.ts +434 -0
- package/src/core/crypto/multiKey.ts +498 -0
- package/src/core/crypto/poseidon.ts +231 -0
- package/src/core/crypto/privateKey.ts +115 -0
- package/src/core/crypto/proof.ts +9 -0
- package/src/core/crypto/publicKey.ts +106 -0
- package/src/core/crypto/secp256k1.ts +451 -0
- package/src/core/crypto/secp256r1.ts +495 -0
- package/src/core/crypto/signature.ts +57 -0
- package/src/core/crypto/singleKey.ts +351 -0
- package/src/core/crypto/types.ts +9 -0
- package/src/core/crypto/utils.ts +63 -0
- package/src/core/hex.ts +241 -0
- package/src/core/index.ts +10 -0
- package/src/errors/index.ts +457 -0
- package/src/index.ts +14 -0
- package/src/internal/abstraction.ts +79 -0
- package/src/internal/account.ts +1484 -0
- package/src/internal/ans.ts +853 -0
- package/src/internal/coin.ts +49 -0
- package/src/internal/digitalAsset.ts +1291 -0
- package/src/internal/faucet.ts +71 -0
- package/src/internal/fungibleAsset.ts +233 -0
- package/src/internal/general.ts +161 -0
- package/src/internal/keyless.ts +297 -0
- package/src/internal/object.ts +68 -0
- package/src/internal/queries/TokenActivitiesFieldsFragment.graphql +17 -0
- package/src/internal/queries/ansTokenFragment.graphql +11 -0
- package/src/internal/queries/currentTokenOwnershipFieldsFragment.graphql +46 -0
- package/src/internal/queries/getAccountAddressesForAuthKey.graphql +8 -0
- package/src/internal/queries/getAccountCoinCount.graphql +7 -0
- package/src/internal/queries/getAccountCoinsData.graphql +32 -0
- package/src/internal/queries/getAccountCollectionsWithOwnedTokens.graphql +33 -0
- package/src/internal/queries/getAccountOwnedTokens.graphql +11 -0
- package/src/internal/queries/getAccountOwnedTokensByTokenData.graphql +11 -0
- package/src/internal/queries/getAccountOwnedTokensFromCollectionAddress.graphql +11 -0
- package/src/internal/queries/getAccountTokensCount.graphql +7 -0
- package/src/internal/queries/getAccountTransactionsCount.graphql +7 -0
- package/src/internal/queries/getAuthKeysForPublicKey.graphql +11 -0
- package/src/internal/queries/getChainTopUserTransactions.graphql +5 -0
- package/src/internal/queries/getCollectionData.graphql +29 -0
- package/src/internal/queries/getCurrentFungibleAssetBalances.graphql +17 -0
- package/src/internal/queries/getDelegatedStakingActivities.graphql +12 -0
- package/src/internal/queries/getEvents.graphql +13 -0
- package/src/internal/queries/getFungibleAssetActivities.graphql +20 -0
- package/src/internal/queries/getFungibleAssetMetadata.graphql +18 -0
- package/src/internal/queries/getNames.graphql +11 -0
- package/src/internal/queries/getNumberOfDelegatorsQuery.graphql +9 -0
- package/src/internal/queries/getObjectData.graphql +16 -0
- package/src/internal/queries/getProcessorStatus.graphql +7 -0
- package/src/internal/queries/getTableItemsData.graphql +15 -0
- package/src/internal/queries/getTableItemsMetadata.graphql +12 -0
- package/src/internal/queries/getTokenActivity.graphql +11 -0
- package/src/internal/queries/getTokenCurrentOwner.graphql +11 -0
- package/src/internal/queries/getTokenData.graphql +39 -0
- package/src/internal/staking.ts +96 -0
- package/src/internal/table.ts +117 -0
- package/src/internal/transaction.ts +503 -0
- package/src/internal/transactionSubmission.ts +454 -0
- package/src/internal/utils/index.ts +4 -0
- package/src/internal/utils/utils.ts +86 -0
- package/src/internal/view.ts +61 -0
- package/src/transactions/authenticator/account.ts +405 -0
- package/src/transactions/authenticator/index.ts +6 -0
- package/src/transactions/authenticator/transaction.ts +288 -0
- package/src/transactions/index.ts +10 -0
- package/src/transactions/instances/chainId.ts +53 -0
- package/src/transactions/instances/identifier.ts +54 -0
- package/src/transactions/instances/index.ts +14 -0
- package/src/transactions/instances/moduleId.ts +77 -0
- package/src/transactions/instances/multiAgentTransaction.ts +92 -0
- package/src/transactions/instances/rawTransaction.ts +256 -0
- package/src/transactions/instances/rotationProofChallenge.ts +86 -0
- package/src/transactions/instances/signedTransaction.ts +73 -0
- package/src/transactions/instances/simpleTransaction.ts +83 -0
- package/src/transactions/instances/transactionArgument.ts +79 -0
- package/src/transactions/instances/transactionPayload.ts +676 -0
- package/src/transactions/management/accountSequenceNumber.ts +226 -0
- package/src/transactions/management/asyncQueue.ts +126 -0
- package/src/transactions/management/index.ts +2 -0
- package/src/transactions/management/transactionWorker.ts +396 -0
- package/src/transactions/transactionBuilder/helpers.ts +319 -0
- package/src/transactions/transactionBuilder/index.ts +8 -0
- package/src/transactions/transactionBuilder/remoteAbi.ts +655 -0
- package/src/transactions/transactionBuilder/signingMessage.ts +111 -0
- package/src/transactions/transactionBuilder/transactionBuilder.ts +863 -0
- package/src/transactions/typeTag/index.ts +926 -0
- package/src/transactions/typeTag/parser.ts +434 -0
- package/src/transactions/types.ts +518 -0
- package/src/types/abstraction.ts +14 -0
- package/src/types/codegen.yaml +33 -0
- package/src/types/generated/operations.ts +738 -0
- package/src/types/generated/queries.ts +926 -0
- package/src/types/generated/types.ts +10421 -0
- package/src/types/index.ts +2 -0
- package/src/types/indexer.ts +240 -0
- package/src/types/keyless.ts +94 -0
- package/src/types/types.ts +1713 -0
- package/src/utils/apiEndpoints.ts +107 -0
- package/src/utils/const.ts +100 -0
- package/src/utils/helpers.ts +287 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/memoize.ts +76 -0
- package/src/utils/normalizeBundle.ts +34 -0
- package/src/version.ts +9 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
// Copyright © Move Industries
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
|
+
|
|
6
|
+
import { Deserializer, Serializable, Serializer } from "../../bcs";
|
|
7
|
+
import { AccountAddress, Hex } from "../../core";
|
|
8
|
+
import { AnyPublicKey, AnySignature } from "../../core/crypto";
|
|
9
|
+
import { Ed25519PublicKey, Ed25519Signature } from "../../core/crypto/ed25519";
|
|
10
|
+
import { MultiEd25519PublicKey, MultiEd25519Signature } from "../../core/crypto/multiEd25519";
|
|
11
|
+
import { MultiKey, MultiKeySignature } from "../../core/crypto/multiKey";
|
|
12
|
+
import { AccountAuthenticatorVariant, HexInput, MoveFunctionId } from "../../types";
|
|
13
|
+
import { AASigningDataVariant, AbstractAuthenticationDataVariant } from "../../types/abstraction";
|
|
14
|
+
import { getFunctionParts, isValidFunctionInfo } from "../../utils/helpers";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Represents an account authenticator that can handle multiple authentication variants.
|
|
18
|
+
* This class serves as a base for different types of account authenticators, allowing for serialization
|
|
19
|
+
* and deserialization of various authenticator types.
|
|
20
|
+
*
|
|
21
|
+
* @extends Serializable
|
|
22
|
+
* @group Implementation
|
|
23
|
+
* @category Transactions
|
|
24
|
+
*/
|
|
25
|
+
export abstract class AccountAuthenticator extends Serializable {
|
|
26
|
+
abstract serialize(serializer: Serializer): void;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Deserializes an AccountAuthenticator from the provided deserializer.
|
|
30
|
+
* This function helps in reconstructing the AccountAuthenticator object based on the variant index.
|
|
31
|
+
*
|
|
32
|
+
* @param deserializer - The deserializer instance used to read the serialized data.
|
|
33
|
+
* @group Implementation
|
|
34
|
+
* @category Transactions
|
|
35
|
+
*/
|
|
36
|
+
static deserialize(deserializer: Deserializer): AccountAuthenticator {
|
|
37
|
+
const index = deserializer.deserializeUleb128AsU32();
|
|
38
|
+
switch (index) {
|
|
39
|
+
case AccountAuthenticatorVariant.Ed25519:
|
|
40
|
+
return AccountAuthenticatorEd25519.load(deserializer);
|
|
41
|
+
case AccountAuthenticatorVariant.MultiEd25519:
|
|
42
|
+
return AccountAuthenticatorMultiEd25519.load(deserializer);
|
|
43
|
+
case AccountAuthenticatorVariant.SingleKey:
|
|
44
|
+
return AccountAuthenticatorSingleKey.load(deserializer);
|
|
45
|
+
case AccountAuthenticatorVariant.MultiKey:
|
|
46
|
+
return AccountAuthenticatorMultiKey.load(deserializer);
|
|
47
|
+
case AccountAuthenticatorVariant.NoAccountAuthenticator:
|
|
48
|
+
return AccountAuthenticatorNoAccountAuthenticator.load(deserializer);
|
|
49
|
+
case AccountAuthenticatorVariant.Abstraction:
|
|
50
|
+
return AccountAuthenticatorAbstraction.load(deserializer);
|
|
51
|
+
default:
|
|
52
|
+
throw new Error(`Unknown variant index for AccountAuthenticator: ${index}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Determines if the current instance is an Ed25519 account authenticator.
|
|
58
|
+
*
|
|
59
|
+
* @returns {boolean} True if the instance is of type AccountAuthenticatorEd25519, otherwise false.
|
|
60
|
+
* @group Implementation
|
|
61
|
+
* @category Transactions
|
|
62
|
+
*/
|
|
63
|
+
isEd25519(): this is AccountAuthenticatorEd25519 {
|
|
64
|
+
return this instanceof AccountAuthenticatorEd25519;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Determines if the current instance is of type AccountAuthenticatorMultiEd25519.
|
|
69
|
+
*
|
|
70
|
+
* @returns {boolean} True if the instance is a multi-signature Ed25519 account authenticator, otherwise false.
|
|
71
|
+
* @group Implementation
|
|
72
|
+
* @category Transactions
|
|
73
|
+
*/
|
|
74
|
+
isMultiEd25519(): this is AccountAuthenticatorMultiEd25519 {
|
|
75
|
+
return this instanceof AccountAuthenticatorMultiEd25519;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Determines if the current instance is of the type AccountAuthenticatorSingleKey.
|
|
80
|
+
*
|
|
81
|
+
* @returns {boolean} True if the instance is an AccountAuthenticatorSingleKey, otherwise false.
|
|
82
|
+
* @group Implementation
|
|
83
|
+
* @category Transactions
|
|
84
|
+
*/
|
|
85
|
+
isSingleKey(): this is AccountAuthenticatorSingleKey {
|
|
86
|
+
return this instanceof AccountAuthenticatorSingleKey;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Determine if the current instance is of type AccountAuthenticatorMultiKey.
|
|
91
|
+
*
|
|
92
|
+
* @returns {boolean} Returns true if the instance is an AccountAuthenticatorMultiKey, otherwise false.
|
|
93
|
+
* @group Implementation
|
|
94
|
+
* @category Transactions
|
|
95
|
+
*/
|
|
96
|
+
isMultiKey(): this is AccountAuthenticatorMultiKey {
|
|
97
|
+
return this instanceof AccountAuthenticatorMultiKey;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Represents an Ed25519 transaction authenticator for multi-signer transactions.
|
|
103
|
+
* This class encapsulates the account's Ed25519 public key and signature.
|
|
104
|
+
*
|
|
105
|
+
* @param public_key - The Ed25519 public key associated with the account.
|
|
106
|
+
* @param signature - The Ed25519 signature for the account.
|
|
107
|
+
* @group Implementation
|
|
108
|
+
* @category Transactions
|
|
109
|
+
*/
|
|
110
|
+
export class AccountAuthenticatorEd25519 extends AccountAuthenticator {
|
|
111
|
+
public readonly public_key: Ed25519PublicKey;
|
|
112
|
+
|
|
113
|
+
public readonly signature: Ed25519Signature;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Creates an instance of the class with the specified public keys and signatures.
|
|
117
|
+
*
|
|
118
|
+
* @param public_key The public key used for verification.
|
|
119
|
+
* @param signature The signatures corresponding to the public keys.
|
|
120
|
+
* @group Implementation
|
|
121
|
+
* @category Transactions
|
|
122
|
+
*/
|
|
123
|
+
constructor(public_key: Ed25519PublicKey, signature: Ed25519Signature) {
|
|
124
|
+
super();
|
|
125
|
+
this.public_key = public_key;
|
|
126
|
+
this.signature = signature;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Serializes the account authenticator data into the provided serializer.
|
|
131
|
+
* This function captures the multi-key variant, public keys, and signatures for serialization.
|
|
132
|
+
*
|
|
133
|
+
* @param serializer - The serializer instance used to perform the serialization.
|
|
134
|
+
* @group Implementation
|
|
135
|
+
* @category Transactions
|
|
136
|
+
*/
|
|
137
|
+
serialize(serializer: Serializer): void {
|
|
138
|
+
serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.Ed25519);
|
|
139
|
+
this.public_key.serialize(serializer);
|
|
140
|
+
this.signature.serialize(serializer);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Loads an instance of AccountAuthenticatorMultiKey from the provided deserializer.
|
|
145
|
+
* This function helps in reconstructing the authenticator object using the deserialized public keys and signatures.
|
|
146
|
+
*
|
|
147
|
+
* @param deserializer - The deserializer used to extract the necessary data for loading the authenticator.
|
|
148
|
+
* @group Implementation
|
|
149
|
+
* @category Transactions
|
|
150
|
+
*/
|
|
151
|
+
static load(deserializer: Deserializer): AccountAuthenticatorEd25519 {
|
|
152
|
+
const public_key = Ed25519PublicKey.deserialize(deserializer);
|
|
153
|
+
const signature = Ed25519Signature.deserialize(deserializer);
|
|
154
|
+
return new AccountAuthenticatorEd25519(public_key, signature);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Represents a transaction authenticator for Multi Ed25519, designed for multi-signer transactions.
|
|
160
|
+
*
|
|
161
|
+
* @param public_key - The MultiEd25519 public key of the account.
|
|
162
|
+
* @param signature - The MultiEd25519 signature of the account.
|
|
163
|
+
* @group Implementation
|
|
164
|
+
* @category Transactions
|
|
165
|
+
*/
|
|
166
|
+
export class AccountAuthenticatorMultiEd25519 extends AccountAuthenticator {
|
|
167
|
+
public readonly public_key: MultiEd25519PublicKey;
|
|
168
|
+
|
|
169
|
+
public readonly signature: MultiEd25519Signature;
|
|
170
|
+
|
|
171
|
+
constructor(public_key: MultiEd25519PublicKey, signature: MultiEd25519Signature) {
|
|
172
|
+
super();
|
|
173
|
+
this.public_key = public_key;
|
|
174
|
+
this.signature = signature;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
serialize(serializer: Serializer): void {
|
|
178
|
+
serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.MultiEd25519);
|
|
179
|
+
this.public_key.serialize(serializer);
|
|
180
|
+
this.signature.serialize(serializer);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
static load(deserializer: Deserializer): AccountAuthenticatorMultiEd25519 {
|
|
184
|
+
const public_key = MultiEd25519PublicKey.deserialize(deserializer);
|
|
185
|
+
const signature = MultiEd25519Signature.deserialize(deserializer);
|
|
186
|
+
return new AccountAuthenticatorMultiEd25519(public_key, signature);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Represents an account authenticator that utilizes a single key for signing.
|
|
192
|
+
* This class is designed to handle authentication using a public key and its corresponding signature.
|
|
193
|
+
*
|
|
194
|
+
* @param public_key - The public key used for authentication.
|
|
195
|
+
* @param signature - The signature associated with the public key.
|
|
196
|
+
* @group Implementation
|
|
197
|
+
* @category Transactions
|
|
198
|
+
*/
|
|
199
|
+
export class AccountAuthenticatorSingleKey extends AccountAuthenticator {
|
|
200
|
+
public readonly public_key: AnyPublicKey;
|
|
201
|
+
|
|
202
|
+
public readonly signature: AnySignature;
|
|
203
|
+
|
|
204
|
+
constructor(public_key: AnyPublicKey, signature: AnySignature) {
|
|
205
|
+
super();
|
|
206
|
+
this.public_key = public_key;
|
|
207
|
+
this.signature = signature;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
serialize(serializer: Serializer): void {
|
|
211
|
+
serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.SingleKey);
|
|
212
|
+
this.public_key.serialize(serializer);
|
|
213
|
+
this.signature.serialize(serializer);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
static load(deserializer: Deserializer): AccountAuthenticatorSingleKey {
|
|
217
|
+
const public_key = AnyPublicKey.deserialize(deserializer);
|
|
218
|
+
const signature = AnySignature.deserialize(deserializer);
|
|
219
|
+
return new AccountAuthenticatorSingleKey(public_key, signature);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Represents an account authenticator that supports multiple keys and signatures for multi-signature scenarios.
|
|
225
|
+
*
|
|
226
|
+
* @param public_keys - The public keys used for authentication.
|
|
227
|
+
* @param signatures - The signatures corresponding to the public keys.
|
|
228
|
+
* @group Implementation
|
|
229
|
+
* @category Transactions
|
|
230
|
+
*/
|
|
231
|
+
export class AccountAuthenticatorMultiKey extends AccountAuthenticator {
|
|
232
|
+
public readonly public_keys: MultiKey;
|
|
233
|
+
|
|
234
|
+
public readonly signatures: MultiKeySignature;
|
|
235
|
+
|
|
236
|
+
constructor(public_keys: MultiKey, signatures: MultiKeySignature) {
|
|
237
|
+
super();
|
|
238
|
+
this.public_keys = public_keys;
|
|
239
|
+
this.signatures = signatures;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
serialize(serializer: Serializer): void {
|
|
243
|
+
serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.MultiKey);
|
|
244
|
+
this.public_keys.serialize(serializer);
|
|
245
|
+
this.signatures.serialize(serializer);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
static load(deserializer: Deserializer): AccountAuthenticatorMultiKey {
|
|
249
|
+
const public_keys = MultiKey.deserialize(deserializer);
|
|
250
|
+
const signatures = MultiKeySignature.deserialize(deserializer);
|
|
251
|
+
return new AccountAuthenticatorMultiKey(public_keys, signatures);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* AccountAuthenticatorNoAccountAuthenticator for no account authenticator
|
|
257
|
+
* It represents the absence of a public key for transaction simulation.
|
|
258
|
+
* It allows skipping the public/auth key check during the simulation.
|
|
259
|
+
*/
|
|
260
|
+
export class AccountAuthenticatorNoAccountAuthenticator extends AccountAuthenticator {
|
|
261
|
+
// eslint-disable-next-line class-methods-use-this
|
|
262
|
+
serialize(serializer: Serializer): void {
|
|
263
|
+
serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.NoAccountAuthenticator);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
267
|
+
static load(deserializer: Deserializer): AccountAuthenticatorNoAccountAuthenticator {
|
|
268
|
+
return new AccountAuthenticatorNoAccountAuthenticator();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Represents an account authenticator that supports abstract authentication.
|
|
274
|
+
*
|
|
275
|
+
* @param functionInfo - The function info of the authentication function.
|
|
276
|
+
* @param signingMessageDigest - The digest of the signing message.
|
|
277
|
+
* @param abstractionSignature - The signature of the authentication function.
|
|
278
|
+
* @param accountIdentity - optional. The account identity for DAA.
|
|
279
|
+
* @group Implementation
|
|
280
|
+
* @category Transactions
|
|
281
|
+
*/
|
|
282
|
+
export class AccountAuthenticatorAbstraction extends AccountAuthenticator {
|
|
283
|
+
public readonly functionInfo: string;
|
|
284
|
+
|
|
285
|
+
public readonly signingMessageDigest: Hex;
|
|
286
|
+
|
|
287
|
+
public readonly abstractionSignature: Uint8Array;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* DAA, which is extended of the AA module, requires an account identity
|
|
291
|
+
*/
|
|
292
|
+
public readonly accountIdentity?: Uint8Array;
|
|
293
|
+
|
|
294
|
+
constructor(
|
|
295
|
+
functionInfo: string,
|
|
296
|
+
signingMessageDigest: HexInput,
|
|
297
|
+
abstractionSignature: Uint8Array,
|
|
298
|
+
accountIdentity?: Uint8Array,
|
|
299
|
+
) {
|
|
300
|
+
super();
|
|
301
|
+
if (!isValidFunctionInfo(functionInfo)) {
|
|
302
|
+
throw new Error(`Invalid function info ${functionInfo} passed into AccountAuthenticatorAbstraction`);
|
|
303
|
+
}
|
|
304
|
+
this.functionInfo = functionInfo;
|
|
305
|
+
this.abstractionSignature = abstractionSignature;
|
|
306
|
+
this.signingMessageDigest = Hex.fromHexInput(Hex.fromHexInput(signingMessageDigest).toUint8Array());
|
|
307
|
+
this.accountIdentity = accountIdentity;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
serialize(serializer: Serializer): void {
|
|
311
|
+
serializer.serializeU32AsUleb128(AccountAuthenticatorVariant.Abstraction);
|
|
312
|
+
const { moduleAddress, moduleName, functionName } = getFunctionParts(this.functionInfo as MoveFunctionId);
|
|
313
|
+
AccountAddress.fromString(moduleAddress).serialize(serializer);
|
|
314
|
+
serializer.serializeStr(moduleName);
|
|
315
|
+
serializer.serializeStr(functionName);
|
|
316
|
+
if (this.accountIdentity) {
|
|
317
|
+
serializer.serializeU32AsUleb128(AbstractAuthenticationDataVariant.DerivableV1);
|
|
318
|
+
} else {
|
|
319
|
+
serializer.serializeU32AsUleb128(AbstractAuthenticationDataVariant.V1);
|
|
320
|
+
}
|
|
321
|
+
serializer.serializeBytes(this.signingMessageDigest.toUint8Array());
|
|
322
|
+
if (this.accountIdentity) {
|
|
323
|
+
serializer.serializeBytes(this.abstractionSignature);
|
|
324
|
+
} else {
|
|
325
|
+
serializer.serializeFixedBytes(this.abstractionSignature);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
if (this.accountIdentity) {
|
|
329
|
+
serializer.serializeBytes(this.accountIdentity);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
static load(deserializer: Deserializer): AccountAuthenticatorAbstraction {
|
|
334
|
+
// deserialize the function info
|
|
335
|
+
const moduleAddress = AccountAddress.deserialize(deserializer);
|
|
336
|
+
const moduleName = deserializer.deserializeStr();
|
|
337
|
+
const functionName = deserializer.deserializeStr();
|
|
338
|
+
// deserialize the variant
|
|
339
|
+
const variant = deserializer.deserializeUleb128AsU32();
|
|
340
|
+
// deserialize the signing message digest
|
|
341
|
+
const signingMessageDigest = deserializer.deserializeBytes();
|
|
342
|
+
|
|
343
|
+
if (variant === AbstractAuthenticationDataVariant.V1) {
|
|
344
|
+
const abstractionSignature = deserializer.deserializeFixedBytes(deserializer.remaining());
|
|
345
|
+
return new AccountAuthenticatorAbstraction(
|
|
346
|
+
`${moduleAddress}::${moduleName}::${functionName}`,
|
|
347
|
+
signingMessageDigest,
|
|
348
|
+
abstractionSignature,
|
|
349
|
+
);
|
|
350
|
+
}
|
|
351
|
+
if (variant === AbstractAuthenticationDataVariant.DerivableV1) {
|
|
352
|
+
const abstractionSignature = deserializer.deserializeBytes();
|
|
353
|
+
const abstractPublicKey = deserializer.deserializeBytes();
|
|
354
|
+
return new AccountAuthenticatorAbstraction(
|
|
355
|
+
`${moduleAddress}::${moduleName}::${functionName}`,
|
|
356
|
+
signingMessageDigest,
|
|
357
|
+
abstractionSignature,
|
|
358
|
+
abstractPublicKey,
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
throw new Error(`Unknown variant index for AccountAuthenticatorAbstraction: ${variant}`);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Represents an account abstraction message that contains the original signing message and the function info.
|
|
367
|
+
*
|
|
368
|
+
* @param originalSigningMessage - The original signing message.
|
|
369
|
+
* @param functionInfo - The function info of the authentication function.
|
|
370
|
+
* @group Implementation
|
|
371
|
+
* @category Transactions
|
|
372
|
+
*/
|
|
373
|
+
export class AccountAbstractionMessage extends Serializable {
|
|
374
|
+
public readonly originalSigningMessage: Hex;
|
|
375
|
+
|
|
376
|
+
public readonly functionInfo: string;
|
|
377
|
+
|
|
378
|
+
constructor(originalSigningMessage: HexInput, functionInfo: string) {
|
|
379
|
+
super();
|
|
380
|
+
this.originalSigningMessage = Hex.fromHexInput(Hex.fromHexInput(originalSigningMessage).toUint8Array());
|
|
381
|
+
this.functionInfo = functionInfo;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
serialize(serializer: Serializer): void {
|
|
385
|
+
serializer.serializeU32AsUleb128(AASigningDataVariant.V1);
|
|
386
|
+
serializer.serializeBytes(this.originalSigningMessage.toUint8Array());
|
|
387
|
+
const { moduleAddress, moduleName, functionName } = getFunctionParts(this.functionInfo as MoveFunctionId);
|
|
388
|
+
AccountAddress.fromString(moduleAddress).serialize(serializer);
|
|
389
|
+
serializer.serializeStr(moduleName);
|
|
390
|
+
serializer.serializeStr(functionName);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
static deserialize(deserializer: Deserializer): AccountAbstractionMessage {
|
|
394
|
+
const variant = deserializer.deserializeUleb128AsU32();
|
|
395
|
+
if (variant !== AASigningDataVariant.V1) {
|
|
396
|
+
throw new Error(`Unknown variant index for AccountAbstractionMessage: ${variant}`);
|
|
397
|
+
}
|
|
398
|
+
const originalSigningMessage = deserializer.deserializeBytes();
|
|
399
|
+
const functionInfoModuleAddress = AccountAddress.deserialize(deserializer);
|
|
400
|
+
const functionInfoModuleName = deserializer.deserializeStr();
|
|
401
|
+
const functionInfoFunctionName = deserializer.deserializeStr();
|
|
402
|
+
const functionInfo = `${functionInfoModuleAddress}::${functionInfoModuleName}::${functionInfoFunctionName}`;
|
|
403
|
+
return new AccountAbstractionMessage(originalSigningMessage, functionInfo);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
// Copyright © Move Industries
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
|
+
|
|
6
|
+
import { Deserializer, Serializable, Serializer } from "../../bcs";
|
|
7
|
+
import { AccountAddress } from "../../core";
|
|
8
|
+
import { Ed25519PublicKey, Ed25519Signature } from "../../core/crypto/ed25519";
|
|
9
|
+
import { MultiEd25519PublicKey, MultiEd25519Signature } from "../../core/crypto/multiEd25519";
|
|
10
|
+
import { TransactionAuthenticatorVariant } from "../../types";
|
|
11
|
+
import { AccountAuthenticator } from "./account";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Represents an abstract base class for transaction authenticators.
|
|
15
|
+
* This class provides methods for serializing and deserializing different types of transaction authenticators.
|
|
16
|
+
*
|
|
17
|
+
* @extends Serializable
|
|
18
|
+
* @group Implementation
|
|
19
|
+
* @category Transactions
|
|
20
|
+
*/
|
|
21
|
+
export abstract class TransactionAuthenticator extends Serializable {
|
|
22
|
+
abstract serialize(serializer: Serializer): void;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Deserializes a TransactionAuthenticator from the provided deserializer.
|
|
26
|
+
* This function helps in reconstructing the TransactionAuthenticator based on the variant index found in the serialized data.
|
|
27
|
+
*
|
|
28
|
+
* @param deserializer - The deserializer instance used to read the serialized data.
|
|
29
|
+
* @group Implementation
|
|
30
|
+
* @category Transactions
|
|
31
|
+
*/
|
|
32
|
+
static deserialize(deserializer: Deserializer): TransactionAuthenticator {
|
|
33
|
+
const index = deserializer.deserializeUleb128AsU32();
|
|
34
|
+
switch (index) {
|
|
35
|
+
case TransactionAuthenticatorVariant.Ed25519:
|
|
36
|
+
return TransactionAuthenticatorEd25519.load(deserializer);
|
|
37
|
+
case TransactionAuthenticatorVariant.MultiEd25519:
|
|
38
|
+
return TransactionAuthenticatorMultiEd25519.load(deserializer);
|
|
39
|
+
case TransactionAuthenticatorVariant.MultiAgent:
|
|
40
|
+
return TransactionAuthenticatorMultiAgent.load(deserializer);
|
|
41
|
+
case TransactionAuthenticatorVariant.FeePayer:
|
|
42
|
+
return TransactionAuthenticatorFeePayer.load(deserializer);
|
|
43
|
+
case TransactionAuthenticatorVariant.SingleSender:
|
|
44
|
+
return TransactionAuthenticatorSingleSender.load(deserializer);
|
|
45
|
+
default:
|
|
46
|
+
throw new Error(`Unknown variant index for TransactionAuthenticator: ${index}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
isEd25519(): this is TransactionAuthenticatorEd25519 {
|
|
51
|
+
return this instanceof TransactionAuthenticatorEd25519;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
isMultiEd25519(): this is TransactionAuthenticatorMultiEd25519 {
|
|
55
|
+
return this instanceof TransactionAuthenticatorMultiEd25519;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
isMultiAgent(): this is TransactionAuthenticatorMultiAgent {
|
|
59
|
+
return this instanceof TransactionAuthenticatorMultiAgent;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
isFeePayer(): this is TransactionAuthenticatorFeePayer {
|
|
63
|
+
return this instanceof TransactionAuthenticatorFeePayer;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
isSingleSender(): this is TransactionAuthenticatorSingleSender {
|
|
67
|
+
return this instanceof TransactionAuthenticatorSingleSender;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Represents a transaction authenticator using Ed25519 for a single signer transaction.
|
|
73
|
+
* This class encapsulates the client's public key and the Ed25519 signature of a raw transaction.
|
|
74
|
+
*
|
|
75
|
+
* @param public_key - The client's public key.
|
|
76
|
+
* @param signature - The Ed25519 signature of a raw transaction.
|
|
77
|
+
* @see {@link https://movement.dev/integration/creating-a-signed-transaction | Creating a Signed Transaction}
|
|
78
|
+
* for details about generating a signature.
|
|
79
|
+
* @group Implementation
|
|
80
|
+
* @category Transactions
|
|
81
|
+
*/
|
|
82
|
+
export class TransactionAuthenticatorEd25519 extends TransactionAuthenticator {
|
|
83
|
+
public readonly public_key: Ed25519PublicKey;
|
|
84
|
+
|
|
85
|
+
public readonly signature: Ed25519Signature;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Creates an instance of the class with the specified account authenticator.
|
|
89
|
+
*
|
|
90
|
+
* @param public_key - The Ed25519PublicKey that will be used for authentication.
|
|
91
|
+
* @param signature - The Ed25519Signature that will be used for authentication.
|
|
92
|
+
* @group Implementation
|
|
93
|
+
* @category Transactions
|
|
94
|
+
*/
|
|
95
|
+
constructor(public_key: Ed25519PublicKey, signature: Ed25519Signature) {
|
|
96
|
+
super();
|
|
97
|
+
this.public_key = public_key;
|
|
98
|
+
this.signature = signature;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Serializes the transaction authenticator by encoding the sender information.
|
|
103
|
+
*
|
|
104
|
+
* @param serializer - The serializer instance used to perform the serialization.
|
|
105
|
+
* @group Implementation
|
|
106
|
+
* @category Transactions
|
|
107
|
+
*/
|
|
108
|
+
serialize(serializer: Serializer): void {
|
|
109
|
+
serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.Ed25519);
|
|
110
|
+
this.public_key.serialize(serializer);
|
|
111
|
+
this.signature.serialize(serializer);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Loads a TransactionAuthenticatorSingleSender instance from the provided deserializer.
|
|
116
|
+
* This function helps in deserializing the sender information to create a transaction authenticator.
|
|
117
|
+
*
|
|
118
|
+
* @param deserializer - The deserializer used to extract the sender data.
|
|
119
|
+
* @group Implementation
|
|
120
|
+
* @category Transactions
|
|
121
|
+
*/
|
|
122
|
+
static load(deserializer: Deserializer): TransactionAuthenticatorEd25519 {
|
|
123
|
+
const public_key = Ed25519PublicKey.deserialize(deserializer);
|
|
124
|
+
const signature = Ed25519Signature.deserialize(deserializer);
|
|
125
|
+
return new TransactionAuthenticatorEd25519(public_key, signature);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Represents a transaction authenticator for multi-signature transactions using Ed25519.
|
|
131
|
+
* This class is used to validate transactions that require multiple signatures from different signers.
|
|
132
|
+
*
|
|
133
|
+
* @param public_key - The public key of the client involved in the transaction.
|
|
134
|
+
* @param signature - The multi-signature of the raw transaction.
|
|
135
|
+
* @group Implementation
|
|
136
|
+
* @category Transactions
|
|
137
|
+
*/
|
|
138
|
+
export class TransactionAuthenticatorMultiEd25519 extends TransactionAuthenticator {
|
|
139
|
+
public readonly public_key: MultiEd25519PublicKey;
|
|
140
|
+
|
|
141
|
+
public readonly signature: MultiEd25519Signature;
|
|
142
|
+
|
|
143
|
+
constructor(public_key: MultiEd25519PublicKey, signature: MultiEd25519Signature) {
|
|
144
|
+
super();
|
|
145
|
+
this.public_key = public_key;
|
|
146
|
+
this.signature = signature;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
serialize(serializer: Serializer): void {
|
|
150
|
+
serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.MultiEd25519);
|
|
151
|
+
this.public_key.serialize(serializer);
|
|
152
|
+
this.signature.serialize(serializer);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
static load(deserializer: Deserializer): TransactionAuthenticatorMultiEd25519 {
|
|
156
|
+
const public_key = MultiEd25519PublicKey.deserialize(deserializer);
|
|
157
|
+
const signature = MultiEd25519Signature.deserialize(deserializer);
|
|
158
|
+
return new TransactionAuthenticatorMultiEd25519(public_key, signature);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Represents a transaction authenticator for a multi-agent transaction.
|
|
164
|
+
*
|
|
165
|
+
* This class manages the authentication process involving a primary sender and multiple secondary signers.
|
|
166
|
+
*
|
|
167
|
+
* @param sender - The authenticator for the sender account.
|
|
168
|
+
* @param secondary_signer_addresses - An array of addresses for the secondary signers.
|
|
169
|
+
* @param secondary_signers - An array of authenticators for the secondary signer accounts.
|
|
170
|
+
* @group Implementation
|
|
171
|
+
* @category Transactions
|
|
172
|
+
*/
|
|
173
|
+
export class TransactionAuthenticatorMultiAgent extends TransactionAuthenticator {
|
|
174
|
+
public readonly sender: AccountAuthenticator;
|
|
175
|
+
|
|
176
|
+
public readonly secondary_signer_addresses: Array<AccountAddress>;
|
|
177
|
+
|
|
178
|
+
public readonly secondary_signers: Array<AccountAuthenticator>;
|
|
179
|
+
|
|
180
|
+
constructor(
|
|
181
|
+
sender: AccountAuthenticator,
|
|
182
|
+
secondary_signer_addresses: Array<AccountAddress>,
|
|
183
|
+
secondary_signers: Array<AccountAuthenticator>,
|
|
184
|
+
) {
|
|
185
|
+
super();
|
|
186
|
+
this.sender = sender;
|
|
187
|
+
this.secondary_signer_addresses = secondary_signer_addresses;
|
|
188
|
+
this.secondary_signers = secondary_signers;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
serialize(serializer: Serializer): void {
|
|
192
|
+
serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.MultiAgent);
|
|
193
|
+
this.sender.serialize(serializer);
|
|
194
|
+
serializer.serializeVector<AccountAddress>(this.secondary_signer_addresses);
|
|
195
|
+
serializer.serializeVector<AccountAuthenticator>(this.secondary_signers);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
static load(deserializer: Deserializer): TransactionAuthenticatorMultiAgent {
|
|
199
|
+
const sender = AccountAuthenticator.deserialize(deserializer);
|
|
200
|
+
const secondary_signer_addresses = deserializer.deserializeVector(AccountAddress);
|
|
201
|
+
const secondary_signers = deserializer.deserializeVector(AccountAuthenticator);
|
|
202
|
+
return new TransactionAuthenticatorMultiAgent(sender, secondary_signer_addresses, secondary_signers);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Represents a transaction authenticator specifically for fee payer transactions.
|
|
208
|
+
* It encapsulates the sender's account authenticator, addresses of secondary signers,
|
|
209
|
+
* their respective authenticators, and the fee payer's account information.
|
|
210
|
+
*
|
|
211
|
+
* @param sender - The authenticator for the sender's account.
|
|
212
|
+
* @param secondary_signer_addresses - An array of addresses for secondary signers.
|
|
213
|
+
* @param secondary_signers - An array of authenticators for secondary signers' accounts.
|
|
214
|
+
* @param fee_payer - An object containing the fee payer's account address and authenticator.
|
|
215
|
+
* @group Implementation
|
|
216
|
+
* @category Transactions
|
|
217
|
+
*/
|
|
218
|
+
export class TransactionAuthenticatorFeePayer extends TransactionAuthenticator {
|
|
219
|
+
public readonly sender: AccountAuthenticator;
|
|
220
|
+
|
|
221
|
+
public readonly secondary_signer_addresses: Array<AccountAddress>;
|
|
222
|
+
|
|
223
|
+
public readonly secondary_signers: Array<AccountAuthenticator>;
|
|
224
|
+
|
|
225
|
+
public readonly fee_payer: {
|
|
226
|
+
address: AccountAddress;
|
|
227
|
+
authenticator: AccountAuthenticator;
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
constructor(
|
|
231
|
+
sender: AccountAuthenticator,
|
|
232
|
+
secondary_signer_addresses: Array<AccountAddress>,
|
|
233
|
+
secondary_signers: Array<AccountAuthenticator>,
|
|
234
|
+
fee_payer: { address: AccountAddress; authenticator: AccountAuthenticator },
|
|
235
|
+
) {
|
|
236
|
+
super();
|
|
237
|
+
this.sender = sender;
|
|
238
|
+
this.secondary_signer_addresses = secondary_signer_addresses;
|
|
239
|
+
this.secondary_signers = secondary_signers;
|
|
240
|
+
this.fee_payer = fee_payer;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
serialize(serializer: Serializer): void {
|
|
244
|
+
serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.FeePayer);
|
|
245
|
+
this.sender.serialize(serializer);
|
|
246
|
+
serializer.serializeVector<AccountAddress>(this.secondary_signer_addresses);
|
|
247
|
+
serializer.serializeVector<AccountAuthenticator>(this.secondary_signers);
|
|
248
|
+
this.fee_payer.address.serialize(serializer);
|
|
249
|
+
this.fee_payer.authenticator.serialize(serializer);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
static load(deserializer: Deserializer): TransactionAuthenticatorMultiAgent {
|
|
253
|
+
const sender = AccountAuthenticator.deserialize(deserializer);
|
|
254
|
+
const secondary_signer_addresses = deserializer.deserializeVector(AccountAddress);
|
|
255
|
+
const secondary_signers = deserializer.deserializeVector(AccountAuthenticator);
|
|
256
|
+
const address = AccountAddress.deserialize(deserializer);
|
|
257
|
+
const authenticator = AccountAuthenticator.deserialize(deserializer);
|
|
258
|
+
const fee_payer = { address, authenticator };
|
|
259
|
+
return new TransactionAuthenticatorFeePayer(sender, secondary_signer_addresses, secondary_signers, fee_payer);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Represents a single sender authenticator for transactions that require a single signer.
|
|
265
|
+
* This class is responsible for managing the authentication of a transaction initiated by a single sender.
|
|
266
|
+
*
|
|
267
|
+
* @param sender - An instance of AccountAuthenticator that represents the account of the sender.
|
|
268
|
+
* @group Implementation
|
|
269
|
+
* @category Transactions
|
|
270
|
+
*/
|
|
271
|
+
export class TransactionAuthenticatorSingleSender extends TransactionAuthenticator {
|
|
272
|
+
public readonly sender: AccountAuthenticator;
|
|
273
|
+
|
|
274
|
+
constructor(sender: AccountAuthenticator) {
|
|
275
|
+
super();
|
|
276
|
+
this.sender = sender;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
serialize(serializer: Serializer): void {
|
|
280
|
+
serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.SingleSender);
|
|
281
|
+
this.sender.serialize(serializer);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
static load(deserializer: Deserializer): TransactionAuthenticatorSingleSender {
|
|
285
|
+
const sender = AccountAuthenticator.deserialize(deserializer);
|
|
286
|
+
return new TransactionAuthenticatorSingleSender(sender);
|
|
287
|
+
}
|
|
288
|
+
}
|