mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: rm evmenvprovider trait (#13503)
This commit is contained in:
@ -4,8 +4,8 @@ use crate::{
|
||||
AccountReader, BlockHashReader, BlockIdReader, BlockNumReader, BlockReader, BlockReaderIdExt,
|
||||
BlockSource, CanonChainTracker, CanonStateNotifications, CanonStateSubscriptions,
|
||||
ChainSpecProvider, ChainStateBlockReader, ChangeSetReader, DatabaseProvider,
|
||||
DatabaseProviderFactory, EvmEnvProvider, FullProvider, HashedPostStateProvider, HeaderProvider,
|
||||
ProviderError, ProviderFactory, PruneCheckpointReader, ReceiptProvider, ReceiptProviderIdExt,
|
||||
DatabaseProviderFactory, FullProvider, HashedPostStateProvider, HeaderProvider, ProviderError,
|
||||
ProviderFactory, PruneCheckpointReader, ReceiptProvider, ReceiptProviderIdExt,
|
||||
StageCheckpointReader, StateProviderBox, StateProviderFactory, StateReader,
|
||||
StaticFileProviderFactory, TransactionVariant, TransactionsProvider, WithdrawalsProvider,
|
||||
};
|
||||
@ -497,19 +497,6 @@ impl<N: ProviderNodeTypes> StageCheckpointReader for BlockchainProvider2<N> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: ProviderNodeTypes> EvmEnvProvider<HeaderTy<N>> for BlockchainProvider2<N> {
|
||||
fn env_with_header<EvmConfig>(
|
||||
&self,
|
||||
header: &HeaderTy<N>,
|
||||
evm_config: EvmConfig,
|
||||
) -> ProviderResult<EvmEnv>
|
||||
where
|
||||
EvmConfig: ConfigureEvmEnv<Header = HeaderTy<N>>,
|
||||
{
|
||||
self.consistent_provider()?.env_with_header(header, evm_config)
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: ProviderNodeTypes> PruneCheckpointReader for BlockchainProvider2<N> {
|
||||
fn get_prune_checkpoint(
|
||||
&self,
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
use super::{DatabaseProviderRO, ProviderFactory, ProviderNodeTypes};
|
||||
use crate::{
|
||||
providers::StaticFileProvider, AccountReader, BlockHashReader, BlockIdReader, BlockNumReader,
|
||||
BlockReader, BlockReaderIdExt, BlockSource, ChainSpecProvider, ChangeSetReader, EvmEnvProvider,
|
||||
HeaderProvider, ProviderError, PruneCheckpointReader, ReceiptProvider, ReceiptProviderIdExt,
|
||||
BlockReader, BlockReaderIdExt, BlockSource, ChainSpecProvider, ChangeSetReader, HeaderProvider,
|
||||
ProviderError, PruneCheckpointReader, ReceiptProvider, ReceiptProviderIdExt,
|
||||
StageCheckpointReader, StateReader, StaticFileProviderFactory, TransactionVariant,
|
||||
TransactionsProvider, WithdrawalsProvider,
|
||||
};
|
||||
@ -17,7 +17,6 @@ use reth_chain_state::{BlockState, CanonicalInMemoryState, MemoryOverlayStatePro
|
||||
use reth_chainspec::{ChainInfo, EthereumHardforks};
|
||||
use reth_db::models::BlockNumberAddress;
|
||||
use reth_db_api::models::{AccountBeforeTx, StoredBlockBodyIndices};
|
||||
use reth_evm::{env::EvmEnv, ConfigureEvmEnv};
|
||||
use reth_execution_types::{BundleStateInit, ExecutionOutcome, RevertsInit};
|
||||
use reth_node_types::{BlockTy, HeaderTy, ReceiptTy, TxTy};
|
||||
use reth_primitives::{
|
||||
@ -1232,19 +1231,6 @@ impl<N: ProviderNodeTypes> StageCheckpointReader for ConsistentProvider<N> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: ProviderNodeTypes> EvmEnvProvider<HeaderTy<N>> for ConsistentProvider<N> {
|
||||
fn env_with_header<EvmConfig>(
|
||||
&self,
|
||||
header: &HeaderTy<N>,
|
||||
evm_config: EvmConfig,
|
||||
) -> ProviderResult<EvmEnv>
|
||||
where
|
||||
EvmConfig: ConfigureEvmEnv<Header = HeaderTy<N>>,
|
||||
{
|
||||
Ok(evm_config.cfg_and_block_env(header))
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: ProviderNodeTypes> PruneCheckpointReader for ConsistentProvider<N> {
|
||||
fn get_prune_checkpoint(
|
||||
&self,
|
||||
|
||||
@ -3,9 +3,9 @@ use crate::{
|
||||
to_range,
|
||||
traits::{BlockSource, ReceiptProvider},
|
||||
BlockHashReader, BlockNumReader, BlockReader, ChainSpecProvider, DatabaseProviderFactory,
|
||||
EvmEnvProvider, HashedPostStateProvider, HeaderProvider, HeaderSyncGap, HeaderSyncGapProvider,
|
||||
ProviderError, PruneCheckpointReader, StageCheckpointReader, StateProviderBox,
|
||||
StaticFileProviderFactory, TransactionVariant, TransactionsProvider, WithdrawalsProvider,
|
||||
HashedPostStateProvider, HeaderProvider, HeaderSyncGap, HeaderSyncGapProvider, ProviderError,
|
||||
PruneCheckpointReader, StageCheckpointReader, StateProviderBox, StaticFileProviderFactory,
|
||||
TransactionVariant, TransactionsProvider, WithdrawalsProvider,
|
||||
};
|
||||
use alloy_eips::{
|
||||
eip4895::{Withdrawal, Withdrawals},
|
||||
@ -17,7 +17,6 @@ use reth_chainspec::{ChainInfo, EthereumHardforks};
|
||||
use reth_db::{init_db, mdbx::DatabaseArguments, DatabaseEnv};
|
||||
use reth_db_api::{database::Database, models::StoredBlockBodyIndices};
|
||||
use reth_errors::{RethError, RethResult};
|
||||
use reth_evm::{env::EvmEnv, ConfigureEvmEnv};
|
||||
use reth_node_types::{BlockTy, HeaderTy, NodeTypesWithDB, ReceiptTy, TxTy};
|
||||
use reth_primitives::{
|
||||
BlockWithSenders, SealedBlockFor, SealedBlockWithSenders, SealedHeader, StaticFileSegment,
|
||||
@ -591,19 +590,6 @@ impl<N: ProviderNodeTypes> StageCheckpointReader for ProviderFactory<N> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: ProviderNodeTypes> EvmEnvProvider<HeaderTy<N>> for ProviderFactory<N> {
|
||||
fn env_with_header<EvmConfig>(
|
||||
&self,
|
||||
header: &HeaderTy<N>,
|
||||
evm_config: EvmConfig,
|
||||
) -> ProviderResult<EvmEnv>
|
||||
where
|
||||
EvmConfig: ConfigureEvmEnv<Header = HeaderTy<N>>,
|
||||
{
|
||||
self.provider()?.env_with_header(header, evm_config)
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: NodeTypesWithDB> ChainSpecProvider for ProviderFactory<N> {
|
||||
type ChainSpec = N::ChainSpec;
|
||||
|
||||
|
||||
@ -11,12 +11,12 @@ use crate::{
|
||||
},
|
||||
AccountReader, BlockBodyWriter, BlockExecutionWriter, BlockHashReader, BlockNumReader,
|
||||
BlockReader, BlockWriter, BundleStateInit, ChainStateBlockReader, ChainStateBlockWriter,
|
||||
DBProvider, EvmEnvProvider, HashingWriter, HeaderProvider, HeaderSyncGap,
|
||||
HeaderSyncGapProvider, HistoricalStateProvider, HistoricalStateProviderRef, HistoryWriter,
|
||||
LatestStateProvider, LatestStateProviderRef, OriginalValuesKnown, ProviderError,
|
||||
PruneCheckpointReader, PruneCheckpointWriter, RevertsInit, StageCheckpointReader,
|
||||
StateCommitmentProvider, StateProviderBox, StateWriter, StaticFileProviderFactory, StatsReader,
|
||||
StorageLocation, StorageReader, StorageTrieWriter, TransactionVariant, TransactionsProvider,
|
||||
DBProvider, HashingWriter, HeaderProvider, HeaderSyncGap, HeaderSyncGapProvider,
|
||||
HistoricalStateProvider, HistoricalStateProviderRef, HistoryWriter, LatestStateProvider,
|
||||
LatestStateProviderRef, OriginalValuesKnown, ProviderError, PruneCheckpointReader,
|
||||
PruneCheckpointWriter, RevertsInit, StageCheckpointReader, StateCommitmentProvider,
|
||||
StateProviderBox, StateWriter, StaticFileProviderFactory, StatsReader, StorageLocation,
|
||||
StorageReader, StorageTrieWriter, TransactionVariant, TransactionsProvider,
|
||||
TransactionsProviderExt, TrieWriter, WithdrawalsProvider,
|
||||
};
|
||||
use alloy_consensus::{BlockHeader, Header};
|
||||
@ -47,7 +47,6 @@ use reth_db_api::{
|
||||
transaction::{DbTx, DbTxMut},
|
||||
DatabaseError,
|
||||
};
|
||||
use reth_evm::{env::EvmEnv, ConfigureEvmEnv};
|
||||
use reth_execution_types::{Chain, ExecutionOutcome};
|
||||
use reth_network_p2p::headers::downloader::SyncTarget;
|
||||
use reth_node_types::{BlockTy, BodyTy, HeaderTy, NodeTypes, ReceiptTy, TxTy};
|
||||
@ -1640,21 +1639,6 @@ impl<TX: DbTx + 'static, N: NodeTypesForProvider> BlockBodyIndicesProvider
|
||||
}
|
||||
}
|
||||
|
||||
impl<TX: DbTx + 'static, N: NodeTypesForProvider> EvmEnvProvider<HeaderTy<N>>
|
||||
for DatabaseProvider<TX, N>
|
||||
{
|
||||
fn env_with_header<EvmConfig>(
|
||||
&self,
|
||||
header: &HeaderTy<N>,
|
||||
evm_config: EvmConfig,
|
||||
) -> ProviderResult<EvmEnv>
|
||||
where
|
||||
EvmConfig: ConfigureEvmEnv<Header = HeaderTy<N>>,
|
||||
{
|
||||
Ok(evm_config.cfg_and_block_env(header))
|
||||
}
|
||||
}
|
||||
|
||||
impl<TX: DbTx, N: NodeTypes> StageCheckpointReader for DatabaseProvider<TX, N> {
|
||||
fn get_stage_checkpoint(&self, id: StageId) -> ProviderResult<Option<StageCheckpoint>> {
|
||||
Ok(self.tx.get::<tables::StageCheckpoints>(id.to_string())?)
|
||||
|
||||
@ -4,11 +4,10 @@ use crate::{
|
||||
AccountReader, BlockHashReader, BlockIdReader, BlockNumReader, BlockReader, BlockReaderIdExt,
|
||||
BlockSource, BlockchainTreePendingStateProvider, CanonStateNotifications,
|
||||
CanonStateSubscriptions, ChainSpecProvider, ChainStateBlockReader, ChangeSetReader,
|
||||
DatabaseProviderFactory, EvmEnvProvider, FullExecutionDataProvider, HeaderProvider,
|
||||
NodePrimitivesProvider, ProviderError, PruneCheckpointReader, ReceiptProvider,
|
||||
ReceiptProviderIdExt, StageCheckpointReader, StateProviderBox, StateProviderFactory,
|
||||
StaticFileProviderFactory, TransactionVariant, TransactionsProvider, TreeViewer,
|
||||
WithdrawalsProvider,
|
||||
DatabaseProviderFactory, FullExecutionDataProvider, HeaderProvider, NodePrimitivesProvider,
|
||||
ProviderError, PruneCheckpointReader, ReceiptProvider, ReceiptProviderIdExt,
|
||||
StageCheckpointReader, StateProviderBox, StateProviderFactory, StaticFileProviderFactory,
|
||||
TransactionVariant, TransactionsProvider, TreeViewer, WithdrawalsProvider,
|
||||
};
|
||||
use alloy_consensus::Header;
|
||||
use alloy_eips::{
|
||||
@ -26,7 +25,6 @@ use reth_chain_state::{ChainInfoTracker, ForkChoiceNotifications, ForkChoiceSubs
|
||||
use reth_chainspec::{ChainInfo, EthereumHardforks};
|
||||
use reth_db::table::Value;
|
||||
use reth_db_api::models::{AccountBeforeTx, StoredBlockBodyIndices};
|
||||
use reth_evm::{env::EvmEnv, ConfigureEvmEnv};
|
||||
use reth_node_types::{
|
||||
BlockTy, FullNodePrimitives, HeaderTy, NodeTypes, NodeTypesWithDB, NodeTypesWithEngine,
|
||||
ReceiptTy, TxTy,
|
||||
@ -601,19 +599,6 @@ impl<N: ProviderNodeTypes> StageCheckpointReader for BlockchainProvider<N> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: TreeNodeTypes> EvmEnvProvider for BlockchainProvider<N> {
|
||||
fn env_with_header<EvmConfig>(
|
||||
&self,
|
||||
header: &Header,
|
||||
evm_config: EvmConfig,
|
||||
) -> ProviderResult<EvmEnv>
|
||||
where
|
||||
EvmConfig: ConfigureEvmEnv<Header = Header>,
|
||||
{
|
||||
self.database.provider()?.env_with_header(header, evm_config)
|
||||
}
|
||||
}
|
||||
|
||||
impl<N: ProviderNodeTypes> PruneCheckpointReader for BlockchainProvider<N> {
|
||||
fn get_prune_checkpoint(
|
||||
&self,
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
use crate::{
|
||||
traits::{BlockSource, ReceiptProvider},
|
||||
AccountReader, BlockHashReader, BlockIdReader, BlockNumReader, BlockReader, BlockReaderIdExt,
|
||||
ChainSpecProvider, ChangeSetReader, DatabaseProvider, EthStorage, EvmEnvProvider,
|
||||
HeaderProvider, ReceiptProviderIdExt, StateProvider, StateProviderBox, StateProviderFactory,
|
||||
StateReader, StateRootProvider, TransactionVariant, TransactionsProvider, WithdrawalsProvider,
|
||||
ChainSpecProvider, ChangeSetReader, DatabaseProvider, EthStorage, HeaderProvider,
|
||||
ReceiptProviderIdExt, StateProvider, StateProviderBox, StateProviderFactory, StateReader,
|
||||
StateRootProvider, TransactionVariant, TransactionsProvider, WithdrawalsProvider,
|
||||
};
|
||||
use alloy_consensus::{constants::EMPTY_ROOT_HASH, Header};
|
||||
use alloy_eips::{
|
||||
@ -19,7 +19,6 @@ use parking_lot::Mutex;
|
||||
use reth_chainspec::{ChainInfo, ChainSpec};
|
||||
use reth_db::mock::{DatabaseMock, TxMock};
|
||||
use reth_db_api::models::{AccountBeforeTx, StoredBlockBodyIndices};
|
||||
use reth_evm::{env::EvmEnv, ConfigureEvmEnv};
|
||||
use reth_execution_types::ExecutionOutcome;
|
||||
use reth_node_types::NodeTypes;
|
||||
use reth_primitives::{
|
||||
@ -707,19 +706,6 @@ impl StateProvider for MockEthProvider {
|
||||
}
|
||||
}
|
||||
|
||||
impl EvmEnvProvider for MockEthProvider {
|
||||
fn env_with_header<EvmConfig>(
|
||||
&self,
|
||||
header: &Header,
|
||||
evm_config: EvmConfig,
|
||||
) -> ProviderResult<EvmEnv>
|
||||
where
|
||||
EvmConfig: ConfigureEvmEnv<Header = Header>,
|
||||
{
|
||||
Ok(evm_config.cfg_and_block_env(header))
|
||||
}
|
||||
}
|
||||
|
||||
impl StateProviderFactory for MockEthProvider {
|
||||
fn latest(&self) -> ProviderResult<StateProviderBox> {
|
||||
Ok(Box::new(self.clone()))
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
use crate::{
|
||||
AccountReader, BlockReaderIdExt, ChainSpecProvider, ChangeSetReader, DatabaseProviderFactory,
|
||||
EvmEnvProvider, HeaderProvider, StageCheckpointReader, StateProviderFactory,
|
||||
StaticFileProviderFactory, TransactionsProvider,
|
||||
HeaderProvider, StageCheckpointReader, StateProviderFactory, StaticFileProviderFactory,
|
||||
TransactionsProvider,
|
||||
};
|
||||
use reth_chain_state::{CanonStateSubscriptions, ForkChoiceSubscriptions};
|
||||
use reth_chainspec::EthereumHardforks;
|
||||
@ -22,7 +22,6 @@ pub trait FullProvider<N: NodeTypesWithDB>:
|
||||
Header = HeaderTy<N>,
|
||||
> + AccountReader
|
||||
+ StateProviderFactory
|
||||
+ EvmEnvProvider
|
||||
+ ChainSpecProvider<ChainSpec = N::ChainSpec>
|
||||
+ ChangeSetReader
|
||||
+ CanonStateSubscriptions
|
||||
@ -45,7 +44,6 @@ impl<T, N: NodeTypesWithDB> FullProvider<N> for T where
|
||||
Header = HeaderTy<N>,
|
||||
> + AccountReader
|
||||
+ StateProviderFactory
|
||||
+ EvmEnvProvider
|
||||
+ ChainSpecProvider<ChainSpec = N::ChainSpec>
|
||||
+ ChangeSetReader
|
||||
+ CanonStateSubscriptions
|
||||
@ -61,7 +59,6 @@ impl<T, N: NodeTypesWithDB> FullProvider<N> for T where
|
||||
/// simplicity.
|
||||
pub trait FullRpcProvider:
|
||||
StateProviderFactory
|
||||
+ EvmEnvProvider
|
||||
+ ChainSpecProvider<ChainSpec: EthereumHardforks>
|
||||
+ BlockReaderIdExt
|
||||
+ HeaderProvider
|
||||
@ -75,7 +72,6 @@ pub trait FullRpcProvider:
|
||||
|
||||
impl<T> FullRpcProvider for T where
|
||||
T: StateProviderFactory
|
||||
+ EvmEnvProvider
|
||||
+ ChainSpecProvider<ChainSpec: EthereumHardforks>
|
||||
+ BlockReaderIdExt
|
||||
+ HeaderProvider
|
||||
|
||||
@ -3,9 +3,6 @@
|
||||
// Re-export all the traits
|
||||
pub use reth_storage_api::*;
|
||||
|
||||
// Re-export for convenience
|
||||
pub use reth_evm::provider::EvmEnvProvider;
|
||||
|
||||
mod block;
|
||||
pub use block::*;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user