From ffa36b7348b2e5f4bdb09804961eda597131b91d Mon Sep 17 00:00:00 2001 From: Thomas Coratger <60488569+tcoratger@users.noreply.github.com> Date: Fri, 26 Apr 2024 20:46:44 +0200 Subject: [PATCH] use default implementation for `BlockId` (#7917) Co-authored-by: Matthias Seitz --- crates/rpc/rpc/src/debug.rs | 4 ++-- crates/rpc/rpc/src/eth/api/call.rs | 17 +++++------------ crates/rpc/rpc/src/eth/api/server.rs | 8 +------- crates/rpc/rpc/src/eth/api/state.rs | 2 +- crates/rpc/rpc/src/trace.rs | 8 ++------ 5 files changed, 11 insertions(+), 28 deletions(-) diff --git a/crates/rpc/rpc/src/debug.rs b/crates/rpc/rpc/src/debug.rs index b212d1636df6..e47ccc46612b 100644 --- a/crates/rpc/rpc/src/debug.rs +++ b/crates/rpc/rpc/src/debug.rs @@ -267,7 +267,7 @@ where block_id: Option, opts: GethDebugTracingCallOptions, ) -> EthResult { - let at = block_id.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); + let at = block_id.unwrap_or_default(); let GethDebugTracingCallOptions { tracing_options, state_overrides, block_overrides } = opts; let overrides = EvmOverrides::new(state_overrides, block_overrides.map(Box::new)); @@ -420,7 +420,7 @@ where let StateContext { transaction_index, block_number } = state_context.unwrap_or_default(); let transaction_index = transaction_index.unwrap_or_default(); - let target_block = block_number.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); + let target_block = block_number.unwrap_or_default(); let ((cfg, mut block_env, _), block) = futures::try_join!( self.inner.eth_api.evm_env_at(target_block), self.inner.eth_api.block_by_id_with_senders(target_block), diff --git a/crates/rpc/rpc/src/eth/api/call.rs b/crates/rpc/rpc/src/eth/api/call.rs index d556249c3ffb..7066f7372982 100644 --- a/crates/rpc/rpc/src/eth/api/call.rs +++ b/crates/rpc/rpc/src/eth/api/call.rs @@ -14,9 +14,7 @@ use crate::{ }; use reth_evm::ConfigureEvm; use reth_network_api::NetworkInfo; -use reth_primitives::{ - revm::env::tx_env_with_recovered, BlockId, BlockNumberOrTag, Bytes, TxKind, U256, -}; +use reth_primitives::{revm::env::tx_env_with_recovered, BlockId, Bytes, TxKind, U256}; use reth_provider::{ BlockReaderIdExt, ChainSpecProvider, EvmEnvProvider, StateProvider, StateProviderFactory, }; @@ -73,13 +71,8 @@ where block_number: Option, overrides: EvmOverrides, ) -> EthResult { - let (res, _env) = self - .transact_call_at( - request, - block_number.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)), - overrides, - ) - .await?; + let (res, _env) = + self.transact_call_at(request, block_number.unwrap_or_default(), overrides).await?; ensure_success(res.result) } @@ -100,7 +93,7 @@ where let StateContext { transaction_index, block_number } = state_context.unwrap_or_default(); let transaction_index = transaction_index.unwrap_or_default(); - let target_block = block_number.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); + let target_block = block_number.unwrap_or_default(); let is_block_target_pending = target_block.is_pending(); let ((cfg, block_env, _), block) = futures::try_join!( @@ -390,7 +383,7 @@ where mut request: TransactionRequest, at: Option, ) -> EthResult { - let block_id = at.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); + let block_id = at.unwrap_or_default(); let (cfg, block, at) = self.evm_env_at(block_id).await?; let state = self.state_at(at)?; diff --git a/crates/rpc/rpc/src/eth/api/server.rs b/crates/rpc/rpc/src/eth/api/server.rs index 2648df08f7aa..c2be79a10e5b 100644 --- a/crates/rpc/rpc/src/eth/api/server.rs +++ b/crates/rpc/rpc/src/eth/api/server.rs @@ -314,13 +314,7 @@ where state_override: Option, ) -> Result { trace!(target: "rpc::eth", ?request, ?block_number, "Serving eth_estimateGas"); - Ok(self - .estimate_gas_at( - request, - block_number.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)), - state_override, - ) - .await?) + Ok(self.estimate_gas_at(request, block_number.unwrap_or_default(), state_override).await?) } /// Handler for: `eth_gasPrice` diff --git a/crates/rpc/rpc/src/eth/api/state.rs b/crates/rpc/rpc/src/eth/api/state.rs index f739c4a75fa7..7f0bdd4e2f70 100644 --- a/crates/rpc/rpc/src/eth/api/state.rs +++ b/crates/rpc/rpc/src/eth/api/state.rs @@ -84,7 +84,7 @@ where block_id: Option, ) -> EthResult { let chain_info = self.provider().chain_info()?; - let block_id = block_id.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); + let block_id = block_id.unwrap_or_default(); // if we are trying to create a proof for the latest block, but have a BlockId as input // that is not BlockNumberOrTag::Latest, then we need to figure out whether or not the diff --git a/crates/rpc/rpc/src/trace.rs b/crates/rpc/rpc/src/trace.rs index ade8291c3bd2..0479190367b9 100644 --- a/crates/rpc/rpc/src/trace.rs +++ b/crates/rpc/rpc/src/trace.rs @@ -78,7 +78,7 @@ where { /// Executes the given call and returns a number of possible traces for it. pub async fn trace_call(&self, trace_request: TraceCallRequest) -> EthResult { - let at = trace_request.block_id.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest)); + let at = trace_request.block_id.unwrap_or_default(); let config = TracingInspectorConfig::from_parity_config(&trace_request.trace_types); let overrides = EvmOverrides::new(trace_request.state_overrides, trace_request.block_overrides); @@ -106,11 +106,7 @@ where ) -> EthResult { let tx = recover_raw_transaction(tx)?; - let (cfg, block, at) = self - .inner - .eth_api - .evm_env_at(block_id.unwrap_or(BlockId::Number(BlockNumberOrTag::Latest))) - .await?; + let (cfg, block, at) = self.inner.eth_api.evm_env_at(block_id.unwrap_or_default()).await?; let tx = tx_env_with_recovered(&tx.into_ecrecovered_transaction()); let env = EnvWithHandlerCfg::new_with_cfg_env(cfg, block, tx);