pub trait ConfigureEngineEvm<ExecutionData>: ConfigureEvm {
// Required methods
fn evm_env_for_payload(
&self,
payload: &ExecutionData,
) -> Result<EvmEnv<<<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec, <<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::BlockEnv>, Self::Error>;
fn context_for_payload<'a>(
&self,
payload: &'a ExecutionData,
) -> Result<<Self::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>, Self::Error>;
fn tx_iterator_for_payload(
&self,
payload: &ExecutionData,
) -> Result<impl ExecutableTxIterator<Self>, Self::Error>;
}Expand description
ConfigureEvm extension providing methods for executing payloads.
Required Methods§
Sourcefn evm_env_for_payload(
&self,
payload: &ExecutionData,
) -> Result<EvmEnv<<<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec, <<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::BlockEnv>, Self::Error>
fn evm_env_for_payload( &self, payload: &ExecutionData, ) -> Result<EvmEnv<<<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec, <<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::BlockEnv>, Self::Error>
Returns an [crate::EvmEnv] for the given payload.
Sourcefn context_for_payload<'a>(
&self,
payload: &'a ExecutionData,
) -> Result<<Self::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>, Self::Error>
fn context_for_payload<'a>( &self, payload: &'a ExecutionData, ) -> Result<<Self::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>, Self::Error>
Returns an ExecutionCtxFor for the given payload.
Sourcefn tx_iterator_for_payload(
&self,
payload: &ExecutionData,
) -> Result<impl ExecutableTxIterator<Self>, Self::Error>
fn tx_iterator_for_payload( &self, payload: &ExecutionData, ) -> Result<impl ExecutableTxIterator<Self>, Self::Error>
Returns an ExecutableTxIterator for the given payload.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl ConfigureEngineEvm<ExecutionData> for MockEvmConfig
impl ConfigureEngineEvm<ExecutionData> for MockEvmConfig
fn evm_env_for_payload( &self, payload: &ExecutionData, ) -> Result<EvmEnv<<<<MockEvmConfig as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec, <<<MockEvmConfig as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::BlockEnv>, <MockEvmConfig as ConfigureEvm>::Error>
fn context_for_payload<'a>( &self, payload: &'a ExecutionData, ) -> Result<<<MockEvmConfig as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>, <MockEvmConfig as ConfigureEvm>::Error>
fn tx_iterator_for_payload( &self, payload: &ExecutionData, ) -> Result<impl ExecutableTxIterator<MockEvmConfig>, <MockEvmConfig as ConfigureEvm>::Error>
Source§impl<ChainSpec, EvmF> ConfigureEngineEvm<ExecutionData> for EthEvmConfig<ChainSpec, EvmF>where
ChainSpec: Hardforks + 'static + EthExecutorSpec + EthChainSpec<Header = Header>,
EvmF: EvmFactory<Spec = SpecId, BlockEnv = BlockEnv, Precompiles = PrecompilesMap> + Clone + Debug + Send + Sync + Unpin + 'static,
<EvmF as EvmFactory>::Tx: TransactionEnv + FromRecoveredTx<EthereumTxEnvelope<TxEip4844>> + FromTxWithEncoded<EthereumTxEnvelope<TxEip4844>>,
Available on crate feature std only.
impl<ChainSpec, EvmF> ConfigureEngineEvm<ExecutionData> for EthEvmConfig<ChainSpec, EvmF>where
ChainSpec: Hardforks + 'static + EthExecutorSpec + EthChainSpec<Header = Header>,
EvmF: EvmFactory<Spec = SpecId, BlockEnv = BlockEnv, Precompiles = PrecompilesMap> + Clone + Debug + Send + Sync + Unpin + 'static,
<EvmF as EvmFactory>::Tx: TransactionEnv + FromRecoveredTx<EthereumTxEnvelope<TxEip4844>> + FromTxWithEncoded<EthereumTxEnvelope<TxEip4844>>,
Available on crate feature
std only.