From 6ee5006ac0eef43bbb3bdf8802701533434e4de3 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Sat, 21 Jun 2025 15:19:01 +0200 Subject: [PATCH] chore: relax localpending block bounds (#16979) --- crates/optimism/rpc/src/eth/pending_block.rs | 16 +++++--------- .../rpc/rpc/src/eth/helpers/pending_block.rs | 22 ++++++++----------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/crates/optimism/rpc/src/eth/pending_block.rs b/crates/optimism/rpc/src/eth/pending_block.rs index 684207fde8..916a478706 100644 --- a/crates/optimism/rpc/src/eth/pending_block.rs +++ b/crates/optimism/rpc/src/eth/pending_block.rs @@ -9,7 +9,6 @@ use reth_evm::ConfigureEvm; use reth_node_api::NodePrimitives; use reth_optimism_evm::OpNextBlockEnvAttributes; use reth_optimism_forks::OpHardforks; -use reth_optimism_primitives::{OpBlock, OpReceipt, OpTransactionSigned}; use reth_primitives_traits::{RecoveredBlock, SealedHeader}; use reth_rpc_eth_api::{ helpers::{LoadPendingBlock, SpawnBlocking}, @@ -33,17 +32,13 @@ where Error: FromEvmError, >, N: RpcNodeCore< - Provider: BlockReaderIdExt< - Transaction = OpTransactionSigned, - Block = OpBlock, - Receipt = OpReceipt, - Header = alloy_consensus::Header, - > + ChainSpecProvider + Provider: BlockReaderIdExt + + ChainSpecProvider + StateProviderFactory, Pool: TransactionPool>>, Evm: ConfigureEvm< Primitives = ::Primitives, - NextBlockEnvCtx = OpNextBlockEnvAttributes, + NextBlockEnvCtx: From, >, Primitives: NodePrimitives< BlockHeader = ProviderHeader, @@ -72,8 +67,9 @@ where prev_randao: B256::random(), gas_limit: parent.gas_limit(), parent_beacon_block_root: parent.parent_beacon_block_root(), - extra_data: parent.extra_data.clone(), - }) + extra_data: parent.extra_data().clone(), + } + .into()) } /// Returns the locally built pending block diff --git a/crates/rpc/rpc/src/eth/helpers/pending_block.rs b/crates/rpc/rpc/src/eth/helpers/pending_block.rs index 46fb7e7b0e..3308cac798 100644 --- a/crates/rpc/rpc/src/eth/helpers/pending_block.rs +++ b/crates/rpc/rpc/src/eth/helpers/pending_block.rs @@ -24,22 +24,20 @@ impl LoadPendingBlock for EthApi where Self: SpawnBlocking< - NetworkTypes: RpcTypes
, + NetworkTypes: RpcTypes< + Header = alloy_rpc_types_eth::Header>, + >, Error: FromEvmError, > + RpcNodeCore< - Provider: BlockReaderIdExt< - Transaction = reth_ethereum_primitives::TransactionSigned, - Block = reth_ethereum_primitives::Block, - Receipt = reth_ethereum_primitives::Receipt, - Header = alloy_consensus::Header, - > + ChainSpecProvider + Provider: BlockReaderIdExt + + ChainSpecProvider + StateProviderFactory, Pool: TransactionPool< Transaction: PoolTransaction>, >, Evm: ConfigureEvm< Primitives = ::Primitives, - NextBlockEnvCtx = NextBlockEnvAttributes, + NextBlockEnvCtx: From, >, Primitives: NodePrimitives< BlockHeader = ProviderHeader, @@ -48,10 +46,7 @@ where Block = ProviderBlock, >, >, - Provider: BlockReader< - Block = reth_ethereum_primitives::Block, - Receipt = reth_ethereum_primitives::Receipt, - >, + Provider: BlockReader, { #[inline] fn pending_block( @@ -73,6 +68,7 @@ where gas_limit: parent.gas_limit(), parent_beacon_block_root: parent.parent_beacon_block_root().map(|_| B256::ZERO), withdrawals: None, - }) + } + .into()) } }