@aptos-labs/ts-sdk 2.0.0 → 2.0.1
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/dist/common/{accountAddress-D0xKX-UM.d.ts → accountAddress-AL8HRxQC.d.ts} +8 -0
- package/dist/common/chunk-ZMDE3DNL.js.map +1 -1
- package/dist/common/cli/index.d.ts +1 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +22 -3
- package/dist/common/index.js +30 -30
- package/dist/common/index.js.map +1 -1
- package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
- package/dist/esm/account/AbstractedAccount.mjs +1 -1
- package/dist/esm/account/Account.mjs +1 -1
- package/dist/esm/account/AccountUtils.mjs +1 -1
- package/dist/esm/account/DerivableAbstractedAccount.mjs +1 -1
- package/dist/esm/account/Ed25519Account.mjs +1 -1
- package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
- package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
- package/dist/esm/account/KeylessAccount.mjs +1 -1
- package/dist/esm/account/MultiEd25519Account.mjs +1 -1
- package/dist/esm/account/MultiKeyAccount.mjs +1 -1
- package/dist/esm/account/SingleKeyAccount.mjs +1 -1
- package/dist/esm/account/index.mjs +1 -1
- package/dist/esm/account/utils.mjs +1 -1
- package/dist/esm/api/account/abstraction.mjs +1 -1
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/coin.d.mts +3 -3
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +1 -1
- package/dist/esm/api/digitalAsset.mjs +1 -1
- package/dist/esm/api/event.mjs +1 -1
- package/dist/esm/api/faucet.mjs +1 -1
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/keyless.mjs +1 -1
- package/dist/esm/api/object.mjs +1 -1
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/table.mjs +1 -1
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/deserializer.d.mts +8 -0
- package/dist/esm/bcs/deserializer.mjs +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/{chunk-34R7FSQF.mjs → chunk-57J5YBMT.mjs} +2 -2
- package/dist/esm/{chunk-USB3LA6B.mjs → chunk-AMAPBD4D.mjs} +2 -2
- package/dist/esm/chunk-BK56GLTP.mjs +4 -0
- package/dist/esm/chunk-BK56GLTP.mjs.map +1 -0
- package/dist/esm/{chunk-G7WH6GQP.mjs → chunk-CFQFFP6N.mjs} +2 -2
- package/dist/esm/{chunk-4JT5AESZ.mjs → chunk-CO67Y6YE.mjs} +2 -2
- package/dist/esm/chunk-CW35YAMN.mjs +2 -0
- package/dist/esm/{chunk-HW7TSJI2.mjs → chunk-CZYH3G7E.mjs} +2 -2
- package/dist/esm/chunk-FLZPUYXQ.mjs +2 -0
- package/dist/esm/chunk-FLZPUYXQ.mjs.map +1 -0
- package/dist/esm/{chunk-ZNLOQO4Q.mjs → chunk-GBNAG7KK.mjs} +2 -2
- package/dist/esm/{chunk-6UZHMEK3.mjs → chunk-HETYL3WN.mjs} +2 -2
- package/dist/esm/{chunk-SE2VS7WM.mjs → chunk-KRBZ54CY.mjs} +2 -2
- package/dist/esm/{chunk-G6HENV5D.mjs → chunk-Q4W3WJ2U.mjs} +2 -2
- package/dist/esm/{chunk-EF4FA5I6.mjs → chunk-RQX6JOEN.mjs} +2 -2
- package/dist/esm/{chunk-MA4QUN6P.mjs → chunk-U7HD6PQV.mjs} +2 -2
- package/dist/esm/{chunk-TDGLYA35.mjs → chunk-UOP7GBXB.mjs} +2 -2
- package/dist/esm/{chunk-K43K3YG7.mjs → chunk-UQWF24SS.mjs} +2 -2
- package/dist/esm/{chunk-2UBI3AZJ.mjs → chunk-V2QSMVJ5.mjs} +2 -2
- package/dist/esm/{chunk-TLFZOAAB.mjs → chunk-V74WPKSY.mjs} +2 -2
- package/dist/esm/chunk-VEGW6HP5.mjs +2 -0
- package/dist/esm/{chunk-HLF3U7IS.mjs.map → chunk-VEGW6HP5.mjs.map} +1 -1
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/core/crypto/abstraction.mjs +1 -1
- package/dist/esm/core/crypto/deserializationUtils.d.mts +36 -0
- package/dist/esm/core/crypto/deserializationUtils.mjs +2 -0
- package/dist/esm/core/crypto/deserializationUtils.mjs.map +1 -0
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/ephemeral.mjs +1 -1
- package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
- package/dist/esm/core/crypto/index.d.mts +1 -0
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/keyless.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/proof.mjs +1 -1
- package/dist/esm/core/crypto/publicKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/index.d.mts +1 -0
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/errors/index.mjs +1 -1
- package/dist/esm/index.d.mts +1 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/abstraction.mjs +1 -1
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/keyless.mjs +1 -1
- package/dist/esm/internal/object.mjs +1 -1
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/table.mjs +1 -1
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- package/dist/esm/internal/utils/index.mjs +1 -1
- package/dist/esm/internal/utils/utils.mjs +1 -1
- package/dist/esm/internal/view.mjs +1 -1
- package/dist/esm/transactions/authenticator/account.mjs +1 -1
- package/dist/esm/transactions/authenticator/index.mjs +1 -1
- package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/transactions/instances/index.mjs +1 -1
- package/dist/esm/transactions/instances/moduleId.mjs +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
- package/dist/esm/transactions/typeTag/index.mjs +1 -1
- package/dist/esm/transactions/typeTag/parser.mjs +1 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.mjs +1 -1
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +3 -3
- package/src/bcs/deserializer.ts +13 -0
- package/src/core/crypto/deserializationUtils.ts +106 -0
- package/src/core/crypto/index.ts +1 -0
- package/src/internal/move/jwks/build/jwk/BuildInfo.yaml +56 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_factory.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aggregator_v2.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/aptos_governance.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/block.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_id.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/chain_status.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/code.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/config_buffer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/consensus_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/create_signer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/delegation_pool.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dispatchable_fungible_asset.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/dkg.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/event.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/execution_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/function_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/fungible_asset.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/gas_schedule.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/genesis.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/governance_proposal.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/guid.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwk_consensus_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/jwks.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/keyless_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/managed_coin.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/multisig_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/object_code_deployment.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/optional_aggregator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/primary_fungible_store.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_api_v0_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/randomness_config_seqnum.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_state.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/reconfiguration_with_dkg.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/resource_account.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/stake.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_config.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_contract.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/staking_proxy.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/state_storage.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/storage_gas.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/system_addresses.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/timestamp.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_context.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_fee.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/transaction_validation.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/util.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/validator_consensus_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/version.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/vesting.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosFramework/voting.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/any.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/aptos_hash.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/big_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bls12381_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/bn254_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/capability.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/comparator.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/copyable_any.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/crypto_algebra.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/debug.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ed25519.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/fixed_point64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/from_bcs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math128.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/math_fixed64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/multi_ed25519.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/pool_u64_unbound.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_bulletproofs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_elgamal.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/ristretto255_pedersen.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/secp256k1.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/simple_map.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_table.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/smart_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/string_utils.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/table_with_length.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/AptosStdlib/type_info.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/acl.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bcs.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/bit_vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/error.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/features.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/fixed_point32.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/hash.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/option.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/signer.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/string.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_modules/dependencies/MoveStdlib/vector.mv +0 -0
- package/src/internal/move/jwks/build/jwk/bytecode_scripts/main.mv +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_factory.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aggregator_v2.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/aptos_governance.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/block.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_id.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/chain_status.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/code.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/config_buffer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/consensus_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/create_signer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/delegation_pool.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dispatchable_fungible_asset.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/dkg.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/event.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/execution_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/function_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/fungible_asset.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/gas_schedule.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/genesis.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/governance_proposal.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/guid.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwk_consensus_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/jwks.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/keyless_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/managed_coin.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/multisig_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/object_code_deployment.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/optional_aggregator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/primary_fungible_store.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_api_v0_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/randomness_config_seqnum.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_state.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/reconfiguration_with_dkg.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/resource_account.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/stake.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_config.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_contract.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/staking_proxy.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/state_storage.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/storage_gas.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/system_addresses.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/timestamp.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_context.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_fee.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/transaction_validation.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/util.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/validator_consensus_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/version.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/vesting.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosFramework/voting.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/any.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/aptos_hash.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/big_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bls12381_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/bn254_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/capability.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/comparator.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/copyable_any.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/crypto_algebra.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/debug.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ed25519.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/fixed_point64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/from_bcs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math128.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/math_fixed64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/multi_ed25519.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/pool_u64_unbound.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_bulletproofs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_elgamal.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/ristretto255_pedersen.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/secp256k1.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/simple_map.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_table.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/smart_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/string_utils.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/table_with_length.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/AptosStdlib/type_info.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/acl.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bcs.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/bit_vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/error.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/features.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/fixed_point32.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/hash.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/option.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/signer.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/string.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/dependencies/MoveStdlib/vector.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/source_maps/main.mvsm +0 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/account.move +1533 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator.move +48 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_factory.move +66 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aggregator_v2.move +280 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_account.move +443 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_coin.move +204 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/aptos_governance.move +1387 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/block.move +394 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_id.move +41 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/chain_status.move +48 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/code.move +367 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/coin.move +2214 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/config_buffer.move +101 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/consensus_config.move +77 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/create_signer.move +21 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/delegation_pool.move +5568 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dispatchable_fungible_asset.move +228 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/dkg.move +121 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/event.move +92 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/execution_config.move +66 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/function_info.move +100 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/fungible_asset.move +1566 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/gas_schedule.move +176 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/genesis.move +550 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/governance_proposal.move +23 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/guid.move +68 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwk_consensus_config.move +148 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/jwks.move +817 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/keyless_account.move +312 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/managed_coin.move +205 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/multisig_account.move +2477 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object.move +1073 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/object_code_deployment.move +147 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/optional_aggregator.move +295 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/primary_fungible_store.move +405 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness.move +574 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_api_v0_config.move +57 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config.move +153 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/randomness_config_seqnum.move +49 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration.move +237 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_state.move +132 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/reconfiguration_with_dkg.move +69 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/resource_account.move +267 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/stake.move +3286 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_config.move +686 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_contract.move +1618 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/staking_proxy.move +228 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/state_storage.move +90 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/storage_gas.move +622 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/system_addresses.move +82 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/timestamp.move +88 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_context.move +262 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_fee.move +457 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/transaction_validation.move +501 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/util.move +16 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/validator_consensus_info.move +42 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/version.move +115 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/vesting.move +2183 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosFramework/voting.move +1279 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/any.move +57 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/aptos_hash.move +253 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/big_vector.move +469 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381.move +985 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bls12381_algebra.move +802 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/bn254_algebra.move +855 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/capability.move +193 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/comparator.move +173 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/copyable_any.move +45 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/crypto_algebra.move +351 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/debug.move +278 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ed25519.move +262 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/fixed_point64.move +447 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/from_bcs.move +91 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math128.move +381 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math64.move +336 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed.move +139 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/math_fixed64.move +142 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/multi_ed25519.move +482 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64.move +571 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/pool_u64_unbound.move +270 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255.move +1310 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_bulletproofs.move +253 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_elgamal.move +234 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/ristretto255_pedersen.move +158 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/secp256k1.move +114 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/simple_map.move +319 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_table.move +769 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/smart_vector.move +766 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/string_utils.move +148 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table.move +152 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/table_with_length.move +141 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/AptosStdlib/type_info.move +351 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/acl.move +46 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bcs.move +27 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/bit_vector.move +239 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/error.move +88 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/features.move +780 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/fixed_point32.move +295 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/hash.move +8 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/option.move +356 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/signer.move +21 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/string.move +93 -0
- package/src/internal/move/jwks/build/jwk/sources/dependencies/MoveStdlib/vector.move +669 -0
- package/src/internal/move/jwks/build/jwk/sources/main.move +20 -0
- package/src/version.ts +1 -1
- package/dist/esm/chunk-5YLNYSBT.mjs +0 -4
- package/dist/esm/chunk-5YLNYSBT.mjs.map +0 -1
- package/dist/esm/chunk-DLIBG6H7.mjs +0 -2
- package/dist/esm/chunk-DLIBG6H7.mjs.map +0 -1
- package/dist/esm/chunk-HLF3U7IS.mjs +0 -2
- package/dist/esm/chunk-RIRJNQ7B.mjs +0 -2
- /package/dist/esm/{chunk-34R7FSQF.mjs.map → chunk-57J5YBMT.mjs.map} +0 -0
- /package/dist/esm/{chunk-USB3LA6B.mjs.map → chunk-AMAPBD4D.mjs.map} +0 -0
- /package/dist/esm/{chunk-G7WH6GQP.mjs.map → chunk-CFQFFP6N.mjs.map} +0 -0
- /package/dist/esm/{chunk-4JT5AESZ.mjs.map → chunk-CO67Y6YE.mjs.map} +0 -0
- /package/dist/esm/{chunk-RIRJNQ7B.mjs.map → chunk-CW35YAMN.mjs.map} +0 -0
- /package/dist/esm/{chunk-HW7TSJI2.mjs.map → chunk-CZYH3G7E.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZNLOQO4Q.mjs.map → chunk-GBNAG7KK.mjs.map} +0 -0
- /package/dist/esm/{chunk-6UZHMEK3.mjs.map → chunk-HETYL3WN.mjs.map} +0 -0
- /package/dist/esm/{chunk-SE2VS7WM.mjs.map → chunk-KRBZ54CY.mjs.map} +0 -0
- /package/dist/esm/{chunk-G6HENV5D.mjs.map → chunk-Q4W3WJ2U.mjs.map} +0 -0
- /package/dist/esm/{chunk-EF4FA5I6.mjs.map → chunk-RQX6JOEN.mjs.map} +0 -0
- /package/dist/esm/{chunk-MA4QUN6P.mjs.map → chunk-U7HD6PQV.mjs.map} +0 -0
- /package/dist/esm/{chunk-TDGLYA35.mjs.map → chunk-UOP7GBXB.mjs.map} +0 -0
- /package/dist/esm/{chunk-K43K3YG7.mjs.map → chunk-UQWF24SS.mjs.map} +0 -0
- /package/dist/esm/{chunk-2UBI3AZJ.mjs.map → chunk-V2QSMVJ5.mjs.map} +0 -0
- /package/dist/esm/{chunk-TLFZOAAB.mjs.map → chunk-V74WPKSY.mjs.map} +0 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/// A module which defines the basic concept of
|
|
2
|
+
/// [*capabilities*](https://en.wikipedia.org/wiki/Capability-based_security) for managing access control.
|
|
3
|
+
///
|
|
4
|
+
/// EXPERIMENTAL
|
|
5
|
+
///
|
|
6
|
+
/// # Overview
|
|
7
|
+
///
|
|
8
|
+
/// A capability is a unforgeable token which testifies that a signer has authorized a certain operation.
|
|
9
|
+
/// The token is valid during the transaction where it is obtained. Since the type `capability::Cap` has
|
|
10
|
+
/// no ability to be stored in global memory, capabilities cannot leak out of a transaction. For every function
|
|
11
|
+
/// called within a transaction which has a capability as a parameter, it is guaranteed that the capability
|
|
12
|
+
/// has been obtained via a proper signer-based authorization step previously in the transaction's execution.
|
|
13
|
+
///
|
|
14
|
+
/// ## Usage
|
|
15
|
+
///
|
|
16
|
+
/// Initializing and acquiring capabilities is usually encapsulated in a module with a type
|
|
17
|
+
/// tag which can only be constructed by this module.
|
|
18
|
+
///
|
|
19
|
+
/// ```
|
|
20
|
+
/// module Pkg::Feature {
|
|
21
|
+
/// use std::capability::Cap;
|
|
22
|
+
///
|
|
23
|
+
/// /// A type tag used in Cap<Feature>. Only this module can create an instance,
|
|
24
|
+
/// /// and there is no public function other than Self::acquire which returns a value of this type.
|
|
25
|
+
/// /// This way, this module has full control how Cap<Feature> is given out.
|
|
26
|
+
/// struct Feature has drop {}
|
|
27
|
+
///
|
|
28
|
+
/// /// Initializes this module.
|
|
29
|
+
/// public fun initialize(s: &signer) {
|
|
30
|
+
/// // Create capability. This happens once at module initialization time.
|
|
31
|
+
/// // One needs to provide a witness for being the owner of Feature
|
|
32
|
+
/// // in the 2nd parameter.
|
|
33
|
+
/// <<additional conditions allowing to initialize this capability>>
|
|
34
|
+
/// capability::create<Feature>(s, &Feature{});
|
|
35
|
+
/// }
|
|
36
|
+
///
|
|
37
|
+
/// /// Acquires the capability to work with this feature.
|
|
38
|
+
/// public fun acquire(s: &signer): Cap<Feature> {
|
|
39
|
+
/// <<additional conditions allowing to acquire this capability>>
|
|
40
|
+
/// capability::acquire<Feature>(s, &Feature{});
|
|
41
|
+
/// }
|
|
42
|
+
///
|
|
43
|
+
/// /// Does something related to the feature. The caller must pass a Cap<Feature>.
|
|
44
|
+
/// public fun do_something(_cap: Cap<Feature>) { ... }
|
|
45
|
+
/// }
|
|
46
|
+
/// ```
|
|
47
|
+
///
|
|
48
|
+
/// ## Delegation
|
|
49
|
+
///
|
|
50
|
+
/// Capabilities come with the optional feature of *delegation*. Via `Self::delegate`, an owner of a capability
|
|
51
|
+
/// can designate another signer to be also capable of acquiring the capability. Like the original creator,
|
|
52
|
+
/// the delegate needs to present his signer to obtain the capability in his transactions. Delegation can
|
|
53
|
+
/// be revoked via `Self::revoke`, removing this access right from the delegate.
|
|
54
|
+
///
|
|
55
|
+
/// While the basic authorization mechanism for delegates is the same as with core capabilities, the
|
|
56
|
+
/// target of delegation might be subject of restrictions which need to be specified and verified. This can
|
|
57
|
+
/// be done via global invariants in the specification language. For example, in order to prevent delegation
|
|
58
|
+
/// all together for a capability, one can use the following invariant:
|
|
59
|
+
///
|
|
60
|
+
/// ```
|
|
61
|
+
/// invariant forall a: address where capability::spec_has_cap<Feature>(a):
|
|
62
|
+
/// len(capability::spec_delegates<Feature>(a)) == 0;
|
|
63
|
+
/// ```
|
|
64
|
+
///
|
|
65
|
+
/// Similarly, the following invariant would enforce that delegates, if existent, must satisfy a certain
|
|
66
|
+
/// predicate:
|
|
67
|
+
///
|
|
68
|
+
/// ```
|
|
69
|
+
/// invariant forall a: address where capability::spec_has_cap<Feature>(a):
|
|
70
|
+
/// forall d in capability::spec_delegates<Feature>(a):
|
|
71
|
+
/// is_valid_delegate_for_feature(d);
|
|
72
|
+
/// ```
|
|
73
|
+
///
|
|
74
|
+
module aptos_std::capability {
|
|
75
|
+
use std::error;
|
|
76
|
+
use std::signer;
|
|
77
|
+
use std::vector;
|
|
78
|
+
|
|
79
|
+
/// Capability resource already exists on the specified account
|
|
80
|
+
const ECAPABILITY_ALREADY_EXISTS: u64 = 1;
|
|
81
|
+
/// Capability resource not found
|
|
82
|
+
const ECAPABILITY_NOT_FOUND: u64 = 2;
|
|
83
|
+
/// Account does not have delegated permissions
|
|
84
|
+
const EDELEGATE: u64 = 3;
|
|
85
|
+
|
|
86
|
+
/// The token representing an acquired capability. Cannot be stored in memory, but copied and dropped freely.
|
|
87
|
+
struct Cap<phantom Feature> has copy, drop {
|
|
88
|
+
root: address
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/// A linear version of a capability token. This can be used if an acquired capability should be enforced
|
|
92
|
+
/// to be used only once for an authorization.
|
|
93
|
+
struct LinearCap<phantom Feature> has drop {
|
|
94
|
+
root: address
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/// An internal data structure for representing a configured capability.
|
|
98
|
+
struct CapState<phantom Feature> has key {
|
|
99
|
+
delegates: vector<address>
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/// An internal data structure for representing a configured delegated capability.
|
|
103
|
+
struct CapDelegateState<phantom Feature> has key {
|
|
104
|
+
root: address
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/// Creates a new capability class, owned by the passed signer. A caller must pass a witness that
|
|
108
|
+
/// they own the `Feature` type parameter.
|
|
109
|
+
public fun create<Feature>(owner: &signer, _feature_witness: &Feature) {
|
|
110
|
+
let addr = signer::address_of(owner);
|
|
111
|
+
assert!(!exists<CapState<Feature>>(addr), error::already_exists(ECAPABILITY_ALREADY_EXISTS));
|
|
112
|
+
move_to<CapState<Feature>>(owner, CapState { delegates: vector::empty() });
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/// Acquires a capability token. Only the owner of the capability class, or an authorized delegate,
|
|
116
|
+
/// can succeed with this operation. A caller must pass a witness that they own the `Feature` type
|
|
117
|
+
/// parameter.
|
|
118
|
+
public fun acquire<Feature>(requester: &signer, _feature_witness: &Feature): Cap<Feature>
|
|
119
|
+
acquires CapState, CapDelegateState {
|
|
120
|
+
Cap<Feature> { root: validate_acquire<Feature>(requester) }
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/// Acquires a linear capability token. It is up to the module which owns `Feature` to decide
|
|
124
|
+
/// whether to expose a linear or non-linear capability.
|
|
125
|
+
public fun acquire_linear<Feature>(requester: &signer, _feature_witness: &Feature): LinearCap<Feature>
|
|
126
|
+
acquires CapState, CapDelegateState {
|
|
127
|
+
LinearCap<Feature> { root: validate_acquire<Feature>(requester) }
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/// Helper to validate an acquire. Returns the root address of the capability.
|
|
131
|
+
fun validate_acquire<Feature>(requester: &signer): address
|
|
132
|
+
acquires CapState, CapDelegateState {
|
|
133
|
+
let addr = signer::address_of(requester);
|
|
134
|
+
if (exists<CapDelegateState<Feature>>(addr)) {
|
|
135
|
+
let root_addr = borrow_global<CapDelegateState<Feature>>(addr).root;
|
|
136
|
+
// double check that requester is actually registered as a delegate
|
|
137
|
+
assert!(exists<CapState<Feature>>(root_addr), error::invalid_state(EDELEGATE));
|
|
138
|
+
assert!(vector::contains(&borrow_global<CapState<Feature>>(root_addr).delegates, &addr),
|
|
139
|
+
error::invalid_state(EDELEGATE));
|
|
140
|
+
root_addr
|
|
141
|
+
} else {
|
|
142
|
+
assert!(exists<CapState<Feature>>(addr), error::not_found(ECAPABILITY_NOT_FOUND));
|
|
143
|
+
addr
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/// Returns the root address associated with the given capability token. Only the owner
|
|
148
|
+
/// of the feature can do this.
|
|
149
|
+
public fun root_addr<Feature>(self: Cap<Feature>, _feature_witness: &Feature): address {
|
|
150
|
+
self.root
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/// Returns the root address associated with the given linear capability token.
|
|
154
|
+
public fun linear_root_addr<Feature>(self: LinearCap<Feature>, _feature_witness: &Feature): address {
|
|
155
|
+
self.root
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/// Registers a delegation relation. If the relation already exists, this function does
|
|
159
|
+
/// nothing.
|
|
160
|
+
// TODO: explore whether this should be idempotent like now or abort
|
|
161
|
+
public fun delegate<Feature>(self: Cap<Feature>, _feature_witness: &Feature, to: &signer)
|
|
162
|
+
acquires CapState {
|
|
163
|
+
let addr = signer::address_of(to);
|
|
164
|
+
if (exists<CapDelegateState<Feature>>(addr)) return;
|
|
165
|
+
move_to(to, CapDelegateState<Feature> { root: self.root });
|
|
166
|
+
add_element(&mut borrow_global_mut<CapState<Feature>>(self.root).delegates, addr);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/// Revokes a delegation relation. If no relation exists, this function does nothing.
|
|
170
|
+
// TODO: explore whether this should be idempotent like now or abort
|
|
171
|
+
public fun revoke<Feature>(self: Cap<Feature>, _feature_witness: &Feature, from: address)
|
|
172
|
+
acquires CapState, CapDelegateState
|
|
173
|
+
{
|
|
174
|
+
if (!exists<CapDelegateState<Feature>>(from)) return;
|
|
175
|
+
let CapDelegateState { root: _root } = move_from<CapDelegateState<Feature>>(from);
|
|
176
|
+
remove_element(&mut borrow_global_mut<CapState<Feature>>(self.root).delegates, &from);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/// Helper to remove an element from a vector.
|
|
180
|
+
fun remove_element<E: drop>(v: &mut vector<E>, x: &E) {
|
|
181
|
+
let (found, index) = vector::index_of(v, x);
|
|
182
|
+
if (found) {
|
|
183
|
+
vector::remove(v, index);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/// Helper to add an element to a vector.
|
|
188
|
+
fun add_element<E: drop>(v: &mut vector<E>, x: E) {
|
|
189
|
+
if (!vector::contains(v, &x)) {
|
|
190
|
+
vector::push_back(v, x)
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/// Provides a framework for comparing two elements
|
|
2
|
+
module aptos_std::comparator {
|
|
3
|
+
use std::bcs;
|
|
4
|
+
use std::vector;
|
|
5
|
+
|
|
6
|
+
const EQUAL: u8 = 0;
|
|
7
|
+
const SMALLER: u8 = 1;
|
|
8
|
+
const GREATER: u8 = 2;
|
|
9
|
+
|
|
10
|
+
struct Result has drop {
|
|
11
|
+
inner: u8,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public fun is_equal(self: &Result): bool {
|
|
15
|
+
self.inner == EQUAL
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public fun is_smaller_than(self: &Result): bool {
|
|
19
|
+
self.inner == SMALLER
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public fun is_greater_than(self: &Result): bool {
|
|
23
|
+
self.inner == GREATER
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Performs a comparison of two types after BCS serialization.
|
|
27
|
+
// BCS uses little endian encoding for all integer types,
|
|
28
|
+
// so comparison between primitive integer types will not behave as expected.
|
|
29
|
+
// For example, 1(0x1) will be larger than 256(0x100) after BCS serialization.
|
|
30
|
+
public fun compare<T>(left: &T, right: &T): Result {
|
|
31
|
+
let left_bytes = bcs::to_bytes(left);
|
|
32
|
+
let right_bytes = bcs::to_bytes(right);
|
|
33
|
+
|
|
34
|
+
compare_u8_vector(left_bytes, right_bytes)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Performs a comparison of two vector<u8>s or byte vectors
|
|
38
|
+
public fun compare_u8_vector(left: vector<u8>, right: vector<u8>): Result {
|
|
39
|
+
let left_length = vector::length(&left);
|
|
40
|
+
let right_length = vector::length(&right);
|
|
41
|
+
|
|
42
|
+
let idx = 0;
|
|
43
|
+
|
|
44
|
+
while (idx < left_length && idx < right_length) {
|
|
45
|
+
let left_byte = *vector::borrow(&left, idx);
|
|
46
|
+
let right_byte = *vector::borrow(&right, idx);
|
|
47
|
+
|
|
48
|
+
if (left_byte < right_byte) {
|
|
49
|
+
return Result { inner: SMALLER }
|
|
50
|
+
} else if (left_byte > right_byte) {
|
|
51
|
+
return Result { inner: GREATER }
|
|
52
|
+
};
|
|
53
|
+
idx = idx + 1;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
if (left_length < right_length) {
|
|
57
|
+
Result { inner: SMALLER }
|
|
58
|
+
} else if (left_length > right_length) {
|
|
59
|
+
Result { inner: GREATER }
|
|
60
|
+
} else {
|
|
61
|
+
Result { inner: EQUAL }
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
#[test]
|
|
66
|
+
public fun test_strings() {
|
|
67
|
+
use std::string;
|
|
68
|
+
|
|
69
|
+
let value0 = string::utf8(b"alpha");
|
|
70
|
+
let value1 = string::utf8(b"beta");
|
|
71
|
+
let value2 = string::utf8(b"betaa");
|
|
72
|
+
|
|
73
|
+
assert!(is_equal(&compare(&value0, &value0)), 0);
|
|
74
|
+
assert!(is_equal(&compare(&value1, &value1)), 1);
|
|
75
|
+
assert!(is_equal(&compare(&value2, &value2)), 2);
|
|
76
|
+
|
|
77
|
+
assert!(is_greater_than(&compare(&value0, &value1)), 3);
|
|
78
|
+
assert!(is_smaller_than(&compare(&value1, &value0)), 4);
|
|
79
|
+
|
|
80
|
+
assert!(is_smaller_than(&compare(&value0, &value2)), 5);
|
|
81
|
+
assert!(is_greater_than(&compare(&value2, &value0)), 6);
|
|
82
|
+
|
|
83
|
+
assert!(is_smaller_than(&compare(&value1, &value2)), 7);
|
|
84
|
+
assert!(is_greater_than(&compare(&value2, &value1)), 8);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#[test]
|
|
88
|
+
#[expected_failure]
|
|
89
|
+
public fun test_integer() {
|
|
90
|
+
// 1(0x1) will be larger than 256(0x100) after BCS serialization.
|
|
91
|
+
let value0: u128 = 1;
|
|
92
|
+
let value1: u128 = 256;
|
|
93
|
+
|
|
94
|
+
assert!(is_equal(&compare(&value0, &value0)), 0);
|
|
95
|
+
assert!(is_equal(&compare(&value1, &value1)), 1);
|
|
96
|
+
|
|
97
|
+
assert!(is_smaller_than(&compare(&value0, &value1)), 2);
|
|
98
|
+
assert!(is_greater_than(&compare(&value1, &value0)), 3);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
#[test]
|
|
102
|
+
public fun test_u128() {
|
|
103
|
+
let value0: u128 = 5;
|
|
104
|
+
let value1: u128 = 152;
|
|
105
|
+
let value2: u128 = 511; // 0x1ff
|
|
106
|
+
|
|
107
|
+
assert!(is_equal(&compare(&value0, &value0)), 0);
|
|
108
|
+
assert!(is_equal(&compare(&value1, &value1)), 1);
|
|
109
|
+
assert!(is_equal(&compare(&value2, &value2)), 2);
|
|
110
|
+
|
|
111
|
+
assert!(is_smaller_than(&compare(&value0, &value1)), 2);
|
|
112
|
+
assert!(is_greater_than(&compare(&value1, &value0)), 3);
|
|
113
|
+
|
|
114
|
+
assert!(is_smaller_than(&compare(&value0, &value2)), 3);
|
|
115
|
+
assert!(is_greater_than(&compare(&value2, &value0)), 4);
|
|
116
|
+
|
|
117
|
+
assert!(is_smaller_than(&compare(&value1, &value2)), 5);
|
|
118
|
+
assert!(is_greater_than(&compare(&value2, &value1)), 6);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
#[test_only]
|
|
122
|
+
struct Complex has drop {
|
|
123
|
+
value0: vector<u128>,
|
|
124
|
+
value1: u8,
|
|
125
|
+
value2: u64,
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
#[test]
|
|
129
|
+
public fun test_complex() {
|
|
130
|
+
let value0_0 = vector::empty();
|
|
131
|
+
vector::push_back(&mut value0_0, 10);
|
|
132
|
+
vector::push_back(&mut value0_0, 9);
|
|
133
|
+
vector::push_back(&mut value0_0, 5);
|
|
134
|
+
|
|
135
|
+
let value0_1 = vector::empty();
|
|
136
|
+
vector::push_back(&mut value0_1, 10);
|
|
137
|
+
vector::push_back(&mut value0_1, 9);
|
|
138
|
+
vector::push_back(&mut value0_1, 5);
|
|
139
|
+
vector::push_back(&mut value0_1, 1);
|
|
140
|
+
|
|
141
|
+
let base = Complex {
|
|
142
|
+
value0: value0_0,
|
|
143
|
+
value1: 13,
|
|
144
|
+
value2: 41,
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
let other_0 = Complex {
|
|
148
|
+
value0: value0_1,
|
|
149
|
+
value1: 13,
|
|
150
|
+
value2: 41,
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
let other_1 = Complex {
|
|
154
|
+
value0: copy value0_0,
|
|
155
|
+
value1: 14,
|
|
156
|
+
value2: 41,
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
let other_2 = Complex {
|
|
160
|
+
value0: value0_0,
|
|
161
|
+
value1: 13,
|
|
162
|
+
value2: 42,
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
assert!(is_equal(&compare(&base, &base)), 0);
|
|
166
|
+
assert!(is_smaller_than(&compare(&base, &other_0)), 1);
|
|
167
|
+
assert!(is_greater_than(&compare(&other_0, &base)), 2);
|
|
168
|
+
assert!(is_smaller_than(&compare(&base, &other_1)), 3);
|
|
169
|
+
assert!(is_greater_than(&compare(&other_1, &base)), 4);
|
|
170
|
+
assert!(is_smaller_than(&compare(&base, &other_2)), 5);
|
|
171
|
+
assert!(is_greater_than(&compare(&other_2, &base)), 6);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module aptos_std::copyable_any {
|
|
2
|
+
use aptos_std::type_info;
|
|
3
|
+
use aptos_std::from_bcs::from_bytes;
|
|
4
|
+
use std::bcs;
|
|
5
|
+
use std::error;
|
|
6
|
+
use std::string::String;
|
|
7
|
+
|
|
8
|
+
/// The type provided for `unpack` is not the same as was given for `pack`.
|
|
9
|
+
const ETYPE_MISMATCH: u64 = 0;
|
|
10
|
+
|
|
11
|
+
/// The same as `any::Any` but with the copy ability.
|
|
12
|
+
struct Any has drop, store, copy {
|
|
13
|
+
type_name: String,
|
|
14
|
+
data: vector<u8>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/// Pack a value into the `Any` representation. Because Any can be stored, dropped, and copied this is
|
|
18
|
+
/// also required from `T`.
|
|
19
|
+
public fun pack<T: drop + store + copy>(x: T): Any {
|
|
20
|
+
Any {
|
|
21
|
+
type_name: type_info::type_name<T>(),
|
|
22
|
+
data: bcs::to_bytes(&x)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/// Unpack a value from the `Any` representation. This aborts if the value has not the expected type `T`.
|
|
27
|
+
public fun unpack<T>(self: Any): T {
|
|
28
|
+
assert!(type_info::type_name<T>() == self.type_name, error::invalid_argument(ETYPE_MISMATCH));
|
|
29
|
+
from_bytes<T>(self.data)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/// Returns the type name of this Any
|
|
33
|
+
public fun type_name(self: &Any): &String {
|
|
34
|
+
&self.type_name
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#[test_only]
|
|
38
|
+
struct S has store, drop, copy { x: u64 }
|
|
39
|
+
|
|
40
|
+
#[test]
|
|
41
|
+
fun test_any() {
|
|
42
|
+
assert!(unpack<u64>(pack(22)) == 22, 1);
|
|
43
|
+
assert!(unpack<S>(pack(S { x: 22 })) == S { x: 22 }, 2);
|
|
44
|
+
}
|
|
45
|
+
}
|