Skip to main content

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>;
}
Available on crate feature node-api only.
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".

Implementors§

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: TransactionEnvMut + FromRecoveredTx<EthereumTxEnvelope<TxEip4844>> + FromTxWithEncoded<EthereumTxEnvelope<TxEip4844>>,

Available on crate feature std only.
Source§

impl<Inner, T> ConfigureEngineEvm<T> for NoopEvmConfig<Inner>
where Inner: ConfigureEngineEvm<T>,

Available on crate feature std only.