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>;
}Available on crate feature
evm only.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".
Implementors§
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: TransactionEnvMut + FromRecoveredTx<EthereumTxEnvelope<TxEip4844>> + FromTxWithEncoded<EthereumTxEnvelope<TxEip4844>>,
Available on crate feature
std only.impl<Inner, T> ConfigureEngineEvm<T> for NoopEvmConfig<Inner>where
Inner: ConfigureEngineEvm<T>,
Available on crate feature
std only.