ConfigureEngineEvm

Trait ConfigureEngineEvm 

pub trait ConfigureEngineEvm<ExecutionData>: ConfigureEvm {
    // Required methods
    fn evm_env_for_payload(
        &self,
        payload: &ExecutionData,
    ) -> EvmEnv<<<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec>;
    fn context_for_payload<'a>(
        &self,
        payload: &'a ExecutionData,
    ) -> <Self::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>;
    fn tx_iterator_for_payload(
        &self,
        payload: &ExecutionData,
    ) -> impl ExecutableTxIterator<Self>;
}
Expand description

ConfigureEvm extension providing methods for executing payloads.

Required Methods§

fn evm_env_for_payload( &self, payload: &ExecutionData, ) -> EvmEnv<<<Self::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec>

Returns an [EvmEnvFor] for the given payload.

fn context_for_payload<'a>( &self, payload: &'a ExecutionData, ) -> <Self::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>

Returns an [ExecutionCtxFor] for the given payload.

fn tx_iterator_for_payload( &self, payload: &ExecutionData, ) -> impl ExecutableTxIterator<Self>

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§

§

impl ConfigureEngineEvm<ExecutionData> for MockEvmConfig

§

fn evm_env_for_payload( &self, payload: &ExecutionData, ) -> EvmEnv<<<<MockEvmConfig as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec>

§

fn context_for_payload<'a>( &self, payload: &'a ExecutionData, ) -> <<MockEvmConfig as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>

§

fn tx_iterator_for_payload( &self, payload: &ExecutionData, ) -> impl ExecutableTxIterator<MockEvmConfig>

§

impl<ChainSpec, EvmF> ConfigureEngineEvm<ExecutionData> for EthEvmConfig<ChainSpec, EvmF>
where ChainSpec: EthChainSpec<Header = Header> + Hardforks + 'static + EthExecutorSpec, EvmF: EvmFactory<Spec = SpecId, Precompiles = PrecompilesMap> + Clone + Debug + Send + Sync + Unpin + 'static, <EvmF as EvmFactory>::Tx: TransactionEnv + FromRecoveredTx<EthereumTxEnvelope<TxEip4844>> + FromTxWithEncoded<EthereumTxEnvelope<TxEip4844>>,

§

fn evm_env_for_payload( &self, payload: &ExecutionData, ) -> EvmEnv<<<<EthEvmConfig<ChainSpec, EvmF> as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::EvmFactory as EvmFactory>::Spec>

§

fn context_for_payload<'a>( &self, payload: &'a ExecutionData, ) -> <<EthEvmConfig<ChainSpec, EvmF> as ConfigureEvm>::BlockExecutorFactory as BlockExecutorFactory>::ExecutionCtx<'a>

§

fn tx_iterator_for_payload( &self, payload: &ExecutionData, ) -> impl ExecutableTxIterator<EthEvmConfig<ChainSpec, EvmF>>

Implementors§