ExecuteBlock

Trait ExecuteBlock 

Source
pub trait ExecuteBlock<Block: BlockT> {
    // Required methods
    fn verify_and_remove_seal(block: &mut Block::LazyBlock);
    fn execute_verified_block(block: Block::LazyBlock);

    // Provided method
    fn execute_block(block: Block::LazyBlock) { ... }
}
Expand description

Something that can execute a given block.

Executing a block means that all extrinsics in a given block will be executed and the resulting header will be checked against the header of the given block.

Required Methods§

Source

fn verify_and_remove_seal(block: &mut Block::LazyBlock)

Verify and remove seal.

Verifies any seal meant for the consensus logic represented by the implementation. An implementation may also chooses to not verify anything.

§Panic

Panics if a seal is invalid or if a seal is required, but not present.

Source

fn execute_verified_block(block: Block::LazyBlock)

Executes the given block after it was verified by [Self::verify_and_remove_seal].

§Panic

Panics when an extrinsics panics or the resulting header doesn’t match the expected header.

Provided Methods§

Source

fn execute_block(block: Block::LazyBlock)

Execute the given block.

This will execute all extrinsics in the block and check that the resulting header is correct.

This function is a wrapper around Self::verify_and_remove_seal and Self::execute_verified_block.

§Panic

Panics when an extrinsics panics or the resulting header doesn’t match the expected header or the seal is invalid.

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.

Implementors§