Trait halo2_proofs::poly::commitment::Verifier
source · pub trait Verifier<'params, Scheme>where
Scheme: CommitmentScheme,{
type Guard: Guard<Scheme, MSMAccumulator = Self::MSMAccumulator>;
type MSMAccumulator;
// Required methods
fn new() -> Self;
fn verify_proof<'com, E, T, I>(
&self,
transcript: &mut T,
queries: I,
msm: Self::MSMAccumulator
) -> Result<Self::Guard, Error>
where 'params: 'com,
E: EncodedChallenge<<Scheme as CommitmentScheme>::Curve>,
T: TranscriptRead<<Scheme as CommitmentScheme>::Curve, E>,
I: IntoIterator<Item = VerifierQuery<'com, <Scheme as CommitmentScheme>::Curve, <<Scheme as CommitmentScheme>::ParamsVerifier as ParamsVerifier<'params, <Scheme as CommitmentScheme>::Curve>>::MSM>> + Clone;
}
Expand description
Common multi-open verifier interface for various commitment schemes
Required Associated Types§
sourcetype Guard: Guard<Scheme, MSMAccumulator = Self::MSMAccumulator>
type Guard: Guard<Scheme, MSMAccumulator = Self::MSMAccumulator>
Unfinalized verification result. This is returned in verification to allow developer to compress or combine verification results
sourcetype MSMAccumulator
type MSMAccumulator
Accumulator for compressed verification
Required Methods§
sourcefn verify_proof<'com, E, T, I>(
&self,
transcript: &mut T,
queries: I,
msm: Self::MSMAccumulator
) -> Result<Self::Guard, Error>where
'params: 'com,
E: EncodedChallenge<<Scheme as CommitmentScheme>::Curve>,
T: TranscriptRead<<Scheme as CommitmentScheme>::Curve, E>,
I: IntoIterator<Item = VerifierQuery<'com, <Scheme as CommitmentScheme>::Curve, <<Scheme as CommitmentScheme>::ParamsVerifier as ParamsVerifier<'params, <Scheme as CommitmentScheme>::Curve>>::MSM>> + Clone,
fn verify_proof<'com, E, T, I>(
&self,
transcript: &mut T,
queries: I,
msm: Self::MSMAccumulator
) -> Result<Self::Guard, Error>where
'params: 'com,
E: EncodedChallenge<<Scheme as CommitmentScheme>::Curve>,
T: TranscriptRead<<Scheme as CommitmentScheme>::Curve, E>,
I: IntoIterator<Item = VerifierQuery<'com, <Scheme as CommitmentScheme>::Curve, <<Scheme as CommitmentScheme>::ParamsVerifier as ParamsVerifier<'params, <Scheme as CommitmentScheme>::Curve>>::MSM>> + Clone,
Process the proof and return unfinished result named Guard
Object Safety§
This trait is not object safe.