Skip to content

Commit

Permalink
refactor(execution): delete starknet version string constants and usages
Browse files Browse the repository at this point in the history
  • Loading branch information
dorimedini-starkware committed Oct 18, 2024
1 parent b5a8777 commit dfb9e29
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 34 deletions.
8 changes: 4 additions & 4 deletions crates/papyrus_execution/src/execution_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ use blockifier::execution::call_info::Retdata;
use blockifier::execution::errors::ConstructorEntryPointExecutionError;
use blockifier::execution::stack_trace::gen_tx_execution_error_trace;
use blockifier::transaction::errors::TransactionExecutionError as BlockifierTransactionExecutionError;
use blockifier::versioned_constants::VersionedConstants;
use indexmap::indexmap;
use papyrus_storage::test_utils::get_test_storage;
use pretty_assertions::assert_eq;
Expand Down Expand Up @@ -56,7 +57,6 @@ use crate::testing_instances::get_test_execution_config;
use crate::{
estimate_fee,
execute_call,
get_versioned_constants,
ExecutableTransactionInput,
ExecutionError,
FeeEstimationResult,
Expand Down Expand Up @@ -853,10 +853,10 @@ fn test_get_versioned_constants() {
let starknet_version_13_0 = StarknetVersion::try_from("0.13.0".to_string()).unwrap();
let starknet_version_13_1 = StarknetVersion::try_from("0.13.1".to_string()).unwrap();
let starknet_version_13_2 = StarknetVersion::try_from("0.13.2".to_string()).unwrap();
let versioned_constants = get_versioned_constants(Some(&starknet_version_13_0)).unwrap();
let versioned_constants = VersionedConstants::get(&starknet_version_13_0).unwrap();
assert_eq!(versioned_constants.invoke_tx_max_n_steps, 3_000_000);
let versioned_constants = get_versioned_constants(Some(&starknet_version_13_1)).unwrap();
let versioned_constants = VersionedConstants::get(&starknet_version_13_1).unwrap();
assert_eq!(versioned_constants.invoke_tx_max_n_steps, 4_000_000);
let versioned_constants = get_versioned_constants(Some(&starknet_version_13_2)).unwrap();
let versioned_constants = VersionedConstants::get(&starknet_version_13_2).unwrap();
assert_eq!(versioned_constants.invoke_tx_max_n_steps, 10_000_000);
}
35 changes: 5 additions & 30 deletions crates/papyrus_execution/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,6 @@ use tracing::trace;

use crate::objects::{tx_execution_output_to_fee_estimation, FeeEstimation, PendingData};

const STARKNET_VERSION_O_13_0: &str = "0.13.0";
const STARKNET_VERSION_O_13_1: &str = "0.13.1";
const STARKNET_VERSION_O_13_2: &str = "0.13.2";
/// The address of the STRK fee contract on Starknet.
pub const STRK_FEE_CONTRACT_ADDRESS: &str =
"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d";
Expand Down Expand Up @@ -368,10 +365,11 @@ fn create_block_context(
eth_fee_token_address: execution_config.eth_fee_contract_address,
},
};
let starknet_version: Option<StarknetVersion> =
storage_reader.begin_ro_txn()?.get_starknet_version(block_number)?;
let versioned_constants: &VersionedConstants =
get_versioned_constants(starknet_version.as_ref())?;
let starknet_version = storage_reader
.begin_ro_txn()?
.get_starknet_version(block_number)?
.unwrap_or(StarknetVersion::LATEST);
let versioned_constants = VersionedConstants::get(&starknet_version)?;

let block_context = BlockContext::new(
block_info,
Expand Down Expand Up @@ -860,29 +858,6 @@ fn to_blockifier_tx(
}
}

// TODO(dan): add 0_13_1_1 support
fn get_versioned_constants(
starknet_version: Option<&StarknetVersion>,
) -> ExecutionResult<&'static VersionedConstants> {
let versioned_constants = match starknet_version {
Some(starknet_version) => {
let version = starknet_version.to_string();
let starknet_api_starknet_version = if version == STARKNET_VERSION_O_13_0 {
StarknetVersion::V0_13_0
} else if version == STARKNET_VERSION_O_13_1 {
StarknetVersion::V0_13_1
} else if version == STARKNET_VERSION_O_13_2 {
StarknetVersion::V0_13_2
} else {
StarknetVersion::V0_13_3
};
VersionedConstants::get(&starknet_api_starknet_version)?
}
None => VersionedConstants::latest_constants(),
};
Ok(versioned_constants)
}

/// Simulates a series of transactions and returns the transaction traces and the fee estimations.
// TODO(yair): Return structs instead of tuples.
#[allow(clippy::too_many_arguments)]
Expand Down

0 comments on commit dfb9e29

Please sign in to comment.