From e5d8420c2e4e54aec84d1ed5ddef0af5ddeaa694 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Sun, 29 Sep 2024 17:13:26 +0800 Subject: [PATCH] change ScriptFunction to EntryFunction --- abi/decoder/src/lib.rs | 8 +-- chain/force-upgrade/src/lib.rs | 4 +- chain/tests/block_test_utils.rs | 2 +- cmd/airdrop/src/main.rs | 4 +- cmd/db-exporter/src/main.rs | 4 +- cmd/db-exporter/src/verify_module.rs | 2 +- cmd/genesis-nft-miner/src/main.rs | 4 +- cmd/starcoin/src/account/accept_token_cmd.rs | 4 +- .../account/execute_script_function_cmd.rs | 4 +- cmd/starcoin/src/account/nft_cmd.rs | 2 +- .../src/account/rotate_auth_key_cmd.rs | 4 +- .../src/account/sign_multisig_txn_cmd.rs | 6 +- cmd/starcoin/src/account/transfer_cmd.rs | 2 +- cmd/starcoin/src/dev/gen_block_cmd.rs | 2 +- cmd/starcoin/src/dev/get_coin_cmd.rs | 2 +- cmd/starcoin/src/dev/package_cmd.rs | 4 +- .../src/dev/upgrade_module_plan_cmd.rs | 2 +- .../src/dev/upgrade_module_proposal_cmd.rs | 2 +- .../src/dev/upgrade_module_queue_cmd.rs | 2 +- .../src/dev/upgrade_vm_config_proposal_cmd.rs | 2 +- .../src/merkle_distributor_test.rs | 14 ++-- contrib-contracts/src/starcoin_merkle_test.rs | 6 +- executor/benchmark/src/lib.rs | 6 +- executor/tests/error_code_test.rs | 8 +-- executor/tests/executor_test.rs | 28 ++++---- executor/tests/module_upgrade_test.rs | 18 ++--- executor/tests/script_function_test.rs | 12 ++-- rpc/api/src/types.rs | 16 ++--- test-helper/src/dao.rs | 66 ++++++++--------- test-helper/src/txn.rs | 22 +++--- test-helper/tests/types_check.rs | 4 +- txpool/src/test.rs | 2 +- types/src/account.rs | 4 +- vm/e2e-tests/src/account.rs | 6 +- .../cached-packages/src/starcoin_stdlib.rs | 6 +- vm/move-package-manager/src/release.rs | 4 +- .../src/lib.rs | 10 +-- vm/stdlib/src/compat.rs | 14 ++-- vm/stdlib/src/lib.rs | 6 +- vm/stdlib/src/main.rs | 6 +- vm/transaction-builder/src/lib.rs | 72 +++++++++---------- vm/types/src/proptest_types.rs | 8 +-- vm/types/src/transaction/mod.rs | 12 ++-- vm/types/src/transaction/package.rs | 12 ++-- vm/types/src/transaction/script.rs | 57 ++------------- vm/types/src/transaction_metadata.rs | 2 +- vm/vm-runtime/src/starcoin_vm.rs | 8 +-- 47 files changed, 225 insertions(+), 270 deletions(-) diff --git a/abi/decoder/src/lib.rs b/abi/decoder/src/lib.rs index 0651998a0b..ab9ce968bc 100644 --- a/abi/decoder/src/lib.rs +++ b/abi/decoder/src/lib.rs @@ -13,7 +13,7 @@ use starcoin_vm_types::account_address::AccountAddress; use starcoin_vm_types::identifier::Identifier; use starcoin_vm_types::language_storage::{ModuleId, TypeTag}; use starcoin_vm_types::state_store::StateView; -use starcoin_vm_types::transaction::{Module, Package, Script, ScriptFunction, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, Module, Package, Script, TransactionPayload}; #[derive(Clone, Debug, Eq, PartialEq)] pub enum DecodedTransactionPayload { /// A transaction that executes code. @@ -123,7 +123,7 @@ pub fn decode_txn_payload( match payload { TransactionPayload::Script(s) => decode_script(state, s).map(Into::into), TransactionPayload::Package(pkg) => decode_package(state, pkg).map(Into::into), - TransactionPayload::ScriptFunction(sf) => decode_script_function(state, sf).map(Into::into), + TransactionPayload::EntryFunction(sf) => decode_script_function(state, sf).map(Into::into), } } @@ -190,7 +190,7 @@ pub fn decode_package(state: &dyn StateView, pkg: &Package) -> Result Result { let resolver = ABIResolver::new(state); decode_script_function_inner(&resolver, sf) @@ -198,7 +198,7 @@ pub fn decode_script_function( fn decode_script_function_inner( resolver: &ABIResolver, - sf: &ScriptFunction, + sf: &EntryFunction, ) -> Result { let func_abi = resolver.resolve_function_instantiation(sf.module(), sf.function(), sf.ty_args())?; diff --git a/chain/force-upgrade/src/lib.rs b/chain/force-upgrade/src/lib.rs index 1c8c833bb6..ae7e2fcb25 100644 --- a/chain/force-upgrade/src/lib.rs +++ b/chain/force-upgrade/src/lib.rs @@ -10,7 +10,7 @@ use starcoin_types::{ transaction::SignedUserTransaction, }; use starcoin_vm_types::account_config::core_code_address; -use starcoin_vm_types::transaction::ScriptFunction; +use starcoin_vm_types::transaction::EntryFunction; use starcoin_vm_types::{ account_config::STC_TOKEN_CODE_STR, genesis_config::ChainId, @@ -37,7 +37,7 @@ impl ForceUpgrade { }) .ok_or_else(|| format_err!("Can not find upgrade package {}", package_file))?; - let init_script = ScriptFunction::new( + let init_script = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("StdlibUpgradeScripts").unwrap(), diff --git a/chain/tests/block_test_utils.rs b/chain/tests/block_test_utils.rs index ecf1ed4ae2..50f7dd8829 100644 --- a/chain/tests/block_test_utils.rs +++ b/chain/tests/block_test_utils.rs @@ -86,7 +86,7 @@ fn gen_header( } fn gen_script_payload() -> TransactionPayload { - TransactionPayload::ScriptFunction(build_empty_script()) + TransactionPayload::EntryFunction(build_empty_script()) } fn txn_transfer( diff --git a/cmd/airdrop/src/main.rs b/cmd/airdrop/src/main.rs index 1f5d94ada7..9aef10b2a0 100644 --- a/cmd/airdrop/src/main.rs +++ b/cmd/airdrop/src/main.rs @@ -18,7 +18,7 @@ use starcoin_types::genesis_config::ChainId; use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::ModuleId; use starcoin_types::transaction::authenticator::AccountPrivateKey; -use starcoin_types::transaction::{RawUserTransaction, ScriptFunction}; +use starcoin_types::transaction::{EntryFunction, RawUserTransaction}; use starcoin_vm_types::account_config::auto_accept_token::AutoAcceptToken; use starcoin_vm_types::account_config::{stc_type_tag, BalanceResource, G_STC_TOKEN_CODE}; use starcoin_vm_types::language_storage::{StructTag, TypeTag}; @@ -242,7 +242,7 @@ async fn main() -> Result<()> { .collect(), ); - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( ModuleId::new( genesis_address(), Identifier::new("TransferScripts").unwrap(), diff --git a/cmd/db-exporter/src/main.rs b/cmd/db-exporter/src/main.rs index bc4d8a2dfb..2cef684654 100644 --- a/cmd/db-exporter/src/main.rs +++ b/cmd/db-exporter/src/main.rs @@ -58,7 +58,7 @@ use starcoin_vm_types::{ identifier::Identifier, language_storage::{ModuleId, StructTag}, parser::parse_struct_tag, - transaction::{ScriptFunction, SignedUserTransaction, TransactionPayload}, + transaction::{EntryFunction, SignedUserTransaction, TransactionPayload}, }; use std::{ collections::{HashMap, HashSet}, @@ -1083,7 +1083,7 @@ pub fn create_account_txn_sent_as_association( ]; create_signed_txn_with_association_account( - TransactionPayload::ScriptFunction(ScriptFunction::new( + TransactionPayload::EntryFunction(EntryFunction::new( ModuleId::new( starcoin_vm_types::account_config::core_code_address(), Identifier::new("Account").unwrap(), diff --git a/cmd/db-exporter/src/verify_module.rs b/cmd/db-exporter/src/verify_module.rs index c5b5f64c8d..ee2de6d471 100644 --- a/cmd/db-exporter/src/verify_module.rs +++ b/cmd/db-exporter/src/verify_module.rs @@ -69,7 +69,7 @@ impl BatchCmdExec for Block { TransactionPayload::Script(_) => { //TODO } - TransactionPayload::ScriptFunction(_) => { + TransactionPayload::EntryFunction(_) => { //continue } } diff --git a/cmd/genesis-nft-miner/src/main.rs b/cmd/genesis-nft-miner/src/main.rs index 324481b6ce..c00ab9480e 100644 --- a/cmd/genesis-nft-miner/src/main.rs +++ b/cmd/genesis-nft-miner/src/main.rs @@ -13,7 +13,7 @@ use starcoin_types::genesis_config::ChainId; use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::ModuleId; use starcoin_types::transaction::authenticator::AccountPrivateKey; -use starcoin_types::transaction::{RawUserTransaction, ScriptFunction, SignedUserTransaction}; +use starcoin_types::transaction::{EntryFunction, RawUserTransaction, SignedUserTransaction}; use starcoin_vm_types::value::MoveValue; use std::str::FromStr; use std::time::{Duration, SystemTime, UNIX_EPOCH}; @@ -96,7 +96,7 @@ async fn main() -> Result<()> { .unwrap_or_default() }; let (index, proofs) = get_index_proofs(sender)?; - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( ModuleId::new( genesis_address(), Identifier::new("GenesisNFTScripts").unwrap(), diff --git a/cmd/starcoin/src/account/accept_token_cmd.rs b/cmd/starcoin/src/account/accept_token_cmd.rs index 416976187b..24e5b8201b 100644 --- a/cmd/starcoin/src/account/accept_token_cmd.rs +++ b/cmd/starcoin/src/account/accept_token_cmd.rs @@ -11,7 +11,7 @@ use starcoin_vm_types::account_config::core_code_address; use starcoin_vm_types::identifier::Identifier; use starcoin_vm_types::language_storage::{ModuleId, TypeTag}; use starcoin_vm_types::token::token_code::TokenCode; -use starcoin_vm_types::transaction::{ScriptFunction, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, TransactionPayload}; use std::convert::TryInto; /// Accept a new token, this operator will call 0x1::Account::accept_token function. @@ -43,7 +43,7 @@ impl CommandAction for AcceptTokenCommand { let opt = ctx.opt(); ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(ScriptFunction::new( + TransactionPayload::EntryFunction(EntryFunction::new( ModuleId::new(core_code_address(), Identifier::new("Account").unwrap()), Identifier::new("accept_token").unwrap(), vec![TypeTag::Struct(Box::new( diff --git a/cmd/starcoin/src/account/execute_script_function_cmd.rs b/cmd/starcoin/src/account/execute_script_function_cmd.rs index 6498b39a52..e542c2efbb 100644 --- a/cmd/starcoin/src/account/execute_script_function_cmd.rs +++ b/cmd/starcoin/src/account/execute_script_function_cmd.rs @@ -9,7 +9,7 @@ use clap::Parser; use scmd::{CommandAction, ExecContext}; use starcoin_rpc_api::types::FunctionIdView; use starcoin_types::transaction::{parse_transaction_argument_advance, TransactionArgument}; -use starcoin_vm_types::transaction::{ScriptFunction, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, TransactionPayload}; use starcoin_vm_types::transaction_argument::convert_txn_args; use starcoin_vm_types::{language_storage::TypeTag, parser::parse_type_tag}; @@ -56,7 +56,7 @@ impl CommandAction for ExecuteScriptFunctionCmd { let script_function = opt.script_function.clone().0; ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(ScriptFunction::new( + TransactionPayload::EntryFunction(EntryFunction::new( script_function.module, script_function.function, type_tags, diff --git a/cmd/starcoin/src/account/nft_cmd.rs b/cmd/starcoin/src/account/nft_cmd.rs index b3d840796a..4ada5bfa08 100644 --- a/cmd/starcoin/src/account/nft_cmd.rs +++ b/cmd/starcoin/src/account/nft_cmd.rs @@ -158,7 +158,7 @@ impl CommandAction for NFTCommand { println!("{:?}", script_function); let result = ctx.state().build_and_execute_transaction( transaction_opts.clone(), - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), ); println!("{:?}", result); NFTResult::Transfer(result?) diff --git a/cmd/starcoin/src/account/rotate_auth_key_cmd.rs b/cmd/starcoin/src/account/rotate_auth_key_cmd.rs index d046e37a0b..8270f1110d 100644 --- a/cmd/starcoin/src/account/rotate_auth_key_cmd.rs +++ b/cmd/starcoin/src/account/rotate_auth_key_cmd.rs @@ -15,7 +15,7 @@ use starcoin_types::language_storage::ModuleId; use starcoin_vm_types::account_address::AccountAddress; use starcoin_vm_types::account_config::core_code_address; use starcoin_vm_types::transaction::authenticator::{AccountPrivateKey, AccountPublicKey}; -use starcoin_vm_types::transaction::{ScriptFunction, TransactionArgument, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, TransactionArgument, TransactionPayload}; use starcoin_vm_types::value::MoveValue; use crate::cli_state::CliState; @@ -95,7 +95,7 @@ impl CommandAction for RotateAuthenticationKeyCommand { txn_opt.sender = Option::from(opt.account_address); let result = ctx.state().build_and_execute_transaction( txn_opt, - TransactionPayload::ScriptFunction(ScriptFunction::new( + TransactionPayload::EntryFunction(EntryFunction::new( ModuleId::new(core_code_address(), Identifier::new("Account").unwrap()), Identifier::new("rotate_authentication_key").unwrap(), vec![], diff --git a/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs b/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs index f4de302deb..d54855ca57 100644 --- a/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs +++ b/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs @@ -18,7 +18,7 @@ use starcoin_types::transaction::{ }; use starcoin_vm_types::account_address::AccountAddress; use starcoin_vm_types::token::stc::STC_TOKEN_CODE_STR; -use starcoin_vm_types::transaction::{ScriptFunction, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, TransactionPayload}; use starcoin_vm_types::transaction_argument::convert_txn_args; use starcoin_vm_types::{language_storage::TypeTag, parser::parse_type_tag}; @@ -111,13 +111,13 @@ impl CommandAction for GenerateMultisigTxnCommand { let (raw_txn, existing_signatures) = if let Some(function_id) = opt.script_function.clone().map(|t| t.0) { let sender = ctx.opt().sender.expect("sender address should be provided"); - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( function_id.module, function_id.function, type_tags, convert_txn_args(&args), ); - let payload = TransactionPayload::ScriptFunction(script_function); + let payload = TransactionPayload::EntryFunction(script_function); let node_info = rpc_client.node_info()?; let chain_state_reader = rpc_client.state_reader(StateRootOption::Latest)?; diff --git a/cmd/starcoin/src/account/transfer_cmd.rs b/cmd/starcoin/src/account/transfer_cmd.rs index f8353836a8..6a1fab3827 100644 --- a/cmd/starcoin/src/account/transfer_cmd.rs +++ b/cmd/starcoin/src/account/transfer_cmd.rs @@ -64,7 +64,7 @@ impl CommandAction for TransferCommand { encode_transfer_script_by_token_code(receiver_address, opt.amount, token_code); ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), ) } } diff --git a/cmd/starcoin/src/dev/gen_block_cmd.rs b/cmd/starcoin/src/dev/gen_block_cmd.rs index e3156d8586..aad15b41b8 100644 --- a/cmd/starcoin/src/dev/gen_block_cmd.rs +++ b/cmd/starcoin/src/dev/gen_block_cmd.rs @@ -37,6 +37,6 @@ impl CommandAction for GenBlockCommand { ..Default::default() }; ctx.state() - .build_and_execute_transaction(txn_opts, TransactionPayload::ScriptFunction(empty)) + .build_and_execute_transaction(txn_opts, TransactionPayload::EntryFunction(empty)) } } diff --git a/cmd/starcoin/src/dev/get_coin_cmd.rs b/cmd/starcoin/src/dev/get_coin_cmd.rs index 9d9ce123f8..327f093b66 100644 --- a/cmd/starcoin/src/dev/get_coin_cmd.rs +++ b/cmd/starcoin/src/dev/get_coin_cmd.rs @@ -70,7 +70,7 @@ impl CommandAction for GetCoinCommand { state .build_and_execute_transaction( txn_opt, - TransactionPayload::ScriptFunction(encode_transfer_script_by_token_code( + TransactionPayload::EntryFunction(encode_transfer_script_by_token_code( to, opt.amount.scaling(), G_STC_TOKEN_CODE.clone(), diff --git a/cmd/starcoin/src/dev/package_cmd.rs b/cmd/starcoin/src/dev/package_cmd.rs index 195d4d1880..7a4ed44745 100644 --- a/cmd/starcoin/src/dev/package_cmd.rs +++ b/cmd/starcoin/src/dev/package_cmd.rs @@ -13,7 +13,7 @@ use starcoin_move_compiler::dependency_order::sort_by_dependency_order; use starcoin_rpc_api::types::FunctionIdView; use starcoin_types::transaction::{parse_transaction_argument_advance, TransactionArgument}; use starcoin_vm_types::file_format::CompiledModule; -use starcoin_vm_types::transaction::ScriptFunction; +use starcoin_vm_types::transaction::EntryFunction; use starcoin_vm_types::transaction::{Module, Package}; use starcoin_vm_types::transaction_argument::convert_txn_args; use starcoin_vm_types::{language_storage::TypeTag, parser::parse_type_tag}; @@ -113,7 +113,7 @@ impl CommandAction for PackageCmd { let type_tags = opt.type_tags.clone().unwrap_or_default(); let args = opt.args.clone().unwrap_or_default(); let script_function = script.clone().0; - Some(ScriptFunction::new( + Some(EntryFunction::new( script_function.module, script_function.function, type_tags, diff --git a/cmd/starcoin/src/dev/upgrade_module_plan_cmd.rs b/cmd/starcoin/src/dev/upgrade_module_plan_cmd.rs index c88d4f1dca..6ab1027ff2 100644 --- a/cmd/starcoin/src/dev/upgrade_module_plan_cmd.rs +++ b/cmd/starcoin/src/dev/upgrade_module_plan_cmd.rs @@ -64,7 +64,7 @@ impl CommandAction for UpgradeModulePlanCommand { build_module_upgrade_plan(proposer_address, opt.proposal_id, opt.dao_token.clone()); ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(module_upgrade_plan), + TransactionPayload::EntryFunction(module_upgrade_plan), ) } } diff --git a/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs b/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs index 7a5e88df50..2cc2586191 100644 --- a/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs +++ b/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs @@ -99,7 +99,7 @@ impl CommandAction for UpgradeModuleProposalCommand { eprintln!("package_hash {:?}", package_hash); ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(module_upgrade_proposal), + TransactionPayload::EntryFunction(module_upgrade_proposal), ) } } diff --git a/cmd/starcoin/src/dev/upgrade_module_queue_cmd.rs b/cmd/starcoin/src/dev/upgrade_module_queue_cmd.rs index 8e8d469247..abd741d019 100644 --- a/cmd/starcoin/src/dev/upgrade_module_queue_cmd.rs +++ b/cmd/starcoin/src/dev/upgrade_module_queue_cmd.rs @@ -79,7 +79,7 @@ impl CommandAction for UpgradeModuleQueueCommand { ); ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(module_upgrade_queue), + TransactionPayload::EntryFunction(module_upgrade_queue), ) } } diff --git a/cmd/starcoin/src/dev/upgrade_vm_config_proposal_cmd.rs b/cmd/starcoin/src/dev/upgrade_vm_config_proposal_cmd.rs index c16d05ad6a..98b5dc184b 100644 --- a/cmd/starcoin/src/dev/upgrade_vm_config_proposal_cmd.rs +++ b/cmd/starcoin/src/dev/upgrade_vm_config_proposal_cmd.rs @@ -65,7 +65,7 @@ impl CommandAction for UpgradeVMConfigProposalCommand { build_vm_config_upgrade_proposal(genesis_config.vm_config, min_action_delay); ctx.state().build_and_execute_transaction( opt.transaction_opts.clone(), - TransactionPayload::ScriptFunction(vm_config_upgrade_proposal), + TransactionPayload::EntryFunction(vm_config_upgrade_proposal), ) } } diff --git a/contrib-contracts/src/merkle_distributor_test.rs b/contrib-contracts/src/merkle_distributor_test.rs index e3f842e4a4..824cf397d6 100644 --- a/contrib-contracts/src/merkle_distributor_test.rs +++ b/contrib-contracts/src/merkle_distributor_test.rs @@ -7,7 +7,7 @@ use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::ModuleId; use starcoin_vm_types::account_config::association_address; use starcoin_vm_types::token::stc::stc_type_tag; -use starcoin_vm_types::transaction::{Package, ScriptFunction, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, Package, TransactionPayload}; use starcoin_vm_types::value::MoveValue; use test_helper::executor::{ association_execute, association_execute_should_success, compile_modules_with_address, @@ -54,7 +54,7 @@ fn test_merkle_distributor() -> Result<()> { let rewards_total = MoveValue::U128(proofs.iter().map(|p| p.amount).sum()); let leaves = MoveValue::U64(proofs.len() as u64); - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( ModuleId::new( association_address(), Identifier::new("MerkleDistributorScripts").unwrap(), @@ -71,7 +71,7 @@ fn test_merkle_distributor() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; } @@ -117,7 +117,7 @@ fn test_merkle_distributor() -> Result<()> { .map(MoveValue::vector_u8) .collect(), ); - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( ModuleId::new( association_address(), Identifier::new("MerkleDistributorScripts").unwrap(), @@ -136,7 +136,7 @@ fn test_merkle_distributor() -> Result<()> { let result = association_execute( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; let status = result.status().status().unwrap(); // INVALID_PROOF @@ -162,7 +162,7 @@ fn test_merkle_distributor() -> Result<()> { .map(MoveValue::vector_u8) .collect(), ); - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( ModuleId::new( association_address(), Identifier::new("MerkleDistributorScripts").unwrap(), @@ -180,7 +180,7 @@ fn test_merkle_distributor() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; } diff --git a/contrib-contracts/src/starcoin_merkle_test.rs b/contrib-contracts/src/starcoin_merkle_test.rs index dbc6f8f581..293c13f80f 100644 --- a/contrib-contracts/src/starcoin_merkle_test.rs +++ b/contrib-contracts/src/starcoin_merkle_test.rs @@ -7,7 +7,7 @@ use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::ModuleId; use starcoin_vm_types::access_path::AccessPath; use starcoin_vm_types::account_config::association_address; -use starcoin_vm_types::transaction::{Package, ScriptFunction, TransactionPayload}; +use starcoin_vm_types::transaction::{EntryFunction, Package, TransactionPayload}; use starcoin_vm_types::value::MoveValue; use test_helper::executor::{ association_execute_should_success, compile_modules_with_address, prepare_genesis, @@ -40,7 +40,7 @@ fn test_starcoin_merkle() -> Result<()> { let state_root = chain_state.state_root(); { - let script_function = ScriptFunction::new( + let script_function = EntryFunction::new( ModuleId::new( association_address(), Identifier::new("StarcoinVerifierScripts").unwrap(), @@ -54,7 +54,7 @@ fn test_starcoin_merkle() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; chain_state.commit()?; chain_state.flush()?; diff --git a/executor/benchmark/src/lib.rs b/executor/benchmark/src/lib.rs index c11e4ab69f..7d4ed2cb1d 100644 --- a/executor/benchmark/src/lib.rs +++ b/executor/benchmark/src/lib.rs @@ -27,7 +27,7 @@ use starcoin_types::{ use starcoin_vm_types::genesis_config::StdlibVersion; use starcoin_vm_types::token::stc; use starcoin_vm_types::transaction::authenticator::AuthenticationKey; -use starcoin_vm_types::transaction::ScriptFunction; +use starcoin_vm_types::transaction::EntryFunction; use std::sync::mpsc; use std::sync::Arc; @@ -287,12 +287,12 @@ pub fn run_benchmark( fn create_transaction( sequence_number: u64, - program: ScriptFunction, + program: EntryFunction, expiration_timestamp_secs: u64, net: &ChainNetwork, ) -> Transaction { let signed_txn = create_signed_txn_with_association_account( - TransactionPayload::ScriptFunction(program), + TransactionPayload::EntryFunction(program), sequence_number, 40_000_000, 1, diff --git a/executor/tests/error_code_test.rs b/executor/tests/error_code_test.rs index 8b469927f8..f904949055 100644 --- a/executor/tests/error_code_test.rs +++ b/executor/tests/error_code_test.rs @@ -9,7 +9,7 @@ use starcoin_transaction_builder::{ }; use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::ModuleId; -use starcoin_types::transaction::ScriptFunction; +use starcoin_types::transaction::EntryFunction; use starcoin_types::{ account::Account, block_metadata::BlockMetadata, transaction::Transaction, transaction::TransactionStatus, @@ -203,7 +203,7 @@ pub fn raw_peer_to_peer_txn_with_non_default_gas_token( RawUserTransaction::new( sender, seq_num, - TransactionPayload::ScriptFunction(encode_transfer_script_by_token_code( + TransactionPayload::EntryFunction(encode_transfer_script_by_token_code( receiver, transfer_amount, G_STC_TOKEN_CODE.clone(), @@ -228,7 +228,7 @@ fn test_call_deprecated_function() -> Result<()> { .unwrap(); let package = Package::new_with_module(module)?; let package_hash = package.crypto_hash(); - let propose_module_upgrade_script_function = ScriptFunction::new( + let propose_module_upgrade_script_function = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("ModuleUpgradeScripts").unwrap(), @@ -245,7 +245,7 @@ fn test_call_deprecated_function() -> Result<()> { let output = association_execute( &net, &chain_state, - TransactionPayload::ScriptFunction(propose_module_upgrade_script_function), + TransactionPayload::EntryFunction(propose_module_upgrade_script_function), )?; let _status = output.status().status().unwrap(); diff --git a/executor/tests/executor_test.rs b/executor/tests/executor_test.rs index 0e99b069c0..a3ace29a26 100644 --- a/executor/tests/executor_test.rs +++ b/executor/tests/executor_test.rs @@ -14,7 +14,7 @@ use starcoin_transaction_builder::{ use starcoin_types::account::peer_to_peer_txn; use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::ModuleId; -use starcoin_types::transaction::{RawUserTransaction, ScriptFunction, TransactionArgument}; +use starcoin_types::transaction::{EntryFunction, RawUserTransaction, TransactionArgument}; use starcoin_types::{ account_config, block_metadata::BlockMetadata, transaction::Transaction, transaction::TransactionPayload, transaction::TransactionStatus, @@ -181,7 +181,7 @@ fn test_batch_transfer() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; Ok(()) } @@ -202,7 +202,7 @@ fn test_txn_verify_err_case() -> Result<()> { let txn = RawUserTransaction::new_with_default_gas_token( *alice.address(), 0, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), 10000000, 1, 1000 + 60 * 60, @@ -238,7 +238,7 @@ fn test_package_txn() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; let script_function = encode_create_account_script_function( @@ -251,7 +251,7 @@ fn test_package_txn() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; } @@ -340,7 +340,7 @@ fn test_wrong_package_address() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; let script_function = encode_create_account_script_function( @@ -353,7 +353,7 @@ fn test_wrong_package_address() -> Result<()> { association_execute_should_success( &net, &chain_state, - TransactionPayload::ScriptFunction(script_function), + TransactionPayload::EntryFunction(script_function), )?; } @@ -565,7 +565,7 @@ fn test_validate_txn_args() -> Result<()> { let account1 = Account::new(); let txn = { - let action = ScriptFunction::new( + let action = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("TransferScript").unwrap(), @@ -577,7 +577,7 @@ fn test_validate_txn_args() -> Result<()> { let txn = build_raw_txn( *account1.address(), &chain_state, - TransactionPayload::ScriptFunction(action), + TransactionPayload::EntryFunction(action), None, ); account1.sign_txn(txn) @@ -585,7 +585,7 @@ fn test_validate_txn_args() -> Result<()> { assert!(validate_transaction(&chain_state, txn, None).is_some()); let txn = { - let action = ScriptFunction::new( + let action = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("TransferScripts").unwrap(), @@ -597,7 +597,7 @@ fn test_validate_txn_args() -> Result<()> { let txn = build_raw_txn( *account1.address(), &chain_state, - TransactionPayload::ScriptFunction(action), + TransactionPayload::EntryFunction(action), None, ); account1.sign_txn(txn) @@ -605,7 +605,7 @@ fn test_validate_txn_args() -> Result<()> { assert!(validate_transaction(&chain_state, txn, None).is_some()); let txn = { - let action = ScriptFunction::new( + let action = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("TransferScripts").unwrap(), @@ -617,7 +617,7 @@ fn test_validate_txn_args() -> Result<()> { let txn = build_raw_txn( *account1.address(), &chain_state, - TransactionPayload::ScriptFunction(action), + TransactionPayload::EntryFunction(action), None, ); account1.sign_txn(txn) @@ -705,7 +705,7 @@ fn test_gas_charge_for_invalid_script_argument_txn() -> Result<()> { assert_eq!(KeptVMStatus::Executed, output1.status().status().unwrap()); let sequence_number2 = get_sequence_number(*account1.address(), &chain_state); - let payload = TransactionPayload::ScriptFunction(ScriptFunction::new( + let payload = TransactionPayload::EntryFunction(EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("TransferScripts").unwrap(), diff --git a/executor/tests/module_upgrade_test.rs b/executor/tests/module_upgrade_test.rs index 0be1acec46..e70ec1ed61 100644 --- a/executor/tests/module_upgrade_test.rs +++ b/executor/tests/module_upgrade_test.rs @@ -11,7 +11,7 @@ use starcoin_types::account_config::config_change::ConfigChangeEvent; use starcoin_types::account_config::TwoPhaseUpgradeV2Resource; use starcoin_types::identifier::Identifier; use starcoin_types::language_storage::{ModuleId, StructTag, TypeTag}; -use starcoin_types::transaction::ScriptFunction; +use starcoin_types::transaction::EntryFunction; use starcoin_vm_types::access_path::AccessPath; use starcoin_vm_types::account_config::upgrade::UpgradeEvent; use starcoin_vm_types::account_config::{association_address, core_code_address, AccountResource}; @@ -55,7 +55,7 @@ fn test_init_script() -> Result<()> { type_params: vec![], })); - let init_script = ScriptFunction::new( + let init_script = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("PackageTxnManager").unwrap(), @@ -73,7 +73,7 @@ fn test_init_script() -> Result<()> { )?; let package_hash = package.crypto_hash(); - let vote_script_function = ScriptFunction::new( + let vote_script_function = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("ModuleUpgradeScripts").unwrap(), @@ -87,7 +87,7 @@ fn test_init_script() -> Result<()> { bcs_ext::to_bytes(&0u64).unwrap(), ], ); - let execute_script_function = ScriptFunction::new( + let execute_script_function = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("ModuleUpgradeScripts").unwrap(), @@ -141,7 +141,7 @@ fn test_stdlib_upgrade_with_incremental_package() -> Result<()> { let package_hash = package.crypto_hash(); - let vote_script_function = ScriptFunction::new( + let vote_script_function = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("ModuleUpgradeScripts").unwrap(), @@ -155,7 +155,7 @@ fn test_stdlib_upgrade_with_incremental_package() -> Result<()> { bcs_ext::to_bytes(&0u64).unwrap(), ], ); - let execute_script_function = ScriptFunction::new( + let execute_script_function = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("ModuleUpgradeScripts").unwrap(), @@ -273,7 +273,7 @@ fn test_stdlib_upgrade() -> Result<()> { !StdlibVersion::compatible_with_previous(&new_version), ); - let execute_script_function = ScriptFunction::new( + let execute_script_function = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("ModuleUpgradeScripts").unwrap(), @@ -326,7 +326,7 @@ fn ext_execute_after_upgrade( //do nothing } StdlibVersion::Version(3) => { - let take_liner_time_capability = ScriptFunction::new( + let take_liner_time_capability = EntryFunction::new( ModuleId::new( core_code_address(), Identifier::new("StdlibUpgradeScripts").unwrap(), @@ -338,7 +338,7 @@ fn ext_execute_after_upgrade( association_execute_should_success( net, chain_state, - TransactionPayload::ScriptFunction(take_liner_time_capability), + TransactionPayload::EntryFunction(take_liner_time_capability), )?; } StdlibVersion::Version(6) => { diff --git a/executor/tests/script_function_test.rs b/executor/tests/script_function_test.rs index bcb35f5427..57cc384f12 100644 --- a/executor/tests/script_function_test.rs +++ b/executor/tests/script_function_test.rs @@ -16,7 +16,7 @@ use starcoin_vm_types::identifier::Identifier; use starcoin_vm_types::language_storage::ModuleId; use starcoin_vm_types::state_view::StateReaderExt; use starcoin_vm_types::transaction::{ - Package, Script, ScriptFunction, TransactionPayload, TransactionStatus, + EntryFunction, Package, Script, TransactionPayload, TransactionStatus, }; use starcoin_vm_types::vm_status::KeptVMStatus; use std::ops::Sub; @@ -88,7 +88,7 @@ fn test_invoke_script_function() -> Result<()> { let output1 = execute_and_apply(&chain_state, txn1); assert_eq!(KeptVMStatus::Executed, output1.status().status().unwrap()); - let payload = TransactionPayload::ScriptFunction(ScriptFunction::new( + let payload = TransactionPayload::EntryFunction(EntryFunction::new( module_id, Identifier::new("fn_script").unwrap(), vec![], @@ -121,7 +121,7 @@ fn test_invoke_public_function() -> Result<()> { let output1 = execute_and_apply(&chain_state, txn1); assert_eq!(KeptVMStatus::Executed, output1.status().status().unwrap()); - let payload = TransactionPayload::ScriptFunction(ScriptFunction::new( + let payload = TransactionPayload::EntryFunction(EntryFunction::new( module_id, Identifier::new("fn_public").unwrap(), vec![], @@ -157,7 +157,7 @@ fn test_invoke_private_function() -> Result<()> { let output1 = execute_and_apply(&chain_state, txn1); assert_eq!(KeptVMStatus::Executed, output1.status().status().unwrap()); - let payload = TransactionPayload::ScriptFunction(ScriptFunction::new( + let payload = TransactionPayload::EntryFunction(EntryFunction::new( module_id, Identifier::new("fn_private").unwrap(), vec![], @@ -221,7 +221,7 @@ fn test_signer_cap_internal_type_error() -> Result<()> { let compiled_module = compile_modules_with_address(*alice.address(), module_source) .pop() .unwrap(); - let init_script = ScriptFunction::new( + let init_script = EntryFunction::new( ModuleId::new( *alice.address(), Identifier::new("IdentifierNFTTest").unwrap(), @@ -436,7 +436,7 @@ fn test_transaction_arg_verify() -> Result<()> { let money = 100_000; let num: u128 = 50_000_000; - let payload = TransactionPayload::ScriptFunction(ScriptFunction::new( + let payload = TransactionPayload::EntryFunction(EntryFunction::new( ModuleId::new(*account1.address(), Identifier::new("test").unwrap()), Identifier::new("deposit_token").unwrap(), vec![stc_type_tag()], diff --git a/rpc/api/src/types.rs b/rpc/api/src/types.rs index 07c28eaeb9..ec1dc37652 100644 --- a/rpc/api/src/types.rs +++ b/rpc/api/src/types.rs @@ -33,7 +33,7 @@ use starcoin_types::language_storage::TypeTag; use starcoin_types::proof::SparseMerkleProof; use starcoin_types::startup_info::ChainInfo; use starcoin_types::transaction::authenticator::{AuthenticationKey, TransactionAuthenticator}; -use starcoin_types::transaction::{RawUserTransaction, ScriptFunction, TransactionArgument}; +use starcoin_types::transaction::{EntryFunction, RawUserTransaction, TransactionArgument}; use starcoin_types::vm_error::AbortLocation; use starcoin_types::U256; use starcoin_vm_types::access_path::AccessPath; @@ -228,7 +228,7 @@ impl From for TransactionRequest { request.script = s.map(Into::into); request.modules = m.into_iter().map(|m| StrView(m.into())).collect(); } - TransactionPayload::ScriptFunction(s) => { + TransactionPayload::EntryFunction(s) => { request.script = Some(ScriptData::from(s)); } } @@ -301,7 +301,7 @@ pub struct ScriptData { } impl ScriptData { - pub fn into_script_function(self) -> anyhow::Result { + pub fn into_script_function(self) -> anyhow::Result { match self.into_data() { Err(script_function) => Ok(script_function), _ => { @@ -317,14 +317,14 @@ impl ScriptData { } } } - fn into_data(self) -> Result { + fn into_data(self) -> Result { let ty_args: Vec<_> = self.type_args.into_iter().map(|s| s.0).collect(); let args: Vec<_> = self.args.to_bcs_bytes(); match self.code.0 { ByteCodeOrScriptFunction::ByteCode(code) => Ok(Script::new(code, ty_args, args)), ByteCodeOrScriptFunction::ScriptFunction(FunctionId { module, function }) => { - Err(ScriptFunction::new(module, function, ty_args, args)) + Err(EntryFunction::new(module, function, ty_args, args)) } } } @@ -335,7 +335,7 @@ impl Into for ScriptData { fn into(self) -> TransactionPayload { match self.into_data() { Ok(script) => TransactionPayload::Script(script), - Err(func) => TransactionPayload::ScriptFunction(func), + Err(func) => TransactionPayload::EntryFunction(func), } } } @@ -351,8 +351,8 @@ impl From