[][src]Enum sp_runtime::DigestItem

pub enum DigestItem<Hash> {

Digest item that is able to encode/decode 'system' digest items and provide opaque access to other items.



System digest item that contains the root of changes trie at given block. It is created for every block iff runtime supports changes trie creation.


A pre-runtime digest.

These are messages from the consensus engine to the runtime, although the consensus engine can (and should) read them itself to avoid code and state duplication. It is erroneous for a runtime to produce these, but this is not (yet) checked.

NOTE: the runtime is not allowed to panic or fail in an on_initialize call if an expected PreRuntime digest is not present. It is the responsibility of a external block verifier to check this. Runtime API calls will initialize the block without pre-runtime digests, so initialization cannot fail when they are missing.


A message from the runtime to the consensus engine. This should never be generated by the native code of any consensus engine, but this is not checked (yet).


Put a Seal on it. This is only used by native code, and is never seen by runtimes.


Digest item that contains signal from changes tries manager to the native code.


Some other thing. Unsupported and experimental.


impl<Hash> DigestItem<Hash>[src]

pub fn dref<'a>(&'a self) -> DigestItemRef<'a, Hash>[src]

Returns a 'referencing view' for this digest item.

pub fn as_changes_trie_root(&self) -> Option<&Hash>[src]

Returns Some if the entry is the ChangesTrieRoot entry.

pub fn as_pre_runtime(&self) -> Option<(ConsensusEngineId, &[u8])>[src]

Returns Some if this entry is the PreRuntime entry.

pub fn as_consensus(&self) -> Option<(ConsensusEngineId, &[u8])>[src]

Returns Some if this entry is the Consensus entry.

pub fn as_seal(&self) -> Option<(ConsensusEngineId, &[u8])>[src]

Returns Some if this entry is the Seal entry.

pub fn as_changes_trie_signal(&self) -> Option<&ChangesTrieSignal>[src]

Returns Some if the entry is the ChangesTrieSignal entry.

pub fn as_other(&self) -> Option<&[u8]>[src]

Returns Some if self is a DigestItem::Other.

pub fn try_as_raw(&self, id: OpaqueDigestItemId) -> Option<&[u8]>[src]

Returns the opaque data contained in the item if Some if this entry has the id given.

pub fn try_to<T: Decode>(&self, id: OpaqueDigestItemId) -> Option<T>[src]

Returns the data contained in the item if Some if this entry has the id given, decoded to the type provided T.

Trait Implementations

impl<H: PartialEq + Eq + Debug> CheckEqual for DigestItem<H> where
    H: Encode

impl<Hash: Clone> Clone for DigestItem<Hash>[src]

impl<Hash> Debug for DigestItem<Hash> where
    Hash: Debug

impl<Hash: Decode> Decode for DigestItem<Hash>[src]

impl<'a, Hash: Decode> Deserialize<'a> for DigestItem<Hash>[src]

impl<Hash: Encode> Encode for DigestItem<Hash>[src]

impl<Hash: Encode> EncodeLike<DigestItem<Hash>> for DigestItem<Hash>[src]

impl<Hash: Eq> Eq for DigestItem<Hash>[src]

impl<Hash> MallocSizeOf for DigestItem<Hash> where
    Hash: MallocSizeOf

impl<Hash: PartialEq> PartialEq<DigestItem<Hash>> for DigestItem<Hash>[src]

impl<Hash: Encode> Serialize for DigestItem<Hash>[src]

impl<Hash> StructuralEq for DigestItem<Hash>[src]

impl<Hash> StructuralPartialEq for DigestItem<Hash>[src]

Auto Trait Implementations

impl<Hash> RefUnwindSafe for DigestItem<Hash> where
    Hash: RefUnwindSafe

impl<Hash> Send for DigestItem<Hash> where
    Hash: Send

impl<Hash> Sync for DigestItem<Hash> where
    Hash: Sync

impl<Hash> Unpin for DigestItem<Hash> where
    Hash: Unpin

impl<Hash> UnwindSafe for DigestItem<Hash> where
    Hash: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> CheckedConversion for T[src]

impl<S> Codec for S where
    S: Encode + Decode

impl<T, X> Decode for X where
    T: Decode + Into<X>,
    X: WrapperTypeDecode<Wrapped = T>, 

impl<T> DecodeAll for T where
    T: Decode

impl<T> DecodeLimit for T where
    T: Decode

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 

impl<T, X> Encode for X where
    T: Encode + ?Sized,
    X: WrapperTypeEncode<Target = T>, 

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode

impl<T> EncodeLike<Box<T>> for T where
    T: Encode

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> KeyedVec for T where
    T: Codec

impl<T> MallocSizeOfExt for T where
    T: MallocSizeOf

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeMallocSizeOf for T where
    T: MallocSizeOf

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> MaybeSerialize for T where
    T: Serialize

impl<T> MaybeSerializeDeserialize for T where
    T: DeserializeOwned + Serialize

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,