diff --git a/crates/blockifier/src/context.rs b/crates/blockifier/src/context.rs index 8d8aec27a3..253ea3a4ee 100644 --- a/crates/blockifier/src/context.rs +++ b/crates/blockifier/src/context.rs @@ -4,11 +4,10 @@ use papyrus_config::dumping::{append_sub_config_name, ser_param, SerializeConfig use papyrus_config::{ParamPath, ParamPrivacyInput, SerializedParam}; use serde::{Deserialize, Serialize}; use starknet_api::core::{ChainId, ContractAddress}; -use starknet_api::transaction::ValidResourceBounds; +use starknet_api::transaction::{GasVectorComputationMode, ValidResourceBounds}; use crate::blockifier::block::BlockInfo; use crate::bouncer::BouncerConfig; -use crate::fee::resources::GasVectorComputationMode; use crate::transaction::objects::{ FeeType, HasRelatedFeeType, diff --git a/crates/blockifier/src/fee/fee_test.rs b/crates/blockifier/src/fee/fee_test.rs index 91cc3e7819..bbc6679a75 100644 --- a/crates/blockifier/src/fee/fee_test.rs +++ b/crates/blockifier/src/fee/fee_test.rs @@ -5,14 +5,14 @@ use cairo_vm::types::builtin_name::BuiltinName; use cairo_vm::vm::runners::cairo_runner::ExecutionResources; use rstest::rstest; use starknet_api::invoke_tx_args; -use starknet_api::transaction::{Fee, Resource, ValidResourceBounds}; +use starknet_api::transaction::{Fee, GasVectorComputationMode, Resource, ValidResourceBounds}; use crate::blockifier::block::GasPrices; use crate::context::BlockContext; use crate::fee::fee_checks::{FeeCheckError, FeeCheckReportFields, PostExecutionReport}; use crate::fee::fee_utils::get_vm_resources_cost; use crate::fee::receipt::TransactionReceipt; -use crate::fee::resources::{GasVector, GasVectorComputationMode}; +use crate::fee::resources::GasVector; use crate::test_utils::contracts::FeatureContract; use crate::test_utils::initial_test_state::test_state; use crate::test_utils::{ diff --git a/crates/blockifier/src/fee/fee_utils.rs b/crates/blockifier/src/fee/fee_utils.rs index 619a1154a0..3208b14e45 100644 --- a/crates/blockifier/src/fee/fee_utils.rs +++ b/crates/blockifier/src/fee/fee_utils.rs @@ -6,14 +6,14 @@ use num_bigint::BigUint; use starknet_api::core::ContractAddress; use starknet_api::state::StorageKey; use starknet_api::transaction::ValidResourceBounds::{AllResources, L1Gas}; -use starknet_api::transaction::{AllResourceBounds, Fee, Resource}; +use starknet_api::transaction::{AllResourceBounds, Fee, GasVectorComputationMode, Resource}; use starknet_types_core::felt::Felt; use crate::abi::abi_utils::get_fee_token_var_address; use crate::abi::sierra_types::next_storage_key; use crate::blockifier::block::BlockInfo; use crate::context::{BlockContext, TransactionContext}; -use crate::fee::resources::{GasVector, GasVectorComputationMode, TransactionFeeResult}; +use crate::fee::resources::{GasVector, TransactionFeeResult}; use crate::state::state_api::StateReader; use crate::transaction::errors::TransactionFeeError; use crate::transaction::objects::{ExecutionResourcesTraits, FeeType, TransactionInfo}; diff --git a/crates/blockifier/src/fee/gas_usage.rs b/crates/blockifier/src/fee/gas_usage.rs index cfbc58d1b6..d9052e4074 100644 --- a/crates/blockifier/src/fee/gas_usage.rs +++ b/crates/blockifier/src/fee/gas_usage.rs @@ -1,10 +1,11 @@ use cairo_vm::vm::runners::cairo_runner::ExecutionResources; +use starknet_api::transaction::GasVectorComputationMode; use super::fee_utils::get_vm_resources_cost; use crate::abi::constants; use crate::context::BlockContext; use crate::fee::eth_gas_constants; -use crate::fee::resources::{GasVector, GasVectorComputationMode}; +use crate::fee::resources::GasVector; use crate::state::cached_state::StateChangesCount; use crate::transaction::account_transaction::AccountTransaction; use crate::utils::u128_from_usize; diff --git a/crates/blockifier/src/fee/gas_usage_test.rs b/crates/blockifier/src/fee/gas_usage_test.rs index 743a8254cf..2f1fc9df6b 100644 --- a/crates/blockifier/src/fee/gas_usage_test.rs +++ b/crates/blockifier/src/fee/gas_usage_test.rs @@ -3,7 +3,7 @@ use std::num::NonZeroU128; use pretty_assertions::assert_eq; use rstest::{fixture, rstest}; use starknet_api::invoke_tx_args; -use starknet_api::transaction::{EventContent, EventData, EventKey, Fee}; +use starknet_api::transaction::{EventContent, EventData, EventKey, Fee, GasVectorComputationMode}; use starknet_types_core::felt::Felt; use crate::abi::constants; @@ -12,12 +12,7 @@ use crate::execution::call_info::{CallExecution, CallInfo, OrderedEvent}; use crate::fee::eth_gas_constants; use crate::fee::fee_utils::get_fee_by_gas_vector; use crate::fee::gas_usage::{get_da_gas_cost, get_message_segment_length}; -use crate::fee::resources::{ - GasVector, - GasVectorComputationMode, - StarknetResources, - StateResources, -}; +use crate::fee::resources::{GasVector, StarknetResources, StateResources}; use crate::state::cached_state::StateChangesCount; use crate::test_utils::{DEFAULT_ETH_L1_DATA_GAS_PRICE, DEFAULT_ETH_L1_GAS_PRICE}; use crate::transaction::objects::FeeType; diff --git a/crates/blockifier/src/fee/receipt_test.rs b/crates/blockifier/src/fee/receipt_test.rs index f69d8f25bb..49af4e6915 100644 --- a/crates/blockifier/src/fee/receipt_test.rs +++ b/crates/blockifier/src/fee/receipt_test.rs @@ -1,5 +1,5 @@ use rstest::{fixture, rstest}; -use starknet_api::transaction::L2ToL1Payload; +use starknet_api::transaction::{GasVectorComputationMode, L2ToL1Payload}; use starknet_api::{invoke_tx_args, nonce}; use starknet_types_core::felt::Felt; @@ -17,12 +17,7 @@ use crate::fee::gas_usage::{ get_log_message_to_l1_emissions_cost, get_message_segment_length, }; -use crate::fee::resources::{ - GasVector, - GasVectorComputationMode, - StarknetResources, - StateResources, -}; +use crate::fee::resources::{GasVector, StarknetResources, StateResources}; use crate::state::cached_state::StateChangesCount; use crate::test_utils::contracts::FeatureContract; use crate::test_utils::initial_test_state::test_state; diff --git a/crates/blockifier/src/fee/resources.rs b/crates/blockifier/src/fee/resources.rs index 010634f1a5..3d9fb138a7 100644 --- a/crates/blockifier/src/fee/resources.rs +++ b/crates/blockifier/src/fee/resources.rs @@ -1,7 +1,7 @@ use cairo_vm::vm::runners::cairo_runner::ExecutionResources; use serde::Serialize; use starknet_api::core::ContractAddress; -use starknet_api::transaction::Fee; +use starknet_api::transaction::{Fee, GasVectorComputationMode}; use crate::context::TransactionContext; use crate::execution::call_info::{EventSummary, ExecutionSummary}; @@ -350,9 +350,3 @@ impl GasVector { self.l1_gas + u128_div_ceil(self.l1_data_gas * u128::from(data_gas_price), gas_price) } } - -#[derive(Debug, PartialEq)] -pub enum GasVectorComputationMode { - All, - NoL2Gas, -} diff --git a/crates/blockifier/src/test_utils.rs b/crates/blockifier/src/test_utils.rs index adc2ce8e47..5b72bfd2af 100644 --- a/crates/blockifier/src/test_utils.rs +++ b/crates/blockifier/src/test_utils.rs @@ -15,7 +15,12 @@ use std::path::PathBuf; use cairo_vm::vm::runners::cairo_runner::ExecutionResources; use starknet_api::core::{ClassHash, ContractAddress, PatriciaKey}; use starknet_api::state::StorageKey; -use starknet_api::transaction::{Calldata, ContractAddressSalt, TransactionVersion}; +use starknet_api::transaction::{ + Calldata, + ContractAddressSalt, + GasVectorComputationMode, + TransactionVersion, +}; use starknet_api::{contract_address, felt, patricia_key}; use starknet_types_core::felt::Felt; @@ -24,12 +29,7 @@ use crate::execution::call_info::ExecutionSummary; use crate::execution::deprecated_syscalls::hint_processor::SyscallCounter; use crate::execution::entry_point::CallEntryPoint; use crate::execution::syscalls::SyscallSelector; -use crate::fee::resources::{ - GasVector, - GasVectorComputationMode, - StarknetResources, - StateResources, -}; +use crate::fee::resources::{GasVector, StarknetResources, StateResources}; use crate::test_utils::contracts::FeatureContract; use crate::transaction::transaction_types::TransactionType; use crate::utils::{const_max, u128_from_usize}; diff --git a/crates/blockifier/src/test_utils/struct_impls.rs b/crates/blockifier/src/test_utils/struct_impls.rs index b7621a8f63..e373103026 100644 --- a/crates/blockifier/src/test_utils/struct_impls.rs +++ b/crates/blockifier/src/test_utils/struct_impls.rs @@ -5,7 +5,13 @@ use serde_json::Value; use starknet_api::block::{BlockHash, BlockNumber, BlockTimestamp}; use starknet_api::core::{ChainId, ClassHash, ContractAddress, Nonce, PatriciaKey}; use starknet_api::hash::StarkHash; -use starknet_api::transaction::{Calldata, Fee, TransactionHash, TransactionVersion}; +use starknet_api::transaction::{ + Calldata, + Fee, + GasVectorComputationMode, + TransactionHash, + TransactionVersion, +}; use starknet_api::{calldata, contract_address, felt, patricia_key}; use starknet_types_core::felt::Felt; @@ -23,7 +29,7 @@ use crate::execution::entry_point::{ EntryPointExecutionResult, }; use crate::fee::fee_utils::get_fee_by_gas_vector; -use crate::fee::resources::{GasVectorComputationMode, TransactionResources}; +use crate::fee::resources::TransactionResources; use crate::state::state_api::State; use crate::test_utils::{ get_raw_contract_class, diff --git a/crates/blockifier/src/transaction/account_transactions_test.rs b/crates/blockifier/src/transaction/account_transactions_test.rs index fff5d09570..0549a05110 100644 --- a/crates/blockifier/src/transaction/account_transactions_test.rs +++ b/crates/blockifier/src/transaction/account_transactions_test.rs @@ -16,6 +16,7 @@ use starknet_api::transaction::{ ContractAddressSalt, DeclareTransactionV2, Fee, + GasVectorComputationMode, Resource, ResourceBounds, TransactionHash, @@ -48,7 +49,7 @@ use crate::execution::entry_point::EntryPointExecutionContext; use crate::execution::syscalls::SyscallSelector; use crate::fee::fee_utils::{get_fee_by_gas_vector, get_sequencer_balance_keys}; use crate::fee::gas_usage::estimate_minimal_gas_vector; -use crate::fee::resources::{GasVector, GasVectorComputationMode}; +use crate::fee::resources::GasVector; use crate::state::cached_state::{StateChangesCount, TransactionalState}; use crate::state::state_api::{State, StateReader}; use crate::test_utils::contracts::FeatureContract; diff --git a/crates/blockifier/src/transaction/execution_flavors_test.rs b/crates/blockifier/src/transaction/execution_flavors_test.rs index 9553c30378..54fad0675d 100644 --- a/crates/blockifier/src/transaction/execution_flavors_test.rs +++ b/crates/blockifier/src/transaction/execution_flavors_test.rs @@ -7,6 +7,7 @@ use starknet_api::test_utils::NonceManager; use starknet_api::transaction::{ Calldata, Fee, + GasVectorComputationMode, Resource, TransactionSignature, TransactionVersion, @@ -18,7 +19,7 @@ use starknet_types_core::felt::Felt; use crate::context::{BlockContext, ChainInfo}; use crate::execution::syscalls::SyscallSelector; use crate::fee::fee_utils::get_fee_by_gas_vector; -use crate::fee::resources::{GasVector, GasVectorComputationMode}; +use crate::fee::resources::GasVector; use crate::state::cached_state::CachedState; use crate::state::state_api::StateReader; use crate::test_utils::contracts::FeatureContract; diff --git a/crates/blockifier/src/transaction/post_execution_test.rs b/crates/blockifier/src/transaction/post_execution_test.rs index 960638d0f8..8f95fc6ccb 100644 --- a/crates/blockifier/src/transaction/post_execution_test.rs +++ b/crates/blockifier/src/transaction/post_execution_test.rs @@ -2,13 +2,19 @@ use assert_matches::assert_matches; use rstest::rstest; use starknet_api::core::{ContractAddress, PatriciaKey}; use starknet_api::state::StorageKey; -use starknet_api::transaction::{Calldata, Fee, Resource, TransactionVersion, ValidResourceBounds}; +use starknet_api::transaction::{ + Calldata, + Fee, + GasVectorComputationMode, + Resource, + TransactionVersion, + ValidResourceBounds, +}; use starknet_api::{felt, invoke_tx_args, patricia_key}; use starknet_types_core::felt::Felt; use crate::context::{BlockContext, ChainInfo}; use crate::fee::fee_checks::FeeCheckError; -use crate::fee::resources::GasVectorComputationMode; use crate::state::state_api::StateReader; use crate::test_utils::contracts::FeatureContract; use crate::test_utils::initial_test_state::test_state; diff --git a/crates/blockifier/src/transaction/test_utils.rs b/crates/blockifier/src/transaction/test_utils.rs index 00fd1eef22..fabe9324c0 100644 --- a/crates/blockifier/src/transaction/test_utils.rs +++ b/crates/blockifier/src/transaction/test_utils.rs @@ -8,6 +8,7 @@ use starknet_api::transaction::{ Calldata, ContractAddressSalt, Fee, + GasVectorComputationMode, InvokeTransactionV0, InvokeTransactionV1, InvokeTransactionV3, @@ -24,7 +25,6 @@ use strum::IntoEnumIterator; use crate::abi::abi_utils::get_fee_token_var_address; use crate::context::{BlockContext, ChainInfo}; use crate::execution::contract_class::{ClassInfo, ContractClass}; -use crate::fee::resources::GasVectorComputationMode; use crate::state::cached_state::CachedState; use crate::state::state_api::State; use crate::test_utils::contracts::FeatureContract; diff --git a/crates/blockifier/src/transaction/transactions_test.rs b/crates/blockifier/src/transaction/transactions_test.rs index a663824734..17bcf69439 100644 --- a/crates/blockifier/src/transaction/transactions_test.rs +++ b/crates/blockifier/src/transaction/transactions_test.rs @@ -21,6 +21,7 @@ use starknet_api::transaction::{ EventData, EventKey, Fee, + GasVectorComputationMode, L2ToL1Payload, ResourceBounds, TransactionSignature, @@ -75,7 +76,6 @@ use crate::fee::receipt::TransactionReceipt; use crate::fee::resources::{ ComputationResources, GasVector, - GasVectorComputationMode, StarknetResources, StateResources, TransactionResources, diff --git a/crates/blockifier/src/versioned_constants.rs b/crates/blockifier/src/versioned_constants.rs index 54401d3b75..ab34734c65 100644 --- a/crates/blockifier/src/versioned_constants.rs +++ b/crates/blockifier/src/versioned_constants.rs @@ -13,6 +13,7 @@ use semver::Version; use serde::de::Error as DeserializationError; use serde::{Deserialize, Deserializer}; use serde_json::{Map, Number, Value}; +use starknet_api::transaction::GasVectorComputationMode; use strum::IntoEnumIterator; use strum_macros::{EnumCount, EnumIter}; use thiserror::Error; @@ -20,7 +21,7 @@ use thiserror::Error; use crate::execution::deprecated_syscalls::hint_processor::SyscallCounter; use crate::execution::execution_utils::poseidon_hash_many_cost; use crate::execution::syscalls::SyscallSelector; -use crate::fee::resources::{GasVectorComputationMode, StarknetResources}; +use crate::fee::resources::StarknetResources; use crate::transaction::transaction_types::TransactionType; #[cfg(test)] diff --git a/crates/starknet_api/src/transaction.rs b/crates/starknet_api/src/transaction.rs index 120987dd08..80559a3021 100644 --- a/crates/starknet_api/src/transaction.rs +++ b/crates/starknet_api/src/transaction.rs @@ -1041,6 +1041,12 @@ where u128::from_str_radix(s.trim_start_matches("0x"), 16).map_err(serde::de::Error::custom) } +#[derive(Debug, PartialEq)] +pub enum GasVectorComputationMode { + All, + NoL2Gas, +} + /// A mapping from execution resources to their corresponding fee bounds.. #[derive(Clone, Debug, Default, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)] // TODO(Nimrod): Remove this struct definition.