VerifiableInclusion

Trait VerifiableInclusion 

Source
pub trait VerifiableInclusion<Types: NodeType>:
    Clone
    + Debug
    + PartialEq
    + Eq
    + Serialize
    + DeserializeOwned
    + Send
    + Sync {
    // Required method
    fn verify(
        &self,
        metadata: &Metadata<Types>,
        tx: &Transaction<Types>,
        payload_commitment: &VidCommitment,
        common: &VidCommon,
    ) -> bool;
}
Expand description

The proof system and the statement which is proved will vary by application, with different applications proving stronger or weaker statements depending on the trust assumptions at play. Some may prove a very strong statement (for example, a shared sequencer proving that the transaction belongs not only to the block but to a section of the block dedicated to a specific rollup), otherwise may prove something substantially weaker (for example, a trusted query service may use () for the proof).

Required Methods§

Source

fn verify( &self, metadata: &Metadata<Types>, tx: &Transaction<Types>, payload_commitment: &VidCommitment, common: &VidCommon, ) -> bool

Verify the inclusion proof against a payload commitment. Returns None on error.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§