pub trait KimchiCurve:
CommitmentCurve
+ EndoCurve
+ NamedCurve {
// Required methods
fn sponge_params() -> &'static ArithmeticSpongeParams<Self::ScalarField>;
fn other_curve_sponge_params( ) -> &'static ArithmeticSpongeParams<Self::BaseField>;
fn endos() -> &'static (Self::BaseField, Self::ScalarField);
fn other_curve_endo() -> &'static Self::ScalarField;
fn other_curve_generator() -> (Self::ScalarField, Self::ScalarField);
}
Expand description
Represents additional information that a curve needs in order to be used with Kimchi
Required Methods§
Sourcefn sponge_params() -> &'static ArithmeticSpongeParams<Self::ScalarField>
fn sponge_params() -> &'static ArithmeticSpongeParams<Self::ScalarField>
Provides the sponge params to be used with this curve.
Sourcefn other_curve_sponge_params() -> &'static ArithmeticSpongeParams<Self::BaseField>
fn other_curve_sponge_params() -> &'static ArithmeticSpongeParams<Self::BaseField>
Provides the sponge params to be used with the other curve.
Sourcefn endos() -> &'static (Self::BaseField, Self::ScalarField)
fn endos() -> &'static (Self::BaseField, Self::ScalarField)
Provides the coefficients for the curve endomorphism, called (q,r) in some places.
Sourcefn other_curve_endo() -> &'static Self::ScalarField
fn other_curve_endo() -> &'static Self::ScalarField
Provides the coefficient for the curve endomorphism over the other field, called q in some places.
Sourcefn other_curve_generator() -> (Self::ScalarField, Self::ScalarField)
fn other_curve_generator() -> (Self::ScalarField, Self::ScalarField)
Accessor for the other curve’s prime subgroup generator, as coordinates
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.