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>;