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