Trait poly_commitment::commitment::EndoCurve
source · pub trait EndoCurve: CommitmentCurve {
// Provided methods
fn combine_one(g1: &[Self], g2: &[Self], x2: Self::ScalarField) -> Vec<Self> { ... }
fn combine_one_endo(
endo_r: Self::ScalarField,
_endo_q: Self::BaseField,
g1: &[Self],
g2: &[Self],
x2: ScalarChallenge<Self::ScalarField>
) -> Vec<Self> { ... }
fn combine(
g1: &[Self],
g2: &[Self],
x1: Self::ScalarField,
x2: Self::ScalarField
) -> Vec<Self> { ... }
}
Expand description
A trait extending CommitmentCurve for endomorphisms.
Unfortunately, we can’t specify that AffineRepr<BaseField : PrimeField>
,
so usage of this traits must manually bind G::BaseField: PrimeField
.
Provided Methods§
sourcefn combine_one(g1: &[Self], g2: &[Self], x2: Self::ScalarField) -> Vec<Self>
fn combine_one(g1: &[Self], g2: &[Self], x2: Self::ScalarField) -> Vec<Self>
Combine where x1 = one
sourcefn combine_one_endo(
endo_r: Self::ScalarField,
_endo_q: Self::BaseField,
g1: &[Self],
g2: &[Self],
x2: ScalarChallenge<Self::ScalarField>
) -> Vec<Self>
fn combine_one_endo( endo_r: Self::ScalarField, _endo_q: Self::BaseField, g1: &[Self], g2: &[Self], x2: ScalarChallenge<Self::ScalarField> ) -> Vec<Self>
Combine where x1 = one