ConfigureEngineEvm

Trait ConfigureEngineEvm 

Source
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§

Source

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.

Source

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.

Source

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

Source§

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>

Source§

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

Source§

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>>,

Source§

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

Source§

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

Source§

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

Implementors§