pub trait Params<'params, C: CurveAffine>: Sized + Clone {
    type MSM: MSM<C> + 'params;

    fn k(&self) -> u32;
    fn n(&self) -> u64;
    fn downsize(&mut self, k: u32);
    fn empty_msm(&'params self) -> Self::MSM;
    fn commit_lagrange(
        &self,
        poly: &Polynomial<C::ScalarExt, LagrangeCoeff>,
        r: Blind<C::ScalarExt>
    ) -> C::CurveExt; fn write<W: Write>(&self, writer: &mut W) -> Result<()>; fn read<R: Read>(reader: &mut R) -> Result<Self>; }
Expand description

Parameters for circuit sysnthesis and prover parameters.

Required Associated Types

Multi scalar multiplication engine

Required Methods

Logaritmic size of the circuit

Size of the circuit

Downsize Params with smaller k.

Generates an empty multiscalar multiplication struct using the appropriate params.

This commits to a polynomial using its evaluations over the $2^k$ size evaluation domain. The commitment will be blinded by the blinding factor r.

Writes params to a buffer.

Reads params from a buffer.

Implementors