pub trait Params<'params, C: CurveAffine>: Sized + Clone {
type MSM: MSM<C> + 'params;
// Required methods
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§
Required Methods§
Sourcefn empty_msm(&'params self) -> Self::MSM
fn empty_msm(&'params self) -> Self::MSM
Generates an empty multiscalar multiplication struct using the appropriate params.
Sourcefn commit_lagrange(
&self,
poly: &Polynomial<C::ScalarExt, LagrangeCoeff>,
r: Blind<C::ScalarExt>,
) -> C::CurveExt
fn commit_lagrange( &self, poly: &Polynomial<C::ScalarExt, LagrangeCoeff>, r: Blind<C::ScalarExt>, ) -> C::CurveExt
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.
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.