Type Alias zkevm_circuits::root_circuit::PlonkSuccinctVerifier
source · pub type PlonkSuccinctVerifier<As> = PlonkSuccinctVerifier<As>;
Expand description
Plonk succinct verifier with KzgAs
Aliased Type§
struct PlonkSuccinctVerifier<As>(/* private fields */);
Trait Implementations
§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<<C as PrimeCurveAffine>::Scalar>>>,
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<<C as PrimeCurveAffine>::Scalar>>>,
§fn estimate_cost(protocol: &PlonkProtocol<C, L>) -> Cost
fn estimate_cost(protocol: &PlonkProtocol<C, L>) -> Cost
Estimate cost of verifier given the input.
§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>,
§type VerifyingKey = <AS as PolynomialCommitmentScheme<C, L>>::VerifyingKey
type VerifyingKey = <AS as PolynomialCommitmentScheme<C, L>>::VerifyingKey
Verifying key for subroutines if any.
§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.§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
].