From 604cc09230ddc577389ce481c1b62b8db0280273 Mon Sep 17 00:00:00 2001 From: Ishika Choudhury <117741714+Rimeeeeee@users.noreply.github.com> Date: Thu, 3 Apr 2025 19:17:38 +0530 Subject: [PATCH] ensured trace_filter has a valid block range (#15473) Co-authored-by: Matthias Seitz --- crates/rpc/rpc/src/trace.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/rpc/rpc/src/trace.rs b/crates/rpc/rpc/src/trace.rs index 97decd73bf..ecdca8a12b 100644 --- a/crates/rpc/rpc/src/trace.rs +++ b/crates/rpc/rpc/src/trace.rs @@ -246,11 +246,13 @@ where let matcher = Arc::new(filter.matcher()); let TraceFilter { from_block, to_block, after, count, .. } = filter; let start = from_block.unwrap_or(0); - let end = if let Some(to_block) = to_block { - to_block - } else { - self.provider().best_block_number().map_err(Eth::Error::from_eth_err)? - }; + + let latest_block = self.provider().best_block_number().map_err(Eth::Error::from_eth_err)?; + if start > latest_block { + // can't trace that range + return Err(EthApiError::HeaderNotFound(start.into()).into()); + } + let end = to_block.unwrap_or(latest_block); if start > end { return Err(EthApiError::InvalidParams(