Skip to main content

ConfigureEngineEvm

Trait ConfigureEngineEvm 

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 std only.
Expand description

[ConfigureEvm] extension providing methods for executing payloads.

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>

Returns an [crate::EvmEnv] for the given payload.

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.

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<Inner, T> ConfigureEngineEvm<T> for NoopEvmConfig<Inner>
where Inner: ConfigureEngineEvm<T>,