arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
ark-curves-cherry-picked/bls12_377/src/curves/mod.rs
bls12_377/src/curves/mod.rsRaw
 1use crate::*;
 2use ark_ec::{
 3    bls12,
 4    bls12::{Bls12, Bls12Parameters, TwistType},
 5};
 6
 7pub mod g1;
 8pub mod g2;
 9
10#[cfg(test)]
11mod tests;
12
13pub struct Parameters;
14
15impl Bls12Parameters for Parameters {
16    const X: &'static [u64] = &[0x8508c00000000001];
17    /// `x` is positive.
18    const X_IS_NEGATIVE: bool = false;
19    const TWIST_TYPE: TwistType = TwistType::D;
20    type Fp = Fq;
21    type Fp2Params = Fq2Parameters;
22    type Fp6Params = Fq6Parameters;
23    type Fp12Params = Fq12Parameters;
24    type G1Parameters = g1::Parameters;
25    type G2Parameters = g2::Parameters;
26}
27
28pub type Bls12_377 = Bls12<Parameters>;
29
30pub type G1Affine = bls12::G1Affine<Parameters>;
31pub type G1Projective = bls12::G1Projective<Parameters>;
32pub type G2Affine = bls12::G2Affine<Parameters>;
33pub type G2Projective = bls12::G2Projective<Parameters>;