Trait halo2_proofs::poly::commitment::Prover
source · [−]pub trait Prover<'params, Scheme: CommitmentScheme> {
const QUERY_INSTANCE: bool;
fn new(params: &'params Scheme::ParamsProver) -> Self;
fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>(
&self,
rng: R,
transcript: &mut T,
queries: I
) -> Result<()>
where
I: IntoIterator<Item = ProverQuery<'com, Scheme::Curve>> + Clone,
R: RngCore;
}
Expand description
Common multi-open prover interface for various commitment schemes
Required Associated Constants
sourceconst QUERY_INSTANCE: bool
const QUERY_INSTANCE: bool
Query instance or not
Required Methods
sourcefn new(params: &'params Scheme::ParamsProver) -> Self
fn new(params: &'params Scheme::ParamsProver) -> Self
Creates new prover instance
sourcefn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>(
&self,
rng: R,
transcript: &mut T,
queries: I
) -> Result<()>where
I: IntoIterator<Item = ProverQuery<'com, Scheme::Curve>> + Clone,
R: RngCore,
fn create_proof<'com, E: EncodedChallenge<Scheme::Curve>, T: TranscriptWrite<Scheme::Curve, E>, R, I>(
&self,
rng: R,
transcript: &mut T,
queries: I
) -> Result<()>where
I: IntoIterator<Item = ProverQuery<'com, Scheme::Curve>> + Clone,
R: RngCore,
Create a multi-opening proof
Implementors
sourceimpl<'params, C: CurveAffine> Prover<'params, IPACommitmentScheme<C>> for ProverIPA<'params, C>
impl<'params, C: CurveAffine> Prover<'params, IPACommitmentScheme<C>> for ProverIPA<'params, C>
const QUERY_INSTANCE: bool = true
sourceimpl<'params, E: Engine + Debug> Prover<'params, KZGCommitmentScheme<E>> for ProverGWC<'params, E>where
E::G1Affine: SerdeCurveAffine,
E::G2Affine: SerdeCurveAffine,
impl<'params, E: Engine + Debug> Prover<'params, KZGCommitmentScheme<E>> for ProverGWC<'params, E>where
E::G1Affine: SerdeCurveAffine,
E::G2Affine: SerdeCurveAffine,
Create a multi-opening proof
const QUERY_INSTANCE: bool = false
sourceimpl<'params, E: Engine + Debug> Prover<'params, KZGCommitmentScheme<E>> for ProverSHPLONK<'params, E>where
E::G1Affine: SerdeCurveAffine,
E::G2Affine: SerdeCurveAffine,
E::Scalar: Hash,
impl<'params, E: Engine + Debug> Prover<'params, KZGCommitmentScheme<E>> for ProverSHPLONK<'params, E>where
E::G1Affine: SerdeCurveAffine,
E::G2Affine: SerdeCurveAffine,
E::Scalar: Hash,
Create a multi-opening proof