pub trait HeaderBackend<Block: BlockT>: Send + Sync {
    fn header(&self, hash: Block::Hash) -> Result<Option<Block::Header>>;
    fn info(&self) -> Info<Block>;
    fn status(&self, hash: Block::Hash) -> Result<BlockStatus>;
    fn number(
&self,
hash: Block::Hash
) -> Result<Option<<<Block as BlockT>::Header as HeaderT>::Number>>; fn hash(&self, number: NumberFor<Block>) -> Result<Option<Block::Hash>>; fn block_hash_from_id(
&self,
id: &BlockId<Block>
) -> Result<Option<Block::Hash>> { ... } fn block_number_from_id(
&self,
id: &BlockId<Block>
) -> Result<Option<NumberFor<Block>>> { ... } fn expect_header(&self, hash: Block::Hash) -> Result<Block::Header> { ... } fn expect_block_number_from_id(
&self,
id: &BlockId<Block>
) -> Result<NumberFor<Block>> { ... } fn expect_block_hash_from_id(
&self,
id: &BlockId<Block>
) -> Result<Block::Hash> { ... } }
Expand description

Blockchain database header backend. Does not perform any validation.

Required Methods§

source

fn header(&self, hash: Block::Hash) -> Result<Option<Block::Header>>

Get block header. Returns None if block is not found.

source

fn info(&self) -> Info<Block>

Get blockchain info.

source

fn status(&self, hash: Block::Hash) -> Result<BlockStatus>

Get block status.

source

fn number(
&self,
hash: Block::Hash
) -> Result<Option<<<Block as BlockT>::Header as HeaderT>::Number>>

Get block number by hash. Returns None if the header is not in the chain.

source

fn hash(&self, number: NumberFor<Block>) -> Result<Option<Block::Hash>>

Get block hash by number. Returns None if the header is not in the chain.

Provided Methods§

source

fn block_hash_from_id(&self, id: &BlockId<Block>) -> Result<Option<Block::Hash>>

Convert an arbitrary block ID into a block hash.

source

fn block_number_from_id(
&self,
id: &BlockId<Block>
) -> Result<Option<NumberFor<Block>>>

Convert an arbitrary block ID into a block hash.

source

fn expect_header(&self, hash: Block::Hash) -> Result<Block::Header>

Get block header. Returns UnknownBlock error if block is not found.

source

fn expect_block_number_from_id(
&self,
id: &BlockId<Block>
) -> Result<NumberFor<Block>>

Convert an arbitrary block ID into a block number. Returns UnknownBlock error if block is not found.

source

fn expect_block_hash_from_id(&self, id: &BlockId<Block>) -> Result<Block::Hash>

Convert an arbitrary block ID into a block hash. Returns UnknownBlock error if block is not found.

Implementors§