diff --git a/crates/context/src/cfg.rs b/crates/context/src/cfg.rs index 4624b977f5..061d9a06a2 100644 --- a/crates/context/src/cfg.rs +++ b/crates/context/src/cfg.rs @@ -76,6 +76,26 @@ impl CfgEnv { } impl CfgEnv { + pub fn new_with_spec(spec: SPEC) -> Self { + Self { + chain_id: 1, + limit_contract_code_size: None, + spec, + disable_nonce_check: false, + blob_target_and_max_count: vec![(SpecId::CANCUN, 3, 6), (SpecId::PRAGUE, 6, 9)], + #[cfg(feature = "memory_limit")] + memory_limit: (1 << 32) - 1, + #[cfg(feature = "optional_balance_check")] + disable_balance_check: false, + #[cfg(feature = "optional_block_gas_limit")] + disable_block_gas_limit: false, + #[cfg(feature = "optional_eip3607")] + disable_eip3607: false, + #[cfg(feature = "optional_no_base_fee")] + disable_base_fee: false, + } + } + pub fn with_chain_id(mut self, chain_id: u64) -> Self { self.chain_id = chain_id; self @@ -184,23 +204,7 @@ impl + Copy> Cfg for CfgEnv { impl Default for CfgEnv { fn default() -> Self { - Self { - chain_id: 1, - limit_contract_code_size: None, - spec: Default::default(), - disable_nonce_check: false, - blob_target_and_max_count: vec![(SpecId::CANCUN, 3, 6), (SpecId::PRAGUE, 6, 9)], - #[cfg(feature = "memory_limit")] - memory_limit: (1 << 32) - 1, - #[cfg(feature = "optional_balance_check")] - disable_balance_check: false, - #[cfg(feature = "optional_block_gas_limit")] - disable_block_gas_limit: false, - #[cfg(feature = "optional_eip3607")] - disable_eip3607: false, - #[cfg(feature = "optional_no_base_fee")] - disable_base_fee: false, - } + Self::new_with_spec(SPEC::default()) } } diff --git a/crates/optimism/src/api/default_ctx.rs b/crates/optimism/src/api/default_ctx.rs index e01ce601af..9de1291f19 100644 --- a/crates/optimism/src/api/default_ctx.rs +++ b/crates/optimism/src/api/default_ctx.rs @@ -29,7 +29,7 @@ impl DefaultOp fn op() -> Self { Context::mainnet() .with_tx(OpTransaction::default()) - .with_cfg(CfgEnv::new().with_spec(OpSpecId::BEDROCK)) + .with_cfg(CfgEnv::new_with_spec(OpSpecId::BEDROCK)) .with_chain(L1BlockInfo::default()) } }