chore: rm evmenvprovider trait (#13503)

This commit is contained in:
Matthias Seitz
2024-12-23 11:46:09 +01:00
committed by GitHub
parent a0dcb0c522
commit ec21e895c1
25 changed files with 53 additions and 215 deletions

View File

@ -18,8 +18,8 @@ use reth_evm::{
use reth_primitives::{BlockExt, InvalidTransactionError, SealedBlockWithSenders};
use reth_primitives_traits::Receipt;
use reth_provider::{
BlockReader, BlockReaderIdExt, ChainSpecProvider, EvmEnvProvider, ProviderBlock, ProviderError,
ProviderHeader, ProviderReceipt, ProviderTx, ReceiptProvider, StateProviderFactory,
BlockReader, BlockReaderIdExt, ChainSpecProvider, ProviderBlock, ProviderError, ProviderHeader,
ProviderReceipt, ProviderTx, ReceiptProvider, StateProviderFactory,
};
use reth_revm::{
database::StateProviderDatabase,
@ -48,7 +48,6 @@ pub trait LoadPendingBlock:
>,
> + RpcNodeCore<
Provider: BlockReaderIdExt<Receipt: Receipt>
+ EvmEnvProvider<ProviderHeader<Self::Provider>>
+ ChainSpecProvider<ChainSpec: EthChainSpec + EthereumHardforks>
+ StateProviderFactory,
Pool: TransactionPool<Transaction: PoolTransaction<Consensus = ProviderTx<Self::Provider>>>,
@ -87,12 +86,8 @@ pub trait LoadPendingBlock:
// Note: for the PENDING block we assume it is past the known merge block and
// thus this will not fail when looking up the total
// difficulty value for the blockenv.
let evm_env = self
.provider()
.env_with_header(block.header(), self.evm_config().clone())
.map_err(Self::Error::from_eth_err)?;
let EvmEnv { cfg_env_with_handler_cfg, block_env } = evm_env;
let EvmEnv { cfg_env_with_handler_cfg, block_env } =
self.evm_config().cfg_and_block_env(block.header());
return Ok(PendingBlockEnv::new(
cfg_env_with_handler_cfg,

View File

@ -10,10 +10,10 @@ use alloy_serde::JsonStorageKey;
use futures::Future;
use reth_chainspec::{EthChainSpec, EthereumHardforks};
use reth_errors::RethError;
use reth_evm::env::EvmEnv;
use reth_evm::{env::EvmEnv, ConfigureEvmEnv};
use reth_provider::{
BlockIdReader, BlockNumReader, ChainSpecProvider, EvmEnvProvider as _, StateProvider,
StateProviderBox, StateProviderFactory,
BlockIdReader, BlockNumReader, ChainSpecProvider, StateProvider, StateProviderBox,
StateProviderFactory,
};
use reth_rpc_eth_types::{EthApiError, PendingBlockEnv, RpcInvalidTransactionError};
use reth_transaction_pool::TransactionPool;
@ -231,10 +231,8 @@ pub trait LoadState:
let header =
self.cache().get_header(block_hash).await.map_err(Self::Error::from_eth_err)?;
let evm_env = self
.provider()
.env_with_header(&header, self.evm_config().clone())
.map_err(Self::Error::from_eth_err)?;
let evm_env = self.evm_config().cfg_and_block_env(&header);
Ok((evm_env, block_hash.into()))
}
}