Skip to main content

BlockAssembler

Trait BlockAssembler 

Source
pub trait BlockAssembler<F>{
    type Block: Block;

    // Required method
    fn assemble_block(
        &self,
        input: BlockAssemblerInput<'_, '_, F, <Self::Block as Block>::Header>,
    ) -> Result<Self::Block, BlockExecutionError>;
}
Available on crate feature evm only.
Expand description

A type that assembles a block from execution output.

Required Associated Types§

Source

type Block: Block

The block type produced by the assembler.

Required Methods§

Source

fn assemble_block( &self, input: BlockAssemblerInput<'_, '_, F, <Self::Block as Block>::Header>, ) -> Result<Self::Block, BlockExecutionError>

Builds a block. see BlockAssemblerInput documentation for more details.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, F, T> BlockAssembler<F> for &'a T
where F: BlockExecutorFactory, T: 'a + BlockAssembler<F> + ?Sized,

Source§

impl<F, T> BlockAssembler<F> for Arc<T>

Implementors§

Source§

impl<F, ChainSpec> BlockAssembler<F> for EthBlockAssembler<ChainSpec>
where F: for<'a> BlockExecutorFactory<ExecutionCtx<'a> = EthBlockExecutionCtx<'a>> + 'static, <F as BlockExecutorFactory>::Transaction: for<'a> SignedTransaction, <F as BlockExecutorFactory>::Receipt: for<'a> Receipt, ChainSpec: EthChainSpec + EthereumHardforks + 'static,

Available on crate feature std only.