diff --git a/crates/ethereum/engine-primitives/src/payload.rs b/crates/ethereum/engine-primitives/src/payload.rs index 0b39c25b2842..c3b15382f585 100644 --- a/crates/ethereum/engine-primitives/src/payload.rs +++ b/crates/ethereum/engine-primitives/src/payload.rs @@ -6,14 +6,12 @@ use alloy_primitives::{Address, B256, U256}; use alloy_rlp::Encodable; use alloy_rpc_types_engine::{ ExecutionPayloadEnvelopeV2, ExecutionPayloadEnvelopeV3, ExecutionPayloadEnvelopeV4, - ExecutionPayloadV1, PayloadAttributes, PayloadId, + ExecutionPayloadFieldV2, ExecutionPayloadV1, PayloadAttributes, PayloadId, }; use core::convert::Infallible; use reth_payload_primitives::{BuiltPayload, PayloadBuilderAttributes}; use reth_primitives::{EthPrimitives, SealedBlock}; -use reth_rpc_types_compat::engine::payload::{ - block_to_payload_v1, block_to_payload_v3, convert_block_to_payload_field_v2, -}; +use reth_rpc_types_compat::engine::payload::{block_to_payload_v1, block_to_payload_v3}; /// Contains the built payload. /// @@ -131,7 +129,7 @@ impl From for ExecutionPayloadEnvelopeV2 { Self { block_value: fees, - execution_payload: convert_block_to_payload_field_v2(Arc::unwrap_or_clone(block)), + execution_payload: ExecutionPayloadFieldV2::from_block_unchecked(block.hash(), &block), } } } diff --git a/crates/optimism/payload/src/payload.rs b/crates/optimism/payload/src/payload.rs index 26269b7e754b..2f1c64d75ed2 100644 --- a/crates/optimism/payload/src/payload.rs +++ b/crates/optimism/payload/src/payload.rs @@ -6,7 +6,9 @@ use alloy_eips::{ }; use alloy_primitives::{keccak256, Address, Bytes, B256, B64, U256}; use alloy_rlp::Encodable; -use alloy_rpc_types_engine::{ExecutionPayloadEnvelopeV2, ExecutionPayloadV1, PayloadId}; +use alloy_rpc_types_engine::{ + ExecutionPayloadEnvelopeV2, ExecutionPayloadFieldV2, ExecutionPayloadV1, PayloadId, +}; use op_alloy_consensus::{encode_holocene_extra_data, EIP1559ParamError}; /// Re-export for use in downstream arguments. pub use op_alloy_rpc_types_engine::OpPayloadAttributes; @@ -18,9 +20,7 @@ use reth_optimism_primitives::{OpBlock, OpPrimitives, OpTransactionSigned}; use reth_payload_builder::EthPayloadBuilderAttributes; use reth_payload_primitives::{BuiltPayload, PayloadBuilderAttributes}; use reth_primitives::{transaction::WithEncoded, SealedBlock}; -use reth_rpc_types_compat::engine::payload::{ - block_to_payload_v1, block_to_payload_v3, convert_block_to_payload_field_v2, -}; +use reth_rpc_types_compat::engine::payload::{block_to_payload_v1, block_to_payload_v3}; use std::sync::Arc; /// Optimism Payload Builder Attributes @@ -239,7 +239,7 @@ impl From for ExecutionPayloadEnvelopeV2 { Self { block_value: fees, - execution_payload: convert_block_to_payload_field_v2(Arc::unwrap_or_clone(block)), + execution_payload: ExecutionPayloadFieldV2::from_block_unchecked(block.hash(), &block), } } } diff --git a/crates/rpc/rpc-types-compat/src/engine/payload.rs b/crates/rpc/rpc-types-compat/src/engine/payload.rs index 82e13f63279d..e84e31f6b184 100644 --- a/crates/rpc/rpc-types-compat/src/engine/payload.rs +++ b/crates/rpc/rpc-types-compat/src/engine/payload.rs @@ -4,8 +4,7 @@ use alloy_eips::{eip2718::Encodable2718, eip4895::Withdrawals}; use alloy_primitives::U256; use alloy_rpc_types_engine::{ - payload::{ExecutionPayloadBodyV1, ExecutionPayloadFieldV2}, - ExecutionPayloadV1, ExecutionPayloadV2, ExecutionPayloadV3, + payload::ExecutionPayloadBodyV1, ExecutionPayloadV1, ExecutionPayloadV2, ExecutionPayloadV3, }; use reth_primitives::{Block, SealedBlock}; use reth_primitives_traits::{BlockBody as _, SignedTransaction}; @@ -55,18 +54,6 @@ pub fn block_to_payload_v3( } } -/// Converts [`SealedBlock`] to [`ExecutionPayloadFieldV2`] -pub fn convert_block_to_payload_field_v2( - value: SealedBlock>, -) -> ExecutionPayloadFieldV2 { - // if there are withdrawals, return V2 - if value.body().withdrawals.is_some() { - ExecutionPayloadFieldV2::V2(block_to_payload_v2(value)) - } else { - ExecutionPayloadFieldV2::V1(block_to_payload_v1(value)) - } -} - /// Converts a [`reth_primitives_traits::Block`] to [`ExecutionPayloadBodyV1`] pub fn convert_to_payload_body_v1( value: impl reth_primitives_traits::Block,