Trait sp_consensus::ProofRecording[][src]

pub trait ProofRecording: Send + Sync + Sealed + 'static {
    type Proof: Send + Sync + 'static;

    const ENABLED: bool;

    fn into_proof(
        storage_proof: Option<StorageProof>
    ) -> Result<Self::Proof, NoProofRecorded>; }
Expand description

A trait to express the state of proof recording on type system level.

This is used by Proposer to signal if proof recording is enabled. This can be used by downstream users of the Proposer trait to enforce that proof recording is activated when required. The only two implementations of this trait are DisableProofRecording and EnableProofRecording.

This trait is sealed and can not be implemented outside of this crate!

Associated Types

The proof type that will be used internally.

Associated Constants

Is proof recording enabled?

Required methods

Convert the given storage_proof into Self::Proof.

Internally Substrate uses Option<StorageProof> to express the both states of proof recording (for now) and as Self::Proof is some different type, we need to provide a function to convert this value.

If the proof recording was requested, but None is given, this will return Err(NoProofRecorded).

Implementors