From 15e096820fa6ca603c6275cb1ad062f36dca9410 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 10 Dec 2024 15:35:05 +0100 Subject: [PATCH] chore: remove unused evm env provider fns --- crates/evm/src/provider.rs | 44 +------------------ .../src/providers/blockchain_provider.rs | 32 ++------------ .../provider/src/providers/consistent.rs | 39 ++-------------- .../provider/src/providers/database/mod.rs | 32 ++------------ .../src/providers/database/provider.rs | 39 ++-------------- crates/storage/provider/src/providers/mod.rs | 32 ++------------ .../storage/provider/src/test_utils/mock.rs | 36 +++------------ .../storage/provider/src/test_utils/noop.rs | 36 +++------------ 8 files changed, 27 insertions(+), 263 deletions(-) diff --git a/crates/evm/src/provider.rs b/crates/evm/src/provider.rs index 6ef4cefbb485..e0256e9a8a47 100644 --- a/crates/evm/src/provider.rs +++ b/crates/evm/src/provider.rs @@ -2,15 +2,14 @@ use crate::ConfigureEvmEnv; use alloy_consensus::Header; -use alloy_eips::BlockHashOrNumber; use reth_storage_errors::provider::ProviderResult; -use revm::primitives::{BlockEnv, CfgEnv, CfgEnvWithHandlerCfg, SpecId}; +use revm::primitives::{BlockEnv, CfgEnvWithHandlerCfg}; /// A provider type that knows chain specific information required to configure a /// [`CfgEnvWithHandlerCfg`]. /// /// This type is mainly used to provide required data to configure the EVM environment that is -/// usually stored on disk. +/// not part of the block and stored separately (on disk), for example the total difficulty. #[auto_impl::auto_impl(&, Arc)] pub trait EvmEnvProvider: Send + Sync { /// Fills the default [`CfgEnvWithHandlerCfg`] and [BlockEnv] fields with values specific to the @@ -20,45 +19,6 @@ pub trait EvmEnvProvider: Send + Sync { header: &H, evm_config: EvmConfig, ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> - where - EvmConfig: ConfigureEvmEnv
, - { - let mut cfg = CfgEnvWithHandlerCfg::new_with_spec_id(CfgEnv::default(), SpecId::LATEST); - let mut block_env = BlockEnv::default(); - self.fill_env_with_header(&mut cfg, &mut block_env, header, evm_config)?; - Ok((cfg, block_env)) - } - - /// Fills the [`CfgEnvWithHandlerCfg`] and [BlockEnv] fields with values specific to the given - /// block header. - fn fill_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - block_env: &mut BlockEnv, - header: &H, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
; - - /// Fills the [`CfgEnvWithHandlerCfg`] fields with values specific to the given - /// [BlockHashOrNumber]. - fn fill_cfg_env_at( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - at: BlockHashOrNumber, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
; - - /// Fills the [`CfgEnvWithHandlerCfg`] fields with values specific to the given block header. - fn fill_cfg_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - header: &H, - evm_config: EvmConfig, - ) -> ProviderResult<()> where EvmConfig: ConfigureEvmEnv
; } diff --git a/crates/storage/provider/src/providers/blockchain_provider.rs b/crates/storage/provider/src/providers/blockchain_provider.rs index 68f1498eccb6..2d624fbc74cb 100644 --- a/crates/storage/provider/src/providers/blockchain_provider.rs +++ b/crates/storage/provider/src/providers/blockchain_provider.rs @@ -493,41 +493,15 @@ impl StageCheckpointReader for BlockchainProvider2 { } impl EvmEnvProvider> for BlockchainProvider2 { - fn fill_env_with_header( + fn env_with_header( &self, - cfg: &mut CfgEnvWithHandlerCfg, - block_env: &mut BlockEnv, header: &HeaderTy, evm_config: EvmConfig, - ) -> ProviderResult<()> + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
>, { - self.consistent_provider()?.fill_env_with_header(cfg, block_env, header, evm_config) - } - - fn fill_cfg_env_at( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - at: BlockHashOrNumber, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - self.consistent_provider()?.fill_cfg_env_at(cfg, at, evm_config) - } - - fn fill_cfg_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - header: &HeaderTy, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - self.consistent_provider()?.fill_cfg_env_with_header(cfg, header, evm_config) + self.consistent_provider()?.env_with_header(header, evm_config) } } diff --git a/crates/storage/provider/src/providers/consistent.rs b/crates/storage/provider/src/providers/consistent.rs index 927a78fe19e2..4604f29db866 100644 --- a/crates/storage/provider/src/providers/consistent.rs +++ b/crates/storage/provider/src/providers/consistent.rs @@ -1231,51 +1231,18 @@ impl StageCheckpointReader for ConsistentProvider { } impl EvmEnvProvider> for ConsistentProvider { - fn fill_env_with_header( + fn env_with_header( &self, - cfg: &mut CfgEnvWithHandlerCfg, - block_env: &mut BlockEnv, header: &HeaderTy, evm_config: EvmConfig, - ) -> ProviderResult<()> + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
>, { let total_difficulty = self .header_td_by_number(header.number())? .ok_or_else(|| ProviderError::HeaderNotFound(header.number().into()))?; - evm_config.fill_cfg_and_block_env(cfg, block_env, header, total_difficulty); - Ok(()) - } - - fn fill_cfg_env_at( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - at: BlockHashOrNumber, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - let hash = self.convert_number(at)?.ok_or(ProviderError::HeaderNotFound(at))?; - let header = self.header(&hash)?.ok_or(ProviderError::HeaderNotFound(at))?; - self.fill_cfg_env_with_header(cfg, &header, evm_config) - } - - fn fill_cfg_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - header: &HeaderTy, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - let total_difficulty = self - .header_td_by_number(header.number())? - .ok_or_else(|| ProviderError::HeaderNotFound(header.number().into()))?; - evm_config.fill_cfg_env(cfg, header, total_difficulty); - Ok(()) + Ok(evm_config.cfg_and_block_env(header, total_difficulty)) } } diff --git a/crates/storage/provider/src/providers/database/mod.rs b/crates/storage/provider/src/providers/database/mod.rs index 85b734ef6616..bb0e49420eae 100644 --- a/crates/storage/provider/src/providers/database/mod.rs +++ b/crates/storage/provider/src/providers/database/mod.rs @@ -590,41 +590,15 @@ impl StageCheckpointReader for ProviderFactory { } impl EvmEnvProvider> for ProviderFactory { - fn fill_env_with_header( + fn env_with_header( &self, - cfg: &mut CfgEnvWithHandlerCfg, - block_env: &mut BlockEnv, header: &HeaderTy, evm_config: EvmConfig, - ) -> ProviderResult<()> + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
>, { - self.provider()?.fill_env_with_header(cfg, block_env, header, evm_config) - } - - fn fill_cfg_env_at( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - at: BlockHashOrNumber, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - self.provider()?.fill_cfg_env_at(cfg, at, evm_config) - } - - fn fill_cfg_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - header: &HeaderTy, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - self.provider()?.fill_cfg_env_with_header(cfg, header, evm_config) + self.provider()?.env_with_header(header, evm_config) } } diff --git a/crates/storage/provider/src/providers/database/provider.rs b/crates/storage/provider/src/providers/database/provider.rs index 05e4ed4c0c00..ac70ff7b1d3e 100644 --- a/crates/storage/provider/src/providers/database/provider.rs +++ b/crates/storage/provider/src/providers/database/provider.rs @@ -1638,51 +1638,18 @@ impl> Withdrawals impl EvmEnvProvider> for DatabaseProvider { - fn fill_env_with_header( + fn env_with_header( &self, - cfg: &mut CfgEnvWithHandlerCfg, - block_env: &mut BlockEnv, header: &HeaderTy, evm_config: EvmConfig, - ) -> ProviderResult<()> + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
>, { let total_difficulty = self .header_td_by_number(header.number())? .ok_or_else(|| ProviderError::HeaderNotFound(header.number().into()))?; - evm_config.fill_cfg_and_block_env(cfg, block_env, header, total_difficulty); - Ok(()) - } - - fn fill_cfg_env_at( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - at: BlockHashOrNumber, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - let hash = self.convert_number(at)?.ok_or(ProviderError::HeaderNotFound(at))?; - let header = self.header(&hash)?.ok_or(ProviderError::HeaderNotFound(at))?; - self.fill_cfg_env_with_header(cfg, &header, evm_config) - } - - fn fill_cfg_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - header: &HeaderTy, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
>, - { - let total_difficulty = self - .header_td_by_number(header.number())? - .ok_or_else(|| ProviderError::HeaderNotFound(header.number().into()))?; - evm_config.fill_cfg_env(cfg, header, total_difficulty); - Ok(()) + Ok(evm_config.cfg_and_block_env(header, total_difficulty)) } } diff --git a/crates/storage/provider/src/providers/mod.rs b/crates/storage/provider/src/providers/mod.rs index b4a99541a89a..a778b17fe135 100644 --- a/crates/storage/provider/src/providers/mod.rs +++ b/crates/storage/provider/src/providers/mod.rs @@ -591,41 +591,15 @@ impl StageCheckpointReader for BlockchainProvider { } impl EvmEnvProvider for BlockchainProvider { - fn fill_env_with_header( + fn env_with_header( &self, - cfg: &mut CfgEnvWithHandlerCfg, - block_env: &mut BlockEnv, header: &Header, evm_config: EvmConfig, - ) -> ProviderResult<()> + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
, { - self.database.provider()?.fill_env_with_header(cfg, block_env, header, evm_config) - } - - fn fill_cfg_env_at( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - at: BlockHashOrNumber, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
, - { - self.database.provider()?.fill_cfg_env_at(cfg, at, evm_config) - } - - fn fill_cfg_env_with_header( - &self, - cfg: &mut CfgEnvWithHandlerCfg, - header: &Header, - evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
, - { - self.database.provider()?.fill_cfg_env_with_header(cfg, header, evm_config) + self.database.provider()?.env_with_header(header, evm_config) } } diff --git a/crates/storage/provider/src/test_utils/mock.rs b/crates/storage/provider/src/test_utils/mock.rs index abe1096a1bc7..2aa70a47b239 100644 --- a/crates/storage/provider/src/test_utils/mock.rs +++ b/crates/storage/provider/src/test_utils/mock.rs @@ -717,41 +717,15 @@ impl StateProvider for MockEthProvider { } impl EvmEnvProvider for MockEthProvider { - fn fill_env_with_header( + fn env_with_header( &self, - _cfg: &mut CfgEnvWithHandlerCfg, - _block_env: &mut BlockEnv, - _header: &Header, - _evm_config: EvmConfig, - ) -> ProviderResult<()> + header: &Header, + evm_config: EvmConfig, + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
, { - Ok(()) - } - - fn fill_cfg_env_at( - &self, - _cfg: &mut CfgEnvWithHandlerCfg, - _at: BlockHashOrNumber, - _evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
, - { - Ok(()) - } - - fn fill_cfg_env_with_header( - &self, - _cfg: &mut CfgEnvWithHandlerCfg, - _header: &Header, - _evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
, - { - Ok(()) + Ok(evm_config.cfg_and_block_env(header, U256::MAX)) } } diff --git a/crates/storage/provider/src/test_utils/noop.rs b/crates/storage/provider/src/test_utils/noop.rs index 3846313b9f4f..b72df25af289 100644 --- a/crates/storage/provider/src/test_utils/noop.rs +++ b/crates/storage/provider/src/test_utils/noop.rs @@ -436,41 +436,15 @@ impl StateProvider for NoopProvider { } impl EvmEnvProvider for NoopProvider { - fn fill_env_with_header( + fn env_with_header( &self, - _cfg: &mut CfgEnvWithHandlerCfg, - _block_env: &mut BlockEnv, - _header: &Header, - _evm_config: EvmConfig, - ) -> ProviderResult<()> + header: &Header, + evm_config: EvmConfig, + ) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)> where EvmConfig: ConfigureEvmEnv
, { - Ok(()) - } - - fn fill_cfg_env_at( - &self, - _cfg: &mut CfgEnvWithHandlerCfg, - _at: BlockHashOrNumber, - _evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
, - { - Ok(()) - } - - fn fill_cfg_env_with_header( - &self, - _cfg: &mut CfgEnvWithHandlerCfg, - _header: &Header, - _evm_config: EvmConfig, - ) -> ProviderResult<()> - where - EvmConfig: ConfigureEvmEnv
, - { - Ok(()) + Ok(evm_config.cfg_and_block_env(header, U256::MAX)) } }