diff --git a/src/curves/bls12_377.nr b/src/curves/bls12_377.nr index 835f62e..8910016 100644 --- a/src/curves/bls12_377.nr +++ b/src/curves/bls12_377.nr @@ -5,7 +5,7 @@ use bignum::BigNum; pub use bignum::{BLS12_377_Fq, BLS12_377_Fr}; -global BLS12_377_SCALAR_SLICES: u32 = 64; +pub global BLS12_377_SCALAR_SLICES: u32 = 64; pub struct BLS12_377_Params {} impl CurveParamsTrait for BLS12_377_Params { fn a() -> BLS12_377_Fq { diff --git a/src/curves/bls12_381.nr b/src/curves/bls12_381.nr index 9b88301..ae2a9de 100644 --- a/src/curves/bls12_381.nr +++ b/src/curves/bls12_381.nr @@ -4,7 +4,7 @@ use crate::scalar_field::ScalarField; use bignum::BigNum; use bignum::BLS12_381_Fq; -global BLS12_381_SCALAR_SLICES: u32 = 64; +pub global BLS12_381_SCALAR_SLICES: u32 = 64; pub struct BLS12_381_Params {} impl CurveParamsTrait for BLS12_381_Params { fn a() -> BLS12_381_Fq { diff --git a/src/curves/bn254.nr b/src/curves/bn254.nr index 42ee169..fd3190f 100644 --- a/src/curves/bn254.nr +++ b/src/curves/bn254.nr @@ -46,7 +46,7 @@ impl CurveParamsTrait for BN254Params { } } -global BN254_SCALAR_SLICES: u32 = 64; +pub global BN254_SCALAR_SLICES: u32 = 64; pub type BN254 = BigCurve; pub type BN254Scalar = ScalarField; // pub type Secp256r1Fr = BigNum<3, Secp256r1_Fr_Params>; diff --git a/src/curves/mnt4_753.nr b/src/curves/mnt4_753.nr index b5f282b..c33c92c 100644 --- a/src/curves/mnt4_753.nr +++ b/src/curves/mnt4_753.nr @@ -4,7 +4,7 @@ use crate::scalar_field::ScalarField; use bignum::BigNum; pub use bignum::{MNT4_753_Fq, MNT4_753_Fr}; -global MNT4_753_SCALAR_SLICES: u32 = 189; +pub global MNT4_753_SCALAR_SLICES: u32 = 189; pub struct MNT4_753_Params {} impl CurveParamsTrait for MNT4_753_Params { fn a() -> MNT4_753_Fq { diff --git a/src/curves/mnt6_753.nr b/src/curves/mnt6_753.nr index 521336f..a7d999e 100644 --- a/src/curves/mnt6_753.nr +++ b/src/curves/mnt6_753.nr @@ -4,7 +4,7 @@ use crate::scalar_field::ScalarField; use bignum::BigNum; pub use bignum::{MNT6_753_Fq, MNT6_753_Fr}; -global MNT6_753_SCALAR_SLICES: u32 = 189; +pub global MNT6_753_SCALAR_SLICES: u32 = 189; pub struct MNT6_753_Params {} impl CurveParamsTrait for MNT6_753_Params { fn a() -> MNT6_753_Fq { diff --git a/src/curves/mod.nr b/src/curves/mod.nr index b190bf8..09593a4 100644 --- a/src/curves/mod.nr +++ b/src/curves/mod.nr @@ -1,10 +1,10 @@ -pub(crate) mod pallas; -pub(crate) mod vesta; -pub(crate) mod bls12_377; -pub(crate) mod bls12_381; -pub(crate) mod secp256k1; -pub(crate) mod secp256r1; -pub(crate) mod secp384r1; -pub(crate) mod mnt4_753; -pub(crate) mod mnt6_753; -pub(crate) mod bn254; +pub mod pallas; +pub mod vesta; +pub mod bls12_377; +pub mod bls12_381; +pub mod secp256k1; +pub mod secp256r1; +pub mod secp384r1; +pub mod mnt4_753; +pub mod mnt6_753; +pub mod bn254; diff --git a/src/curves/pallas.nr b/src/curves/pallas.nr index 0c2f175..11d3241 100644 --- a/src/curves/pallas.nr +++ b/src/curves/pallas.nr @@ -5,7 +5,7 @@ use bignum::BigNum; pub use bignum::{Pallas_Fq, Pallas_Fr}; -global PALLAS_SCALAR_SLICES: u32 = 64; +pub global PALLAS_SCALAR_SLICES: u32 = 64; pub struct Pallas_Params {} impl CurveParamsTrait for Pallas_Params { diff --git a/src/curves/secp256k1.nr b/src/curves/secp256k1.nr index b5b20e3..c8ca8fc 100644 --- a/src/curves/secp256k1.nr +++ b/src/curves/secp256k1.nr @@ -5,7 +5,7 @@ use bignum::BigNum; pub use bignum::{Secp256k1_Fq, Secp256k1_Fr}; -global SECP256k1_SCALAR_SLICES: u32 = 65; +pub global SECP256k1_SCALAR_SLICES: u32 = 65; pub struct Secp256k1_Params {} impl CurveParamsTrait for Secp256k1_Params { diff --git a/src/lib.nr b/src/lib.nr index d50746f..14630b6 100644 --- a/src/lib.nr +++ b/src/lib.nr @@ -1,4 +1,4 @@ -pub(crate) mod scalar_field; +pub mod scalar_field; pub(crate) mod curve_jac; mod test_data; mod bigcurve_test; @@ -23,7 +23,7 @@ pub struct BigCurve { pub is_infinity: bool, } -trait CurveParamsTrait { +pub trait CurveParamsTrait { fn offset_generator() -> [B; 2]; fn offset_generator_final() -> [B; 2]; fn one() -> [B; 2]; @@ -92,7 +92,7 @@ impl PointTable { } } -trait BigCurveTrait { +pub trait BigCurveTrait { fn neg(self) -> Self; fn point_at_infinity() -> Self; fn offset_generator() -> Self; @@ -417,6 +417,7 @@ where [false], ); + // x3 = lambda * lambda - x2 - x1 bignum::bignum::evaluate_quadratic_expression( [[lambda]], [[false]],