@aptos-labs/ts-sdk 3.0.0 → 3.1.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/dist/common/{account-CEmLe1wW.d.ts → account-Bb5REyaT.d.ts} +60 -11
- package/dist/common/chunk-6MMUUJHX.js +4 -0
- package/dist/common/chunk-6MMUUJHX.js.map +1 -0
- package/dist/common/cli/index.d.ts +1 -1
- package/dist/common/cli/index.js +1 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +121 -9
- package/dist/common/index.js +53 -32
- package/dist/common/index.js.map +1 -1
- package/dist/esm/{Ed25519Account-Ccxj1zdx.d.mts → Ed25519Account-ndmdpFe9.d.mts} +1 -1
- package/dist/esm/account/AbstractKeylessAccount.d.mts +3 -3
- package/dist/esm/account/AbstractKeylessAccount.mjs +1 -1
- package/dist/esm/account/AbstractedAccount.d.mts +2 -2
- package/dist/esm/account/AbstractedAccount.mjs +1 -1
- package/dist/esm/account/Account.d.mts +2 -2
- package/dist/esm/account/Account.mjs +1 -1
- package/dist/esm/account/AccountUtils.d.mts +3 -3
- package/dist/esm/account/AccountUtils.mjs +1 -1
- package/dist/esm/account/DerivableAbstractedAccount.d.mts +2 -2
- package/dist/esm/account/DerivableAbstractedAccount.mjs +1 -1
- package/dist/esm/account/Ed25519Account.d.mts +2 -2
- package/dist/esm/account/Ed25519Account.mjs +1 -1
- package/dist/esm/account/EphemeralKeyPair.d.mts +1 -1
- package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +4 -3
- package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
- package/dist/esm/account/KeylessAccount.d.mts +4 -3
- package/dist/esm/account/KeylessAccount.mjs +1 -1
- package/dist/esm/account/MultiEd25519Account.d.mts +2 -2
- package/dist/esm/account/MultiEd25519Account.mjs +1 -1
- package/dist/esm/account/MultiKeyAccount.d.mts +3 -3
- package/dist/esm/account/MultiKeyAccount.mjs +1 -1
- package/dist/esm/account/SingleKeyAccount.d.mts +2 -2
- package/dist/esm/account/SingleKeyAccount.mjs +1 -1
- package/dist/esm/account/index.d.mts +3 -3
- package/dist/esm/account/index.mjs +1 -1
- package/dist/esm/account/utils.d.mts +1 -1
- package/dist/esm/account/utils.mjs +1 -1
- package/dist/esm/{account-9G6tix5T.d.mts → account--Q9z_xMN.d.mts} +37 -3
- package/dist/esm/api/account/abstraction.d.mts +1 -1
- package/dist/esm/api/account/abstraction.mjs +1 -1
- package/dist/esm/api/account.d.mts +94 -3
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +2 -2
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +6 -4
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/aptosConfig.d.mts +1 -1
- package/dist/esm/api/aptosConfig.mjs +1 -1
- package/dist/esm/api/coin.d.mts +1 -1
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +2 -2
- package/dist/esm/api/digitalAsset.mjs +1 -1
- package/dist/esm/api/event.d.mts +1 -1
- package/dist/esm/api/event.mjs +1 -1
- package/dist/esm/api/faucet.d.mts +1 -1
- package/dist/esm/api/faucet.mjs +1 -1
- package/dist/esm/api/fungibleAsset.d.mts +2 -2
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.d.mts +1 -1
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +6 -4
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/keyless.d.mts +3 -3
- package/dist/esm/api/keyless.mjs +1 -1
- package/dist/esm/api/object.d.mts +1 -1
- package/dist/esm/api/object.mjs +1 -1
- package/dist/esm/api/staking.d.mts +1 -1
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/table.d.mts +1 -1
- package/dist/esm/api/table.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +3 -2
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +1 -1
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +2 -2
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +2 -2
- package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
- package/dist/esm/api/transactionSubmission/simulate.d.mts +1 -1
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +1 -1
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.d.mts +1 -1
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/consts.d.mts +1 -1
- package/dist/esm/bcs/deserializer.d.mts +1 -1
- package/dist/esm/bcs/index.d.mts +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +1 -1
- package/dist/esm/bcs/serializable/fixedBytes.d.mts +1 -1
- package/dist/esm/bcs/serializable/movePrimitives.d.mts +1 -1
- package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
- package/dist/esm/bcs/serializable/moveStructs.d.mts +1 -1
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/bcs/serializer.d.mts +1 -1
- package/dist/esm/{chunk-Q4W3WJ2U.mjs → chunk-2BOHKN33.mjs} +2 -2
- package/dist/esm/{chunk-SAMHWS73.mjs → chunk-4COLMDT3.mjs} +2 -2
- package/dist/esm/chunk-5HXLZHDW.mjs +1 -0
- package/dist/esm/chunk-5HXLZHDW.mjs.map +1 -0
- package/dist/esm/{chunk-5ZRPV4YI.mjs → chunk-5URUYE6H.mjs} +2 -2
- package/dist/esm/chunk-ACNHLCQQ.mjs +6 -0
- package/dist/esm/chunk-ACNHLCQQ.mjs.map +1 -0
- package/dist/esm/{chunk-2XQKGWHQ.mjs → chunk-FYYEPFML.mjs} +2 -2
- package/dist/esm/chunk-HUWKPKPQ.mjs +2 -0
- package/dist/esm/{chunk-HMUIOIBG.mjs.map → chunk-HUWKPKPQ.mjs.map} +1 -1
- package/dist/esm/chunk-IJE2LVZG.mjs +2 -0
- package/dist/esm/chunk-IJE2LVZG.mjs.map +1 -0
- package/dist/esm/chunk-JCFTAG5Z.mjs +2 -0
- package/dist/esm/{chunk-RJ7F4JDV.mjs.map → chunk-JCFTAG5Z.mjs.map} +1 -1
- package/dist/esm/{chunk-YHGGNYYL.mjs → chunk-MML57K5H.mjs} +2 -2
- package/dist/esm/{chunk-PFXXFUBL.mjs → chunk-MNDTFHDB.mjs} +2 -2
- package/dist/esm/{chunk-FSP4QM2T.mjs → chunk-SLWIGOQL.mjs} +2 -2
- package/dist/esm/{chunk-7T62PEFI.mjs → chunk-TYYVB2A6.mjs} +2 -2
- package/dist/esm/{chunk-WOTQ7227.mjs → chunk-U3GMNXO4.mjs} +2 -2
- package/dist/esm/{chunk-VHNX2NUR.mjs → chunk-UL777LTI.mjs} +47 -26
- package/dist/esm/chunk-UL777LTI.mjs.map +1 -0
- package/dist/esm/{chunk-IDHVW7HS.mjs → chunk-XZ75T7Q7.mjs} +2 -2
- package/dist/esm/{chunk-UIVX6WSC.mjs → chunk-Y7ZQTLH4.mjs} +2 -2
- package/dist/esm/{chunk-R7NQJWDG.mjs → chunk-Z5URUE4U.mjs} +2 -2
- package/dist/esm/cli/index.d.mts +1 -1
- package/dist/esm/cli/index.mjs +1 -1
- package/dist/esm/cli/localNode.mjs +1 -1
- package/dist/esm/cli/move.d.mts +1 -1
- package/dist/esm/client/core.d.mts +1 -1
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.d.mts +1 -1
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.d.mts +1 -1
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/core/account/index.d.mts +1 -1
- package/dist/esm/core/account/index.mjs +1 -1
- package/dist/esm/core/account/utils/address.d.mts +1 -1
- package/dist/esm/core/account/utils/address.mjs +1 -1
- package/dist/esm/core/account/utils/index.d.mts +1 -1
- package/dist/esm/core/account/utils/index.mjs +1 -1
- package/dist/esm/core/accountAddress.d.mts +1 -1
- package/dist/esm/core/accountAddress.mjs +1 -1
- package/dist/esm/core/authenticationKey.d.mts +1 -1
- package/dist/esm/core/authenticationKey.mjs +1 -1
- package/dist/esm/core/crypto/abstraction.d.mts +1 -1
- package/dist/esm/core/crypto/abstraction.mjs +1 -1
- package/dist/esm/core/crypto/deserializationUtils.d.mts +1 -1
- package/dist/esm/core/crypto/deserializationUtils.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.d.mts +1 -1
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +1 -1
- package/dist/esm/core/crypto/ephemeral.mjs +1 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +2 -2
- package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
- package/dist/esm/core/crypto/index.d.mts +3 -2
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/keyless.d.mts +2 -2
- package/dist/esm/core/crypto/keyless.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +1 -1
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.d.mts +1 -1
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/privateKey.d.mts +1 -1
- package/dist/esm/core/crypto/privateKey.mjs +1 -1
- package/dist/esm/core/crypto/proof.d.mts +1 -1
- package/dist/esm/core/crypto/proof.mjs +1 -1
- package/dist/esm/core/crypto/publicKey.d.mts +1 -1
- package/dist/esm/core/crypto/publicKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.d.mts +1 -1
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.d.mts +1 -1
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.d.mts +1 -1
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/crypto/types.d.mts +11 -0
- package/dist/esm/core/crypto/types.mjs +2 -0
- package/dist/esm/core/crypto/types.mjs.map +1 -0
- package/dist/esm/core/crypto/utils.d.mts +1 -1
- package/dist/esm/core/hex.d.mts +1 -1
- package/dist/esm/core/index.d.mts +3 -2
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/errors/index.d.mts +1 -1
- package/dist/esm/errors/index.mjs +1 -1
- package/dist/esm/{federatedKeyless-CVKW5pnz.d.mts → federatedKeyless-CiyplsOB.d.mts} +1 -1
- package/dist/esm/index.d.mts +6 -4
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/abstraction.d.mts +1 -1
- package/dist/esm/internal/abstraction.mjs +1 -1
- package/dist/esm/internal/account.d.mts +38 -8
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +2 -2
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +1 -1
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +2 -2
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.d.mts +1 -1
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.d.mts +1 -1
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +2 -2
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.d.mts +1 -1
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/keyless.d.mts +12 -3
- package/dist/esm/internal/keyless.mjs +1 -1
- package/dist/esm/internal/object.d.mts +1 -1
- package/dist/esm/internal/object.mjs +1 -1
- package/dist/esm/internal/staking.d.mts +1 -1
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/table.d.mts +1 -1
- package/dist/esm/internal/table.mjs +1 -1
- package/dist/esm/internal/transaction.d.mts +1 -1
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.d.mts +2 -2
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- package/dist/esm/internal/utils/index.d.mts +1 -1
- package/dist/esm/internal/utils/index.mjs +1 -1
- package/dist/esm/internal/utils/utils.d.mts +1 -1
- package/dist/esm/internal/utils/utils.mjs +1 -1
- package/dist/esm/internal/view.d.mts +1 -1
- package/dist/esm/internal/view.mjs +1 -1
- package/dist/esm/transactions/authenticator/account.d.mts +1 -1
- package/dist/esm/transactions/authenticator/account.mjs +1 -1
- package/dist/esm/transactions/authenticator/index.d.mts +1 -1
- package/dist/esm/transactions/authenticator/index.mjs +1 -1
- package/dist/esm/transactions/authenticator/transaction.d.mts +1 -1
- package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/transactions/instances/chainId.d.mts +1 -1
- package/dist/esm/transactions/instances/identifier.d.mts +1 -1
- package/dist/esm/transactions/instances/index.d.mts +1 -1
- package/dist/esm/transactions/instances/index.mjs +1 -1
- package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
- package/dist/esm/transactions/instances/moduleId.mjs +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.d.mts +1 -1
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +1 -1
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.d.mts +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionArgument.d.mts +1 -1
- package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +2 -2
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/index.d.mts +2 -2
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
- package/dist/esm/transactions/typeTag/index.d.mts +1 -1
- package/dist/esm/transactions/typeTag/index.mjs +1 -1
- package/dist/esm/transactions/typeTag/parser.d.mts +1 -1
- package/dist/esm/transactions/typeTag/parser.mjs +1 -1
- package/dist/esm/transactions/types.d.mts +1 -1
- package/dist/esm/types/generated/operations.d.mts +37 -10
- package/dist/esm/types/generated/queries.d.mts +6 -2
- package/dist/esm/types/generated/queries.mjs +1 -1
- package/dist/esm/types/generated/types.d.mts +584 -1172
- package/dist/esm/types/generated/types.mjs +1 -1
- package/dist/esm/types/generated/types.mjs.map +1 -1
- package/dist/esm/types/index.d.mts +2 -2
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/types/indexer.d.mts +8 -2
- package/dist/esm/types/types.d.mts +1 -1
- package/dist/esm/types/types.mjs +1 -1
- package/dist/esm/utils/const.d.mts +1 -0
- package/dist/esm/utils/const.mjs +1 -1
- package/dist/esm/utils/helpers.d.mts +1 -1
- package/dist/esm/utils/helpers.mjs +1 -1
- package/dist/esm/utils/index.d.mts +1 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.d.mts +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 +19 -18
- package/src/account/FederatedKeylessAccount.ts +7 -1
- package/src/account/KeylessAccount.ts +17 -2
- package/src/api/account.ts +135 -2
- package/src/api/transaction.ts +1 -0
- package/src/core/crypto/index.ts +1 -0
- package/src/core/crypto/multiEd25519.ts +26 -0
- package/src/core/crypto/multiKey.ts +6 -0
- package/src/core/crypto/types.ts +9 -0
- package/src/internal/account.ts +526 -59
- package/src/internal/keyless.ts +10 -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/internal/queries/getAccountAddressesForAuthKey.graphql +8 -0
- package/src/internal/queries/getAuthKeysForPublicKey.graphql +11 -0
- package/src/types/codegen.yaml +1 -1
- package/src/types/generated/operations.ts +39 -8
- package/src/types/generated/queries.ts +53 -0
- package/src/types/generated/types.ts +620 -1239
- package/src/types/indexer.ts +8 -0
- package/src/types/types.ts +40 -3
- package/src/utils/const.ts +1 -0
- package/src/version.ts +1 -1
- package/dist/common/chunk-5JIJXVJ5.js +0 -4
- package/dist/common/chunk-5JIJXVJ5.js.map +0 -1
- package/dist/esm/chunk-4H2RMR7D.mjs +0 -2
- package/dist/esm/chunk-4H2RMR7D.mjs.map +0 -1
- package/dist/esm/chunk-GMDBBVDH.mjs +0 -6
- package/dist/esm/chunk-GMDBBVDH.mjs.map +0 -1
- package/dist/esm/chunk-HMUIOIBG.mjs +0 -2
- package/dist/esm/chunk-RJ7F4JDV.mjs +0 -2
- package/dist/esm/chunk-VHNX2NUR.mjs.map +0 -1
- /package/dist/esm/{chunk-Q4W3WJ2U.mjs.map → chunk-2BOHKN33.mjs.map} +0 -0
- /package/dist/esm/{chunk-SAMHWS73.mjs.map → chunk-4COLMDT3.mjs.map} +0 -0
- /package/dist/esm/{chunk-5ZRPV4YI.mjs.map → chunk-5URUYE6H.mjs.map} +0 -0
- /package/dist/esm/{chunk-2XQKGWHQ.mjs.map → chunk-FYYEPFML.mjs.map} +0 -0
- /package/dist/esm/{chunk-YHGGNYYL.mjs.map → chunk-MML57K5H.mjs.map} +0 -0
- /package/dist/esm/{chunk-PFXXFUBL.mjs.map → chunk-MNDTFHDB.mjs.map} +0 -0
- /package/dist/esm/{chunk-FSP4QM2T.mjs.map → chunk-SLWIGOQL.mjs.map} +0 -0
- /package/dist/esm/{chunk-7T62PEFI.mjs.map → chunk-TYYVB2A6.mjs.map} +0 -0
- /package/dist/esm/{chunk-WOTQ7227.mjs.map → chunk-U3GMNXO4.mjs.map} +0 -0
- /package/dist/esm/{chunk-IDHVW7HS.mjs.map → chunk-XZ75T7Q7.mjs.map} +0 -0
- /package/dist/esm/{chunk-UIVX6WSC.mjs.map → chunk-Y7ZQTLH4.mjs.map} +0 -0
- /package/dist/esm/{chunk-R7NQJWDG.mjs.map → chunk-Z5URUE4U.mjs.map} +0 -0
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
module aptos_framework::transaction_validation {
|
|
2
|
+
use std::bcs;
|
|
3
|
+
use std::error;
|
|
4
|
+
use std::features;
|
|
5
|
+
use std::signer;
|
|
6
|
+
use std::vector;
|
|
7
|
+
|
|
8
|
+
use aptos_framework::account;
|
|
9
|
+
use aptos_framework::aptos_account;
|
|
10
|
+
use aptos_framework::aptos_coin::AptosCoin;
|
|
11
|
+
use aptos_framework::chain_id;
|
|
12
|
+
use aptos_framework::coin;
|
|
13
|
+
use aptos_framework::system_addresses;
|
|
14
|
+
use aptos_framework::timestamp;
|
|
15
|
+
use aptos_framework::transaction_fee;
|
|
16
|
+
|
|
17
|
+
friend aptos_framework::genesis;
|
|
18
|
+
|
|
19
|
+
/// This holds information that will be picked up by the VM to call the
|
|
20
|
+
/// correct chain-specific prologue and epilogue functions
|
|
21
|
+
struct TransactionValidation has key {
|
|
22
|
+
module_addr: address,
|
|
23
|
+
module_name: vector<u8>,
|
|
24
|
+
script_prologue_name: vector<u8>,
|
|
25
|
+
// module_prologue_name is deprecated and not used.
|
|
26
|
+
module_prologue_name: vector<u8>,
|
|
27
|
+
multi_agent_prologue_name: vector<u8>,
|
|
28
|
+
user_epilogue_name: vector<u8>,
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/// MSB is used to indicate a gas payer tx
|
|
32
|
+
const MAX_U64: u128 = 18446744073709551615;
|
|
33
|
+
|
|
34
|
+
/// Transaction exceeded its allocated max gas
|
|
35
|
+
const EOUT_OF_GAS: u64 = 6;
|
|
36
|
+
|
|
37
|
+
/// Prologue errors. These are separated out from the other errors in this
|
|
38
|
+
/// module since they are mapped separately to major VM statuses, and are
|
|
39
|
+
/// important to the semantics of the system.
|
|
40
|
+
const PROLOGUE_EINVALID_ACCOUNT_AUTH_KEY: u64 = 1001;
|
|
41
|
+
const PROLOGUE_ESEQUENCE_NUMBER_TOO_OLD: u64 = 1002;
|
|
42
|
+
const PROLOGUE_ESEQUENCE_NUMBER_TOO_NEW: u64 = 1003;
|
|
43
|
+
const PROLOGUE_EACCOUNT_DOES_NOT_EXIST: u64 = 1004;
|
|
44
|
+
const PROLOGUE_ECANT_PAY_GAS_DEPOSIT: u64 = 1005;
|
|
45
|
+
const PROLOGUE_ETRANSACTION_EXPIRED: u64 = 1006;
|
|
46
|
+
const PROLOGUE_EBAD_CHAIN_ID: u64 = 1007;
|
|
47
|
+
const PROLOGUE_ESEQUENCE_NUMBER_TOO_BIG: u64 = 1008;
|
|
48
|
+
const PROLOGUE_ESECONDARY_KEYS_ADDRESSES_COUNT_MISMATCH: u64 = 1009;
|
|
49
|
+
const PROLOGUE_EFEE_PAYER_NOT_ENABLED: u64 = 1010;
|
|
50
|
+
|
|
51
|
+
/// Only called during genesis to initialize system resources for this module.
|
|
52
|
+
public(friend) fun initialize(
|
|
53
|
+
aptos_framework: &signer,
|
|
54
|
+
script_prologue_name: vector<u8>,
|
|
55
|
+
// module_prologue_name is deprecated and not used.
|
|
56
|
+
module_prologue_name: vector<u8>,
|
|
57
|
+
multi_agent_prologue_name: vector<u8>,
|
|
58
|
+
user_epilogue_name: vector<u8>,
|
|
59
|
+
) {
|
|
60
|
+
system_addresses::assert_aptos_framework(aptos_framework);
|
|
61
|
+
|
|
62
|
+
move_to(aptos_framework, TransactionValidation {
|
|
63
|
+
module_addr: @aptos_framework,
|
|
64
|
+
module_name: b"transaction_validation",
|
|
65
|
+
script_prologue_name,
|
|
66
|
+
// module_prologue_name is deprecated and not used.
|
|
67
|
+
module_prologue_name,
|
|
68
|
+
multi_agent_prologue_name,
|
|
69
|
+
user_epilogue_name,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
fun prologue_common(
|
|
74
|
+
sender: signer,
|
|
75
|
+
gas_payer: address,
|
|
76
|
+
txn_sequence_number: u64,
|
|
77
|
+
txn_authentication_key: vector<u8>,
|
|
78
|
+
txn_gas_price: u64,
|
|
79
|
+
txn_max_gas_units: u64,
|
|
80
|
+
txn_expiration_time: u64,
|
|
81
|
+
chain_id: u8,
|
|
82
|
+
is_simulation: bool,
|
|
83
|
+
) {
|
|
84
|
+
assert!(
|
|
85
|
+
timestamp::now_seconds() < txn_expiration_time,
|
|
86
|
+
error::invalid_argument(PROLOGUE_ETRANSACTION_EXPIRED),
|
|
87
|
+
);
|
|
88
|
+
assert!(chain_id::get() == chain_id, error::invalid_argument(PROLOGUE_EBAD_CHAIN_ID));
|
|
89
|
+
|
|
90
|
+
let transaction_sender = signer::address_of(&sender);
|
|
91
|
+
|
|
92
|
+
if (
|
|
93
|
+
transaction_sender == gas_payer
|
|
94
|
+
|| account::exists_at(transaction_sender)
|
|
95
|
+
|| !features::sponsored_automatic_account_creation_enabled()
|
|
96
|
+
|| txn_sequence_number > 0
|
|
97
|
+
) {
|
|
98
|
+
assert!(account::exists_at(transaction_sender), error::invalid_argument(PROLOGUE_EACCOUNT_DOES_NOT_EXIST));
|
|
99
|
+
if (!features::transaction_simulation_enhancement_enabled() ||
|
|
100
|
+
!skip_auth_key_check(is_simulation, &txn_authentication_key)) {
|
|
101
|
+
assert!(
|
|
102
|
+
txn_authentication_key == account::get_authentication_key(transaction_sender),
|
|
103
|
+
error::invalid_argument(PROLOGUE_EINVALID_ACCOUNT_AUTH_KEY),
|
|
104
|
+
)
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
let account_sequence_number = account::get_sequence_number(transaction_sender);
|
|
108
|
+
assert!(
|
|
109
|
+
txn_sequence_number < (1u64 << 63),
|
|
110
|
+
error::out_of_range(PROLOGUE_ESEQUENCE_NUMBER_TOO_BIG)
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
assert!(
|
|
114
|
+
txn_sequence_number >= account_sequence_number,
|
|
115
|
+
error::invalid_argument(PROLOGUE_ESEQUENCE_NUMBER_TOO_OLD)
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
assert!(
|
|
119
|
+
txn_sequence_number == account_sequence_number,
|
|
120
|
+
error::invalid_argument(PROLOGUE_ESEQUENCE_NUMBER_TOO_NEW)
|
|
121
|
+
);
|
|
122
|
+
} else {
|
|
123
|
+
// In this case, the transaction is sponsored and the account does not exist, so ensure
|
|
124
|
+
// the default values match.
|
|
125
|
+
assert!(
|
|
126
|
+
txn_sequence_number == 0,
|
|
127
|
+
error::invalid_argument(PROLOGUE_ESEQUENCE_NUMBER_TOO_NEW)
|
|
128
|
+
);
|
|
129
|
+
|
|
130
|
+
if (!features::transaction_simulation_enhancement_enabled() ||
|
|
131
|
+
!skip_auth_key_check(is_simulation, &txn_authentication_key)) {
|
|
132
|
+
assert!(
|
|
133
|
+
txn_authentication_key == bcs::to_bytes(&transaction_sender),
|
|
134
|
+
error::invalid_argument(PROLOGUE_EINVALID_ACCOUNT_AUTH_KEY),
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
let max_transaction_fee = txn_gas_price * txn_max_gas_units;
|
|
140
|
+
|
|
141
|
+
if (!features::transaction_simulation_enhancement_enabled() || !skip_gas_payment(is_simulation, gas_payer)) {
|
|
142
|
+
if (features::operations_default_to_fa_apt_store_enabled()) {
|
|
143
|
+
assert!(
|
|
144
|
+
aptos_account::is_fungible_balance_at_least(gas_payer, max_transaction_fee),
|
|
145
|
+
error::invalid_argument(PROLOGUE_ECANT_PAY_GAS_DEPOSIT)
|
|
146
|
+
);
|
|
147
|
+
} else {
|
|
148
|
+
assert!(
|
|
149
|
+
coin::is_balance_at_least<AptosCoin>(gas_payer, max_transaction_fee),
|
|
150
|
+
error::invalid_argument(PROLOGUE_ECANT_PAY_GAS_DEPOSIT)
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
fun script_prologue(
|
|
157
|
+
sender: signer,
|
|
158
|
+
txn_sequence_number: u64,
|
|
159
|
+
txn_public_key: vector<u8>,
|
|
160
|
+
txn_gas_price: u64,
|
|
161
|
+
txn_max_gas_units: u64,
|
|
162
|
+
txn_expiration_time: u64,
|
|
163
|
+
chain_id: u8,
|
|
164
|
+
_script_hash: vector<u8>,
|
|
165
|
+
) {
|
|
166
|
+
let gas_payer = signer::address_of(&sender);
|
|
167
|
+
// prologue_common with is_simulation set to false behaves identically to the original script_prologue function.
|
|
168
|
+
prologue_common(
|
|
169
|
+
sender,
|
|
170
|
+
gas_payer,
|
|
171
|
+
txn_sequence_number,
|
|
172
|
+
txn_public_key,
|
|
173
|
+
txn_gas_price,
|
|
174
|
+
txn_max_gas_units,
|
|
175
|
+
txn_expiration_time,
|
|
176
|
+
chain_id,
|
|
177
|
+
false,
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// This function extends the script_prologue by adding a parameter to indicate simulation mode.
|
|
182
|
+
// Once the transaction_simulation_enhancement feature is enabled, the Aptos VM will invoke this function instead.
|
|
183
|
+
// Eventually, this function will be consolidated with the original function once the feature is fully enabled.
|
|
184
|
+
fun script_prologue_extended(
|
|
185
|
+
sender: signer,
|
|
186
|
+
txn_sequence_number: u64,
|
|
187
|
+
txn_public_key: vector<u8>,
|
|
188
|
+
txn_gas_price: u64,
|
|
189
|
+
txn_max_gas_units: u64,
|
|
190
|
+
txn_expiration_time: u64,
|
|
191
|
+
chain_id: u8,
|
|
192
|
+
_script_hash: vector<u8>,
|
|
193
|
+
is_simulation: bool,
|
|
194
|
+
) {
|
|
195
|
+
let gas_payer = signer::address_of(&sender);
|
|
196
|
+
prologue_common(
|
|
197
|
+
sender,
|
|
198
|
+
gas_payer,
|
|
199
|
+
txn_sequence_number,
|
|
200
|
+
txn_public_key,
|
|
201
|
+
txn_gas_price,
|
|
202
|
+
txn_max_gas_units,
|
|
203
|
+
txn_expiration_time,
|
|
204
|
+
chain_id,
|
|
205
|
+
is_simulation,
|
|
206
|
+
)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
fun multi_agent_script_prologue(
|
|
210
|
+
sender: signer,
|
|
211
|
+
txn_sequence_number: u64,
|
|
212
|
+
txn_sender_public_key: vector<u8>,
|
|
213
|
+
secondary_signer_addresses: vector<address>,
|
|
214
|
+
secondary_signer_public_key_hashes: vector<vector<u8>>,
|
|
215
|
+
txn_gas_price: u64,
|
|
216
|
+
txn_max_gas_units: u64,
|
|
217
|
+
txn_expiration_time: u64,
|
|
218
|
+
chain_id: u8,
|
|
219
|
+
) {
|
|
220
|
+
let sender_addr = signer::address_of(&sender);
|
|
221
|
+
// prologue_common and multi_agent_common_prologue with is_simulation set to false behaves identically to the
|
|
222
|
+
// original multi_agent_script_prologue function.
|
|
223
|
+
prologue_common(
|
|
224
|
+
sender,
|
|
225
|
+
sender_addr,
|
|
226
|
+
txn_sequence_number,
|
|
227
|
+
txn_sender_public_key,
|
|
228
|
+
txn_gas_price,
|
|
229
|
+
txn_max_gas_units,
|
|
230
|
+
txn_expiration_time,
|
|
231
|
+
chain_id,
|
|
232
|
+
false,
|
|
233
|
+
);
|
|
234
|
+
multi_agent_common_prologue(secondary_signer_addresses, secondary_signer_public_key_hashes, false);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// This function extends the multi_agent_script_prologue by adding a parameter to indicate simulation mode.
|
|
238
|
+
// Once the transaction_simulation_enhancement feature is enabled, the Aptos VM will invoke this function instead.
|
|
239
|
+
// Eventually, this function will be consolidated with the original function once the feature is fully enabled.
|
|
240
|
+
fun multi_agent_script_prologue_extended(
|
|
241
|
+
sender: signer,
|
|
242
|
+
txn_sequence_number: u64,
|
|
243
|
+
txn_sender_public_key: vector<u8>,
|
|
244
|
+
secondary_signer_addresses: vector<address>,
|
|
245
|
+
secondary_signer_public_key_hashes: vector<vector<u8>>,
|
|
246
|
+
txn_gas_price: u64,
|
|
247
|
+
txn_max_gas_units: u64,
|
|
248
|
+
txn_expiration_time: u64,
|
|
249
|
+
chain_id: u8,
|
|
250
|
+
is_simulation: bool,
|
|
251
|
+
) {
|
|
252
|
+
let sender_addr = signer::address_of(&sender);
|
|
253
|
+
prologue_common(
|
|
254
|
+
sender,
|
|
255
|
+
sender_addr,
|
|
256
|
+
txn_sequence_number,
|
|
257
|
+
txn_sender_public_key,
|
|
258
|
+
txn_gas_price,
|
|
259
|
+
txn_max_gas_units,
|
|
260
|
+
txn_expiration_time,
|
|
261
|
+
chain_id,
|
|
262
|
+
is_simulation,
|
|
263
|
+
);
|
|
264
|
+
multi_agent_common_prologue(secondary_signer_addresses, secondary_signer_public_key_hashes, is_simulation);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
fun multi_agent_common_prologue(
|
|
268
|
+
secondary_signer_addresses: vector<address>,
|
|
269
|
+
secondary_signer_public_key_hashes: vector<vector<u8>>,
|
|
270
|
+
is_simulation: bool,
|
|
271
|
+
) {
|
|
272
|
+
let num_secondary_signers = vector::length(&secondary_signer_addresses);
|
|
273
|
+
assert!(
|
|
274
|
+
vector::length(&secondary_signer_public_key_hashes) == num_secondary_signers,
|
|
275
|
+
error::invalid_argument(PROLOGUE_ESECONDARY_KEYS_ADDRESSES_COUNT_MISMATCH),
|
|
276
|
+
);
|
|
277
|
+
|
|
278
|
+
let i = 0;
|
|
279
|
+
while ({
|
|
280
|
+
spec {
|
|
281
|
+
invariant i <= num_secondary_signers;
|
|
282
|
+
invariant forall j in 0..i:
|
|
283
|
+
account::exists_at(secondary_signer_addresses[j]);
|
|
284
|
+
invariant forall j in 0..i:
|
|
285
|
+
secondary_signer_public_key_hashes[j] == account::get_authentication_key(secondary_signer_addresses[j]) ||
|
|
286
|
+
(features::spec_simulation_enhancement_enabled() && is_simulation && vector::is_empty(secondary_signer_public_key_hashes[j]));
|
|
287
|
+
};
|
|
288
|
+
(i < num_secondary_signers)
|
|
289
|
+
}) {
|
|
290
|
+
let secondary_address = *vector::borrow(&secondary_signer_addresses, i);
|
|
291
|
+
assert!(account::exists_at(secondary_address), error::invalid_argument(PROLOGUE_EACCOUNT_DOES_NOT_EXIST));
|
|
292
|
+
|
|
293
|
+
let signer_public_key_hash = *vector::borrow(&secondary_signer_public_key_hashes, i);
|
|
294
|
+
if (!features::transaction_simulation_enhancement_enabled() ||
|
|
295
|
+
!skip_auth_key_check(is_simulation, &signer_public_key_hash)) {
|
|
296
|
+
assert!(
|
|
297
|
+
signer_public_key_hash == account::get_authentication_key(secondary_address),
|
|
298
|
+
error::invalid_argument(PROLOGUE_EINVALID_ACCOUNT_AUTH_KEY),
|
|
299
|
+
)
|
|
300
|
+
};
|
|
301
|
+
i = i + 1;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
fun fee_payer_script_prologue(
|
|
306
|
+
sender: signer,
|
|
307
|
+
txn_sequence_number: u64,
|
|
308
|
+
txn_sender_public_key: vector<u8>,
|
|
309
|
+
secondary_signer_addresses: vector<address>,
|
|
310
|
+
secondary_signer_public_key_hashes: vector<vector<u8>>,
|
|
311
|
+
fee_payer_address: address,
|
|
312
|
+
fee_payer_public_key_hash: vector<u8>,
|
|
313
|
+
txn_gas_price: u64,
|
|
314
|
+
txn_max_gas_units: u64,
|
|
315
|
+
txn_expiration_time: u64,
|
|
316
|
+
chain_id: u8,
|
|
317
|
+
) {
|
|
318
|
+
assert!(features::fee_payer_enabled(), error::invalid_state(PROLOGUE_EFEE_PAYER_NOT_ENABLED));
|
|
319
|
+
// prologue_common and multi_agent_common_prologue with is_simulation set to false behaves identically to the
|
|
320
|
+
// original fee_payer_script_prologue function.
|
|
321
|
+
prologue_common(
|
|
322
|
+
sender,
|
|
323
|
+
fee_payer_address,
|
|
324
|
+
txn_sequence_number,
|
|
325
|
+
txn_sender_public_key,
|
|
326
|
+
txn_gas_price,
|
|
327
|
+
txn_max_gas_units,
|
|
328
|
+
txn_expiration_time,
|
|
329
|
+
chain_id,
|
|
330
|
+
false,
|
|
331
|
+
);
|
|
332
|
+
multi_agent_common_prologue(secondary_signer_addresses, secondary_signer_public_key_hashes, false);
|
|
333
|
+
assert!(
|
|
334
|
+
fee_payer_public_key_hash == account::get_authentication_key(fee_payer_address),
|
|
335
|
+
error::invalid_argument(PROLOGUE_EINVALID_ACCOUNT_AUTH_KEY),
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// This function extends the fee_payer_script_prologue by adding a parameter to indicate simulation mode.
|
|
340
|
+
// Once the transaction_simulation_enhancement feature is enabled, the Aptos VM will invoke this function instead.
|
|
341
|
+
// Eventually, this function will be consolidated with the original function once the feature is fully enabled.
|
|
342
|
+
fun fee_payer_script_prologue_extended(
|
|
343
|
+
sender: signer,
|
|
344
|
+
txn_sequence_number: u64,
|
|
345
|
+
txn_sender_public_key: vector<u8>,
|
|
346
|
+
secondary_signer_addresses: vector<address>,
|
|
347
|
+
secondary_signer_public_key_hashes: vector<vector<u8>>,
|
|
348
|
+
fee_payer_address: address,
|
|
349
|
+
fee_payer_public_key_hash: vector<u8>,
|
|
350
|
+
txn_gas_price: u64,
|
|
351
|
+
txn_max_gas_units: u64,
|
|
352
|
+
txn_expiration_time: u64,
|
|
353
|
+
chain_id: u8,
|
|
354
|
+
is_simulation: bool,
|
|
355
|
+
) {
|
|
356
|
+
assert!(features::fee_payer_enabled(), error::invalid_state(PROLOGUE_EFEE_PAYER_NOT_ENABLED));
|
|
357
|
+
prologue_common(
|
|
358
|
+
sender,
|
|
359
|
+
fee_payer_address,
|
|
360
|
+
txn_sequence_number,
|
|
361
|
+
txn_sender_public_key,
|
|
362
|
+
txn_gas_price,
|
|
363
|
+
txn_max_gas_units,
|
|
364
|
+
txn_expiration_time,
|
|
365
|
+
chain_id,
|
|
366
|
+
is_simulation,
|
|
367
|
+
);
|
|
368
|
+
multi_agent_common_prologue(secondary_signer_addresses, secondary_signer_public_key_hashes, is_simulation);
|
|
369
|
+
if (!features::transaction_simulation_enhancement_enabled() ||
|
|
370
|
+
!skip_auth_key_check(is_simulation, &fee_payer_public_key_hash)) {
|
|
371
|
+
assert!(
|
|
372
|
+
fee_payer_public_key_hash == account::get_authentication_key(fee_payer_address),
|
|
373
|
+
error::invalid_argument(PROLOGUE_EINVALID_ACCOUNT_AUTH_KEY),
|
|
374
|
+
)
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/// Epilogue function is run after a transaction is successfully executed.
|
|
379
|
+
/// Called by the Adapter
|
|
380
|
+
fun epilogue(
|
|
381
|
+
account: signer,
|
|
382
|
+
storage_fee_refunded: u64,
|
|
383
|
+
txn_gas_price: u64,
|
|
384
|
+
txn_max_gas_units: u64,
|
|
385
|
+
gas_units_remaining: u64,
|
|
386
|
+
) {
|
|
387
|
+
let addr = signer::address_of(&account);
|
|
388
|
+
epilogue_gas_payer(account, addr, storage_fee_refunded, txn_gas_price, txn_max_gas_units, gas_units_remaining);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
// This function extends the epilogue by adding a parameter to indicate simulation mode.
|
|
392
|
+
// Once the transaction_simulation_enhancement feature is enabled, the Aptos VM will invoke this function instead.
|
|
393
|
+
// Eventually, this function will be consolidated with the original function once the feature is fully enabled.
|
|
394
|
+
fun epilogue_extended(
|
|
395
|
+
account: signer,
|
|
396
|
+
storage_fee_refunded: u64,
|
|
397
|
+
txn_gas_price: u64,
|
|
398
|
+
txn_max_gas_units: u64,
|
|
399
|
+
gas_units_remaining: u64,
|
|
400
|
+
is_simulation: bool,
|
|
401
|
+
) {
|
|
402
|
+
let addr = signer::address_of(&account);
|
|
403
|
+
epilogue_gas_payer_extended(account, addr, storage_fee_refunded, txn_gas_price, txn_max_gas_units, gas_units_remaining, is_simulation);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
/// Epilogue function with explicit gas payer specified, is run after a transaction is successfully executed.
|
|
407
|
+
/// Called by the Adapter
|
|
408
|
+
fun epilogue_gas_payer(
|
|
409
|
+
account: signer,
|
|
410
|
+
gas_payer: address,
|
|
411
|
+
storage_fee_refunded: u64,
|
|
412
|
+
txn_gas_price: u64,
|
|
413
|
+
txn_max_gas_units: u64,
|
|
414
|
+
gas_units_remaining: u64,
|
|
415
|
+
) {
|
|
416
|
+
// epilogue_gas_payer_extended with is_simulation set to false behaves identically to the original
|
|
417
|
+
// epilogue_gas_payer function.
|
|
418
|
+
epilogue_gas_payer_extended(
|
|
419
|
+
account,
|
|
420
|
+
gas_payer,
|
|
421
|
+
storage_fee_refunded,
|
|
422
|
+
txn_gas_price,
|
|
423
|
+
txn_max_gas_units,
|
|
424
|
+
gas_units_remaining,
|
|
425
|
+
false,
|
|
426
|
+
);
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// This function extends the epilogue_gas_payer by adding a parameter to indicate simulation mode.
|
|
430
|
+
// Once the transaction_simulation_enhancement feature is enabled, the Aptos VM will invoke this function instead.
|
|
431
|
+
// Eventually, this function will be consolidated with the original function once the feature is fully enabled.
|
|
432
|
+
fun epilogue_gas_payer_extended(
|
|
433
|
+
account: signer,
|
|
434
|
+
gas_payer: address,
|
|
435
|
+
storage_fee_refunded: u64,
|
|
436
|
+
txn_gas_price: u64,
|
|
437
|
+
txn_max_gas_units: u64,
|
|
438
|
+
gas_units_remaining: u64,
|
|
439
|
+
is_simulation: bool,
|
|
440
|
+
) {
|
|
441
|
+
assert!(txn_max_gas_units >= gas_units_remaining, error::invalid_argument(EOUT_OF_GAS));
|
|
442
|
+
let gas_used = txn_max_gas_units - gas_units_remaining;
|
|
443
|
+
|
|
444
|
+
assert!(
|
|
445
|
+
(txn_gas_price as u128) * (gas_used as u128) <= MAX_U64,
|
|
446
|
+
error::out_of_range(EOUT_OF_GAS)
|
|
447
|
+
);
|
|
448
|
+
let transaction_fee_amount = txn_gas_price * gas_used;
|
|
449
|
+
|
|
450
|
+
// it's important to maintain the error code consistent with vm
|
|
451
|
+
// to do failed transaction cleanup.
|
|
452
|
+
if (!features::transaction_simulation_enhancement_enabled() || !skip_gas_payment(is_simulation, gas_payer)) {
|
|
453
|
+
if (features::operations_default_to_fa_apt_store_enabled()) {
|
|
454
|
+
assert!(
|
|
455
|
+
aptos_account::is_fungible_balance_at_least(gas_payer, transaction_fee_amount),
|
|
456
|
+
error::out_of_range(PROLOGUE_ECANT_PAY_GAS_DEPOSIT),
|
|
457
|
+
);
|
|
458
|
+
} else {
|
|
459
|
+
assert!(
|
|
460
|
+
coin::is_balance_at_least<AptosCoin>(gas_payer, transaction_fee_amount),
|
|
461
|
+
error::out_of_range(PROLOGUE_ECANT_PAY_GAS_DEPOSIT),
|
|
462
|
+
);
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
let amount_to_burn = if (features::collect_and_distribute_gas_fees()) {
|
|
466
|
+
// TODO(gas): We might want to distinguish the refundable part of the charge and burn it or track
|
|
467
|
+
// it separately, so that we don't increase the total supply by refunding.
|
|
468
|
+
|
|
469
|
+
// If transaction fees are redistributed to validators, collect them here for
|
|
470
|
+
// later redistribution.
|
|
471
|
+
transaction_fee::collect_fee(gas_payer, transaction_fee_amount);
|
|
472
|
+
0
|
|
473
|
+
} else {
|
|
474
|
+
// Otherwise, just burn the fee.
|
|
475
|
+
// TODO: this branch should be removed completely when transaction fee collection
|
|
476
|
+
// is tested and is fully proven to work well.
|
|
477
|
+
transaction_fee_amount
|
|
478
|
+
};
|
|
479
|
+
|
|
480
|
+
if (amount_to_burn > storage_fee_refunded) {
|
|
481
|
+
let burn_amount = amount_to_burn - storage_fee_refunded;
|
|
482
|
+
transaction_fee::burn_fee(gas_payer, burn_amount);
|
|
483
|
+
} else if (amount_to_burn < storage_fee_refunded) {
|
|
484
|
+
let mint_amount = storage_fee_refunded - amount_to_burn;
|
|
485
|
+
transaction_fee::mint_and_refund(gas_payer, mint_amount)
|
|
486
|
+
};
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
// Increment sequence number
|
|
490
|
+
let addr = signer::address_of(&account);
|
|
491
|
+
account::increment_sequence_number(addr);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
inline fun skip_auth_key_check(is_simulation: bool, auth_key: &vector<u8>): bool {
|
|
495
|
+
is_simulation && vector::is_empty(auth_key)
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
inline fun skip_gas_payment(is_simulation: bool, gas_payer: address): bool {
|
|
499
|
+
is_simulation && gas_payer == @0x0
|
|
500
|
+
}
|
|
501
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// Utility functions used by the framework modules.
|
|
2
|
+
module aptos_framework::util {
|
|
3
|
+
friend aptos_framework::code;
|
|
4
|
+
friend aptos_framework::gas_schedule;
|
|
5
|
+
|
|
6
|
+
/// Native function to deserialize a type T.
|
|
7
|
+
///
|
|
8
|
+
/// Note that this function does not put any constraint on `T`. If code uses this function to
|
|
9
|
+
/// deserialized a linear value, its their responsibility that the data they deserialize is
|
|
10
|
+
/// owned.
|
|
11
|
+
public(friend) native fun from_bytes<T>(bytes: vector<u8>): T;
|
|
12
|
+
|
|
13
|
+
public fun address_from_bytes(bytes: vector<u8>): address {
|
|
14
|
+
from_bytes(bytes)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// Common type: `ValidatorConsensusInfo`.
|
|
2
|
+
module aptos_framework::validator_consensus_info {
|
|
3
|
+
/// Information about a validator that participates consensus.
|
|
4
|
+
struct ValidatorConsensusInfo has copy, drop, store {
|
|
5
|
+
addr: address,
|
|
6
|
+
pk_bytes: vector<u8>,
|
|
7
|
+
voting_power: u64,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/// Create a default `ValidatorConsensusInfo` object. Value may be invalid. Only for place holding prupose.
|
|
11
|
+
public fun default(): ValidatorConsensusInfo {
|
|
12
|
+
ValidatorConsensusInfo {
|
|
13
|
+
addr: @vm,
|
|
14
|
+
pk_bytes: vector[],
|
|
15
|
+
voting_power: 0,
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/// Create a `ValidatorConsensusInfo` object.
|
|
20
|
+
public fun new(addr: address, pk_bytes: vector<u8>, voting_power: u64): ValidatorConsensusInfo {
|
|
21
|
+
ValidatorConsensusInfo {
|
|
22
|
+
addr,
|
|
23
|
+
pk_bytes,
|
|
24
|
+
voting_power,
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/// Get `ValidatorConsensusInfo.addr`.
|
|
29
|
+
public fun get_addr(vci: &ValidatorConsensusInfo): address {
|
|
30
|
+
vci.addr
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/// Get `ValidatorConsensusInfo.pk_bytes`.
|
|
34
|
+
public fun get_pk_bytes(vci: &ValidatorConsensusInfo): vector<u8> {
|
|
35
|
+
vci.pk_bytes
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/// Get `ValidatorConsensusInfo.voting_power`.
|
|
39
|
+
public fun get_voting_power(vci: &ValidatorConsensusInfo): u64 {
|
|
40
|
+
vci.voting_power
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/// Maintains the version number for the blockchain.
|
|
2
|
+
module aptos_framework::version {
|
|
3
|
+
use std::error;
|
|
4
|
+
use std::signer;
|
|
5
|
+
use aptos_framework::chain_status;
|
|
6
|
+
use aptos_framework::config_buffer;
|
|
7
|
+
|
|
8
|
+
use aptos_framework::reconfiguration;
|
|
9
|
+
use aptos_framework::system_addresses;
|
|
10
|
+
|
|
11
|
+
friend aptos_framework::genesis;
|
|
12
|
+
friend aptos_framework::reconfiguration_with_dkg;
|
|
13
|
+
|
|
14
|
+
struct Version has drop, key, store {
|
|
15
|
+
major: u64,
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
struct SetVersionCapability has key {}
|
|
19
|
+
|
|
20
|
+
/// Specified major version number must be greater than current version number.
|
|
21
|
+
const EINVALID_MAJOR_VERSION_NUMBER: u64 = 1;
|
|
22
|
+
/// Account is not authorized to make this change.
|
|
23
|
+
const ENOT_AUTHORIZED: u64 = 2;
|
|
24
|
+
|
|
25
|
+
/// Only called during genesis.
|
|
26
|
+
/// Publishes the Version config.
|
|
27
|
+
public(friend) fun initialize(aptos_framework: &signer, initial_version: u64) {
|
|
28
|
+
system_addresses::assert_aptos_framework(aptos_framework);
|
|
29
|
+
|
|
30
|
+
move_to(aptos_framework, Version { major: initial_version });
|
|
31
|
+
// Give aptos framework account capability to call set version. This allows on chain governance to do it through
|
|
32
|
+
// control of the aptos framework account.
|
|
33
|
+
move_to(aptos_framework, SetVersionCapability {});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/// Deprecated by `set_for_next_epoch()`.
|
|
37
|
+
///
|
|
38
|
+
/// WARNING: calling this while randomness is enabled will trigger a new epoch without randomness!
|
|
39
|
+
///
|
|
40
|
+
/// TODO: update all the tests that reference this function, then disable this function.
|
|
41
|
+
public entry fun set_version(account: &signer, major: u64) acquires Version {
|
|
42
|
+
assert!(exists<SetVersionCapability>(signer::address_of(account)), error::permission_denied(ENOT_AUTHORIZED));
|
|
43
|
+
chain_status::assert_genesis();
|
|
44
|
+
|
|
45
|
+
let old_major = borrow_global<Version>(@aptos_framework).major;
|
|
46
|
+
assert!(old_major < major, error::invalid_argument(EINVALID_MAJOR_VERSION_NUMBER));
|
|
47
|
+
|
|
48
|
+
let config = borrow_global_mut<Version>(@aptos_framework);
|
|
49
|
+
config.major = major;
|
|
50
|
+
|
|
51
|
+
// Need to trigger reconfiguration so validator nodes can sync on the updated version.
|
|
52
|
+
reconfiguration::reconfigure();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// Used in on-chain governances to update the major version for the next epoch.
|
|
56
|
+
/// Example usage:
|
|
57
|
+
/// - `aptos_framework::version::set_for_next_epoch(&framework_signer, new_version);`
|
|
58
|
+
/// - `aptos_framework::aptos_governance::reconfigure(&framework_signer);`
|
|
59
|
+
public entry fun set_for_next_epoch(account: &signer, major: u64) acquires Version {
|
|
60
|
+
assert!(exists<SetVersionCapability>(signer::address_of(account)), error::permission_denied(ENOT_AUTHORIZED));
|
|
61
|
+
let old_major = borrow_global<Version>(@aptos_framework).major;
|
|
62
|
+
assert!(old_major < major, error::invalid_argument(EINVALID_MAJOR_VERSION_NUMBER));
|
|
63
|
+
config_buffer::upsert(Version {major});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/// Only used in reconfigurations to apply the pending `Version`, if there is any.
|
|
67
|
+
public(friend) fun on_new_epoch(framework: &signer) acquires Version {
|
|
68
|
+
system_addresses::assert_aptos_framework(framework);
|
|
69
|
+
if (config_buffer::does_exist<Version>()) {
|
|
70
|
+
let new_value = config_buffer::extract<Version>();
|
|
71
|
+
if (exists<Version>(@aptos_framework)) {
|
|
72
|
+
*borrow_global_mut<Version>(@aptos_framework) = new_value;
|
|
73
|
+
} else {
|
|
74
|
+
move_to(framework, new_value);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/// Only called in tests and testnets. This allows the core resources account, which only exists in tests/testnets,
|
|
80
|
+
/// to update the version.
|
|
81
|
+
fun initialize_for_test(core_resources: &signer) {
|
|
82
|
+
system_addresses::assert_core_resource(core_resources);
|
|
83
|
+
move_to(core_resources, SetVersionCapability {});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#[test(aptos_framework = @aptos_framework)]
|
|
87
|
+
public entry fun test_set_version(aptos_framework: signer) acquires Version {
|
|
88
|
+
initialize(&aptos_framework, 1);
|
|
89
|
+
assert!(borrow_global<Version>(@aptos_framework).major == 1, 0);
|
|
90
|
+
set_version(&aptos_framework, 2);
|
|
91
|
+
assert!(borrow_global<Version>(@aptos_framework).major == 2, 1);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#[test(aptos_framework = @aptos_framework, core_resources = @core_resources)]
|
|
95
|
+
public entry fun test_set_version_core_resources(
|
|
96
|
+
aptos_framework: signer,
|
|
97
|
+
core_resources: signer,
|
|
98
|
+
) acquires Version {
|
|
99
|
+
initialize(&aptos_framework, 1);
|
|
100
|
+
assert!(borrow_global<Version>(@aptos_framework).major == 1, 0);
|
|
101
|
+
initialize_for_test(&core_resources);
|
|
102
|
+
set_version(&core_resources, 2);
|
|
103
|
+
assert!(borrow_global<Version>(@aptos_framework).major == 2, 1);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
#[test(aptos_framework = @aptos_framework, random_account = @0x123)]
|
|
107
|
+
#[expected_failure(abort_code = 327682, location = Self)]
|
|
108
|
+
public entry fun test_set_version_unauthorized_should_fail(
|
|
109
|
+
aptos_framework: signer,
|
|
110
|
+
random_account: signer,
|
|
111
|
+
) acquires Version {
|
|
112
|
+
initialize(&aptos_framework, 1);
|
|
113
|
+
set_version(&random_account, 2);
|
|
114
|
+
}
|
|
115
|
+
}
|