halo2_axiom::poly::commitment

Trait ParamsProver

Source
pub trait ParamsProver<'params, C: CurveAffine>: Params<'params, C> {
    type ParamsVerifier: ParamsVerifier<'params, C>;

    // Required methods
    fn new(k: u32) -> Self;
    fn commit(
        &self,
        poly: &Polynomial<C::ScalarExt, Coeff>,
        r: Blind<C::ScalarExt>,
    ) -> C::CurveExt;
    fn get_g(&self) -> &[C];
    fn verifier_params(&'params self) -> &'params Self::ParamsVerifier;
}
Expand description

Parameters for circuit sysnthesis and prover parameters.

Required Associated Types§

Source

type ParamsVerifier: ParamsVerifier<'params, C>

Constant verifier parameters.

Required Methods§

Source

fn new(k: u32) -> Self

Returns new instance of parameters

Source

fn commit( &self, poly: &Polynomial<C::ScalarExt, Coeff>, r: Blind<C::ScalarExt>, ) -> C::CurveExt

This computes a commitment to a polynomial described by the provided slice of coefficients. The commitment may be blinded by the blinding factor r.

Source

fn get_g(&self) -> &[C]

Getter for g generators

Source

fn verifier_params(&'params self) -> &'params Self::ParamsVerifier

Returns verification parameters.

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.

Implementors§

Source§

impl<'params, C: CurveAffine> ParamsProver<'params, C> for ParamsIPA<C>

Source§

impl<'params, E: Engine + Debug> ParamsProver<'params, <E as Engine>::G1Affine> for ParamsKZG<E>
where E::G1Affine: SerdeCurveAffine<ScalarExt = E::Fr, CurveExt = E::G1>, E::G2Affine: SerdeCurveAffine,