diff --git a/crates/ethereum/payload/src/lib.rs b/crates/ethereum/payload/src/lib.rs index 02442d73067b..5981f9a6bf8d 100644 --- a/crates/ethereum/payload/src/lib.rs +++ b/crates/ethereum/payload/src/lib.rs @@ -16,6 +16,7 @@ use reth_basic_payload_builder::{ use reth_errors::RethError; use reth_evm::{ system_calls::{ + post_block_consolidation_requests_contract_call, post_block_withdrawal_requests_contract_call, pre_block_beacon_root_contract_call, pre_block_blockhashes_contract_call, }, @@ -207,8 +208,15 @@ where &initialized_block_env, ) .map_err(|err| PayloadBuilderError::Internal(err.into()))?; + let consolidation_requests = post_block_consolidation_requests_contract_call( + &self.evm_config, + &mut db, + &initialized_cfg, + &initialized_block_env, + ) + .map_err(|err| PayloadBuilderError::Internal(err.into()))?; - let requests = withdrawal_requests; + let requests = [withdrawal_requests, consolidation_requests].concat(); let requests_root = calculate_requests_root(&requests); (Some(requests.into()), Some(requests_root)) } else { @@ -454,8 +462,15 @@ where &initialized_block_env, ) .map_err(|err| PayloadBuilderError::Internal(err.into()))?; + let consolidation_requests = post_block_consolidation_requests_contract_call( + &evm_config, + &mut db, + &initialized_cfg, + &initialized_block_env, + ) + .map_err(|err| PayloadBuilderError::Internal(err.into()))?; - let requests = [deposit_requests, withdrawal_requests].concat(); + let requests = [deposit_requests, withdrawal_requests, consolidation_requests].concat(); let requests_root = calculate_requests_root(&requests); (Some(requests.into()), Some(requests_root)) } else {