From 38f18a794c7356c7ae21ba256c1f45485b70a985 Mon Sep 17 00:00:00 2001 From: Rodi-Can Bozman Date: Tue, 18 Mar 2025 20:00:07 +0100 Subject: [PATCH 1/3] Etherlink: enable hot/cold access by default --- .../kernel_latest/evm_evaluation/src/runner.rs | 1 - .../evm_execution/src/fa_bridge/mod.rs | 7 ------- .../kernel_latest/evm_execution/src/handler.rs | 17 ----------------- .../kernel_latest/evm_execution/src/lib.rs | 2 -- etherlink/kernel_latest/kernel/src/apply.rs | 7 ------- .../kernel_latest/kernel/src/simulation.rs | 14 -------------- 6 files changed, 48 deletions(-) diff --git a/etherlink/kernel_latest/evm_evaluation/src/runner.rs b/etherlink/kernel_latest/evm_evaluation/src/runner.rs index c14235d6fe87..ec34b86cbe5a 100644 --- a/etherlink/kernel_latest/evm_evaluation/src/runner.rs +++ b/etherlink/kernel_latest/evm_evaluation/src/runner.rs @@ -248,7 +248,6 @@ fn execute_transaction( pay_for_gas, u64::MAX, // don't account for ticks during the test false, - true, None, ) } diff --git a/etherlink/kernel_latest/evm_execution/src/fa_bridge/mod.rs b/etherlink/kernel_latest/evm_execution/src/fa_bridge/mod.rs index e38c714e657a..dcc4dad5de4b 100644 --- a/etherlink/kernel_latest/evm_execution/src/fa_bridge/mod.rs +++ b/etherlink/kernel_latest/evm_execution/src/fa_bridge/mod.rs @@ -159,13 +159,6 @@ pub fn execute_fa_deposit<'a, Host: Runtime>( precompiles, allocated_ticks, block.base_fee_per_gas(), - // NB: - // We enable hot/cold accesses to help the tick model removal - // project. - // Once we get enough data on the actual impact of Mainnet, this - // option will be completely removed by: - // https://gitlab.com/tezos/tezos/-/merge_requests/17308 - true, tracer_input, ); diff --git a/etherlink/kernel_latest/evm_execution/src/handler.rs b/etherlink/kernel_latest/evm_execution/src/handler.rs index 129f2d02f437..7821bc59fbc2 100644 --- a/etherlink/kernel_latest/evm_execution/src/handler.rs +++ b/etherlink/kernel_latest/evm_execution/src/handler.rs @@ -407,9 +407,6 @@ pub struct EvmHandler<'a, Host: Runtime> { pub estimated_ticks_used: u64, /// The effective gas price of the current transaction effective_gas_price: U256, - /// Whether warm/cold storage and address access is enabled - /// If not, all access are considered warm - pub enable_warm_cold_access: bool, /// Tracer configuration for debugging. tracer: Option, /// Storage cache during a given execution. @@ -442,7 +439,6 @@ impl<'a, Host: Runtime> EvmHandler<'a, Host> { precompiles: &'a dyn PrecompileSet, ticks_allocated: u64, effective_gas_price: U256, - enable_warm_cold_access: bool, tracer: Option, ) -> Self { Self { @@ -456,7 +452,6 @@ impl<'a, Host: Runtime> EvmHandler<'a, Host> { ticks_allocated, estimated_ticks_used: 0, effective_gas_price, - enable_warm_cold_access, tracer, storage_cache: HashMap::with_capacity(10), original_storage_cache: HashMap::with_capacity(10), @@ -651,10 +646,6 @@ impl<'a, Host: Runtime> EvmHandler<'a, Host> { address: H160, index: H256, ) -> Result<(), ExitError> { - if !self.enable_warm_cold_access { - return Ok(()); - } - match self.transaction_data.last_mut() { Some(layer) => { layer.accessed_storage_keys.insert_storage(address, index); @@ -670,10 +661,6 @@ impl<'a, Host: Runtime> EvmHandler<'a, Host> { /// cost of *CALL, BALANCE, EXT* and SELFDESTRUCT. Return type chosen for compatibility with the /// SputnikVM functions that need to call this function. fn mark_address_as_hot(&mut self, address: H160) -> Result<(), ExitError> { - if !self.enable_warm_cold_access { - return Ok(()); - } - match self.transaction_data.last_mut() { Some(layer) => { layer.accessed_storage_keys.insert_address(address); @@ -2615,10 +2602,6 @@ impl Handler for EvmHandler<'_, Host> { } fn is_cold(&mut self, address: H160, index: Option) -> Result { - if !self.enable_warm_cold_access { - return Ok(false); - } - // EIP-3651 if self.config.warm_coinbase_address && address == self.block_coinbase() { return Ok(false); diff --git a/etherlink/kernel_latest/evm_execution/src/lib.rs b/etherlink/kernel_latest/evm_execution/src/lib.rs index 6b873b65624f..98190c78fc6f 100755 --- a/etherlink/kernel_latest/evm_execution/src/lib.rs +++ b/etherlink/kernel_latest/evm_execution/src/lib.rs @@ -263,7 +263,6 @@ pub fn run_transaction<'a, Host>( pay_for_gas: bool, allocated_ticks: u64, retriable: bool, - enable_warm_cold_access: bool, tracer: Option, ) -> Result, EthereumError> where @@ -287,7 +286,6 @@ where precompiles, allocated_ticks, effective_gas_price, - enable_warm_cold_access, tracer, ); diff --git a/etherlink/kernel_latest/kernel/src/apply.rs b/etherlink/kernel_latest/kernel/src/apply.rs index 25b953370c14..00f686919883 100644 --- a/etherlink/kernel_latest/kernel/src/apply.rs +++ b/etherlink/kernel_latest/kernel/src/apply.rs @@ -347,13 +347,6 @@ fn apply_ethereum_transaction_common( true, allocated_ticks, retriable, - // NB: - // We enable hot/cold accesses to help the tick model removal - // project. - // Once we get enough data on the actual impact of Mainnet, this - // option will be completely removed by: - // https://gitlab.com/tezos/tezos/-/merge_requests/17308 - true, tracer_input, ) { Ok(outcome) => outcome, diff --git a/etherlink/kernel_latest/kernel/src/simulation.rs b/etherlink/kernel_latest/kernel/src/simulation.rs index 155b2d1f356f..a1e2ac487ab2 100644 --- a/etherlink/kernel_latest/kernel/src/simulation.rs +++ b/etherlink/kernel_latest/kernel/src/simulation.rs @@ -482,13 +482,6 @@ impl Evaluation { false, allocated_ticks, false, - // NB: - // We enable hot/cold accesses to help the tick model removal - // project. - // Once we get enough data on the actual impact of Mainnet, this - // option will be completely removed by: - // https://gitlab.com/tezos/tezos/-/merge_requests/17308 - true, tracer_input, ) { Ok(Some(outcome)) if !self.with_da_fees => { @@ -790,13 +783,6 @@ mod tests { false, DUMMY_ALLOCATED_TICKS, false, - // NB: - // We enable hot/cold accesses to help the tick model removal - // project. - // Once we get enough data on the actual impact of Mainnet, this - // option will be completely removed by: - // https://gitlab.com/tezos/tezos/-/merge_requests/17308 - true, None, ); assert!(outcome.is_ok(), "contract should have been created"); -- GitLab From 232e8caa927852fcaf89a5589253986dd931dd95 Mon Sep 17 00:00:00 2001 From: Rodi-Can Bozman Date: Tue, 18 Mar 2025 20:06:31 +0100 Subject: [PATCH 2/3] Etherlink: readapt all unit tests --- .../evm_execution/src/fa_bridge/test_utils.rs | 3 - .../evm_execution/src/handler.rs | 60 ++++------------ .../kernel_latest/evm_execution/src/lib.rs | 69 ++++--------------- .../src/precompiles/fa_bridge.rs | 2 - .../evm_execution/src/precompiles/mod.rs | 1 - 5 files changed, 25 insertions(+), 110 deletions(-) diff --git a/etherlink/kernel_latest/evm_execution/src/fa_bridge/test_utils.rs b/etherlink/kernel_latest/evm_execution/src/fa_bridge/test_utils.rs index 462e16a6fdde..087d856d4973 100644 --- a/etherlink/kernel_latest/evm_execution/src/fa_bridge/test_utils.rs +++ b/etherlink/kernel_latest/evm_execution/src/fa_bridge/test_utils.rs @@ -99,7 +99,6 @@ pub fn deploy_mock_wrapper( false, 1_000_000_000, false, - false, None, ) .expect("Failed to deploy") @@ -146,7 +145,6 @@ pub fn deploy_reentrancy_tester( false, 1_000_000_000, false, - false, None, ) .expect("Failed to deploy") @@ -405,7 +403,6 @@ pub fn fa_bridge_precompile_call_withdraw( &precompiles, 1_000_000_000, U256::from(21000), - false, None, ); diff --git a/etherlink/kernel_latest/evm_execution/src/handler.rs b/etherlink/kernel_latest/evm_execution/src/handler.rs index 7821bc59fbc2..22d8970ad701 100644 --- a/etherlink/kernel_latest/evm_execution/src/handler.rs +++ b/etherlink/kernel_latest/evm_execution/src/handler.rs @@ -3204,7 +3204,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3240,7 +3239,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3283,7 +3281,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3331,7 +3328,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3402,7 +3398,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3505,7 +3500,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3609,7 +3603,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3711,7 +3704,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3792,7 +3784,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3858,7 +3849,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -3933,7 +3923,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4005,7 +3994,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4076,7 +4064,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4156,7 +4143,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4184,7 +4170,6 @@ mod test { &precompiles, 10_000, gas_price, - false, None, ); @@ -4252,7 +4237,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4313,7 +4297,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4408,7 +4391,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4465,7 +4447,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, U256::one(), - false, None, ); @@ -4516,7 +4497,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4601,7 +4581,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -4631,7 +4610,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, U256::one(), - false, None, ); @@ -4675,7 +4653,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 10000, gas_price, - false, None, ); @@ -4765,7 +4742,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 10000, gas_price, - false, None, ); @@ -4873,7 +4849,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 10000, gas_price, - false, None, ); @@ -4939,7 +4914,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 10000, gas_price, - true, None, ); @@ -5017,7 +4991,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, U256::from(21000), - false, None, ); @@ -5091,7 +5064,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 1000, gas_price, - false, None, ); @@ -5174,7 +5146,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -5231,7 +5202,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, U256::one(), - false, None, ); @@ -5281,7 +5251,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 1000, U256::from(21000), - false, None, ); @@ -5332,7 +5301,7 @@ mod test { .unwrap(); // Gas cost: 21000(BASE) + 10 * 3(PUSH1) + 3(MSTORE) + 3(Memory expansion) + 100(Call) + 9000(Positive value cost) - 2300(Call Stipend) - assert_eq!(result.gas_used, 27836); + assert_eq!(result.gas_used, 30336); assert_eq!( result.result, @@ -5363,7 +5332,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 10000, gas_price, - false, None, ); @@ -5372,10 +5340,10 @@ mod test { // and the destination account is dead. let cases = [ - (100_u32, 100_u8, 51003_u64), // transfer > 0 && non-existent destination - (100, 100, 26003), // transfer > 0 && touched destination - (0, 101, 26003), // transfer == 0 && non-existent destination - (0, 101, 26003), // transfer == 0 && touched destination + (100_u32, 100_u8, 53603_u64), // transfer > 0 && non-existent destination + (100, 100, 28603), // transfer > 0 && touched destination + (0, 101, 28603), // transfer == 0 && non-existent destination + (0, 101, 28603), // transfer == 0 && touched destination ]; for (balance, destination, expected_gas) in cases { @@ -5436,7 +5404,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS * 10000, gas_price, - false, None, ); @@ -5447,12 +5414,12 @@ mod test { let address = H160::from_low_u64_be(110_u64); let cases = [ - (100_u32, 10_u8, 100_u8, 52821_u64), // transfer > 0 && non-existent destination - (100, 10, 100, 27821), // transfer > 0 && touched destination - (100, 0, 101, 21121), // transfer == 0 && non-existent destination - (100, 0, 101, 21121), // transger == 0 && touched destination - (0, 10, 102, 52821), // unsufficient balance && transfer > 0 && non-existent destination - (0, 10, 100, 27821), // unsufficient balance && transfer > 0 && touched destination + (100_u32, 10_u8, 100_u8, 55321_u64), // transfer > 0 && non-existent destination + (100, 10, 100, 30321), // transfer > 0 && touched destination + (100, 0, 101, 23621), // transfer == 0 && non-existent destination + (100, 0, 101, 23621), // transger == 0 && touched destination + (0, 10, 102, 55321), // unsufficient balance && transfer > 0 && non-existent destination + (0, 10, 100, 30321), // unsufficient balance && transfer > 0 && touched destination ]; for (balance, value, destination, expected_gas) in cases { @@ -5520,7 +5487,6 @@ mod test { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); @@ -5560,14 +5526,14 @@ mod test { // At this point no refund is done let gas_used = handler.gas_used(); - assert_eq!(gas_used, 2906); + assert_eq!(gas_used, 5006); let end_result = handler.end_initial_transaction(execution_result); // At this point refund is done as we ended the initial transaction match end_result { - Ok(ExecutionOutcome { gas_used, .. }) => assert_eq!(gas_used, 2325), + Ok(ExecutionOutcome { gas_used, .. }) => assert_eq!(gas_used, 4005), Err(_) => panic!("The transaction should have succeeded"), } } diff --git a/etherlink/kernel_latest/evm_execution/src/lib.rs b/etherlink/kernel_latest/evm_execution/src/lib.rs index 98190c78fc6f..8c70c05b6c99 100755 --- a/etherlink/kernel_latest/evm_execution/src/lib.rs +++ b/etherlink/kernel_latest/evm_execution/src/lib.rs @@ -664,7 +664,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -729,7 +728,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -788,7 +786,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -844,7 +841,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -882,7 +878,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); assert!(result2.is_ok(), "execution should have succeeded"); @@ -916,7 +911,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); assert!(result3.is_ok(), "execution should have succeeded"); @@ -949,7 +943,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); assert!(result2.is_ok(), "execution should have succeeded"); @@ -1009,7 +1002,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1062,7 +1054,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1115,7 +1106,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1261,7 +1251,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1324,7 +1313,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1386,7 +1374,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1443,7 +1430,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1503,7 +1489,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1563,7 +1548,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1678,7 +1662,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -1759,23 +1742,22 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); let expected_gas = 21000 // base cost - + 65535 // staticcall allocated gas + + 68035 // staticcall allocated gas + 6 * 3 // cost for push + 100; // cost for staticcall // Since we execute an invalid instruction (for a static call that is) we spend - // _all_ the gas allocated to the call (so 0xFFFF or 65535) + // _all_ the gas allocated to the call (so 0xFFFF or 68035) let expected_result = Ok(Some(ExecutionOutcome { gas_used: expected_gas, logs: vec![], result: ExecutionResult::CallSucceeded(ExitSucceed::Stopped, vec![]), withdrawals: vec![], - estimated_ticks_used: 532678536, + estimated_ticks_used: 552941036, })); // assert that call succeeds @@ -1852,12 +1834,11 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); let expected_gas = 21000 // base cost - + 65535 // staticcall allocated gas + + 68035 // staticcall allocated gas + 6 * 3 // cost for push + 100; // cost for staticcall @@ -1869,7 +1850,7 @@ mod test { logs: vec![], result: ExecutionResult::CallSucceeded(ExitSucceed::Stopped, vec![]), withdrawals: vec![], - estimated_ticks_used: 532095791, + estimated_ticks_used: 552358291, })); // assert that call succeeds @@ -1967,7 +1948,6 @@ mod test { true, 1_000_000_000, false, - false, None, ); @@ -1984,14 +1964,14 @@ mod test { }; let expected_gas = 21000 // base cost - + 1348; // execution cost (taken at face value from tests) + + 3848; // execution cost (taken at face value from tests) let expected_result = Ok(Some(ExecutionOutcome { gas_used: expected_gas, logs: vec![log_record1, log_record2], result: ExecutionResult::CallSucceeded(ExitSucceed::Stopped, vec![]), withdrawals: vec![], - estimated_ticks_used: 48062519, + estimated_ticks_used: 49452519, })); assert_eq!(result, expected_result); @@ -2079,7 +2059,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2090,14 +2069,14 @@ mod test { }; let expected_gas = 21000 // base cost - + 911; // execution cost (taken at face value from tests) + + 3411; // execution cost (taken at face value from tests) let expected_result = Ok(Some(ExecutionOutcome { gas_used: expected_gas, logs: vec![log_record1], result: ExecutionResult::CallSucceeded(ExitSucceed::Stopped, vec![]), withdrawals: vec![], - estimated_ticks_used: 47793126, + estimated_ticks_used: 49183126, })); assert_eq!(result, expected_result); @@ -2181,17 +2160,16 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); let expected_gas = 21000 // base cost - + 5124; // execution gas cost (taken at face value from tests) + + 7624; // execution gas cost (taken at face value from tests) let expected_result = ExecutionOutcome { gas_used: expected_gas, logs: vec![], result: ExecutionResult::CallSucceeded(ExitSucceed::Stopped, vec![]), withdrawals: vec![], - estimated_ticks_used: 50578554, + estimated_ticks_used: 51968554, }; assert_eq!(result.unwrap().unwrap(), expected_result); @@ -2298,7 +2276,6 @@ mod test { true, 10_000_000_000, false, - false, None, ); @@ -2307,7 +2284,7 @@ mod test { logs: vec![], result: ExecutionResult::Error(ExitError::InvalidCode(Opcode::INVALID)), withdrawals: vec![], - estimated_ticks_used: 50630887, + estimated_ticks_used: 52020887, })); assert_eq!(result, expected_result); @@ -2396,7 +2373,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2481,7 +2457,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2562,7 +2537,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2614,7 +2588,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2675,7 +2648,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2750,7 +2722,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2822,7 +2793,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -2887,7 +2857,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ) } @@ -2992,7 +2961,6 @@ mod test { true, 10_000_000_000, false, - false, None, ); @@ -3075,7 +3043,6 @@ mod test { true, 10_000_000_000, false, - false, None, ); @@ -3185,7 +3152,6 @@ mod test { true, 10_000_000_000, false, - false, None, ); @@ -3266,7 +3232,6 @@ mod test { true, 10_000_000_000, false, - false, None, ); @@ -3314,7 +3279,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -3370,7 +3334,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -3460,7 +3423,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ); @@ -3559,7 +3521,6 @@ mod test { true, 10_000, retriable, - false, None, ); @@ -3691,7 +3652,6 @@ mod test { false, u64::MAX, false, - false, None, ); @@ -3777,7 +3737,6 @@ mod test { false, u64::MAX, false, - false, None, ); @@ -3817,7 +3776,6 @@ mod test { false, u64::MAX, false, - false, None, ); @@ -3898,7 +3856,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS * 100, false, - false, None, ) .unwrap() @@ -3989,7 +3946,6 @@ mod test { true, DUMMY_ALLOCATED_TICKS, false, - false, None, ) .unwrap() @@ -4050,7 +4006,6 @@ mod test { false, DUMMY_ALLOCATED_TICKS, false, - false, None, ); diff --git a/etherlink/kernel_latest/evm_execution/src/precompiles/fa_bridge.rs b/etherlink/kernel_latest/evm_execution/src/precompiles/fa_bridge.rs index 1fdac6500110..7814e92b4481 100644 --- a/etherlink/kernel_latest/evm_execution/src/precompiles/fa_bridge.rs +++ b/etherlink/kernel_latest/evm_execution/src/precompiles/fa_bridge.rs @@ -234,7 +234,6 @@ mod tests { &precompiles, 100_000_000_000, U256::from(21000), - false, None, ); @@ -362,7 +361,6 @@ mod tests { &precompiles, 1_000_000_000, U256::from(21000), - false, None, ); diff --git a/etherlink/kernel_latest/evm_execution/src/precompiles/mod.rs b/etherlink/kernel_latest/evm_execution/src/precompiles/mod.rs index b63ae568b2ac..dc235dc2f72f 100644 --- a/etherlink/kernel_latest/evm_execution/src/precompiles/mod.rs +++ b/etherlink/kernel_latest/evm_execution/src/precompiles/mod.rs @@ -389,7 +389,6 @@ mod test_helpers { &precompiles, DUMMY_ALLOCATED_TICKS, gas_price, - false, None, ); -- GitLab From 7c8f2c6d785f12fc3b8f8ce534273d46466029a5 Mon Sep 17 00:00:00 2001 From: Rodi-Can Bozman Date: Tue, 18 Mar 2025 20:08:47 +0100 Subject: [PATCH 3/3] Etherlink: add a line in features --- etherlink/CHANGES_KERNEL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etherlink/CHANGES_KERNEL.md b/etherlink/CHANGES_KERNEL.md index e8ae9f4739d4..f0ba9da4465b 100644 --- a/etherlink/CHANGES_KERNEL.md +++ b/etherlink/CHANGES_KERNEL.md @@ -11,6 +11,8 @@ * [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780) - A fast withdrawal entrypoint was added to the FA bridge precompiled contract under a feature flag. (!17114) +- Hot and cold accesses are now enabled to better align gas consumption + with the actual execution on Etherlink. (!17308) ### Bug fixes -- GitLab