pub trait ECDSACurvewhere
Self: CurveArithmetic<FieldBytesSize = U32, AffinePoint = AffinePoint<Self>, ProjectivePoint = ProjectivePoint<Self>>,{
type FieldElement: Field<Self> + Neg<Output = Self::FieldElement>;
type SP1AffinePoint: ECDSAPoint;
const EQUATION_A: Self::FieldElement;
const EQUATION_B: Self::FieldElement;
}Expand description
A CurveArithmetic extension for SP1 acceleration.
Patched crates implement this trait to take advantage of SP1-specific acceleration in the zkVM context.
Note: This trait only supports 32 byte base field curves.
Required Associated Constants§
Sourceconst EQUATION_A: Self::FieldElement
const EQUATION_A: Self::FieldElement
The a coefficient in the curve equation.
Sourceconst EQUATION_B: Self::FieldElement
const EQUATION_B: Self::FieldElement
The b coefficient in the curve equation.
Required Associated Types§
type FieldElement: Field<Self> + Neg<Output = Self::FieldElement>
Sourcetype SP1AffinePoint: ECDSAPoint
type SP1AffinePoint: ECDSAPoint
The underlying SP1AffinePointTrait implementation.
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.