pub type PlonkSuccinctVerifier<AS> = PlonkSuccinctVerifier<AS, LimbsEncoding<LIMBS, BITS>>;
Aliased Type§
struct PlonkSuccinctVerifier<AS>(/* private fields */);
Trait Implementations
Source§impl<C, L, AS, AE> CostEstimation<(C, L)> for PlonkSuccinctVerifier<AS, AE>where
C: CurveAffine,
L: Loader<C>,
AS: AccumulationScheme<C, L> + PolynomialCommitmentScheme<C, L, Output = <AS as AccumulationScheme<C, L>>::Accumulator> + CostEstimation<C, Input = Vec<Query<Rotation>>>,
impl<C, L, AS, AE> CostEstimation<(C, L)> for PlonkSuccinctVerifier<AS, AE>where
C: CurveAffine,
L: Loader<C>,
AS: AccumulationScheme<C, L> + PolynomialCommitmentScheme<C, L, Output = <AS as AccumulationScheme<C, L>>::Accumulator> + CostEstimation<C, Input = Vec<Query<Rotation>>>,
Source§type Input = PlonkProtocol<C, L>
type Input = PlonkProtocol<C, L>
Input for
CostEstimation::estimate_cost
.Source§fn estimate_cost(protocol: &PlonkProtocol<C, L>) -> Cost
fn estimate_cost(protocol: &PlonkProtocol<C, L>) -> Cost
Estimate cost of verifier given the input.
Source§impl<AS, AE> Debug for PlonkSuccinctVerifier<AS, AE>
impl<AS, AE> Debug for PlonkSuccinctVerifier<AS, AE>
Source§impl<C, L, AS, AE> SnarkVerifier<C, L> for PlonkSuccinctVerifier<AS, AE>where
C: CurveAffine,
L: Loader<C>,
AS: AccumulationScheme<C, L> + PolynomialCommitmentScheme<C, L, Output = <AS as AccumulationScheme<C, L>>::Accumulator>,
AE: AccumulatorEncoding<C, L, Accumulator = <AS as AccumulationScheme<C, L>>::Accumulator>,
impl<C, L, AS, AE> SnarkVerifier<C, L> for PlonkSuccinctVerifier<AS, AE>where
C: CurveAffine,
L: Loader<C>,
AS: AccumulationScheme<C, L> + PolynomialCommitmentScheme<C, L, Output = <AS as AccumulationScheme<C, L>>::Accumulator>,
AE: AccumulatorEncoding<C, L, Accumulator = <AS as AccumulationScheme<C, L>>::Accumulator>,
Source§type VerifyingKey = <AS as PolynomialCommitmentScheme<C, L>>::VerifyingKey
type VerifyingKey = <AS as PolynomialCommitmentScheme<C, L>>::VerifyingKey
Verifying key for subroutines if any.
Source§type Protocol = PlonkProtocol<C, L>
type Protocol = PlonkProtocol<C, L>
Protocol specifying configuration of a (S)NARK.
Source§type Proof = PlonkProof<C, L, AS>
type Proof = PlonkProof<C, L, AS>
Structured proof read from transcript.
Source§type Output = Vec<<AE as AccumulatorEncoding<C, L>>::Accumulator>
type Output = Vec<<AE as AccumulatorEncoding<C, L>>::Accumulator>
Output of verification.
Source§fn read_proof<T>(
svk: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::VerifyingKey,
protocol: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Protocol,
instances: &[Vec<<L as ScalarLoader<<C as CurveAffine>::ScalarExt>>::LoadedScalar>],
transcript: &mut T,
) -> Result<<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Proof, Error>where
T: TranscriptRead<C, L>,
fn read_proof<T>(
svk: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::VerifyingKey,
protocol: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Protocol,
instances: &[Vec<<L as ScalarLoader<<C as CurveAffine>::ScalarExt>>::LoadedScalar>],
transcript: &mut T,
) -> Result<<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Proof, Error>where
T: TranscriptRead<C, L>,
Read
SnarkVerifier::Proof
from transcript.Source§fn verify(
svk: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::VerifyingKey,
protocol: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Protocol,
instances: &[Vec<<L as ScalarLoader<<C as CurveAffine>::ScalarExt>>::LoadedScalar>],
proof: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Proof,
) -> Result<<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Output, Error>
fn verify( svk: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::VerifyingKey, protocol: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Protocol, instances: &[Vec<<L as ScalarLoader<<C as CurveAffine>::ScalarExt>>::LoadedScalar>], proof: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Proof, ) -> Result<<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Output, Error>
Verify
SnarkVerifier::Proof
and output SnarkVerifier::Output
.