Trait sp_runtime::traits::Header

source ·
pub trait Header: Clone + Send + Sync + Codec + Eq + MaybeSerialize + Debug + TypeInfo + 'static {
    type Number: Member + MaybeSerializeDeserialize + MaybeFromStr + Debug + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Default + TypeInfo + MaxEncodedLen + FullCodec;
    type Hash: HashOutput;
    type Hashing: Hash<Output = Self::Hash>;

Show 16 methods // Required methods 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; // Provided methods fn hash(&self) -> Self::Hash { ... } fn seed(&self) -> &ShufflingSeed { ... } fn set_seed(&mut self, _seed: ShufflingSeed) { ... } fn count(&self) -> &Self::Number { ... } fn set_count(&mut self, _count: Self::Number) { ... }
}
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§

source

type Number: Member + MaybeSerializeDeserialize + MaybeFromStr + Debug + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Default + TypeInfo + MaxEncodedLen + FullCodec

Header number.

source

type Hash: HashOutput

Header hash type

source

type Hashing: Hash<Output = Self::Hash>

Hashing algorithm

Required Methods§

source

fn new( number: Self::Number, extrinsics_root: Self::Hash, state_root: Self::Hash, parent_hash: Self::Hash, digest: Digest ) -> Self

Creates new header.

source

fn number(&self) -> &Self::Number

Returns a reference to the header number.

source

fn set_number(&mut self, number: Self::Number)

Sets the header number.

source

fn extrinsics_root(&self) -> &Self::Hash

Returns a reference to the extrinsics root.

source

fn set_extrinsics_root(&mut self, root: Self::Hash)

Sets the extrinsic root.

source

fn state_root(&self) -> &Self::Hash

Returns a reference to the state root.

source

fn set_state_root(&mut self, root: Self::Hash)

Sets the state root.

source

fn parent_hash(&self) -> &Self::Hash

Returns a reference to the parent hash.

source

fn set_parent_hash(&mut self, hash: Self::Hash)

Sets the parent hash.

source

fn digest(&self) -> &Digest

Returns a reference to the digest.

source

fn digest_mut(&mut self) -> &mut Digest

Get a mutable reference to the digest.

Provided Methods§

source

fn hash(&self) -> Self::Hash

Returns the hash of the header.

source

fn seed(&self) -> &ShufflingSeed

Returns seed used for shuffling

source

fn set_seed(&mut self, _seed: ShufflingSeed)

Returns seed used for shuffling

source

fn count(&self) -> &Self::Number

Returns seed used for shuffling

source

fn set_count(&mut self, _count: Self::Number)

Returns seed used for shuffling

Implementors§

source§

impl<Number, Hash> Header for sp_runtime::generic::Header<Number, Hash>where Number: Member + MaybeSerializeDeserialize + MaybeFromStr + Debug + Default + Hash + MaybeDisplay + AtLeast32BitUnsigned + FullCodec + Copy + MaxEncodedLen + Into<U256> + TryFrom<U256> + TypeInfo, Hash: HashT,

§

type Number = Number

§

type Hash = <Hash as Hash>::Output

§

type Hashing = Hash

source§

impl<Number, Hash> Header for sp_runtime::generic::HeaderVer<Number, Hash>where Number: Member + MaybeSerializeDeserialize + MaybeFromStr + Debug + Default + Hash + MaybeDisplay + AtLeast32BitUnsigned + FullCodec + Copy + MaxEncodedLen + Into<U256> + TryFrom<U256> + TypeInfo, Hash: HashT,

§

type Number = Number

§

type Hash = <Hash as Hash>::Output

§

type Hashing = Hash