use default implementation for BlockId (#7917)

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
Thomas Coratger
2024-04-26 20:46:44 +02:00
committed by GitHub
parent 704b3e3ac4
commit ffa36b7348
5 changed files with 11 additions and 28 deletions

View File

@@ -267,7 +267,7 @@ where
block_id: Option<BlockId>,
opts: GethDebugTracingCallOptions,
) -> EthResult<GethTrace> {
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),

View File

@@ -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<BlockId>,
overrides: EvmOverrides,
) -> EthResult<Bytes> {
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<BlockId>,
) -> EthResult<AccessListWithGasUsed> {
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)?;

View File

@@ -314,13 +314,7 @@ where
state_override: Option<StateOverride>,
) -> Result<U256> {
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`

View File

@@ -84,7 +84,7 @@ where
block_id: Option<BlockId>,
) -> EthResult<EIP1186AccountProofResponse> {
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

View File

@@ -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<TraceResults> {
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<TraceResults> {
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);