@aptos-labs/ts-sdk 6.3.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -24
- package/dist/account/AbstractKeylessAccount.d.ts +326 -0
- package/dist/account/AbstractKeylessAccount.d.ts.map +1 -0
- package/dist/account/AbstractKeylessAccount.js +440 -0
- package/dist/account/AbstractKeylessAccount.js.map +1 -0
- package/dist/account/AbstractedAccount.d.ts +61 -0
- package/dist/account/AbstractedAccount.d.ts.map +1 -0
- package/dist/account/AbstractedAccount.js +71 -0
- package/dist/account/AbstractedAccount.js.map +1 -0
- package/dist/account/Account.d.ts +302 -0
- package/dist/account/Account.d.ts.map +1 -0
- package/dist/account/Account.js +104 -0
- package/dist/account/Account.js.map +1 -0
- package/dist/account/AccountUtils.d.ts +25 -0
- package/dist/account/AccountUtils.d.ts.map +1 -0
- package/dist/account/AccountUtils.js +202 -0
- package/dist/account/AccountUtils.js.map +1 -0
- package/dist/account/DerivableAbstractedAccount.d.ts +51 -0
- package/dist/account/DerivableAbstractedAccount.d.ts.map +1 -0
- package/dist/account/DerivableAbstractedAccount.js +61 -0
- package/dist/account/DerivableAbstractedAccount.js.map +1 -0
- package/dist/account/Ed25519Account.d.ts +161 -0
- package/dist/account/Ed25519Account.d.ts.map +1 -0
- package/dist/account/Ed25519Account.js +149 -0
- package/dist/account/Ed25519Account.js.map +1 -0
- package/dist/account/EphemeralKeyPair.d.ts +159 -0
- package/dist/account/EphemeralKeyPair.d.ts.map +1 -0
- package/dist/account/EphemeralKeyPair.js +246 -0
- package/dist/account/EphemeralKeyPair.js.map +1 -0
- package/dist/account/FederatedKeylessAccount.d.ts +107 -0
- package/dist/account/FederatedKeylessAccount.d.ts.map +1 -0
- package/dist/account/FederatedKeylessAccount.js +129 -0
- package/dist/account/FederatedKeylessAccount.js.map +1 -0
- package/dist/account/KeylessAccount.d.ts +112 -0
- package/dist/account/KeylessAccount.d.ts.map +1 -0
- package/dist/account/KeylessAccount.js +133 -0
- package/dist/account/KeylessAccount.js.map +1 -0
- package/dist/account/MultiEd25519Account.d.ts +100 -0
- package/dist/account/MultiEd25519Account.d.ts.map +1 -0
- package/dist/account/MultiEd25519Account.js +134 -0
- package/dist/account/MultiEd25519Account.js.map +1 -0
- package/dist/account/MultiKeyAccount.d.ts +197 -0
- package/dist/account/MultiKeyAccount.d.ts.map +1 -0
- package/dist/account/MultiKeyAccount.js +233 -0
- package/dist/account/MultiKeyAccount.js.map +1 -0
- package/dist/account/SingleKeyAccount.d.ts +189 -0
- package/dist/account/SingleKeyAccount.d.ts.map +1 -0
- package/dist/account/SingleKeyAccount.js +182 -0
- package/dist/account/SingleKeyAccount.js.map +1 -0
- package/dist/account/index.d.ts +9 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +17 -0
- package/dist/account/index.js.map +1 -0
- package/dist/account/keylessSigner.d.ts +22 -0
- package/dist/account/keylessSigner.d.ts.map +1 -0
- package/dist/account/keylessSigner.js +9 -0
- package/dist/account/keylessSigner.js.map +1 -0
- package/dist/account/utils.d.ts +8 -0
- package/dist/account/utils.d.ts.map +1 -0
- package/dist/account/utils.js +12 -0
- package/dist/account/utils.js.map +1 -0
- package/dist/api/account/abstraction.d.ts +176 -0
- package/dist/api/account/abstraction.d.ts.map +1 -0
- package/dist/api/account/abstraction.js +203 -0
- package/dist/api/account/abstraction.js.map +1 -0
- package/dist/api/account.d.ts +845 -0
- package/dist/api/account.d.ts.map +1 -0
- package/dist/api/account.js +965 -0
- package/dist/api/account.js.map +1 -0
- package/dist/api/ans.d.ts +565 -0
- package/dist/api/ans.d.ts.map +1 -0
- package/dist/api/ans.js +537 -0
- package/dist/api/ans.js.map +1 -0
- package/dist/api/aptos.d.ts +73 -0
- package/dist/api/aptos.d.ts.map +1 -0
- package/dist/api/aptos.js +162 -0
- package/dist/api/aptos.js.map +1 -0
- package/dist/api/aptosConfig.d.ts +215 -0
- package/dist/api/aptosConfig.d.ts.map +1 -0
- package/dist/api/aptosConfig.js +316 -0
- package/dist/api/aptosConfig.js.map +1 -0
- package/dist/api/coin.d.ts +77 -0
- package/dist/api/coin.d.ts.map +1 -0
- package/dist/api/coin.js +73 -0
- package/dist/api/coin.js.map +1 -0
- package/dist/api/digitalAsset.d.ts +1026 -0
- package/dist/api/digitalAsset.d.ts.map +1 -0
- package/dist/api/digitalAsset.js +987 -0
- package/dist/api/digitalAsset.js.map +1 -0
- package/dist/api/faucet.d.ts +74 -0
- package/dist/api/faucet.d.ts.map +1 -0
- package/dist/api/faucet.js +86 -0
- package/dist/api/faucet.js.map +1 -0
- package/dist/api/fungibleAsset.d.ts +285 -0
- package/dist/api/fungibleAsset.d.ts.map +1 -0
- package/dist/api/fungibleAsset.js +314 -0
- package/dist/api/fungibleAsset.js.map +1 -0
- package/dist/api/general.d.ts +298 -0
- package/dist/api/general.d.ts.map +1 -0
- package/dist/api/general.js +311 -0
- package/dist/api/general.js.map +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +5 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/keyless.d.ts +160 -0
- package/dist/api/keyless.d.ts.map +1 -0
- package/dist/api/keyless.js +176 -0
- package/dist/api/keyless.js.map +1 -0
- package/dist/api/object.d.ts +74 -0
- package/dist/api/object.d.ts.map +1 -0
- package/dist/api/object.js +84 -0
- package/dist/api/object.js.map +1 -0
- package/dist/api/staking.d.ts +128 -0
- package/dist/api/staking.d.ts.map +1 -0
- package/dist/api/staking.js +143 -0
- package/dist/api/staking.js.map +1 -0
- package/dist/api/table.d.ts +163 -0
- package/dist/api/table.d.ts.map +1 -0
- package/dist/api/table.js +171 -0
- package/dist/api/table.js.map +1 -0
- package/dist/api/transaction.d.ts +672 -0
- package/dist/api/transaction.d.ts.map +1 -0
- package/dist/api/transaction.js +694 -0
- package/dist/api/transaction.js.map +1 -0
- package/dist/api/transactionSubmission/build.d.ts +137 -0
- package/dist/api/transactionSubmission/build.d.ts.map +1 -0
- package/dist/api/transactionSubmission/build.js +130 -0
- package/dist/api/transactionSubmission/build.js.map +1 -0
- package/dist/api/transactionSubmission/helpers.d.ts +91 -0
- package/dist/api/transactionSubmission/helpers.d.ts.map +1 -0
- package/dist/api/transactionSubmission/helpers.js +99 -0
- package/dist/api/transactionSubmission/helpers.js.map +1 -0
- package/dist/api/transactionSubmission/management.d.ts +159 -0
- package/dist/api/transactionSubmission/management.d.ts.map +1 -0
- package/dist/api/transactionSubmission/management.js +192 -0
- package/dist/api/transactionSubmission/management.js.map +1 -0
- package/dist/api/transactionSubmission/sign.d.ts +117 -0
- package/dist/api/transactionSubmission/sign.d.ts.map +1 -0
- package/dist/api/transactionSubmission/sign.js +130 -0
- package/dist/api/transactionSubmission/sign.js.map +1 -0
- package/dist/api/transactionSubmission/simulate.d.ts +176 -0
- package/dist/api/transactionSubmission/simulate.d.ts.map +1 -0
- package/dist/api/transactionSubmission/simulate.js +183 -0
- package/dist/api/transactionSubmission/simulate.js.map +1 -0
- package/dist/api/transactionSubmission/submit.d.ts +136 -0
- package/dist/api/transactionSubmission/submit.d.ts.map +1 -0
- package/dist/api/transactionSubmission/submit.js +136 -0
- package/dist/api/transactionSubmission/submit.js.map +1 -0
- package/dist/api/utils.d.ts +39 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/api/utils.js +41 -0
- package/dist/api/utils.js.map +1 -0
- package/dist/bcs/consts.d.ts +20 -0
- package/dist/bcs/consts.d.ts.map +1 -0
- package/dist/bcs/consts.js +24 -0
- package/dist/bcs/consts.js.map +1 -0
- package/dist/bcs/deserializer.d.ts +365 -0
- package/dist/bcs/deserializer.d.ts.map +1 -0
- package/dist/bcs/deserializer.js +470 -0
- package/dist/bcs/deserializer.js.map +1 -0
- package/dist/bcs/index.d.ts +7 -0
- package/dist/bcs/index.d.ts.map +1 -0
- package/dist/bcs/index.js +9 -0
- package/dist/bcs/index.js.map +1 -0
- package/dist/bcs/serializable/entryFunctionBytes.d.ts +60 -0
- package/dist/bcs/serializable/entryFunctionBytes.d.ts.map +1 -0
- package/dist/bcs/serializable/entryFunctionBytes.js +82 -0
- package/dist/bcs/serializable/entryFunctionBytes.js.map +1 -0
- package/dist/bcs/serializable/fixedBytes.d.ts +86 -0
- package/dist/bcs/serializable/fixedBytes.d.ts.map +1 -0
- package/dist/bcs/serializable/fixedBytes.js +98 -0
- package/dist/bcs/serializable/fixedBytes.js.map +1 -0
- package/dist/bcs/serializable/movePrimitives.d.ts +267 -0
- package/dist/bcs/serializable/movePrimitives.d.ts.map +1 -0
- package/dist/bcs/serializable/movePrimitives.js +448 -0
- package/dist/bcs/serializable/movePrimitives.js.map +1 -0
- package/dist/bcs/serializable/moveStructs.d.ts +596 -0
- package/dist/bcs/serializable/moveStructs.d.ts.map +1 -0
- package/dist/bcs/serializable/moveStructs.js +748 -0
- package/dist/bcs/serializable/moveStructs.js.map +1 -0
- package/dist/bcs/serializer.d.ts +442 -0
- package/dist/bcs/serializer.d.ts.map +1 -0
- package/dist/bcs/serializer.js +747 -0
- package/dist/bcs/serializer.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/localNode.d.ts +65 -0
- package/dist/cli/localNode.d.ts.map +1 -0
- package/dist/cli/localNode.js +149 -0
- package/dist/cli/localNode.js.map +1 -0
- package/dist/cli/move.d.ts +250 -0
- package/dist/cli/move.d.ts.map +1 -0
- package/dist/cli/move.js +364 -0
- package/dist/cli/move.js.map +1 -0
- package/dist/client/core.d.ts +37 -0
- package/dist/client/core.d.ts.map +1 -0
- package/dist/client/core.js +116 -0
- package/dist/client/core.js.map +1 -0
- package/dist/client/get.d.ts +119 -0
- package/dist/client/get.d.ts.map +1 -0
- package/dist/client/get.js +165 -0
- package/dist/client/get.js.map +1 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/post.d.ts +155 -0
- package/dist/client/post.d.ts.map +1 -0
- package/dist/client/post.js +151 -0
- package/dist/client/post.js.map +1 -0
- package/dist/core/account/index.d.ts +2 -0
- package/dist/core/account/index.d.ts.map +1 -0
- package/dist/core/account/index.js +2 -0
- package/dist/core/account/index.js.map +1 -0
- package/dist/core/account/utils/address.d.ts +47 -0
- package/dist/core/account/utils/address.d.ts.map +1 -0
- package/dist/core/account/utils/address.js +68 -0
- package/dist/core/account/utils/address.js.map +1 -0
- package/dist/core/account/utils/index.d.ts +2 -0
- package/dist/core/account/utils/index.d.ts.map +1 -0
- package/dist/core/account/utils/index.js +2 -0
- package/dist/core/account/utils/index.js.map +1 -0
- package/dist/core/accountAddress.d.ts +327 -0
- package/dist/core/accountAddress.d.ts.map +1 -0
- package/dist/core/accountAddress.js +457 -0
- package/dist/core/accountAddress.js.map +1 -0
- package/dist/core/authenticationKey.d.ts +129 -0
- package/dist/core/authenticationKey.d.ts.map +1 -0
- package/dist/core/authenticationKey.js +155 -0
- package/dist/core/authenticationKey.js.map +1 -0
- package/dist/core/common.d.ts +51 -0
- package/dist/core/common.d.ts.map +1 -0
- package/dist/core/common.js +30 -0
- package/dist/core/common.js.map +1 -0
- package/dist/core/crypto/abstraction.d.ts +21 -0
- package/dist/core/crypto/abstraction.d.ts.map +1 -0
- package/dist/core/crypto/abstraction.js +37 -0
- package/dist/core/crypto/abstraction.js.map +1 -0
- package/dist/core/crypto/anyKeyRegistry.d.ts +45 -0
- package/dist/core/crypto/anyKeyRegistry.d.ts.map +1 -0
- package/dist/core/crypto/anyKeyRegistry.js +59 -0
- package/dist/core/crypto/anyKeyRegistry.js.map +1 -0
- package/dist/core/crypto/deserializationUtils.d.ts +22 -0
- package/dist/core/crypto/deserializationUtils.d.ts.map +1 -0
- package/dist/core/crypto/deserializationUtils.js +89 -0
- package/dist/core/crypto/deserializationUtils.js.map +1 -0
- package/dist/core/crypto/ed25519.d.ts +330 -0
- package/dist/core/crypto/ed25519.d.ts.map +1 -0
- package/dist/core/crypto/ed25519.js +502 -0
- package/dist/core/crypto/ed25519.js.map +1 -0
- package/dist/core/crypto/encryption/ciphertext.d.ts +49 -0
- package/dist/core/crypto/encryption/ciphertext.d.ts.map +1 -0
- package/dist/core/crypto/encryption/ciphertext.js +166 -0
- package/dist/core/crypto/encryption/ciphertext.js.map +1 -0
- package/dist/core/crypto/encryption/curveSerialization.d.ts +17 -0
- package/dist/core/crypto/encryption/curveSerialization.d.ts.map +1 -0
- package/dist/core/crypto/encryption/curveSerialization.js +38 -0
- package/dist/core/crypto/encryption/curveSerialization.js.map +1 -0
- package/dist/core/crypto/encryption/fieldSerialization.d.ts +12 -0
- package/dist/core/crypto/encryption/fieldSerialization.d.ts.map +1 -0
- package/dist/core/crypto/encryption/fieldSerialization.js +70 -0
- package/dist/core/crypto/encryption/fieldSerialization.js.map +1 -0
- package/dist/core/crypto/encryption/index.d.ts +11 -0
- package/dist/core/crypto/encryption/index.d.ts.map +1 -0
- package/dist/core/crypto/encryption/index.js +13 -0
- package/dist/core/crypto/encryption/index.js.map +1 -0
- package/dist/core/crypto/encryption/symmetric.d.ts +38 -0
- package/dist/core/crypto/encryption/symmetric.d.ts.map +1 -0
- package/dist/core/crypto/encryption/symmetric.js +124 -0
- package/dist/core/crypto/encryption/symmetric.js.map +1 -0
- package/dist/core/crypto/ephemeral.d.ts +112 -0
- package/dist/core/crypto/ephemeral.d.ts.map +1 -0
- package/dist/core/crypto/ephemeral.js +170 -0
- package/dist/core/crypto/ephemeral.js.map +1 -0
- package/dist/core/crypto/federatedKeyless.d.ts +106 -0
- package/dist/core/crypto/federatedKeyless.d.ts.map +1 -0
- package/dist/core/crypto/federatedKeyless.js +125 -0
- package/dist/core/crypto/federatedKeyless.js.map +1 -0
- package/dist/core/crypto/hdKey.d.ts +90 -0
- package/dist/core/crypto/hdKey.d.ts.map +1 -0
- package/dist/core/crypto/hdKey.js +118 -0
- package/dist/core/crypto/hdKey.js.map +1 -0
- package/dist/core/crypto/index.d.ts +13 -0
- package/dist/core/crypto/index.d.ts.map +1 -0
- package/dist/core/crypto/index.js +26 -0
- package/dist/core/crypto/index.js.map +1 -0
- package/dist/core/crypto/keyless.d.ts +788 -0
- package/dist/core/crypto/keyless.d.ts.map +1 -0
- package/dist/core/crypto/keyless.js +1482 -0
- package/dist/core/crypto/keyless.js.map +1 -0
- package/dist/core/crypto/keylessRegistration.d.ts +2 -0
- package/dist/core/crypto/keylessRegistration.d.ts.map +1 -0
- package/dist/core/crypto/keylessRegistration.js +16 -0
- package/dist/core/crypto/keylessRegistration.js.map +1 -0
- package/dist/core/crypto/multiEd25519.d.ts +228 -0
- package/dist/core/crypto/multiEd25519.d.ts.map +1 -0
- package/dist/core/crypto/multiEd25519.js +361 -0
- package/dist/core/crypto/multiEd25519.js.map +1 -0
- package/dist/core/crypto/multiKey.d.ts +248 -0
- package/dist/core/crypto/multiKey.d.ts.map +1 -0
- package/dist/core/crypto/multiKey.js +417 -0
- package/dist/core/crypto/multiKey.js.map +1 -0
- package/dist/core/crypto/poseidon.d.ts +58 -0
- package/dist/core/crypto/poseidon.d.ts.map +1 -0
- package/dist/core/crypto/poseidon.js +196 -0
- package/dist/core/crypto/poseidon.js.map +1 -0
- package/dist/core/crypto/privateKey.d.ts +64 -0
- package/dist/core/crypto/privateKey.d.ts.map +1 -0
- package/dist/core/crypto/privateKey.js +74 -0
- package/dist/core/crypto/privateKey.js.map +1 -0
- package/dist/core/crypto/proof.d.ts +10 -0
- package/dist/core/crypto/proof.d.ts.map +1 -0
- package/dist/core/crypto/proof.js +10 -0
- package/dist/core/crypto/proof.js.map +1 -0
- package/dist/core/crypto/publicKey.d.ts +92 -0
- package/dist/core/crypto/publicKey.d.ts.map +1 -0
- package/dist/core/crypto/publicKey.js +54 -0
- package/dist/core/crypto/publicKey.js.map +1 -0
- package/dist/core/crypto/secp256k1.d.ts +303 -0
- package/dist/core/crypto/secp256k1.d.ts.map +1 -0
- package/dist/core/crypto/secp256k1.js +455 -0
- package/dist/core/crypto/secp256k1.js.map +1 -0
- package/dist/core/crypto/secp256r1.d.ts +304 -0
- package/dist/core/crypto/secp256r1.d.ts.map +1 -0
- package/dist/core/crypto/secp256r1.js +444 -0
- package/dist/core/crypto/secp256r1.js.map +1 -0
- package/dist/core/crypto/signature.d.ts +35 -0
- package/dist/core/crypto/signature.d.ts.map +1 -0
- package/dist/core/crypto/signature.js +55 -0
- package/dist/core/crypto/signature.js.map +1 -0
- package/dist/core/crypto/singleKey.d.ts +175 -0
- package/dist/core/crypto/singleKey.d.ts.map +1 -0
- package/dist/core/crypto/singleKey.js +324 -0
- package/dist/core/crypto/singleKey.js.map +1 -0
- package/dist/core/crypto/types.d.ts +6 -0
- package/dist/core/crypto/types.d.ts.map +1 -0
- package/dist/core/crypto/types.js +2 -0
- package/dist/core/crypto/types.js.map +1 -0
- package/dist/core/crypto/utils.d.ts +16 -0
- package/dist/core/crypto/utils.d.ts.map +1 -0
- package/dist/core/crypto/utils.js +64 -0
- package/dist/core/crypto/utils.js.map +1 -0
- package/dist/core/hex.d.ts +154 -0
- package/dist/core/hex.d.ts.map +1 -0
- package/dist/core/hex.js +219 -0
- package/dist/core/hex.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/errors/index.d.ts +125 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +367 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/functions/abstraction.d.ts +4 -0
- package/dist/functions/abstraction.d.ts.map +1 -0
- package/dist/functions/abstraction.js +6 -0
- package/dist/functions/abstraction.js.map +1 -0
- package/dist/functions/account.d.ts +8 -0
- package/dist/functions/account.d.ts.map +1 -0
- package/dist/functions/account.js +10 -0
- package/dist/functions/account.js.map +1 -0
- package/dist/functions/ans.d.ts +4 -0
- package/dist/functions/ans.d.ts.map +1 -0
- package/dist/functions/ans.js +6 -0
- package/dist/functions/ans.js.map +1 -0
- package/dist/functions/coin.d.ts +4 -0
- package/dist/functions/coin.d.ts.map +1 -0
- package/dist/functions/coin.js +6 -0
- package/dist/functions/coin.js.map +1 -0
- package/dist/functions/digitalAsset.d.ts +4 -0
- package/dist/functions/digitalAsset.d.ts.map +1 -0
- package/dist/functions/digitalAsset.js +6 -0
- package/dist/functions/digitalAsset.js.map +1 -0
- package/dist/functions/faucet.d.ts +4 -0
- package/dist/functions/faucet.d.ts.map +1 -0
- package/dist/functions/faucet.js +6 -0
- package/dist/functions/faucet.js.map +1 -0
- package/dist/functions/fungibleAsset.d.ts +4 -0
- package/dist/functions/fungibleAsset.d.ts.map +1 -0
- package/dist/functions/fungibleAsset.js +6 -0
- package/dist/functions/fungibleAsset.js.map +1 -0
- package/dist/functions/general.d.ts +4 -0
- package/dist/functions/general.d.ts.map +1 -0
- package/dist/functions/general.js +6 -0
- package/dist/functions/general.js.map +1 -0
- package/dist/functions/index.d.ts +18 -0
- package/dist/functions/index.d.ts.map +1 -0
- package/dist/functions/index.js +20 -0
- package/dist/functions/index.js.map +1 -0
- package/dist/functions/keyless.d.ts +16 -0
- package/dist/functions/keyless.d.ts.map +1 -0
- package/dist/functions/keyless.js +23 -0
- package/dist/functions/keyless.js.map +1 -0
- package/dist/functions/object.d.ts +4 -0
- package/dist/functions/object.d.ts.map +1 -0
- package/dist/functions/object.js +6 -0
- package/dist/functions/object.js.map +1 -0
- package/dist/functions/staking.d.ts +4 -0
- package/dist/functions/staking.d.ts.map +1 -0
- package/dist/functions/staking.js +6 -0
- package/dist/functions/staking.js.map +1 -0
- package/dist/functions/table.d.ts +4 -0
- package/dist/functions/table.d.ts.map +1 -0
- package/dist/functions/table.js +6 -0
- package/dist/functions/table.js.map +1 -0
- package/dist/functions/transaction.d.ts +5 -0
- package/dist/functions/transaction.d.ts.map +1 -0
- package/dist/functions/transaction.js +7 -0
- package/dist/functions/transaction.js.map +1 -0
- package/dist/functions/view.d.ts +3 -0
- package/dist/functions/view.d.ts.map +1 -0
- package/dist/functions/view.js +5 -0
- package/dist/functions/view.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/abstraction.d.ts +22 -0
- package/dist/internal/abstraction.d.ts.map +1 -0
- package/dist/internal/abstraction.js +54 -0
- package/dist/internal/abstraction.js.map +1 -0
- package/dist/internal/account.d.ts +457 -0
- package/dist/internal/account.d.ts.map +1 -0
- package/dist/internal/account.js +1164 -0
- package/dist/internal/account.js.map +1 -0
- package/dist/internal/ans.d.ts +414 -0
- package/dist/internal/ans.d.ts.map +1 -0
- package/dist/internal/ans.js +769 -0
- package/dist/internal/ans.js.map +1 -0
- package/dist/internal/coin.d.ts +27 -0
- package/dist/internal/coin.d.ts.map +1 -0
- package/dist/internal/coin.js +36 -0
- package/dist/internal/coin.js.map +1 -0
- package/dist/internal/digitalAsset.d.ts +577 -0
- package/dist/internal/digitalAsset.d.ts.map +1 -0
- package/dist/internal/digitalAsset.js +900 -0
- package/dist/internal/digitalAsset.js.map +1 -0
- package/dist/internal/encryptionKey.d.ts +20 -0
- package/dist/internal/encryptionKey.d.ts.map +1 -0
- package/dist/internal/encryptionKey.js +33 -0
- package/dist/internal/encryptionKey.js.map +1 -0
- package/dist/internal/faucet.d.ts +35 -0
- package/dist/internal/faucet.d.ts.map +1 -0
- package/dist/internal/faucet.js +53 -0
- package/dist/internal/faucet.js.map +1 -0
- package/dist/internal/fungibleAsset.d.ts +108 -0
- package/dist/internal/fungibleAsset.d.ts.map +1 -0
- package/dist/internal/fungibleAsset.js +155 -0
- package/dist/internal/fungibleAsset.js.map +1 -0
- package/dist/internal/general.d.ts +87 -0
- package/dist/internal/general.d.ts.map +1 -0
- package/dist/internal/general.js +136 -0
- package/dist/internal/general.js.map +1 -0
- package/dist/internal/keyless.d.ts +101 -0
- package/dist/internal/keyless.d.ts.map +1 -0
- package/dist/internal/keyless.js +191 -0
- package/dist/internal/keyless.js.map +1 -0
- package/dist/internal/object.d.ts +37 -0
- package/dist/internal/object.d.ts.map +1 -0
- package/dist/internal/object.js +53 -0
- package/dist/internal/object.js.map +1 -0
- package/dist/internal/staking.d.ts +53 -0
- package/dist/internal/staking.d.ts.map +1 -0
- package/dist/internal/staking.js +71 -0
- package/dist/internal/staking.js.map +1 -0
- package/dist/internal/table.d.ts +60 -0
- package/dist/internal/table.d.ts.map +1 -0
- package/dist/internal/table.js +86 -0
- package/dist/internal/table.js.map +1 -0
- package/dist/internal/transaction.d.ts +192 -0
- package/dist/internal/transaction.d.ts.map +1 -0
- package/dist/internal/transaction.js +399 -0
- package/dist/internal/transaction.js.map +1 -0
- package/dist/internal/transactionSubmission.d.ts +177 -0
- package/dist/internal/transactionSubmission.d.ts.map +1 -0
- package/dist/internal/transactionSubmission.js +411 -0
- package/dist/internal/transactionSubmission.js.map +1 -0
- package/dist/internal/utils/index.d.ts +2 -0
- package/dist/internal/utils/index.d.ts.map +1 -0
- package/dist/internal/utils/index.js +4 -0
- package/dist/internal/utils/index.js.map +1 -0
- package/dist/internal/utils/utils.d.ts +35 -0
- package/dist/internal/utils/utils.d.ts.map +1 -0
- package/dist/internal/utils/utils.js +63 -0
- package/dist/internal/utils/utils.js.map +1 -0
- package/dist/internal/view.d.ts +14 -0
- package/dist/internal/view.d.ts.map +1 -0
- package/dist/internal/view.js +41 -0
- package/dist/internal/view.js.map +1 -0
- package/dist/transactions/authenticator/account.d.ts +193 -0
- package/dist/transactions/authenticator/account.d.ts.map +1 -0
- package/dist/transactions/authenticator/account.js +346 -0
- package/dist/transactions/authenticator/account.js.map +1 -0
- package/dist/transactions/authenticator/index.d.ts +3 -0
- package/dist/transactions/authenticator/index.d.ts.map +1 -0
- package/dist/transactions/authenticator/index.js +5 -0
- package/dist/transactions/authenticator/index.js.map +1 -0
- package/dist/transactions/authenticator/transaction.d.ts +148 -0
- package/dist/transactions/authenticator/transaction.d.ts.map +1 -0
- package/dist/transactions/authenticator/transaction.js +239 -0
- package/dist/transactions/authenticator/transaction.js.map +1 -0
- package/dist/transactions/index.d.ts +7 -0
- package/dist/transactions/index.d.ts.map +1 -0
- package/dist/transactions/index.js +9 -0
- package/dist/transactions/index.js.map +1 -0
- package/dist/transactions/instances/chainId.d.ts +39 -0
- package/dist/transactions/instances/chainId.d.ts.map +1 -0
- package/dist/transactions/instances/chainId.js +48 -0
- package/dist/transactions/instances/chainId.js.map +1 -0
- package/dist/transactions/instances/encryptedPayload.d.ts +65 -0
- package/dist/transactions/instances/encryptedPayload.d.ts.map +1 -0
- package/dist/transactions/instances/encryptedPayload.js +122 -0
- package/dist/transactions/instances/encryptedPayload.js.map +1 -0
- package/dist/transactions/instances/identifier.d.ts +40 -0
- package/dist/transactions/instances/identifier.d.ts.map +1 -0
- package/dist/transactions/instances/identifier.js +49 -0
- package/dist/transactions/instances/identifier.js.map +1 -0
- package/dist/transactions/instances/index.d.ts +12 -0
- package/dist/transactions/instances/index.d.ts.map +1 -0
- package/dist/transactions/instances/index.js +14 -0
- package/dist/transactions/instances/index.js.map +1 -0
- package/dist/transactions/instances/moduleId.d.ts +52 -0
- package/dist/transactions/instances/moduleId.d.ts.map +1 -0
- package/dist/transactions/instances/moduleId.js +69 -0
- package/dist/transactions/instances/moduleId.js.map +1 -0
- package/dist/transactions/instances/multiAgentTransaction.d.ts +50 -0
- package/dist/transactions/instances/multiAgentTransaction.d.ts.map +1 -0
- package/dist/transactions/instances/multiAgentTransaction.js +75 -0
- package/dist/transactions/instances/multiAgentTransaction.js.map +1 -0
- package/dist/transactions/instances/rawTransaction.d.ts +142 -0
- package/dist/transactions/instances/rawTransaction.d.ts.map +1 -0
- package/dist/transactions/instances/rawTransaction.js +202 -0
- package/dist/transactions/instances/rawTransaction.js.map +1 -0
- package/dist/transactions/instances/rotationProofChallenge.d.ts +54 -0
- package/dist/transactions/instances/rotationProofChallenge.d.ts.map +1 -0
- package/dist/transactions/instances/rotationProofChallenge.js +70 -0
- package/dist/transactions/instances/rotationProofChallenge.js.map +1 -0
- package/dist/transactions/instances/signedTransaction.d.ts +53 -0
- package/dist/transactions/instances/signedTransaction.d.ts.map +1 -0
- package/dist/transactions/instances/signedTransaction.js +65 -0
- package/dist/transactions/instances/signedTransaction.js.map +1 -0
- package/dist/transactions/instances/simpleTransaction.d.ts +49 -0
- package/dist/transactions/instances/simpleTransaction.d.ts.map +1 -0
- package/dist/transactions/instances/simpleTransaction.js +73 -0
- package/dist/transactions/instances/simpleTransaction.js.map +1 -0
- package/dist/transactions/instances/transactionArgument.d.ts +71 -0
- package/dist/transactions/instances/transactionArgument.d.ts.map +1 -0
- package/dist/transactions/instances/transactionArgument.js +4 -0
- package/dist/transactions/instances/transactionArgument.js.map +1 -0
- package/dist/transactions/instances/transactionPayload.d.ts +369 -0
- package/dist/transactions/instances/transactionPayload.d.ts.map +1 -0
- package/dist/transactions/instances/transactionPayload.js +668 -0
- package/dist/transactions/instances/transactionPayload.js.map +1 -0
- package/dist/transactions/management/accountSequenceNumber.d.ts +114 -0
- package/dist/transactions/management/accountSequenceNumber.d.ts.map +1 -0
- package/dist/transactions/management/accountSequenceNumber.js +197 -0
- package/dist/transactions/management/accountSequenceNumber.js.map +1 -0
- package/dist/transactions/management/asyncQueue.d.ts +76 -0
- package/dist/transactions/management/asyncQueue.d.ts.map +1 -0
- package/dist/transactions/management/asyncQueue.js +105 -0
- package/dist/transactions/management/asyncQueue.js.map +1 -0
- package/dist/transactions/management/index.d.ts +3 -0
- package/dist/transactions/management/index.d.ts.map +1 -0
- package/dist/transactions/management/index.js +3 -0
- package/dist/transactions/management/index.js.map +1 -0
- package/dist/transactions/management/transactionWorker.d.ts +213 -0
- package/dist/transactions/management/transactionWorker.d.ts.map +1 -0
- package/dist/transactions/management/transactionWorker.js +347 -0
- package/dist/transactions/management/transactionWorker.js.map +1 -0
- package/dist/transactions/transactionBuilder/encryptPayload.d.ts +21 -0
- package/dist/transactions/transactionBuilder/encryptPayload.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/encryptPayload.js +157 -0
- package/dist/transactions/transactionBuilder/encryptPayload.js.map +1 -0
- package/dist/transactions/transactionBuilder/helpers.d.ts +184 -0
- package/dist/transactions/transactionBuilder/helpers.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/helpers.js +344 -0
- package/dist/transactions/transactionBuilder/helpers.js.map +1 -0
- package/dist/transactions/transactionBuilder/index.d.ts +6 -0
- package/dist/transactions/transactionBuilder/index.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/index.js +8 -0
- package/dist/transactions/transactionBuilder/index.js.map +1 -0
- package/dist/transactions/transactionBuilder/remoteAbi.d.ts +167 -0
- package/dist/transactions/transactionBuilder/remoteAbi.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/remoteAbi.js +1088 -0
- package/dist/transactions/transactionBuilder/remoteAbi.js.map +1 -0
- package/dist/transactions/transactionBuilder/signingMessage.d.ts +55 -0
- package/dist/transactions/transactionBuilder/signingMessage.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/signingMessage.js +94 -0
- package/dist/transactions/transactionBuilder/signingMessage.js.map +1 -0
- package/dist/transactions/transactionBuilder/structEnumParser.d.ts +225 -0
- package/dist/transactions/transactionBuilder/structEnumParser.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/structEnumParser.js +690 -0
- package/dist/transactions/transactionBuilder/structEnumParser.js.map +1 -0
- package/dist/transactions/transactionBuilder/transactionBuilder.d.ts +198 -0
- package/dist/transactions/transactionBuilder/transactionBuilder.d.ts.map +1 -0
- package/dist/transactions/transactionBuilder/transactionBuilder.js +586 -0
- package/dist/transactions/transactionBuilder/transactionBuilder.js.map +1 -0
- package/dist/transactions/typeTag/index.d.ts +544 -0
- package/dist/transactions/typeTag/index.d.ts.map +1 -0
- package/dist/transactions/typeTag/index.js +826 -0
- package/dist/transactions/typeTag/index.js.map +1 -0
- package/dist/transactions/typeTag/parser.d.ts +73 -0
- package/dist/transactions/typeTag/parser.d.ts.map +1 -0
- package/dist/transactions/typeTag/parser.js +368 -0
- package/dist/transactions/typeTag/parser.js.map +1 -0
- package/dist/transactions/types.d.ts +477 -0
- package/dist/transactions/types.d.ts.map +1 -0
- package/dist/transactions/types.js +4 -0
- package/dist/transactions/types.js.map +1 -0
- package/dist/types/abstraction.d.ts +14 -0
- package/dist/types/abstraction.d.ts.map +1 -0
- package/dist/types/abstraction.js +16 -0
- package/dist/types/abstraction.js.map +1 -0
- package/dist/types/ans.d.ts +113 -0
- package/dist/types/ans.d.ts.map +1 -0
- package/dist/types/ans.js +36 -0
- package/dist/types/ans.js.map +1 -0
- package/dist/types/generated/operations.d.ts +702 -0
- package/dist/types/generated/operations.d.ts.map +1 -0
- package/dist/types/generated/operations.js +2 -0
- package/dist/types/generated/operations.js.map +1 -0
- package/dist/types/generated/queries.d.ts +64 -0
- package/dist/types/generated/queries.d.ts.map +1 -0
- package/dist/types/generated/queries.js +729 -0
- package/dist/types/generated/queries.js.map +1 -0
- package/dist/types/generated/types.d.ts +9678 -0
- package/dist/types/generated/types.d.ts.map +1 -0
- package/dist/types/generated/types.js +1265 -0
- package/dist/types/generated/types.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/indexer.d.ts +182 -0
- package/dist/types/indexer.d.ts.map +1 -0
- package/dist/types/indexer.js +4 -0
- package/dist/types/indexer.js.map +1 -0
- package/dist/types/keyless.d.ts +101 -0
- package/dist/types/keyless.d.ts.map +1 -0
- package/dist/types/keyless.js +2 -0
- package/dist/types/keyless.js.map +1 -0
- package/dist/types/types.d.ts +1572 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +464 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/apiEndpoints.d.ts +50 -0
- package/dist/utils/apiEndpoints.d.ts.map +1 -0
- package/dist/utils/apiEndpoints.js +100 -0
- package/dist/utils/apiEndpoints.js.map +1 -0
- package/dist/utils/const.d.ts +117 -0
- package/dist/utils/const.d.ts.map +1 -0
- package/dist/utils/const.js +121 -0
- package/dist/utils/const.js.map +1 -0
- package/dist/utils/helpers.d.ts +203 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +330 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/memoize.d.ts +47 -0
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/utils/memoize.js +195 -0
- package/dist/utils/memoize.js.map +1 -0
- package/dist/utils/normalizeBundle.d.ts +27 -0
- package/dist/utils/normalizeBundle.d.ts.map +1 -0
- package/dist/utils/normalizeBundle.js +18 -0
- package/dist/utils/normalizeBundle.js.map +1 -0
- package/dist/utils/runtime.d.ts +44 -0
- package/dist/utils/runtime.d.ts.map +1 -0
- package/dist/utils/runtime.js +71 -0
- package/dist/utils/runtime.js.map +1 -0
- package/dist/version.d.ts +7 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +9 -0
- package/dist/version.js.map +1 -0
- package/package.json +107 -47
- package/src/account/AbstractKeylessAccount.ts +24 -30
- package/src/account/AbstractedAccount.ts +18 -16
- package/src/account/Account.ts +12 -9
- package/src/account/AccountUtils.ts +17 -20
- package/src/account/DerivableAbstractedAccount.ts +12 -10
- package/src/account/Ed25519Account.ts +8 -8
- package/src/account/EphemeralKeyPair.ts +9 -14
- package/src/account/FederatedKeylessAccount.ts +7 -7
- package/src/account/KeylessAccount.ts +12 -7
- package/src/account/MultiEd25519Account.ts +9 -9
- package/src/account/MultiKeyAccount.ts +15 -16
- package/src/account/SingleKeyAccount.ts +10 -13
- package/src/account/index.ts +17 -12
- package/src/account/keylessSigner.ts +34 -0
- package/src/account/utils.ts +3 -3
- package/src/api/account/abstraction.ts +12 -12
- package/src/api/account.ts +12 -12
- package/src/api/ans.ts +6 -6
- package/src/api/aptos.ts +115 -88
- package/src/api/aptosConfig.ts +6 -4
- package/src/api/coin.ts +6 -6
- package/src/api/digitalAsset.ts +9 -9
- package/src/api/faucet.ts +6 -6
- package/src/api/fungibleAsset.ts +10 -10
- package/src/api/general.ts +7 -7
- package/src/api/index.ts +2 -2
- package/src/api/keyless.ts +11 -7
- package/src/api/object.ts +6 -6
- package/src/api/staking.ts +11 -6
- package/src/api/table.ts +6 -6
- package/src/api/transaction.ts +13 -13
- package/src/api/transactionSubmission/build.ts +6 -6
- package/src/api/transactionSubmission/helpers.ts +2 -2
- package/src/api/transactionSubmission/management.ts +9 -5
- package/src/api/transactionSubmission/sign.ts +4 -4
- package/src/api/transactionSubmission/simulate.ts +6 -6
- package/src/api/transactionSubmission/submit.ts +5 -5
- package/src/api/utils.ts +4 -4
- package/src/bcs/consts.ts +14 -1
- package/src/bcs/deserializer.ts +3 -3
- package/src/bcs/index.ts +6 -6
- package/src/bcs/serializable/entryFunctionBytes.ts +5 -5
- package/src/bcs/serializable/fixedBytes.ts +5 -5
- package/src/bcs/serializable/movePrimitives.ts +34 -19
- package/src/bcs/serializable/moveStructs.ts +12 -12
- package/src/bcs/serializer.ts +24 -5
- package/src/cli/index.ts +2 -2
- package/src/cli/localNode.ts +1 -1
- package/src/cli/move.ts +6 -10
- package/src/client/core.ts +30 -15
- package/src/client/get.ts +6 -8
- package/src/client/index.ts +3 -3
- package/src/client/post.ts +4 -4
- package/src/core/account/index.ts +1 -1
- package/src/core/account/utils/address.ts +4 -4
- package/src/core/account/utils/index.ts +1 -1
- package/src/core/accountAddress.ts +8 -8
- package/src/core/authenticationKey.ts +22 -10
- package/src/core/crypto/abstraction.ts +7 -7
- package/src/core/crypto/anyKeyRegistry.ts +90 -0
- package/src/core/crypto/deserializationUtils.ts +11 -19
- package/src/core/crypto/ed25519.ts +22 -13
- package/src/core/crypto/encryption/ciphertext.ts +210 -0
- package/src/core/crypto/encryption/curveSerialization.ts +46 -0
- package/src/core/crypto/encryption/fieldSerialization.ts +82 -0
- package/src/core/crypto/encryption/index.ts +14 -0
- package/src/core/crypto/encryption/symmetric.ts +148 -0
- package/src/core/crypto/ephemeral.ts +7 -7
- package/src/core/crypto/federatedKeyless.ts +8 -8
- package/src/core/crypto/hdKey.ts +7 -3
- package/src/core/crypto/index.ts +24 -17
- package/src/core/crypto/keyless.ts +33 -33
- package/src/core/crypto/keylessRegistration.ts +34 -0
- package/src/core/crypto/multiEd25519.ts +7 -7
- package/src/core/crypto/multiKey.ts +8 -8
- package/src/core/crypto/poseidon.ts +2 -2
- package/src/core/crypto/privateKey.ts +5 -5
- package/src/core/crypto/proof.ts +1 -1
- package/src/core/crypto/publicKey.ts +6 -6
- package/src/core/crypto/secp256k1.ts +26 -19
- package/src/core/crypto/secp256r1.ts +26 -19
- package/src/core/crypto/signature.ts +2 -2
- package/src/core/crypto/singleKey.ts +58 -39
- package/src/core/crypto/types.ts +4 -4
- package/src/core/crypto/utils.ts +16 -12
- package/src/core/hex.ts +3 -3
- package/src/core/index.ts +6 -6
- package/src/errors/index.ts +3 -3
- package/src/functions/abstraction.ts +11 -0
- package/src/functions/account.ts +38 -0
- package/src/functions/ans.ts +26 -0
- package/src/functions/coin.ts +7 -0
- package/src/functions/digitalAsset.ts +32 -0
- package/src/functions/faucet.ts +7 -0
- package/src/functions/fungibleAsset.ts +13 -0
- package/src/functions/general.ts +14 -0
- package/src/functions/index.ts +21 -0
- package/src/functions/keyless.ts +42 -0
- package/src/functions/object.ts +10 -0
- package/src/functions/staking.ts +11 -0
- package/src/functions/table.ts +11 -0
- package/src/functions/transaction.ts +32 -0
- package/src/functions/view.ts +6 -0
- package/src/index.ts +36 -10
- package/src/internal/abstraction.ts +10 -10
- package/src/internal/account.ts +79 -51
- package/src/internal/ans.ts +31 -24
- package/src/internal/coin.ts +8 -8
- package/src/internal/digitalAsset.ts +14 -15
- package/src/internal/encryptionKey.ts +53 -0
- package/src/internal/faucet.ts +6 -6
- package/src/internal/fungibleAsset.ts +11 -11
- package/src/internal/general.ts +12 -7
- package/src/internal/keyless.ts +21 -18
- package/src/internal/object.ts +7 -7
- package/src/internal/staking.ts +6 -6
- package/src/internal/table.ts +7 -7
- package/src/internal/transaction.ts +11 -10
- package/src/internal/transactionSubmission.ts +92 -32
- package/src/internal/utils/index.ts +1 -1
- package/src/internal/utils/utils.ts +5 -5
- package/src/internal/view.ts +5 -5
- package/src/transactions/authenticator/account.ts +12 -12
- package/src/transactions/authenticator/index.ts +2 -2
- package/src/transactions/authenticator/transaction.ts +6 -6
- package/src/transactions/index.ts +6 -6
- package/src/transactions/instances/chainId.ts +2 -2
- package/src/transactions/instances/encryptedPayload.ts +149 -0
- package/src/transactions/instances/identifier.ts +2 -2
- package/src/transactions/instances/index.ts +11 -10
- package/src/transactions/instances/moduleId.ts +5 -5
- package/src/transactions/instances/multiAgentTransaction.ts +4 -4
- package/src/transactions/instances/rawTransaction.ts +6 -6
- package/src/transactions/instances/rotationProofChallenge.ts +5 -5
- package/src/transactions/instances/signedTransaction.ts +4 -4
- package/src/transactions/instances/simpleTransaction.ts +4 -4
- package/src/transactions/instances/transactionArgument.ts +2 -2
- package/src/transactions/instances/transactionPayload.ts +127 -28
- package/src/transactions/management/accountSequenceNumber.ts +13 -14
- package/src/transactions/management/index.ts +2 -2
- package/src/transactions/management/transactionWorker.ts +10 -10
- package/src/transactions/transactionBuilder/encryptPayload.ts +235 -0
- package/src/transactions/transactionBuilder/helpers.ts +8 -5
- package/src/transactions/transactionBuilder/index.ts +5 -4
- package/src/transactions/transactionBuilder/remoteAbi.ts +664 -25
- package/src/transactions/transactionBuilder/signingMessage.ts +6 -6
- package/src/transactions/transactionBuilder/structEnumParser.ts +848 -0
- package/src/transactions/transactionBuilder/transactionBuilder.ts +130 -72
- package/src/transactions/typeTag/index.ts +5 -5
- package/src/transactions/typeTag/parser.ts +3 -3
- package/src/transactions/types.ts +103 -19
- package/src/types/ans.ts +13 -5
- package/src/types/generated/operations.ts +4 -3
- package/src/types/generated/queries.ts +1 -1
- package/src/types/index.ts +3 -3
- package/src/types/indexer.ts +1 -1
- package/src/types/types.ts +74 -6
- package/src/utils/const.ts +14 -1
- package/src/utils/helpers.ts +58 -18
- package/src/utils/index.ts +4 -4
- package/src/utils/normalizeBundle.ts +1 -1
- package/src/utils/runtime.ts +86 -0
- package/src/version.ts +1 -1
- package/dist/common/account-DGpxrkAn.d.ts +0 -8156
- package/dist/common/chunk-2VR6ONNW.js +0 -4
- package/dist/common/chunk-2VR6ONNW.js.map +0 -1
- package/dist/common/cli/index.d.ts +0 -316
- package/dist/common/cli/index.js +0 -2
- package/dist/common/cli/index.js.map +0 -1
- package/dist/common/index.d.ts +0 -10912
- package/dist/common/index.js +0 -476
- package/dist/common/index.js.map +0 -1
- package/dist/esm/Ed25519Account-BCt2cu_M.d.mts +0 -628
- package/dist/esm/account/AbstractKeylessAccount.d.mts +0 -336
- package/dist/esm/account/AbstractKeylessAccount.mjs +0 -2
- package/dist/esm/account/AbstractKeylessAccount.mjs.map +0 -1
- package/dist/esm/account/AbstractedAccount.d.mts +0 -64
- package/dist/esm/account/AbstractedAccount.mjs +0 -2
- package/dist/esm/account/AbstractedAccount.mjs.map +0 -1
- package/dist/esm/account/Account.d.mts +0 -8
- package/dist/esm/account/Account.mjs +0 -2
- package/dist/esm/account/Account.mjs.map +0 -1
- package/dist/esm/account/AccountUtils.d.mts +0 -38
- package/dist/esm/account/AccountUtils.mjs +0 -2
- package/dist/esm/account/AccountUtils.mjs.map +0 -1
- package/dist/esm/account/DerivableAbstractedAccount.d.mts +0 -59
- package/dist/esm/account/DerivableAbstractedAccount.mjs +0 -2
- package/dist/esm/account/DerivableAbstractedAccount.mjs.map +0 -1
- package/dist/esm/account/Ed25519Account.d.mts +0 -8
- package/dist/esm/account/Ed25519Account.mjs +0 -2
- package/dist/esm/account/Ed25519Account.mjs.map +0 -1
- package/dist/esm/account/EphemeralKeyPair.d.mts +0 -165
- package/dist/esm/account/EphemeralKeyPair.mjs +0 -2
- package/dist/esm/account/EphemeralKeyPair.mjs.map +0 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +0 -118
- package/dist/esm/account/FederatedKeylessAccount.mjs +0 -2
- package/dist/esm/account/FederatedKeylessAccount.mjs.map +0 -1
- package/dist/esm/account/KeylessAccount.d.mts +0 -124
- package/dist/esm/account/KeylessAccount.mjs +0 -2
- package/dist/esm/account/KeylessAccount.mjs.map +0 -1
- package/dist/esm/account/MultiEd25519Account.d.mts +0 -102
- package/dist/esm/account/MultiEd25519Account.mjs +0 -2
- package/dist/esm/account/MultiEd25519Account.mjs.map +0 -1
- package/dist/esm/account/MultiKeyAccount.d.mts +0 -206
- package/dist/esm/account/MultiKeyAccount.mjs +0 -2
- package/dist/esm/account/MultiKeyAccount.mjs.map +0 -1
- package/dist/esm/account/SingleKeyAccount.d.mts +0 -8
- package/dist/esm/account/SingleKeyAccount.mjs +0 -2
- package/dist/esm/account/SingleKeyAccount.mjs.map +0 -1
- package/dist/esm/account/index.d.mts +0 -24
- package/dist/esm/account/index.mjs +0 -2
- package/dist/esm/account/index.mjs.map +0 -1
- package/dist/esm/account/utils.d.mts +0 -14
- package/dist/esm/account/utils.mjs +0 -2
- package/dist/esm/account/utils.mjs.map +0 -1
- package/dist/esm/account-Dg0ejXHy.d.mts +0 -7358
- package/dist/esm/api/account/abstraction.d.mts +0 -181
- package/dist/esm/api/account/abstraction.mjs +0 -2
- package/dist/esm/api/account/abstraction.mjs.map +0 -1
- package/dist/esm/api/account.d.mts +0 -852
- package/dist/esm/api/account.mjs +0 -2
- package/dist/esm/api/account.mjs.map +0 -1
- package/dist/esm/api/ans.d.mts +0 -570
- package/dist/esm/api/ans.mjs +0 -2
- package/dist/esm/api/ans.mjs.map +0 -1
- package/dist/esm/api/aptos.d.mts +0 -114
- package/dist/esm/api/aptos.mjs +0 -2
- package/dist/esm/api/aptos.mjs.map +0 -1
- package/dist/esm/api/aptosConfig.d.mts +0 -7
- package/dist/esm/api/aptosConfig.mjs +0 -2
- package/dist/esm/api/aptosConfig.mjs.map +0 -1
- package/dist/esm/api/coin.d.mts +0 -81
- package/dist/esm/api/coin.mjs +0 -2
- package/dist/esm/api/coin.mjs.map +0 -1
- package/dist/esm/api/digitalAsset.d.mts +0 -1030
- package/dist/esm/api/digitalAsset.mjs +0 -2
- package/dist/esm/api/digitalAsset.mjs.map +0 -1
- package/dist/esm/api/faucet.d.mts +0 -80
- package/dist/esm/api/faucet.mjs +0 -2
- package/dist/esm/api/faucet.mjs.map +0 -1
- package/dist/esm/api/fungibleAsset.d.mts +0 -288
- package/dist/esm/api/fungibleAsset.mjs +0 -2
- package/dist/esm/api/fungibleAsset.mjs.map +0 -1
- package/dist/esm/api/general.d.mts +0 -303
- package/dist/esm/api/general.mjs +0 -2
- package/dist/esm/api/general.mjs.map +0 -1
- package/dist/esm/api/index.d.mts +0 -47
- package/dist/esm/api/index.mjs +0 -2
- package/dist/esm/api/index.mjs.map +0 -1
- package/dist/esm/api/keyless.d.mts +0 -170
- package/dist/esm/api/keyless.mjs +0 -2
- package/dist/esm/api/keyless.mjs.map +0 -1
- package/dist/esm/api/object.d.mts +0 -80
- package/dist/esm/api/object.mjs +0 -2
- package/dist/esm/api/object.mjs.map +0 -1
- package/dist/esm/api/staking.d.mts +0 -134
- package/dist/esm/api/staking.mjs +0 -2
- package/dist/esm/api/staking.mjs.map +0 -1
- package/dist/esm/api/table.d.mts +0 -169
- package/dist/esm/api/table.mjs +0 -2
- package/dist/esm/api/table.mjs.map +0 -1
- package/dist/esm/api/transaction.d.mts +0 -681
- package/dist/esm/api/transaction.mjs +0 -2
- package/dist/esm/api/transaction.mjs.map +0 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +0 -141
- package/dist/esm/api/transactionSubmission/build.mjs +0 -2
- package/dist/esm/api/transactionSubmission/build.mjs.map +0 -1
- package/dist/esm/api/transactionSubmission/helpers.d.mts +0 -98
- package/dist/esm/api/transactionSubmission/helpers.mjs +0 -2
- package/dist/esm/api/transactionSubmission/helpers.mjs.map +0 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +0 -168
- package/dist/esm/api/transactionSubmission/management.mjs +0 -2
- package/dist/esm/api/transactionSubmission/management.mjs.map +0 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +0 -124
- package/dist/esm/api/transactionSubmission/sign.mjs +0 -2
- package/dist/esm/api/transactionSubmission/sign.mjs.map +0 -1
- package/dist/esm/api/transactionSubmission/simulate.d.mts +0 -181
- package/dist/esm/api/transactionSubmission/simulate.mjs +0 -2
- package/dist/esm/api/transactionSubmission/simulate.mjs.map +0 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +0 -142
- package/dist/esm/api/transactionSubmission/submit.mjs +0 -2
- package/dist/esm/api/transactionSubmission/submit.mjs.map +0 -1
- package/dist/esm/api/utils.d.mts +0 -45
- package/dist/esm/api/utils.mjs +0 -2
- package/dist/esm/api/utils.mjs.map +0 -1
- package/dist/esm/bcs/consts.d.mts +0 -28
- package/dist/esm/bcs/consts.mjs +0 -2
- package/dist/esm/bcs/consts.mjs.map +0 -1
- package/dist/esm/bcs/deserializer.d.mts +0 -7
- package/dist/esm/bcs/deserializer.mjs +0 -2
- package/dist/esm/bcs/deserializer.mjs.map +0 -1
- package/dist/esm/bcs/index.d.mts +0 -8
- package/dist/esm/bcs/index.mjs +0 -2
- package/dist/esm/bcs/index.mjs.map +0 -1
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +0 -65
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +0 -2
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs.map +0 -1
- package/dist/esm/bcs/serializable/fixedBytes.d.mts +0 -7
- package/dist/esm/bcs/serializable/fixedBytes.mjs +0 -2
- package/dist/esm/bcs/serializable/fixedBytes.mjs.map +0 -1
- package/dist/esm/bcs/serializable/movePrimitives.d.mts +0 -7
- package/dist/esm/bcs/serializable/movePrimitives.mjs +0 -2
- package/dist/esm/bcs/serializable/movePrimitives.mjs.map +0 -1
- package/dist/esm/bcs/serializable/moveStructs.d.mts +0 -7
- package/dist/esm/bcs/serializable/moveStructs.mjs +0 -2
- package/dist/esm/bcs/serializable/moveStructs.mjs.map +0 -1
- package/dist/esm/bcs/serializer.d.mts +0 -7
- package/dist/esm/bcs/serializer.mjs +0 -2
- package/dist/esm/bcs/serializer.mjs.map +0 -1
- package/dist/esm/chunk-2CH5QB7U.mjs +0 -4
- package/dist/esm/chunk-2CH5QB7U.mjs.map +0 -1
- package/dist/esm/chunk-2VBY2V4Z.mjs +0 -2
- package/dist/esm/chunk-2VBY2V4Z.mjs.map +0 -1
- package/dist/esm/chunk-44MMFX5F.mjs +0 -2
- package/dist/esm/chunk-44MMFX5F.mjs.map +0 -1
- package/dist/esm/chunk-4QMXOWHP.mjs +0 -1
- package/dist/esm/chunk-4QMXOWHP.mjs.map +0 -1
- package/dist/esm/chunk-4WPQQPUF.mjs +0 -1
- package/dist/esm/chunk-4WPQQPUF.mjs.map +0 -1
- package/dist/esm/chunk-5HHC2YG4.mjs +0 -2
- package/dist/esm/chunk-5HHC2YG4.mjs.map +0 -1
- package/dist/esm/chunk-5HXLZHDW.mjs +0 -1
- package/dist/esm/chunk-5HXLZHDW.mjs.map +0 -1
- package/dist/esm/chunk-5LMLIRGK.mjs +0 -2
- package/dist/esm/chunk-5LMLIRGK.mjs.map +0 -1
- package/dist/esm/chunk-66F7RP7K.mjs +0 -2
- package/dist/esm/chunk-66F7RP7K.mjs.map +0 -1
- package/dist/esm/chunk-7ECCT6PK.mjs +0 -1
- package/dist/esm/chunk-7ECCT6PK.mjs.map +0 -1
- package/dist/esm/chunk-A5L76YP7.mjs +0 -2
- package/dist/esm/chunk-A5L76YP7.mjs.map +0 -1
- package/dist/esm/chunk-A7SQEK23.mjs +0 -2
- package/dist/esm/chunk-A7SQEK23.mjs.map +0 -1
- package/dist/esm/chunk-ASFFADWS.mjs +0 -7
- package/dist/esm/chunk-ASFFADWS.mjs.map +0 -1
- package/dist/esm/chunk-BT742BFQ.mjs +0 -2
- package/dist/esm/chunk-BT742BFQ.mjs.map +0 -1
- package/dist/esm/chunk-C2KVLMPH.mjs +0 -2
- package/dist/esm/chunk-C2KVLMPH.mjs.map +0 -1
- package/dist/esm/chunk-C3Q23D22.mjs +0 -2
- package/dist/esm/chunk-C3Q23D22.mjs.map +0 -1
- package/dist/esm/chunk-CD3EZCI5.mjs +0 -2
- package/dist/esm/chunk-CD3EZCI5.mjs.map +0 -1
- package/dist/esm/chunk-DE5K76I2.mjs +0 -1
- package/dist/esm/chunk-DE5K76I2.mjs.map +0 -1
- package/dist/esm/chunk-E3DHFXN4.mjs +0 -2
- package/dist/esm/chunk-E3DHFXN4.mjs.map +0 -1
- package/dist/esm/chunk-EIWPAECI.mjs +0 -2
- package/dist/esm/chunk-EIWPAECI.mjs.map +0 -1
- package/dist/esm/chunk-F45HI7LU.mjs +0 -2
- package/dist/esm/chunk-F45HI7LU.mjs.map +0 -1
- package/dist/esm/chunk-F4LHBGG2.mjs +0 -2
- package/dist/esm/chunk-F4LHBGG2.mjs.map +0 -1
- package/dist/esm/chunk-F5KAWYF5.mjs +0 -2
- package/dist/esm/chunk-F5KAWYF5.mjs.map +0 -1
- package/dist/esm/chunk-FDHHQUS3.mjs +0 -4
- package/dist/esm/chunk-FDHHQUS3.mjs.map +0 -1
- package/dist/esm/chunk-FZY4PMEE.mjs +0 -1
- package/dist/esm/chunk-FZY4PMEE.mjs.map +0 -1
- package/dist/esm/chunk-G3MHXDYA.mjs +0 -1
- package/dist/esm/chunk-G3MHXDYA.mjs.map +0 -1
- package/dist/esm/chunk-G5OONGWS.mjs +0 -488
- package/dist/esm/chunk-G5OONGWS.mjs.map +0 -1
- package/dist/esm/chunk-HGLO5LDS.mjs +0 -1
- package/dist/esm/chunk-HGLO5LDS.mjs.map +0 -1
- package/dist/esm/chunk-IF4UU2MT.mjs +0 -2
- package/dist/esm/chunk-IF4UU2MT.mjs.map +0 -1
- package/dist/esm/chunk-ITZN23GU.mjs +0 -2
- package/dist/esm/chunk-ITZN23GU.mjs.map +0 -1
- package/dist/esm/chunk-J73MMLF7.mjs +0 -2
- package/dist/esm/chunk-J73MMLF7.mjs.map +0 -1
- package/dist/esm/chunk-KDMSOCZY.mjs +0 -2
- package/dist/esm/chunk-KDMSOCZY.mjs.map +0 -1
- package/dist/esm/chunk-LTZRUAGD.mjs +0 -2
- package/dist/esm/chunk-LTZRUAGD.mjs.map +0 -1
- package/dist/esm/chunk-M65PXVDO.mjs +0 -2
- package/dist/esm/chunk-M65PXVDO.mjs.map +0 -1
- package/dist/esm/chunk-NECL5FCQ.mjs +0 -1
- package/dist/esm/chunk-NECL5FCQ.mjs.map +0 -1
- package/dist/esm/chunk-NP2IAUME.mjs +0 -2
- package/dist/esm/chunk-NP2IAUME.mjs.map +0 -1
- package/dist/esm/chunk-NTREJSOS.mjs +0 -2
- package/dist/esm/chunk-NTREJSOS.mjs.map +0 -1
- package/dist/esm/chunk-OAK2V35A.mjs +0 -2
- package/dist/esm/chunk-OAK2V35A.mjs.map +0 -1
- package/dist/esm/chunk-ODNZJSOC.mjs +0 -2
- package/dist/esm/chunk-ODNZJSOC.mjs.map +0 -1
- package/dist/esm/chunk-P5HCJN3A.mjs +0 -2
- package/dist/esm/chunk-P5HCJN3A.mjs.map +0 -1
- package/dist/esm/chunk-POQ4FT4E.mjs +0 -2
- package/dist/esm/chunk-POQ4FT4E.mjs.map +0 -1
- package/dist/esm/chunk-Q5ESW36C.mjs +0 -2
- package/dist/esm/chunk-Q5ESW36C.mjs.map +0 -1
- package/dist/esm/chunk-QFUXOL34.mjs +0 -2
- package/dist/esm/chunk-QFUXOL34.mjs.map +0 -1
- package/dist/esm/chunk-QRW7MQDA.mjs +0 -2
- package/dist/esm/chunk-QRW7MQDA.mjs.map +0 -1
- package/dist/esm/chunk-R7PCBRRT.mjs +0 -2
- package/dist/esm/chunk-R7PCBRRT.mjs.map +0 -1
- package/dist/esm/chunk-STY74NUA.mjs +0 -2
- package/dist/esm/chunk-STY74NUA.mjs.map +0 -1
- package/dist/esm/chunk-TAHLOBRG.mjs +0 -2
- package/dist/esm/chunk-TAHLOBRG.mjs.map +0 -1
- package/dist/esm/chunk-TEI33TO7.mjs +0 -2
- package/dist/esm/chunk-TEI33TO7.mjs.map +0 -1
- package/dist/esm/chunk-TSPG5VED.mjs +0 -2
- package/dist/esm/chunk-TSPG5VED.mjs.map +0 -1
- package/dist/esm/chunk-UBPX6GOS.mjs +0 -2
- package/dist/esm/chunk-UBPX6GOS.mjs.map +0 -1
- package/dist/esm/chunk-UPHD2B4I.mjs +0 -2
- package/dist/esm/chunk-UPHD2B4I.mjs.map +0 -1
- package/dist/esm/chunk-UVJW4DPP.mjs +0 -2
- package/dist/esm/chunk-UVJW4DPP.mjs.map +0 -1
- package/dist/esm/chunk-UYG4XVVO.mjs +0 -2
- package/dist/esm/chunk-UYG4XVVO.mjs.map +0 -1
- package/dist/esm/chunk-UYVPNUH3.mjs +0 -1
- package/dist/esm/chunk-UYVPNUH3.mjs.map +0 -1
- package/dist/esm/chunk-V3MBJJTL.mjs +0 -1
- package/dist/esm/chunk-V3MBJJTL.mjs.map +0 -1
- package/dist/esm/chunk-WD3SPNH7.mjs +0 -2
- package/dist/esm/chunk-WD3SPNH7.mjs.map +0 -1
- package/dist/esm/chunk-WFZFTRRS.mjs +0 -2
- package/dist/esm/chunk-WFZFTRRS.mjs.map +0 -1
- package/dist/esm/chunk-WVKZFOPV.mjs +0 -2
- package/dist/esm/chunk-WVKZFOPV.mjs.map +0 -1
- package/dist/esm/chunk-X2TPNKLV.mjs +0 -2
- package/dist/esm/chunk-X2TPNKLV.mjs.map +0 -1
- package/dist/esm/chunk-YJVBGKWM.mjs +0 -2
- package/dist/esm/chunk-YJVBGKWM.mjs.map +0 -1
- package/dist/esm/chunk-ZP4DWSQA.mjs +0 -2
- package/dist/esm/chunk-ZP4DWSQA.mjs.map +0 -1
- package/dist/esm/cli/index.d.mts +0 -10
- package/dist/esm/cli/index.mjs +0 -2
- package/dist/esm/cli/index.mjs.map +0 -1
- package/dist/esm/cli/localNode.d.mts +0 -67
- package/dist/esm/cli/localNode.mjs +0 -2
- package/dist/esm/cli/localNode.mjs.map +0 -1
- package/dist/esm/cli/move.d.mts +0 -257
- package/dist/esm/cli/move.mjs +0 -2
- package/dist/esm/cli/move.mjs.map +0 -1
- package/dist/esm/client/core.d.mts +0 -43
- package/dist/esm/client/core.mjs +0 -2
- package/dist/esm/client/core.mjs.map +0 -1
- package/dist/esm/client/get.d.mts +0 -125
- package/dist/esm/client/get.mjs +0 -2
- package/dist/esm/client/get.mjs.map +0 -1
- package/dist/esm/client/index.d.mts +0 -10
- package/dist/esm/client/index.mjs +0 -2
- package/dist/esm/client/index.mjs.map +0 -1
- package/dist/esm/client/post.d.mts +0 -161
- package/dist/esm/client/post.mjs +0 -2
- package/dist/esm/client/post.mjs.map +0 -1
- package/dist/esm/core/account/index.d.mts +0 -8
- package/dist/esm/core/account/index.mjs +0 -2
- package/dist/esm/core/account/index.mjs.map +0 -1
- package/dist/esm/core/account/utils/address.d.mts +0 -55
- package/dist/esm/core/account/utils/address.mjs +0 -2
- package/dist/esm/core/account/utils/address.mjs.map +0 -1
- package/dist/esm/core/account/utils/index.d.mts +0 -8
- package/dist/esm/core/account/utils/index.mjs +0 -2
- package/dist/esm/core/account/utils/index.mjs.map +0 -1
- package/dist/esm/core/accountAddress.d.mts +0 -7
- package/dist/esm/core/accountAddress.mjs +0 -2
- package/dist/esm/core/accountAddress.mjs.map +0 -1
- package/dist/esm/core/authenticationKey.d.mts +0 -7
- package/dist/esm/core/authenticationKey.mjs +0 -2
- package/dist/esm/core/authenticationKey.mjs.map +0 -1
- package/dist/esm/core/common.d.mts +0 -52
- package/dist/esm/core/common.mjs +0 -2
- package/dist/esm/core/common.mjs.map +0 -1
- package/dist/esm/core/crypto/abstraction.d.mts +0 -24
- package/dist/esm/core/crypto/abstraction.mjs +0 -2
- package/dist/esm/core/crypto/abstraction.mjs.map +0 -1
- package/dist/esm/core/crypto/deserializationUtils.d.mts +0 -28
- package/dist/esm/core/crypto/deserializationUtils.mjs +0 -2
- package/dist/esm/core/crypto/deserializationUtils.mjs.map +0 -1
- package/dist/esm/core/crypto/ed25519.d.mts +0 -7
- package/dist/esm/core/crypto/ed25519.mjs +0 -2
- package/dist/esm/core/crypto/ed25519.mjs.map +0 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +0 -116
- package/dist/esm/core/crypto/ephemeral.mjs +0 -2
- package/dist/esm/core/crypto/ephemeral.mjs.map +0 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +0 -13
- package/dist/esm/core/crypto/federatedKeyless.mjs +0 -2
- package/dist/esm/core/crypto/federatedKeyless.mjs.map +0 -1
- package/dist/esm/core/crypto/hdKey.d.mts +0 -95
- package/dist/esm/core/crypto/hdKey.mjs +0 -2
- package/dist/esm/core/crypto/hdKey.mjs.map +0 -1
- package/dist/esm/core/crypto/index.d.mts +0 -19
- package/dist/esm/core/crypto/index.mjs +0 -2
- package/dist/esm/core/crypto/index.mjs.map +0 -1
- package/dist/esm/core/crypto/keyless.d.mts +0 -13
- package/dist/esm/core/crypto/keyless.mjs +0 -2
- package/dist/esm/core/crypto/keyless.mjs.map +0 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +0 -7
- package/dist/esm/core/crypto/multiEd25519.mjs +0 -2
- package/dist/esm/core/crypto/multiEd25519.mjs.map +0 -1
- package/dist/esm/core/crypto/multiKey.d.mts +0 -7
- package/dist/esm/core/crypto/multiKey.mjs +0 -2
- package/dist/esm/core/crypto/multiKey.mjs.map +0 -1
- package/dist/esm/core/crypto/poseidon.d.mts +0 -59
- package/dist/esm/core/crypto/poseidon.mjs +0 -2
- package/dist/esm/core/crypto/poseidon.mjs.map +0 -1
- package/dist/esm/core/crypto/privateKey.d.mts +0 -7
- package/dist/esm/core/crypto/privateKey.mjs +0 -2
- package/dist/esm/core/crypto/privateKey.mjs.map +0 -1
- package/dist/esm/core/crypto/proof.d.mts +0 -18
- package/dist/esm/core/crypto/proof.mjs +0 -2
- package/dist/esm/core/crypto/proof.mjs.map +0 -1
- package/dist/esm/core/crypto/publicKey.d.mts +0 -7
- package/dist/esm/core/crypto/publicKey.mjs +0 -2
- package/dist/esm/core/crypto/publicKey.mjs.map +0 -1
- package/dist/esm/core/crypto/secp256k1.d.mts +0 -7
- package/dist/esm/core/crypto/secp256k1.mjs +0 -2
- package/dist/esm/core/crypto/secp256k1.mjs.map +0 -1
- package/dist/esm/core/crypto/secp256r1.d.mts +0 -306
- package/dist/esm/core/crypto/secp256r1.mjs +0 -2
- package/dist/esm/core/crypto/secp256r1.mjs.map +0 -1
- package/dist/esm/core/crypto/signature.d.mts +0 -7
- package/dist/esm/core/crypto/signature.mjs +0 -2
- package/dist/esm/core/crypto/signature.mjs.map +0 -1
- package/dist/esm/core/crypto/singleKey.d.mts +0 -7
- package/dist/esm/core/crypto/singleKey.mjs +0 -2
- package/dist/esm/core/crypto/singleKey.mjs.map +0 -1
- package/dist/esm/core/crypto/types.d.mts +0 -11
- package/dist/esm/core/crypto/types.mjs +0 -2
- package/dist/esm/core/crypto/types.mjs.map +0 -1
- package/dist/esm/core/crypto/utils.d.mts +0 -23
- package/dist/esm/core/crypto/utils.mjs +0 -2
- package/dist/esm/core/crypto/utils.mjs.map +0 -1
- package/dist/esm/core/hex.d.mts +0 -7
- package/dist/esm/core/hex.mjs +0 -2
- package/dist/esm/core/hex.mjs.map +0 -1
- package/dist/esm/core/index.d.mts +0 -20
- package/dist/esm/core/index.mjs +0 -2
- package/dist/esm/core/index.mjs.map +0 -1
- package/dist/esm/errors/index.d.mts +0 -131
- package/dist/esm/errors/index.mjs +0 -2
- package/dist/esm/errors/index.mjs.map +0 -1
- package/dist/esm/federatedKeyless-BYLu31Sa.d.mts +0 -880
- package/dist/esm/index.d.mts +0 -72
- package/dist/esm/index.mjs +0 -2
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/internal/abstraction.d.mts +0 -27
- package/dist/esm/internal/abstraction.mjs +0 -2
- package/dist/esm/internal/abstraction.mjs.map +0 -1
- package/dist/esm/internal/account.d.mts +0 -453
- package/dist/esm/internal/account.mjs +0 -2
- package/dist/esm/internal/account.mjs.map +0 -1
- package/dist/esm/internal/ans.d.mts +0 -417
- package/dist/esm/internal/ans.mjs +0 -2
- package/dist/esm/internal/ans.mjs.map +0 -1
- package/dist/esm/internal/coin.d.mts +0 -31
- package/dist/esm/internal/coin.mjs +0 -2
- package/dist/esm/internal/coin.mjs.map +0 -1
- package/dist/esm/internal/digitalAsset.d.mts +0 -580
- package/dist/esm/internal/digitalAsset.mjs +0 -2
- package/dist/esm/internal/digitalAsset.mjs.map +0 -1
- package/dist/esm/internal/faucet.d.mts +0 -42
- package/dist/esm/internal/faucet.mjs +0 -2
- package/dist/esm/internal/faucet.mjs.map +0 -1
- package/dist/esm/internal/fungibleAsset.d.mts +0 -112
- package/dist/esm/internal/fungibleAsset.mjs +0 -2
- package/dist/esm/internal/fungibleAsset.mjs.map +0 -1
- package/dist/esm/internal/general.d.mts +0 -94
- package/dist/esm/internal/general.mjs +0 -2
- package/dist/esm/internal/general.mjs.map +0 -1
- package/dist/esm/internal/keyless.d.mts +0 -111
- package/dist/esm/internal/keyless.mjs +0 -2
- package/dist/esm/internal/keyless.mjs.map +0 -1
- package/dist/esm/internal/object.d.mts +0 -42
- package/dist/esm/internal/object.mjs +0 -2
- package/dist/esm/internal/object.mjs.map +0 -1
- package/dist/esm/internal/staking.d.mts +0 -60
- package/dist/esm/internal/staking.mjs +0 -2
- package/dist/esm/internal/staking.mjs.map +0 -1
- package/dist/esm/internal/table.d.mts +0 -66
- package/dist/esm/internal/table.mjs +0 -2
- package/dist/esm/internal/table.mjs.map +0 -1
- package/dist/esm/internal/transaction.d.mts +0 -199
- package/dist/esm/internal/transaction.mjs +0 -2
- package/dist/esm/internal/transaction.mjs.map +0 -1
- package/dist/esm/internal/transactionSubmission.d.mts +0 -165
- package/dist/esm/internal/transactionSubmission.mjs +0 -2
- package/dist/esm/internal/transactionSubmission.mjs.map +0 -1
- package/dist/esm/internal/utils/index.d.mts +0 -8
- package/dist/esm/internal/utils/index.mjs +0 -2
- package/dist/esm/internal/utils/index.mjs.map +0 -1
- package/dist/esm/internal/utils/utils.d.mts +0 -41
- package/dist/esm/internal/utils/utils.mjs +0 -2
- package/dist/esm/internal/utils/utils.mjs.map +0 -1
- package/dist/esm/internal/view.d.mts +0 -20
- package/dist/esm/internal/view.mjs +0 -2
- package/dist/esm/internal/view.mjs.map +0 -1
- package/dist/esm/transactions/authenticator/account.d.mts +0 -7
- package/dist/esm/transactions/authenticator/account.mjs +0 -2
- package/dist/esm/transactions/authenticator/account.mjs.map +0 -1
- package/dist/esm/transactions/authenticator/index.d.mts +0 -8
- package/dist/esm/transactions/authenticator/index.mjs +0 -2
- package/dist/esm/transactions/authenticator/index.mjs.map +0 -1
- package/dist/esm/transactions/authenticator/transaction.d.mts +0 -152
- package/dist/esm/transactions/authenticator/transaction.mjs +0 -2
- package/dist/esm/transactions/authenticator/transaction.mjs.map +0 -1
- package/dist/esm/transactions/index.d.mts +0 -15
- package/dist/esm/transactions/index.mjs +0 -2
- package/dist/esm/transactions/index.mjs.map +0 -1
- package/dist/esm/transactions/instances/chainId.d.mts +0 -7
- package/dist/esm/transactions/instances/chainId.mjs +0 -2
- package/dist/esm/transactions/instances/chainId.mjs.map +0 -1
- package/dist/esm/transactions/instances/identifier.d.mts +0 -7
- package/dist/esm/transactions/instances/identifier.mjs +0 -2
- package/dist/esm/transactions/instances/identifier.mjs.map +0 -1
- package/dist/esm/transactions/instances/index.d.mts +0 -10
- package/dist/esm/transactions/instances/index.mjs +0 -2
- package/dist/esm/transactions/instances/index.mjs.map +0 -1
- package/dist/esm/transactions/instances/moduleId.d.mts +0 -7
- package/dist/esm/transactions/instances/moduleId.mjs +0 -2
- package/dist/esm/transactions/instances/moduleId.mjs.map +0 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +0 -7
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +0 -2
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs.map +0 -1
- package/dist/esm/transactions/instances/rawTransaction.d.mts +0 -7
- package/dist/esm/transactions/instances/rawTransaction.mjs +0 -2
- package/dist/esm/transactions/instances/rawTransaction.mjs.map +0 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +0 -58
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +0 -2
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs.map +0 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +0 -59
- package/dist/esm/transactions/instances/signedTransaction.mjs +0 -2
- package/dist/esm/transactions/instances/signedTransaction.mjs.map +0 -1
- package/dist/esm/transactions/instances/simpleTransaction.d.mts +0 -7
- package/dist/esm/transactions/instances/simpleTransaction.mjs +0 -2
- package/dist/esm/transactions/instances/simpleTransaction.mjs.map +0 -1
- package/dist/esm/transactions/instances/transactionArgument.d.mts +0 -7
- package/dist/esm/transactions/instances/transactionArgument.mjs +0 -2
- package/dist/esm/transactions/instances/transactionArgument.mjs.map +0 -1
- package/dist/esm/transactions/instances/transactionPayload.d.mts +0 -7
- package/dist/esm/transactions/instances/transactionPayload.mjs +0 -2
- package/dist/esm/transactions/instances/transactionPayload.mjs.map +0 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +0 -123
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +0 -2
- package/dist/esm/transactions/management/accountSequenceNumber.mjs.map +0 -1
- package/dist/esm/transactions/management/asyncQueue.d.mts +0 -77
- package/dist/esm/transactions/management/asyncQueue.mjs +0 -2
- package/dist/esm/transactions/management/asyncQueue.mjs.map +0 -1
- package/dist/esm/transactions/management/index.d.mts +0 -12
- package/dist/esm/transactions/management/index.mjs +0 -2
- package/dist/esm/transactions/management/index.mjs.map +0 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +0 -218
- package/dist/esm/transactions/management/transactionWorker.mjs +0 -2
- package/dist/esm/transactions/management/transactionWorker.mjs.map +0 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +0 -189
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +0 -2
- package/dist/esm/transactions/transactionBuilder/helpers.mjs.map +0 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +0 -11
- package/dist/esm/transactions/transactionBuilder/index.mjs +0 -2
- package/dist/esm/transactions/transactionBuilder/index.mjs.map +0 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +0 -105
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +0 -2
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs.map +0 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +0 -62
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +0 -2
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +0 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +0 -192
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +0 -2
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs.map +0 -1
- package/dist/esm/transactions/typeTag/index.d.mts +0 -7
- package/dist/esm/transactions/typeTag/index.mjs +0 -2
- package/dist/esm/transactions/typeTag/index.mjs.map +0 -1
- package/dist/esm/transactions/typeTag/parser.d.mts +0 -81
- package/dist/esm/transactions/typeTag/parser.mjs +0 -2
- package/dist/esm/transactions/typeTag/parser.mjs.map +0 -1
- package/dist/esm/transactions/types.d.mts +0 -7
- package/dist/esm/transactions/types.mjs +0 -2
- package/dist/esm/transactions/types.mjs.map +0 -1
- package/dist/esm/types/abstraction.d.mts +0 -15
- package/dist/esm/types/abstraction.mjs +0 -2
- package/dist/esm/types/abstraction.mjs.map +0 -1
- package/dist/esm/types/ans.d.mts +0 -109
- package/dist/esm/types/ans.mjs +0 -2
- package/dist/esm/types/ans.mjs.map +0 -1
- package/dist/esm/types/generated/operations.d.mts +0 -703
- package/dist/esm/types/generated/operations.mjs +0 -1
- package/dist/esm/types/generated/operations.mjs.map +0 -1
- package/dist/esm/types/generated/queries.d.mts +0 -66
- package/dist/esm/types/generated/queries.mjs +0 -2
- package/dist/esm/types/generated/queries.mjs.map +0 -1
- package/dist/esm/types/generated/types.d.mts +0 -9679
- package/dist/esm/types/generated/types.mjs +0 -2
- package/dist/esm/types/generated/types.mjs.map +0 -1
- package/dist/esm/types/index.d.mts +0 -8
- package/dist/esm/types/index.mjs +0 -2
- package/dist/esm/types/index.mjs.map +0 -1
- package/dist/esm/types/indexer.d.mts +0 -186
- package/dist/esm/types/indexer.mjs +0 -2
- package/dist/esm/types/indexer.mjs.map +0 -1
- package/dist/esm/types/keyless.d.mts +0 -102
- package/dist/esm/types/keyless.mjs +0 -1
- package/dist/esm/types/keyless.mjs.map +0 -1
- package/dist/esm/types/types.d.mts +0 -7
- package/dist/esm/types/types.mjs +0 -2
- package/dist/esm/types/types.mjs.map +0 -1
- package/dist/esm/utils/apiEndpoints.d.mts +0 -51
- package/dist/esm/utils/apiEndpoints.mjs +0 -2
- package/dist/esm/utils/apiEndpoints.mjs.map +0 -1
- package/dist/esm/utils/const.d.mts +0 -104
- package/dist/esm/utils/const.mjs +0 -2
- package/dist/esm/utils/const.mjs.map +0 -1
- package/dist/esm/utils/helpers.d.mts +0 -193
- package/dist/esm/utils/helpers.mjs +0 -2
- package/dist/esm/utils/helpers.mjs.map +0 -1
- package/dist/esm/utils/index.d.mts +0 -9
- package/dist/esm/utils/index.mjs +0 -2
- package/dist/esm/utils/index.mjs.map +0 -1
- package/dist/esm/utils/memoize.d.mts +0 -48
- package/dist/esm/utils/memoize.mjs +0 -2
- package/dist/esm/utils/memoize.mjs.map +0 -1
- package/dist/esm/utils/normalizeBundle.d.mts +0 -35
- package/dist/esm/utils/normalizeBundle.mjs +0 -2
- package/dist/esm/utils/normalizeBundle.mjs.map +0 -1
- package/dist/esm/version.d.mts +0 -8
- package/dist/esm/version.mjs +0 -2
- package/dist/esm/version.mjs.map +0 -1
|
@@ -0,0 +1,848 @@
|
|
|
1
|
+
// Copyright © Aptos Foundation
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Parser for public copy structs and enums as transaction arguments.
|
|
6
|
+
*
|
|
7
|
+
* This module enables the TypeScript SDK to accept public copy structs and enums
|
|
8
|
+
* as transaction arguments in JSON format, automatically encoding them to BCS.
|
|
9
|
+
*
|
|
10
|
+
* Key features:
|
|
11
|
+
* - Queries on-chain metadata for struct/enum definitions
|
|
12
|
+
* - Parses JSON input matching Move struct/enum types
|
|
13
|
+
* - Encodes arguments to BCS format
|
|
14
|
+
* - Supports nested structs/enums with depth limits
|
|
15
|
+
* - Handles Option<T> in both vector and enum formats
|
|
16
|
+
*
|
|
17
|
+
* @group Implementation
|
|
18
|
+
* @category Transactions
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { AccountAddress } from "../../core/accountAddress.js";
|
|
22
|
+
import { Serializer, Serializable } from "../../bcs/serializer.js";
|
|
23
|
+
import { EntryFunctionArgument } from "../instances/transactionArgument.js";
|
|
24
|
+
import {
|
|
25
|
+
TypeTag,
|
|
26
|
+
TypeTagBool,
|
|
27
|
+
TypeTagU8,
|
|
28
|
+
TypeTagU16,
|
|
29
|
+
TypeTagU32,
|
|
30
|
+
TypeTagU64,
|
|
31
|
+
TypeTagU128,
|
|
32
|
+
TypeTagU256,
|
|
33
|
+
TypeTagI8,
|
|
34
|
+
TypeTagI16,
|
|
35
|
+
TypeTagI32,
|
|
36
|
+
TypeTagI64,
|
|
37
|
+
TypeTagI128,
|
|
38
|
+
TypeTagI256,
|
|
39
|
+
TypeTagAddress,
|
|
40
|
+
TypeTagStruct,
|
|
41
|
+
TypeTagVector,
|
|
42
|
+
TypeTagGeneric,
|
|
43
|
+
StructTag,
|
|
44
|
+
} from "../typeTag/index.js";
|
|
45
|
+
import { parseTypeTag } from "../typeTag/parser.js";
|
|
46
|
+
import { AptosConfig } from "../../api/aptosConfig.js";
|
|
47
|
+
import { getModule } from "../../internal/account.js";
|
|
48
|
+
import { MoveModuleBytecode } from "../../types/index.js";
|
|
49
|
+
import {
|
|
50
|
+
Bool,
|
|
51
|
+
U8,
|
|
52
|
+
U16,
|
|
53
|
+
U32,
|
|
54
|
+
U64,
|
|
55
|
+
U128,
|
|
56
|
+
U256,
|
|
57
|
+
I8,
|
|
58
|
+
I16,
|
|
59
|
+
I32,
|
|
60
|
+
I64,
|
|
61
|
+
I128,
|
|
62
|
+
I256,
|
|
63
|
+
} from "../../bcs/serializable/movePrimitives.js";
|
|
64
|
+
import { MoveString, MoveOption } from "../../bcs/serializable/moveStructs.js";
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Maximum nesting depth for structs, enums, and vectors.
|
|
68
|
+
* Prevents stack overflow and excessively complex arguments.
|
|
69
|
+
* Matches the limit in the Rust CLI implementation.
|
|
70
|
+
*/
|
|
71
|
+
const MAX_NESTING_DEPTH = 7;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Module path separator used in fully-qualified type names.
|
|
75
|
+
* Matches MODULE_SEPARATOR constant from Rust implementation.
|
|
76
|
+
*/
|
|
77
|
+
const MODULE_SEPARATOR = "::";
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Represents a BCS-serializable struct argument.
|
|
81
|
+
* Encodes struct fields in declaration order.
|
|
82
|
+
*/
|
|
83
|
+
export class MoveStructArgument extends Serializable implements EntryFunctionArgument {
|
|
84
|
+
/**
|
|
85
|
+
* The encoded BCS bytes for this struct.
|
|
86
|
+
*/
|
|
87
|
+
private readonly bcsBytes: Uint8Array;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Creates a new struct argument from pre-encoded BCS bytes.
|
|
91
|
+
*
|
|
92
|
+
* @param bcsBytes - The BCS-encoded struct bytes
|
|
93
|
+
*/
|
|
94
|
+
constructor(bcsBytes: Uint8Array) {
|
|
95
|
+
super();
|
|
96
|
+
this.bcsBytes = bcsBytes;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
serialize(serializer: Serializer): void {
|
|
100
|
+
serializer.serializeFixedBytes(this.bcsBytes);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
serializeForEntryFunction(serializer: Serializer): void {
|
|
104
|
+
// For entry functions, we need to prefix with the byte length
|
|
105
|
+
serializer.serializeU32AsUleb128(this.bcsBytes.length);
|
|
106
|
+
serializer.serializeFixedBytes(this.bcsBytes);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
bcsToBytes(): Uint8Array {
|
|
110
|
+
// Return raw struct bytes without additional wrapping
|
|
111
|
+
return this.bcsBytes;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Represents a BCS-serializable enum argument.
|
|
117
|
+
* Encodes variant tag (ULEB128) followed by variant fields.
|
|
118
|
+
*/
|
|
119
|
+
export class MoveEnumArgument extends Serializable implements EntryFunctionArgument {
|
|
120
|
+
/**
|
|
121
|
+
* The encoded BCS bytes for this enum.
|
|
122
|
+
*/
|
|
123
|
+
private readonly bcsBytes: Uint8Array;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Creates a new enum argument from pre-encoded BCS bytes.
|
|
127
|
+
*
|
|
128
|
+
* @param bcsBytes - The BCS-encoded enum bytes
|
|
129
|
+
*/
|
|
130
|
+
constructor(bcsBytes: Uint8Array) {
|
|
131
|
+
super();
|
|
132
|
+
this.bcsBytes = bcsBytes;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
serialize(serializer: Serializer): void {
|
|
136
|
+
serializer.serializeFixedBytes(this.bcsBytes);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
serializeForEntryFunction(serializer: Serializer): void {
|
|
140
|
+
// For entry functions, we need to prefix with the byte length
|
|
141
|
+
serializer.serializeU32AsUleb128(this.bcsBytes.length);
|
|
142
|
+
serializer.serializeFixedBytes(this.bcsBytes);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
bcsToBytes(): Uint8Array {
|
|
146
|
+
// Return raw enum bytes without additional wrapping
|
|
147
|
+
return this.bcsBytes;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Parser for struct and enum transaction arguments.
|
|
153
|
+
*
|
|
154
|
+
* This class enables passing public copy structs and enums as transaction arguments
|
|
155
|
+
* by automatically fetching module ABIs and encoding values to BCS format.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* // Example 1: Encode a simple struct
|
|
160
|
+
* const parser = new StructEnumArgumentParser(config);
|
|
161
|
+
* const structTag = parseTypeTag("0x1::test::Point") as TypeTagStruct;
|
|
162
|
+
* const value = { x: "10", y: "20" };
|
|
163
|
+
* const encoded = await parser.encodeStructArgument(structTag, value);
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* // Example 2: Encode an enum variant
|
|
169
|
+
* const parser = new StructEnumArgumentParser(config);
|
|
170
|
+
* const enumTag = parseTypeTag("0x1::test::Color") as TypeTagStruct;
|
|
171
|
+
* const value = { Red: {} }; // No fields
|
|
172
|
+
* const encoded = await parser.encodeEnumArgument(enumTag, value);
|
|
173
|
+
* ```
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* // Example 3: Use in transaction builder
|
|
178
|
+
* const txn = await aptos.transaction.build.simple({
|
|
179
|
+
* sender: alice.accountAddress,
|
|
180
|
+
* data: {
|
|
181
|
+
* function: "0x1::test::draw_line",
|
|
182
|
+
* functionArguments: [
|
|
183
|
+
* { start: { x: "0", y: "0" }, end: { x: "10", y: "10" } }, // Line struct
|
|
184
|
+
* ],
|
|
185
|
+
* },
|
|
186
|
+
* });
|
|
187
|
+
* ```
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* // Example 4: Generic structs with type substitution
|
|
192
|
+
* const parser = new StructEnumArgumentParser(config);
|
|
193
|
+
* const boxTag = parseTypeTag("0x1::test::Box<u64>") as TypeTagStruct;
|
|
194
|
+
* const value = { value: "42" };
|
|
195
|
+
* const encoded = await parser.encodeStructArgument(boxTag, value);
|
|
196
|
+
* // Generic parameter T0 is automatically substituted with u64
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* // Example 5: Option enum (dual format support)
|
|
202
|
+
* // Vector format (backward compatible):
|
|
203
|
+
* functionArguments: [[]]; // None
|
|
204
|
+
* functionArguments: [[42]]; // Some(42)
|
|
205
|
+
*
|
|
206
|
+
* // Enum format (new standard):
|
|
207
|
+
* functionArguments: [{ None: {} }];
|
|
208
|
+
* functionArguments: [{ Some: { "0": "42" } }];
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
* Features:
|
|
212
|
+
* - Automatic module ABI fetching and caching
|
|
213
|
+
* - Recursive encoding for nested structs/enums
|
|
214
|
+
* - Generic type parameter substitution (T0, T1, etc.)
|
|
215
|
+
* - Depth limit enforcement (max 7 levels)
|
|
216
|
+
* - Support for all Move primitive types
|
|
217
|
+
* - Vector encoding with element recursion
|
|
218
|
+
* - Special handling for String, Object<T>, Option<T>
|
|
219
|
+
*
|
|
220
|
+
* @group Implementation
|
|
221
|
+
* @category Transactions
|
|
222
|
+
*/
|
|
223
|
+
export class StructEnumArgumentParser {
|
|
224
|
+
private aptosConfig: AptosConfig;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Cache of module bytecode to avoid repeated fetches.
|
|
228
|
+
* Key: "address::module_name"
|
|
229
|
+
*/
|
|
230
|
+
private moduleCache: Map<string, MoveModuleBytecode> = new Map();
|
|
231
|
+
|
|
232
|
+
constructor(aptosConfig: AptosConfig) {
|
|
233
|
+
this.aptosConfig = aptosConfig;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Pre-populates the module cache with modules from a ModuleAbiBundle.
|
|
238
|
+
* This optimization eliminates nested network calls by providing all necessary
|
|
239
|
+
* struct definitions upfront.
|
|
240
|
+
*
|
|
241
|
+
* @param modules - Map of module ID (address::name) to MoveModule
|
|
242
|
+
*/
|
|
243
|
+
preloadModules(modules: Map<string, MoveModuleBytecode>): void {
|
|
244
|
+
for (const [moduleId, moduleBytecode] of modules.entries()) {
|
|
245
|
+
this.moduleCache.set(moduleId, moduleBytecode);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Parses a struct tag string into components.
|
|
251
|
+
*
|
|
252
|
+
* @param typeStr - Type string like "0x1::option::Option<u64>"
|
|
253
|
+
* @returns Parsed TypeTag
|
|
254
|
+
*/
|
|
255
|
+
parseTypeString(typeStr: string): TypeTag {
|
|
256
|
+
// Use the SDK's built-in TypeTag parsing with generics support
|
|
257
|
+
return parseTypeTag(typeStr, { allowGenerics: true });
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Checks if the nesting depth exceeds the maximum allowed.
|
|
262
|
+
*
|
|
263
|
+
* @param depth - Current nesting depth
|
|
264
|
+
* @param typeName - Type name for error messages
|
|
265
|
+
*/
|
|
266
|
+
private checkDepth(depth: number, typeName: string): void {
|
|
267
|
+
if (depth > MAX_NESTING_DEPTH) {
|
|
268
|
+
throw new Error(`${typeName} nesting depth ${depth} exceeds maximum allowed depth of ${MAX_NESTING_DEPTH}`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Fetches module bytecode from the chain.
|
|
274
|
+
* Results are cached to avoid repeated fetches.
|
|
275
|
+
*
|
|
276
|
+
* @param moduleAddress - Module address
|
|
277
|
+
* @param moduleName - Module name
|
|
278
|
+
* @returns Module bytecode
|
|
279
|
+
*/
|
|
280
|
+
private async fetchModule(moduleAddress: AccountAddress, moduleName: string): Promise<MoveModuleBytecode> {
|
|
281
|
+
const cacheKey = `${moduleAddress.toString()}${MODULE_SEPARATOR}${moduleName}`;
|
|
282
|
+
|
|
283
|
+
// Check cache first
|
|
284
|
+
if (this.moduleCache.has(cacheKey)) {
|
|
285
|
+
return this.moduleCache.get(cacheKey)!;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// Fetch from chain
|
|
289
|
+
try {
|
|
290
|
+
const accountModules = await getModule({
|
|
291
|
+
aptosConfig: this.aptosConfig,
|
|
292
|
+
accountAddress: moduleAddress,
|
|
293
|
+
moduleName,
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
this.moduleCache.set(cacheKey, accountModules);
|
|
297
|
+
return accountModules;
|
|
298
|
+
} catch (error) {
|
|
299
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
300
|
+
throw new Error(`Failed to fetch module ${moduleAddress}${MODULE_SEPARATOR}${moduleName}: ${errorMessage}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Determines if a type is a struct or enum that requires special handling.
|
|
306
|
+
*
|
|
307
|
+
* @param typeTag - The type tag to check
|
|
308
|
+
* @returns true if this is a struct/enum requiring special parsing
|
|
309
|
+
*/
|
|
310
|
+
isStructOrEnum(typeTag: TypeTag): boolean {
|
|
311
|
+
if (!(typeTag instanceof TypeTagStruct)) {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const qualifiedName = `${typeTag.value.address.toString()}${MODULE_SEPARATOR}${typeTag.value.moduleName.identifier}${MODULE_SEPARATOR}${typeTag.value.name.identifier}`;
|
|
316
|
+
|
|
317
|
+
// Special built-in types that are already handled
|
|
318
|
+
const builtinTypes = ["0x1::string::String", "0x1::object::Object", "0x1::option::Option"];
|
|
319
|
+
|
|
320
|
+
// If it's a built-in type, don't treat as custom struct/enum
|
|
321
|
+
for (const builtinType of builtinTypes) {
|
|
322
|
+
if (qualifiedName.startsWith(builtinType)) {
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
return true;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Encodes a struct argument to BCS bytes.
|
|
332
|
+
*
|
|
333
|
+
* @param structTag - The struct type tag
|
|
334
|
+
* @param value - JSON object with field values
|
|
335
|
+
* @param depth - Current nesting depth
|
|
336
|
+
* @returns BCS-encoded struct argument
|
|
337
|
+
*/
|
|
338
|
+
async encodeStructArgument(structTag: TypeTagStruct, value: any, depth: number = 0): Promise<MoveStructArgument> {
|
|
339
|
+
this.checkDepth(depth, "Struct");
|
|
340
|
+
|
|
341
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
342
|
+
throw new Error(`Expected object for struct argument, got ${typeof value}`);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// Fetch module to get struct definition
|
|
346
|
+
const module = await this.fetchModule(structTag.value.address, structTag.value.moduleName.identifier);
|
|
347
|
+
|
|
348
|
+
if (!module.abi) {
|
|
349
|
+
throw new Error(
|
|
350
|
+
`Module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier} has no ABI`,
|
|
351
|
+
);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// Find the struct definition
|
|
355
|
+
const structDef = module.abi.structs.find((s) => s.name === structTag.value.name.identifier);
|
|
356
|
+
|
|
357
|
+
if (!structDef) {
|
|
358
|
+
throw new Error(
|
|
359
|
+
`Struct ${structTag.value.name.identifier} not found in module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier}`,
|
|
360
|
+
);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
if (structDef.is_enum) {
|
|
364
|
+
throw new Error(
|
|
365
|
+
`Type ${structTag.value.name.identifier} is an enum. Use enum variant syntax instead (e.g., {"VariantName": {...}})`,
|
|
366
|
+
);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
if (structDef.is_native) {
|
|
370
|
+
throw new Error(`Struct ${structTag.value.name.identifier} is a native struct and cannot be used as an argument`);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// Encode each field in order
|
|
374
|
+
const serializer = new Serializer();
|
|
375
|
+
|
|
376
|
+
for (const field of structDef.fields) {
|
|
377
|
+
const fieldValue = value[field.name];
|
|
378
|
+
if (fieldValue === undefined) {
|
|
379
|
+
throw new Error(`Missing field '${field.name}' for struct ${structTag.value.name.identifier}`);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// Parse field type and substitute generics
|
|
383
|
+
const fieldTypeTag = this.parseTypeString(field.type);
|
|
384
|
+
const substitutedType = this.substituteTypeParams(fieldTypeTag, structTag);
|
|
385
|
+
|
|
386
|
+
// Encode field value
|
|
387
|
+
const encoded = await this.encodeValueByType(substitutedType, fieldValue, depth + 1);
|
|
388
|
+
serializer.serializeFixedBytes(encoded);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
return new MoveStructArgument(serializer.toUint8Array());
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Encodes an enum argument to BCS bytes.
|
|
396
|
+
*
|
|
397
|
+
* @param structTag - The enum type tag
|
|
398
|
+
* @param value - JSON object with variant name and fields
|
|
399
|
+
* @param depth - Current nesting depth
|
|
400
|
+
* @returns BCS-encoded enum argument
|
|
401
|
+
*/
|
|
402
|
+
async encodeEnumArgument(structTag: TypeTagStruct, value: any, depth: number = 0): Promise<MoveEnumArgument> {
|
|
403
|
+
this.checkDepth(depth, "Enum");
|
|
404
|
+
|
|
405
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
406
|
+
throw new Error(`Expected object for enum argument, got ${typeof value}`);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
// Enum format: { "VariantName": { "field1": value1, ... } }
|
|
410
|
+
const variantNames = Object.keys(value);
|
|
411
|
+
if (variantNames.length !== 1) {
|
|
412
|
+
throw new Error(`Enum value must have exactly one variant, got ${variantNames.length}`);
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
const variantName = variantNames[0];
|
|
416
|
+
const variantFields = value[variantName];
|
|
417
|
+
|
|
418
|
+
// Special handling for Option<T> - uses vector encoding for backward compatibility
|
|
419
|
+
if (this.isOptionType(structTag)) {
|
|
420
|
+
return this.encodeOptionArgument(structTag, variantName, variantFields, depth);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
// Fetch module to get enum definition
|
|
424
|
+
const module = await this.fetchModule(structTag.value.address, structTag.value.moduleName.identifier);
|
|
425
|
+
|
|
426
|
+
if (!module.abi) {
|
|
427
|
+
throw new Error(
|
|
428
|
+
`Module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier} has no ABI`,
|
|
429
|
+
);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
// Find the enum definition
|
|
433
|
+
const enumDef = module.abi.structs.find((s) => s.name === structTag.value.name.identifier);
|
|
434
|
+
|
|
435
|
+
if (!enumDef) {
|
|
436
|
+
throw new Error(
|
|
437
|
+
`Enum ${structTag.value.name.identifier} not found in module ${structTag.value.address}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier}`,
|
|
438
|
+
);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
if (!enumDef.is_enum) {
|
|
442
|
+
throw new Error(
|
|
443
|
+
`Type ${structTag.value.name.identifier} is a struct, not an enum. Provide field values directly as an object.`,
|
|
444
|
+
);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
// For enums, fields array represents variants
|
|
448
|
+
// Find variant index by name
|
|
449
|
+
const variantIndex = enumDef.fields.findIndex((f) => f.name === variantName);
|
|
450
|
+
|
|
451
|
+
if (variantIndex === -1) {
|
|
452
|
+
const availableVariants = enumDef.fields.map((f) => f.name).join(", ");
|
|
453
|
+
throw new Error(
|
|
454
|
+
`Variant '${variantName}' not found in enum ${structTag.value.name.identifier}. Available variants: ${availableVariants}`,
|
|
455
|
+
);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
const serializer = new Serializer();
|
|
459
|
+
|
|
460
|
+
// Encode variant index as ULEB128
|
|
461
|
+
serializer.serializeU32AsUleb128(variantIndex);
|
|
462
|
+
|
|
463
|
+
// Note: For enum variants with fields, the field information is in the variant's type string
|
|
464
|
+
// E.g., for "Some" variant of Option<T>, the type might be "T"
|
|
465
|
+
// However, the REST API may not provide complete field metadata for enum variants
|
|
466
|
+
// We need to handle the variantFields based on the type string
|
|
467
|
+
|
|
468
|
+
const variantDef = enumDef.fields[variantIndex];
|
|
469
|
+
// Substitute generic type parameters for the variant payload type so that
|
|
470
|
+
// generic enums (e.g. `Some(T0)`) are encoded against the instantiated type.
|
|
471
|
+
const variantType = this.substituteTypeParams(this.parseTypeString(variantDef.type), structTag);
|
|
472
|
+
|
|
473
|
+
// If variant has fields, encode them
|
|
474
|
+
if (typeof variantFields === "object" && variantFields !== null && !Array.isArray(variantFields)) {
|
|
475
|
+
// Variant has fields as an object
|
|
476
|
+
const fieldKeys = Object.keys(variantFields);
|
|
477
|
+
|
|
478
|
+
// Sort keys to ensure correct field order
|
|
479
|
+
// Enum variants with multiple fields should use numbered keys: {"0": val1, "1": val2, ...}
|
|
480
|
+
const sortedKeys = fieldKeys.sort((a, b) => {
|
|
481
|
+
const numA = parseInt(a, 10);
|
|
482
|
+
const numB = parseInt(b, 10);
|
|
483
|
+
|
|
484
|
+
// If keys are not numeric, maintain object key order (which may be wrong)
|
|
485
|
+
if (Number.isNaN(numA) || Number.isNaN(numB)) {
|
|
486
|
+
return 0;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
return numA - numB;
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
// Validate that multi-field variants use sequential numeric keys
|
|
493
|
+
if (sortedKeys.length > 1) {
|
|
494
|
+
for (let i = 0; i < sortedKeys.length; i++) {
|
|
495
|
+
const expectedKey = i.toString();
|
|
496
|
+
if (sortedKeys[i] !== expectedKey) {
|
|
497
|
+
throw new Error(
|
|
498
|
+
`Enum variant with multiple fields must use sequential numeric keys starting from "0". ` +
|
|
499
|
+
`Expected key "${expectedKey}" at position ${i}, got "${sortedKeys[i]}". ` +
|
|
500
|
+
`Use format: { ${variantName}: { "0": value1, "1": value2, ... } }`,
|
|
501
|
+
);
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
// Note: The REST API doesn't provide individual field type information for enum variants.
|
|
506
|
+
// For multi-field variants, we use the variant's type for all fields (limitation).
|
|
507
|
+
// This may not work for variants with fields of different types.
|
|
508
|
+
// TODO: Use bytecode parsing to get exact field types when available
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// Encode each field in order
|
|
512
|
+
for (const key of sortedKeys) {
|
|
513
|
+
const fieldValue = variantFields[key];
|
|
514
|
+
// Use the variant's type as the field type (simplified approach)
|
|
515
|
+
const encoded = await this.encodeValueByType(variantType, fieldValue, depth + 1);
|
|
516
|
+
serializer.serializeFixedBytes(encoded);
|
|
517
|
+
}
|
|
518
|
+
} else if (variantFields !== undefined && variantFields !== null) {
|
|
519
|
+
// Single value variant (not an object)
|
|
520
|
+
const encoded = await this.encodeValueByType(variantType, variantFields, depth + 1);
|
|
521
|
+
serializer.serializeFixedBytes(encoded);
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
return new MoveEnumArgument(serializer.toUint8Array());
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Encodes Option<T> enum using vector encoding for backward compatibility.
|
|
529
|
+
*/
|
|
530
|
+
private async encodeOptionArgument(
|
|
531
|
+
structTag: TypeTagStruct,
|
|
532
|
+
variant: string,
|
|
533
|
+
fieldValue: any,
|
|
534
|
+
depth: number,
|
|
535
|
+
): Promise<MoveEnumArgument> {
|
|
536
|
+
if (structTag.value.typeArgs.length === 0) {
|
|
537
|
+
throw new Error("Option must have a type parameter");
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
const innerType = structTag.value.typeArgs[0];
|
|
541
|
+
const serializer = new Serializer();
|
|
542
|
+
|
|
543
|
+
if (variant === "None") {
|
|
544
|
+
// None: empty vector (length = 0)
|
|
545
|
+
serializer.serializeU32AsUleb128(0);
|
|
546
|
+
} else if (variant === "Some") {
|
|
547
|
+
// Some: vector with one element (length = 1)
|
|
548
|
+
serializer.serializeU32AsUleb128(1);
|
|
549
|
+
|
|
550
|
+
// Extract the value from the field
|
|
551
|
+
let value: any;
|
|
552
|
+
if (typeof fieldValue === "object" && fieldValue !== null && !Array.isArray(fieldValue)) {
|
|
553
|
+
// Handle {"0": value} format
|
|
554
|
+
value = fieldValue["0"] !== undefined ? fieldValue["0"] : fieldValue;
|
|
555
|
+
} else {
|
|
556
|
+
value = fieldValue;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
const encoded = await this.encodeValueByType(innerType, value, depth + 1);
|
|
560
|
+
serializer.serializeFixedBytes(encoded);
|
|
561
|
+
} else {
|
|
562
|
+
throw new Error(`Unknown Option variant '${variant}'. Expected 'None' or 'Some'`);
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
return new MoveEnumArgument(serializer.toUint8Array());
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Checks if a struct tag represents std::option::Option
|
|
570
|
+
*/
|
|
571
|
+
private isOptionType(structTag: TypeTagStruct): boolean {
|
|
572
|
+
return (
|
|
573
|
+
structTag.value.address.toString() === "0x1" &&
|
|
574
|
+
structTag.value.moduleName.identifier === "option" &&
|
|
575
|
+
structTag.value.name.identifier === "Option"
|
|
576
|
+
);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Substitute generic type parameters with concrete types.
|
|
581
|
+
*
|
|
582
|
+
* Replaces generic type parameters (T0, T1, T2, etc.) with their concrete
|
|
583
|
+
* instantiations from the struct/enum type arguments.
|
|
584
|
+
*
|
|
585
|
+
* @example
|
|
586
|
+
* // Struct: Box<T0> { value: T0 }
|
|
587
|
+
* // Instantiation: Box<u64>
|
|
588
|
+
* // Field type T0 → u64
|
|
589
|
+
*
|
|
590
|
+
* @param fieldType - The type tag that may contain generic parameters
|
|
591
|
+
* @param structTag - The instantiated struct/enum with concrete type arguments
|
|
592
|
+
* @returns Type tag with all generic parameters replaced
|
|
593
|
+
*/
|
|
594
|
+
private substituteTypeParams(fieldType: TypeTag, structTag: TypeTagStruct): TypeTag {
|
|
595
|
+
// Handle generic type parameter (T0, T1, T2, etc.)
|
|
596
|
+
if (fieldType instanceof TypeTagGeneric) {
|
|
597
|
+
const index = fieldType.value;
|
|
598
|
+
if (index >= structTag.value.typeArgs.length) {
|
|
599
|
+
throw new Error(
|
|
600
|
+
`Generic type parameter T${index} out of bounds. ${structTag.value.name.identifier} has ${structTag.value.typeArgs.length} type arguments.`,
|
|
601
|
+
);
|
|
602
|
+
}
|
|
603
|
+
return structTag.value.typeArgs[index];
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// Handle vector types - recursively substitute inner type
|
|
607
|
+
if (fieldType instanceof TypeTagVector) {
|
|
608
|
+
const substitutedInner = this.substituteTypeParams(fieldType.value, structTag);
|
|
609
|
+
return new TypeTagVector(substitutedInner);
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
// Handle struct types - recursively substitute type arguments
|
|
613
|
+
if (fieldType instanceof TypeTagStruct) {
|
|
614
|
+
if (fieldType.value.typeArgs.length === 0) {
|
|
615
|
+
// No type arguments, return as-is
|
|
616
|
+
return fieldType;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
// Substitute each type argument
|
|
620
|
+
const substitutedTypeArgs = fieldType.value.typeArgs.map((typeArg) =>
|
|
621
|
+
this.substituteTypeParams(typeArg, structTag),
|
|
622
|
+
);
|
|
623
|
+
|
|
624
|
+
// Create new struct tag with substituted type arguments
|
|
625
|
+
const newStructTag = new StructTag(
|
|
626
|
+
fieldType.value.address,
|
|
627
|
+
fieldType.value.moduleName,
|
|
628
|
+
fieldType.value.name,
|
|
629
|
+
substitutedTypeArgs,
|
|
630
|
+
);
|
|
631
|
+
return new TypeTagStruct(newStructTag);
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
// Primitive types and other non-generic types remain unchanged
|
|
635
|
+
return fieldType;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Encode a value based on its Move type.
|
|
640
|
+
*/
|
|
641
|
+
private async encodeValueByType(typeTag: TypeTag, value: any, depth: number): Promise<Uint8Array> {
|
|
642
|
+
this.checkDepth(depth, "Type");
|
|
643
|
+
|
|
644
|
+
// Primitive types - use instanceof to avoid TypeScript control flow issues
|
|
645
|
+
if (typeTag instanceof TypeTagBool) {
|
|
646
|
+
if (typeof value !== "boolean") {
|
|
647
|
+
throw new Error(`Expected boolean for bool type, got ${typeof value}`);
|
|
648
|
+
}
|
|
649
|
+
return new Bool(value).bcsToBytes();
|
|
650
|
+
}
|
|
651
|
+
if (typeTag instanceof TypeTagU8) {
|
|
652
|
+
return new U8(this.parseNumber(value, "u8")).bcsToBytes();
|
|
653
|
+
}
|
|
654
|
+
if (typeTag instanceof TypeTagU16) {
|
|
655
|
+
return new U16(this.parseNumber(value, "u16")).bcsToBytes();
|
|
656
|
+
}
|
|
657
|
+
if (typeTag instanceof TypeTagU32) {
|
|
658
|
+
return new U32(this.parseNumber(value, "u32")).bcsToBytes();
|
|
659
|
+
}
|
|
660
|
+
if (typeTag instanceof TypeTagU64) {
|
|
661
|
+
return new U64(this.parseNumberBigInt(value, "u64")).bcsToBytes();
|
|
662
|
+
}
|
|
663
|
+
if (typeTag instanceof TypeTagU128) {
|
|
664
|
+
return new U128(this.parseNumberBigInt(value, "u128")).bcsToBytes();
|
|
665
|
+
}
|
|
666
|
+
if (typeTag instanceof TypeTagU256) {
|
|
667
|
+
return new U256(this.parseNumberBigInt(value, "u256")).bcsToBytes();
|
|
668
|
+
}
|
|
669
|
+
if (typeTag instanceof TypeTagI8) {
|
|
670
|
+
return new I8(this.parseNumber(value, "i8")).bcsToBytes();
|
|
671
|
+
}
|
|
672
|
+
if (typeTag instanceof TypeTagI16) {
|
|
673
|
+
return new I16(this.parseNumber(value, "i16")).bcsToBytes();
|
|
674
|
+
}
|
|
675
|
+
if (typeTag instanceof TypeTagI32) {
|
|
676
|
+
return new I32(this.parseNumber(value, "i32")).bcsToBytes();
|
|
677
|
+
}
|
|
678
|
+
if (typeTag instanceof TypeTagI64) {
|
|
679
|
+
return new I64(this.parseNumberBigInt(value, "i64")).bcsToBytes();
|
|
680
|
+
}
|
|
681
|
+
if (typeTag instanceof TypeTagI128) {
|
|
682
|
+
return new I128(this.parseNumberBigInt(value, "i128")).bcsToBytes();
|
|
683
|
+
}
|
|
684
|
+
if (typeTag instanceof TypeTagI256) {
|
|
685
|
+
return new I256(this.parseNumberBigInt(value, "i256")).bcsToBytes();
|
|
686
|
+
}
|
|
687
|
+
if (typeTag instanceof TypeTagAddress) {
|
|
688
|
+
const addr = AccountAddress.from(value);
|
|
689
|
+
return addr.bcsToBytes();
|
|
690
|
+
}
|
|
691
|
+
if (typeTag instanceof TypeTagVector) {
|
|
692
|
+
return this.encodeVector(typeTag, value, depth);
|
|
693
|
+
}
|
|
694
|
+
if (typeTag instanceof TypeTagStruct) {
|
|
695
|
+
return this.encodeStruct(typeTag, value, depth);
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
throw new Error(`Unsupported type: ${typeTag.toString()}`);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* Encode a vector value.
|
|
703
|
+
*/
|
|
704
|
+
private async encodeVector(vectorType: TypeTagVector, value: any, depth: number): Promise<Uint8Array> {
|
|
705
|
+
if (!Array.isArray(value)) {
|
|
706
|
+
// Special case: vector<u8> can be a string
|
|
707
|
+
if (vectorType.value instanceof TypeTagU8 && typeof value === "string") {
|
|
708
|
+
// Treat as UTF-8 encoded string. `serializeBytes` already writes the
|
|
709
|
+
// ULEB128 length prefix, so we must not write the length explicitly.
|
|
710
|
+
const encoder = new TextEncoder();
|
|
711
|
+
const bytes = encoder.encode(value);
|
|
712
|
+
const serializer = new Serializer();
|
|
713
|
+
serializer.serializeBytes(bytes);
|
|
714
|
+
return serializer.toUint8Array();
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
throw new Error(`Expected array for vector type, got ${typeof value}`);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
const serializer = new Serializer();
|
|
721
|
+
serializer.serializeU32AsUleb128(value.length);
|
|
722
|
+
|
|
723
|
+
for (const item of value) {
|
|
724
|
+
const encoded = await this.encodeValueByType(vectorType.value, item, depth + 1);
|
|
725
|
+
serializer.serializeFixedBytes(encoded);
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
return serializer.toUint8Array();
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* Encode a struct value.
|
|
733
|
+
*/
|
|
734
|
+
private async encodeStruct(structTag: TypeTagStruct, value: any, depth: number): Promise<Uint8Array> {
|
|
735
|
+
const qualifiedName = `${structTag.value.address.toString()}${MODULE_SEPARATOR}${structTag.value.moduleName.identifier}${MODULE_SEPARATOR}${structTag.value.name.identifier}`;
|
|
736
|
+
|
|
737
|
+
// Handle special framework types
|
|
738
|
+
if (qualifiedName === "0x1::string::String") {
|
|
739
|
+
if (typeof value !== "string") {
|
|
740
|
+
throw new Error(`Expected string for String type, got ${typeof value}`);
|
|
741
|
+
}
|
|
742
|
+
return new MoveString(value).bcsToBytes();
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
if (qualifiedName === "0x1::object::Object") {
|
|
746
|
+
const addr = AccountAddress.from(value);
|
|
747
|
+
return addr.bcsToBytes();
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
if (qualifiedName === "0x1::option::Option") {
|
|
751
|
+
// Handle Option<T> in both formats
|
|
752
|
+
if (Array.isArray(value)) {
|
|
753
|
+
// Vector format: [] or [value]
|
|
754
|
+
if (value.length === 0) {
|
|
755
|
+
return new MoveOption(null).bcsToBytes();
|
|
756
|
+
}
|
|
757
|
+
if (value.length === 1) {
|
|
758
|
+
// Encode the inner value
|
|
759
|
+
if (structTag.value.typeArgs.length === 0) {
|
|
760
|
+
throw new Error("Option must have a type parameter");
|
|
761
|
+
}
|
|
762
|
+
const innerType = structTag.value.typeArgs[0];
|
|
763
|
+
const encodedInner = await this.encodeValueByType(innerType, value[0], depth + 1);
|
|
764
|
+
const serializer = new Serializer();
|
|
765
|
+
serializer.serializeU32AsUleb128(1); // Some
|
|
766
|
+
serializer.serializeFixedBytes(encodedInner);
|
|
767
|
+
return serializer.toUint8Array();
|
|
768
|
+
}
|
|
769
|
+
throw new Error(`Option as vector must have 0 or 1 elements, got ${value.length}`);
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
if (typeof value === "object" && value !== null) {
|
|
773
|
+
// Enum format: {"None": {}} or {"Some": {"0": value}}
|
|
774
|
+
const variantNames = Object.keys(value);
|
|
775
|
+
if (variantNames.length === 1) {
|
|
776
|
+
const result = await this.encodeEnumArgument(structTag, value, depth);
|
|
777
|
+
return result.bcsToBytes();
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
throw new Error(`Invalid Option format. Expected array [] or [value], or enum {"None": {}} or {"Some": {...}}`);
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
// Check if this is an enum (single key = variant name)
|
|
785
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
786
|
+
const keys = Object.keys(value);
|
|
787
|
+
if (keys.length === 1) {
|
|
788
|
+
// Might be an enum variant
|
|
789
|
+
// Try to fetch the struct and check is_enum flag
|
|
790
|
+
try {
|
|
791
|
+
const module = await this.fetchModule(structTag.value.address, structTag.value.moduleName.identifier);
|
|
792
|
+
if (module.abi) {
|
|
793
|
+
const structDef = module.abi.structs.find((s) => s.name === structTag.value.name.identifier);
|
|
794
|
+
if (structDef?.is_enum) {
|
|
795
|
+
const result = await this.encodeEnumArgument(structTag, value, depth);
|
|
796
|
+
return result.bcsToBytes();
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
800
|
+
} catch (_e) {
|
|
801
|
+
// If we can't determine, treat as struct
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
// Regular struct
|
|
807
|
+
const result = await this.encodeStructArgument(structTag, value, depth);
|
|
808
|
+
return result.bcsToBytes();
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/**
|
|
812
|
+
* Parse a number from JSON value.
|
|
813
|
+
*/
|
|
814
|
+
private parseNumber(value: any, typeName: string): number {
|
|
815
|
+
if (typeof value === "number") {
|
|
816
|
+
return value;
|
|
817
|
+
}
|
|
818
|
+
if (typeof value === "string") {
|
|
819
|
+
const parsed = parseInt(value, 10);
|
|
820
|
+
if (Number.isNaN(parsed)) {
|
|
821
|
+
throw new Error(`Invalid ${typeName} value: ${value}`);
|
|
822
|
+
}
|
|
823
|
+
return parsed;
|
|
824
|
+
}
|
|
825
|
+
throw new Error(`Expected number or string for ${typeName}, got ${typeof value}`);
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* Parse a BigInt from JSON value.
|
|
830
|
+
*/
|
|
831
|
+
private parseNumberBigInt(value: any, typeName: string): bigint {
|
|
832
|
+
if (typeof value === "bigint") {
|
|
833
|
+
return value;
|
|
834
|
+
}
|
|
835
|
+
if (typeof value === "number") {
|
|
836
|
+
return BigInt(value);
|
|
837
|
+
}
|
|
838
|
+
if (typeof value === "string") {
|
|
839
|
+
try {
|
|
840
|
+
return BigInt(value);
|
|
841
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
842
|
+
} catch (_e) {
|
|
843
|
+
throw new Error(`Invalid ${typeName} value: ${value}`);
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
throw new Error(`Expected number, bigint, or string for ${typeName}, got ${typeof value}`);
|
|
847
|
+
}
|
|
848
|
+
}
|