From 63b1832def00575be4a99844a4a9e62d4ce9923e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Paradelo?= Date: Fri, 31 Jan 2025 12:57:24 -0300 Subject: [PATCH] replace eq for ge in fork check for beacon call --- crates/blockchain/payload.rs | 2 +- crates/vm/vm.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/blockchain/payload.rs b/crates/blockchain/payload.rs index 41cde782b7..e3d1350634 100644 --- a/crates/blockchain/payload.rs +++ b/crates/blockchain/payload.rs @@ -237,7 +237,7 @@ pub fn build_payload( pub fn apply_withdrawals(context: &mut PayloadBuildContext) -> Result<(), EvmError> { // Apply withdrawals & call beacon root contract, and obtain the new state root let spec_id = spec_id(&context.chain_config()?, context.payload.header.timestamp); - if context.payload.header.parent_beacon_block_root.is_some() && spec_id == SpecId::CANCUN { + if context.payload.header.parent_beacon_block_root.is_some() && spec_id >= SpecId::CANCUN { beacon_root_contract_call(context.evm_state, &context.payload.header, spec_id)?; } let withdrawals = context.payload.body.withdrawals.clone().unwrap_or_default(); diff --git a/crates/vm/vm.rs b/crates/vm/vm.rs index a5490da971..9626df82d8 100644 --- a/crates/vm/vm.rs +++ b/crates/vm/vm.rs @@ -224,7 +224,7 @@ cfg_if::cfg_if! { //eip 4788: execute beacon_root_contract_call before block transactions cfg_if::cfg_if! { if #[cfg(not(feature = "l2"))] { - if block_header.parent_beacon_block_root.is_some() && fork == Fork::Cancun { + if block_header.parent_beacon_block_root.is_some() && fork >= Fork::Cancun { let report = beacon_root_contract_call_levm(store_wrapper.clone(), block_header, fork)?; block_cache.extend(report.new_state); } @@ -342,7 +342,7 @@ cfg_if::cfg_if! { cfg_if::cfg_if! { if #[cfg(not(feature = "l2"))] { //eip 4788: execute beacon_root_contract_call before block transactions - if block_header.parent_beacon_block_root.is_some() && spec_id == SpecId::CANCUN { + if block_header.parent_beacon_block_root.is_some() && spec_id >= SpecId::CANCUN { beacon_root_contract_call(state, block_header, spec_id)?; } }