Trait sp_runtime::traits::Header

source ·
pub trait Header: Clone + Send + Sync + Codec + Eq + MaybeSerialize + Debug + MaybeMallocSizeOf + 'static {
    type Number: Member + MaybeSerializeDeserialize + Debug + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + FromStr + MaybeMallocSizeOf;
    type Hash: Member + MaybeSerializeDeserialize + Debug + Hash + Ord + Copy + MaybeDisplay + Default + SimpleBitOps + Codec + AsRef<[u8]> + AsMut<[u8]> + MaybeMallocSizeOf + TypeInfo;
    type Hashing: Hash<Output = Self::Hash>;

    fn new(
        number: Self::Number,
        extrinsics_root: Self::Hash,
        state_root: Self::Hash,
        parent_hash: Self::Hash,
        digest: Digest
    ) -> Self; fn number(&self) -> &Self::Number; fn set_number(&mut self, number: Self::Number); fn extrinsics_root(&self) -> &Self::Hash; fn set_extrinsics_root(&mut self, root: Self::Hash); fn state_root(&self) -> &Self::Hash; fn set_state_root(&mut self, root: Self::Hash); fn parent_hash(&self) -> &Self::Hash; fn set_parent_hash(&mut self, hash: Self::Hash); fn digest(&self) -> &Digest; fn digest_mut(&mut self) -> &mut Digest; fn hash(&self) -> Self::Hash { ... } }
Expand description

Something which fulfills the abstract idea of a Substrate header. It has types for a Number, a Hash and a Hashing. It provides access to an extrinsics_root, state_root and parent_hash, as well as a digest and a block number.

You can also create a new one from those fields.

Required Associated Types§

Required Methods§

Creates new header.

Returns a reference to the header number.

Sets the header number.

Returns a reference to the extrinsics root.

Sets the extrinsic root.

Returns a reference to the state root.

Sets the state root.

Returns a reference to the parent hash.

Sets the parent hash.

Returns a reference to the digest.

Get a mutable reference to the digest.

Provided Methods§

Returns the hash of the header.

Implementors§