pub trait Verifier<'params, Scheme: CommitmentScheme> {
type Guard: Guard<Scheme, MSMAccumulator = Self::MSMAccumulator>;
type MSMAccumulator;
const QUERY_INSTANCE: bool;
// Required methods
fn new(params: &'params Scheme::ParamsVerifier) -> Self;
fn verify_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptRead<Scheme::Curve, E>, I>(
&self,
transcript: &mut T,
queries: I,
msm: Self::MSMAccumulator,
) -> Result<Self::Guard, Error>
where I: IntoIterator<Item = VerifierQuery<'com, Scheme::Curve, <Scheme::ParamsVerifier as Params<'params, Scheme::Curve>>::MSM>> + Clone,
'params: 'com;
}
Expand description
Common multi-open verifier interface for various commitment schemes
Required Associated Constants§
Sourceconst QUERY_INSTANCE: bool
const QUERY_INSTANCE: bool
Query instance or not
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 combined verification results
Sourcetype MSMAccumulator
type MSMAccumulator
Accumulator fot comressed verification
Required Methods§
Sourcefn new(params: &'params Scheme::ParamsVerifier) -> Self
fn new(params: &'params Scheme::ParamsVerifier) -> Self
Creates new verifier instance
Sourcefn verify_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptRead<Scheme::Curve, E>, I>(
&self,
transcript: &mut T,
queries: I,
msm: Self::MSMAccumulator,
) -> Result<Self::Guard, Error>where
I: IntoIterator<Item = VerifierQuery<'com, Scheme::Curve, <Scheme::ParamsVerifier as Params<'params, Scheme::Curve>>::MSM>> + Clone,
'params: 'com,
fn verify_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptRead<Scheme::Curve, E>, I>(
&self,
transcript: &mut T,
queries: I,
msm: Self::MSMAccumulator,
) -> Result<Self::Guard, Error>where
I: IntoIterator<Item = VerifierQuery<'com, Scheme::Curve, <Scheme::ParamsVerifier as Params<'params, Scheme::Curve>>::MSM>> + Clone,
'params: 'com,
Process the proof and returns unfinished result named Guard
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.