Trait VerificationStrategy

Source
pub trait VerificationStrategy<'params, C: CurveAffine> {
    type Output;

    // Required method
    fn process<E: EncodedChallenge<C>>(
        self,
        f: impl FnOnce(MSM<'params, C>) -> Result<Guard<'params, C, E>, Error>,
    ) -> Result<Self::Output, Error>;
}
Expand description

Trait representing a strategy for verifying Halo 2 proofs.

Required Associated Types§

Source

type Output

The output type of this verification strategy after processing a proof.

Required Methods§

Source

fn process<E: EncodedChallenge<C>>( self, f: impl FnOnce(MSM<'params, C>) -> Result<Guard<'params, C, E>, Error>, ) -> Result<Self::Output, Error>

Obtains an MSM from the verifier strategy and yields back the strategy’s output.

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§

Source§

impl<'params, C: CurveAffine> VerificationStrategy<'params, C> for SingleVerifier<'params, C>

Source§

impl<'params, C: CurveAffine, R: RngCore> VerificationStrategy<'params, C> for BatchVerifier<'params, C, R>

Source§

type Output = BatchVerifier<'params, C, R>