Trait reth_evm::provider::EvmEnvProvider
source · pub trait EvmEnvProvider: Send + Sync {
// Required methods
fn fill_env_at<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
block_env: &mut BlockEnv,
at: BlockHashOrNumber,
evm_config: EvmConfig,
) -> ProviderResult<()>
where EvmConfig: ConfigureEvmEnv<Header = Header>;
fn fill_env_with_header<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
block_env: &mut BlockEnv,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<()>
where EvmConfig: ConfigureEvmEnv<Header = Header>;
fn fill_cfg_env_at<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
at: BlockHashOrNumber,
evm_config: EvmConfig,
) -> ProviderResult<()>
where EvmConfig: ConfigureEvmEnv<Header = Header>;
fn fill_cfg_env_with_header<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<()>
where EvmConfig: ConfigureEvmEnv<Header = Header>;
// Provided method
fn env_with_header<EvmConfig>(
&self,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)>
where EvmConfig: ConfigureEvmEnv<Header = Header> { ... }
}
Expand description
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.
Required Methods§
sourcefn fill_env_at<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
block_env: &mut BlockEnv,
at: BlockHashOrNumber,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_env_at<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
block_env: &mut BlockEnv,
at: BlockHashOrNumber,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [CfgEnvWithHandlerCfg
] and [BlockEnv] fields with values specific to the given
[BlockHashOrNumber].
sourcefn fill_env_with_header<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
block_env: &mut BlockEnv,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_env_with_header<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
block_env: &mut BlockEnv,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [CfgEnvWithHandlerCfg
] and [BlockEnv] fields with values specific to the given
[Header].
sourcefn fill_cfg_env_at<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
at: BlockHashOrNumber,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_cfg_env_at<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
at: BlockHashOrNumber,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [CfgEnvWithHandlerCfg
] fields with values specific to the given
[BlockHashOrNumber].
sourcefn fill_cfg_env_with_header<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn fill_cfg_env_with_header<EvmConfig>(
&self,
cfg: &mut CfgEnvWithHandlerCfg,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<()>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the [CfgEnvWithHandlerCfg
] fields with values specific to the given [Header].
Provided Methods§
sourcefn env_with_header<EvmConfig>(
&self,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
fn env_with_header<EvmConfig>(
&self,
header: &Header,
evm_config: EvmConfig,
) -> ProviderResult<(CfgEnvWithHandlerCfg, BlockEnv)>where
EvmConfig: ConfigureEvmEnv<Header = Header>,
Fills the default [CfgEnvWithHandlerCfg
] and [BlockEnv] fields with values specific to the
given [Header].
Object Safety§
This trait is not object safe.