cuprate_consensus_rules::batch_verifier

Trait BatchVerifier

Source
pub trait BatchVerifier {
    // Required method
    fn queue_statement<R>(
        &mut self,
        stmt: impl FnOnce(&mut InternalBatchVerifier) -> R,
    ) -> R;
}
Expand description

This trait represents a batch verifier.

A batch verifier is used to speed up verification by verifying multiple transactions together.

Not all proofs can be batched and at its core it’s intended to verify a series of statements are each equivalent to zero.

Required Methods§

Source

fn queue_statement<R>( &mut self, stmt: impl FnOnce(&mut InternalBatchVerifier) -> R, ) -> R

Queue a statement for batch verification.

§Panics

This function may panic if stmt contains calls to rayon’s parallel iterators, e.g. par_iter().

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.

Implementations on Foreign Types§

Source§

impl BatchVerifier for &mut BatchVerifier

Source§

fn queue_statement<R>( &mut self, stmt: impl FnOnce(&mut InternalBatchVerifier) -> R, ) -> R

Implementors§