Trait ChainInfo

Source
pub trait ChainInfo<Block>:
    Clone
    + Send
    + Sync
    + 'static
where Block: GenericOwnedBlock,
{ // Required methods fn best_root(&self) -> BlockRoot; fn best_header(&self) -> Block::Header; fn ancestor_header( &self, ancestor_block_number: BlockNumber, descendant_block_root: &BlockRoot, ) -> Option<Block::Header>; fn header(&self, block_root: &BlockRoot) -> Option<Block::Header>; fn mmr_with_block( &self, block_root: &BlockRoot, ) -> Option<Arc<BlockMerkleMountainRange>>; }
Expand description

Chain info

Required Methods§

Source

fn best_root(&self) -> BlockRoot

Best block root

Source

fn best_header(&self) -> Block::Header

Best block header

Source

fn ancestor_header( &self, ancestor_block_number: BlockNumber, descendant_block_root: &BlockRoot, ) -> Option<Block::Header>

Get header of ancestor block number for descendant block root

Source

fn header(&self, block_root: &BlockRoot) -> Option<Block::Header>

Block header

Source

fn mmr_with_block( &self, block_root: &BlockRoot, ) -> Option<Arc<BlockMerkleMountainRange>>

Merkle Mountain Range with block

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§