From 6dcab51c973ac0154991802fbccdb685cc528374 Mon Sep 17 00:00:00 2001 From: Vitalyr <158586577+Vitaliyr888@users.noreply.github.com> Date: Wed, 25 Feb 2026 19:45:42 +0000 Subject: [PATCH] fix(rpc): respect pending-block=none for provider blocks (#22556) --- crates/rpc/rpc-eth-api/src/helpers/block.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/rpc/rpc-eth-api/src/helpers/block.rs b/crates/rpc/rpc-eth-api/src/helpers/block.rs index 300118548d..a43da37dfc 100644 --- a/crates/rpc/rpc-eth-api/src/helpers/block.rs +++ b/crates/rpc/rpc-eth-api/src/helpers/block.rs @@ -74,8 +74,12 @@ pub trait EthBlocks: LoadBlock impl Future, Self::Error>> + Send { async move { - // If no pending block from provider, build the pending block locally. if block_id.is_pending() { + if self.pending_block_kind().is_none() { + return Ok(None); + } + + // If no pending block from provider, build the pending block locally. if let Some(pending) = self.local_pending_block().await? { return Ok(Some(pending.block.body().transaction_count())); } @@ -180,6 +184,10 @@ pub trait EthBlocks: LoadBlock + Send { async move { if block_id.is_pending() { + if self.pending_block_kind().is_none() { + return Ok(None); + } + // Pending block can be fetched directly without need for caching if let Some(pending_block) = self.provider().pending_block().map_err(Self::Error::from_eth_err)?