Skip to main content

VerifiableInclusion

Trait VerifiableInclusion 

pub trait VerifiableInclusion<Types>:
    Clone
    + Debug
    + PartialEq
    + Eq
    + Serialize
    + DeserializeOwned
    + Send
    + Sync
where Types: NodeType,
{ // Required method fn verify( &self, metadata: &<<Types as NodeType>::BlockPayload as BlockPayload<Types>>::Metadata, tx: &<<Types as NodeType>::BlockPayload as BlockPayload<Types>>::Transaction, 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§

fn verify( &self, metadata: &<<Types as NodeType>::BlockPayload as BlockPayload<Types>>::Metadata, tx: &<<Types as NodeType>::BlockPayload as BlockPayload<Types>>::Transaction, 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§