diff --git a/src/bignum.nr b/src/bignum.nr index aaad1c8a..5b9fe7c9 100644 --- a/src/bignum.nr +++ b/src/bignum.nr @@ -4,14 +4,15 @@ use crate::params::BigNumParamsGetter; use crate::fns::{ constrained_ops::{ - derive_from_seed, conditional_select, assert_is_not_equal, eq, validate_in_field, - validate_in_range, neg, add, sub, mul, div, udiv_mod, udiv, umod, + add, assert_is_not_equal, conditional_select, derive_from_seed, div, eq, mul, neg, sub, + udiv, udiv_mod, umod, validate_in_field, validate_in_range, }, - unconstrained_ops::{ - __derive_from_seed, __eq, __is_zero, __neg, __add, __sub, __mul, __div, __udiv_mod, - __invmod, __pow, __batch_invert, __batch_invert_slice, __tonelli_shanks_sqrt, - }, expressions::{__compute_quadratic_expression, evaluate_quadratic_expression}, + expressions::{__compute_quadratic_expression, evaluate_quadratic_expression}, serialization::{from_be_bytes, to_le_bytes}, + unconstrained_ops::{ + __add, __batch_invert, __batch_invert_slice, __derive_from_seed, __div, __eq, __invmod, + __is_zero, __mul, __neg, __pow, __sub, __tonelli_shanks_sqrt, __udiv_mod, + }, }; pub struct BigNum { diff --git a/src/fields/U1024.nr b/src/fields/U1024.nr index 5f8f438a..c0593a1c 100644 --- a/src/fields/U1024.nr +++ b/src/fields/U1024.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U1024Params {} diff --git a/src/fields/U2048.nr b/src/fields/U2048.nr index 6c689179..bbd9cc06 100644 --- a/src/fields/U2048.nr +++ b/src/fields/U2048.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U2048Params {} diff --git a/src/fields/U256.nr b/src/fields/U256.nr index e542d4a5..eea35dd4 100644 --- a/src/fields/U256.nr +++ b/src/fields/U256.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U256Params {} diff --git a/src/fields/U384.nr b/src/fields/U384.nr index 572fbe67..be29a735 100644 --- a/src/fields/U384.nr +++ b/src/fields/U384.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U384_Params {} diff --git a/src/fields/U4096.nr b/src/fields/U4096.nr index d63124c7..cfa0fae8 100644 --- a/src/fields/U4096.nr +++ b/src/fields/U4096.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U4096Params {} diff --git a/src/fields/U512.nr b/src/fields/U512.nr index 50277773..148ed672 100644 --- a/src/fields/U512.nr +++ b/src/fields/U512.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U512Params {} diff --git a/src/fields/U768.nr b/src/fields/U768.nr index c9e0cb44..37564fdd 100644 --- a/src/fields/U768.nr +++ b/src/fields/U768.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U768Params {} diff --git a/src/fields/U8192.nr b/src/fields/U8192.nr index a70b3917..ce7f8faa 100644 --- a/src/fields/U8192.nr +++ b/src/fields/U8192.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct U8192Params {} diff --git a/src/fields/bls12_377Fq.nr b/src/fields/bls12_377Fq.nr index 81a6cc98..9a4db96e 100644 --- a/src/fields/bls12_377Fq.nr +++ b/src/fields/bls12_377Fq.nr @@ -16,8 +16,8 @@ //! * G1 curve equation: y^2 = x^3 + 1 //! * G2 curve equation: y^2 = x^3 + B, where //! * B = Fq2(0, 155198655607781456406391640216936120121836107652948796323930557600032281009004493664981332883744016074664192874906) -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct BLS12_377_Fq_Params {} diff --git a/src/fields/bls12_377Fr.nr b/src/fields/bls12_377Fr.nr index 123b8139..ee4577e9 100644 --- a/src/fields/bls12_377Fr.nr +++ b/src/fields/bls12_377Fr.nr @@ -17,8 +17,8 @@ //! * G2 curve equation: y^2 = x^3 + B, where //! * B = Fq2(0, 155198655607781456406391640216936120121836107652948796323930557600032281009004493664981332883744016074664192874906) -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct BLS12_377_Fr_Params {} diff --git a/src/fields/bls12_381Fq.nr b/src/fields/bls12_381Fq.nr index f2ef2e65..223c99e9 100644 --- a/src/fields/bls12_381Fq.nr +++ b/src/fields/bls12_381Fq.nr @@ -14,8 +14,8 @@ //! * valuation(r - 1, 2) = 32 //! * G1 curve equation: y^2 = x^3 + 4 //! * G2 curve equation: y^2 = x^3 + Fq2(4, 4) -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct BLS12_381_Fq_Params {} diff --git a/src/fields/bls12_381Fr.nr b/src/fields/bls12_381Fr.nr index 2635d62b..0d68c228 100644 --- a/src/fields/bls12_381Fr.nr +++ b/src/fields/bls12_381Fr.nr @@ -14,8 +14,8 @@ //! * valuation(r - 1, 2) = 32 //! * G1 curve equation: y^2 = x^3 + 4 //! * G2 curve equation: y^2 = x^3 + Fq2(4, 4) -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct BLS12_381_Fr_Params {} diff --git a/src/fields/bn254Fq.nr b/src/fields/bn254Fq.nr index d1fd56e9..43cbc3a7 100644 --- a/src/fields/bn254Fq.nr +++ b/src/fields/bn254Fq.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct BN254_Fq_Params {} diff --git a/src/fields/ed25519Fq.nr b/src/fields/ed25519Fq.nr index 0a19b9a0..a09315da 100644 --- a/src/fields/ed25519Fq.nr +++ b/src/fields/ed25519Fq.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct ED25519_Fq_Params {} diff --git a/src/fields/ed25519Fr.nr b/src/fields/ed25519Fr.nr index cdc2005f..dea885af 100644 --- a/src/fields/ed25519Fr.nr +++ b/src/fields/ed25519Fr.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct ED25519_Fr_Params {} diff --git a/src/fields/mnt4_753Fq.nr b/src/fields/mnt4_753Fq.nr index 849a7532..f185c8cf 100644 --- a/src/fields/mnt4_753Fq.nr +++ b/src/fields/mnt4_753Fq.nr @@ -19,8 +19,8 @@ //! * B = Fq2(0, b * NON_RESIDUE) //! * NON_RESIDUE = 13 is the quadratic non-residue used to conpub struct the //! extension field Fq2 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct MNT4_753_Fq_Params {} diff --git a/src/fields/mnt4_753Fr.nr b/src/fields/mnt4_753Fr.nr index 21982f9f..8264432e 100644 --- a/src/fields/mnt4_753Fr.nr +++ b/src/fields/mnt4_753Fr.nr @@ -19,8 +19,8 @@ //! * B = Fq2(0, b * NON_RESIDUE) //! * NON_RESIDUE = 13 is the quadratic non-residue used to conpub struct the //! extension field Fq2 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct MNT4_753_Fr_Params {} diff --git a/src/fields/mnt6_753Fq.nr b/src/fields/mnt6_753Fq.nr index 421a36b4..8a9358f7 100644 --- a/src/fields/mnt6_753Fq.nr +++ b/src/fields/mnt6_753Fq.nr @@ -19,8 +19,8 @@ //! * B = Fq3(b * NON_RESIDUE, 0, 0) //! * NON_RESIDUE = 11 is the cubic non-residue used to conpub struct the //! extension field Fq3 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct MNT6_753_Fq_Params {} diff --git a/src/fields/mnt6_753Fr.nr b/src/fields/mnt6_753Fr.nr index 24110720..5148148f 100644 --- a/src/fields/mnt6_753Fr.nr +++ b/src/fields/mnt6_753Fr.nr @@ -19,8 +19,8 @@ //! * B = Fq3(b * NON_RESIDUE, 0, 0) //! * NON_RESIDUE = 11 is the cubic non-residue used to conpub struct the //! extension field Fq3 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct MNT6_753_Fr_Params {} diff --git a/src/fields/pallasFq.nr b/src/fields/pallasFq.nr index a5f6a1a8..06423031 100644 --- a/src/fields/pallasFq.nr +++ b/src/fields/pallasFq.nr @@ -13,8 +13,8 @@ //! * Curve equation: y^2 = x^3 + 5 //! * Valuation(q - 1, 2) = 32 //! * Valuation(r - 1, 2) = 32 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Pallas_Fq_Params {} diff --git a/src/fields/pallasFr.nr b/src/fields/pallasFr.nr index 502b0da2..ad0e71e6 100644 --- a/src/fields/pallasFr.nr +++ b/src/fields/pallasFr.nr @@ -13,8 +13,8 @@ //! * Curve equation: y^2 = x^3 + 5 //! * Valuation(q - 1, 2) = 32 //! * Valuation(r - 1, 2) = 32 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Pallas_Fr_Params {} diff --git a/src/fields/secp256k1Fq.nr b/src/fields/secp256k1Fq.nr index 463ea901..1634337c 100644 --- a/src/fields/secp256k1Fq.nr +++ b/src/fields/secp256k1Fq.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Secp256k1_Fq_Params {} diff --git a/src/fields/secp256k1Fr.nr b/src/fields/secp256k1Fr.nr index 9b137928..48382e45 100644 --- a/src/fields/secp256k1Fr.nr +++ b/src/fields/secp256k1Fr.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Secp256k1_Fr_Params {} diff --git a/src/fields/secp256r1Fq.nr b/src/fields/secp256r1Fq.nr index 4d4ebaee..6f661aa6 100644 --- a/src/fields/secp256r1Fq.nr +++ b/src/fields/secp256r1Fq.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Secp256r1_Fq_Params {} diff --git a/src/fields/secp256r1Fr.nr b/src/fields/secp256r1Fr.nr index 8db71855..11f7ce7f 100644 --- a/src/fields/secp256r1Fr.nr +++ b/src/fields/secp256r1Fr.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Secp256r1_Fr_Params {} diff --git a/src/fields/secp384r1Fq.nr b/src/fields/secp384r1Fq.nr index 599aeec8..d70b6645 100644 --- a/src/fields/secp384r1Fq.nr +++ b/src/fields/secp384r1Fq.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Secp384r1_Fq_Params {} diff --git a/src/fields/secp384r1Fr.nr b/src/fields/secp384r1Fr.nr index 6755694e..b31c552f 100644 --- a/src/fields/secp384r1Fr.nr +++ b/src/fields/secp384r1Fr.nr @@ -1,5 +1,5 @@ -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Secp384r1_Fr_Params {} diff --git a/src/fields/vestaFq.nr b/src/fields/vestaFq.nr index 56a309b1..e16c3f08 100644 --- a/src/fields/vestaFq.nr +++ b/src/fields/vestaFq.nr @@ -14,8 +14,8 @@ //! * Curve equation: y^2 = x^3 + 5 //! * Valuation(q - 1, 2) = 32 //! * Valuation(r - 1, 2) = 32 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Vesta_Fq_Params {} diff --git a/src/fields/vestaFr.nr b/src/fields/vestaFr.nr index 438b2ff3..4e7d5d5a 100644 --- a/src/fields/vestaFr.nr +++ b/src/fields/vestaFr.nr @@ -14,8 +14,8 @@ //! * Curve equation: y^2 = x^3 + 5 //! * Valuation(q - 1, 2) = 32 //! * Valuation(r - 1, 2) = 32 -use crate::params::BigNumParamsGetter; use crate::params::BigNumParams; +use crate::params::BigNumParamsGetter; use crate::utils::u60_representation::U60Repr; pub struct Vesta_Fr_Params {} diff --git a/src/fns/constrained_ops.nr b/src/fns/constrained_ops.nr index b6c6d211..d0b70e20 100644 --- a/src/fns/constrained_ops.nr +++ b/src/fns/constrained_ops.nr @@ -1,10 +1,12 @@ use crate::params::BigNumParams as P; use crate::fns::{ + expressions::evaluate_quadratic_expression, unconstrained_helpers::{ - __validate_in_field_compute_borrow_flags, __validate_gt_remainder, __neg_with_flags, - __add_with_flags, __sub_with_flags, - }, unconstrained_ops::{__mul, __div, __udiv_mod}, expressions::evaluate_quadratic_expression, + __add_with_flags, __neg_with_flags, __sub_with_flags, __validate_gt_remainder, + __validate_in_field_compute_borrow_flags, + }, + unconstrained_ops::{__div, __mul, __udiv_mod}, }; /** diff --git a/src/fns/expressions.nr b/src/fns/expressions.nr index 38b2abfb..b66b1586 100644 --- a/src/fns/expressions.nr +++ b/src/fns/expressions.nr @@ -1,9 +1,9 @@ use crate::utils::split_bits; -use crate::params::BigNumParams as P; use crate::fns::{ constrained_ops::validate_quotient_in_range, unconstrained_helpers::__barrett_reduction, }; +use crate::params::BigNumParams as P; /** * In this file: diff --git a/src/fns/unconstrained_helpers.nr b/src/fns/unconstrained_helpers.nr index 694971e5..8c3df31e 100644 --- a/src/fns/unconstrained_helpers.nr +++ b/src/fns/unconstrained_helpers.nr @@ -1,8 +1,8 @@ -use crate::utils::u60_representation::U60Repr; use crate::utils::split_bits; +use crate::utils::u60_representation::U60Repr; +use crate::fns::unconstrained_ops::{__add, __eq, __mul, __neg, __one, __pow}; use crate::params::BigNumParams as P; -use crate::fns::unconstrained_ops::{__one, __eq, __neg, __add, __mul, __pow}; /** * In this file: diff --git a/src/fns/unconstrained_ops.nr b/src/fns/unconstrained_ops.nr index b72f913b..ee193afb 100644 --- a/src/fns/unconstrained_ops.nr +++ b/src/fns/unconstrained_ops.nr @@ -1,11 +1,11 @@ -use crate::utils::u60_representation::U60Repr; use crate::utils::split_bits; +use crate::utils::u60_representation::U60Repr; -use crate::params::BigNumParams as P; use crate::fns::unconstrained_helpers::{ - __barrett_reduction, __primitive_root_log_size, __multiplicative_generator, + __barrett_reduction, __multiplicative_generator, __primitive_root_log_size, __tonelli_shanks_sqrt_inner_loop_check, }; +use crate::params::BigNumParams as P; /** * In this file: diff --git a/src/runtime_bignum.nr b/src/runtime_bignum.nr index 66e091eb..8332c675 100644 --- a/src/runtime_bignum.nr +++ b/src/runtime_bignum.nr @@ -1,18 +1,17 @@ -use dep::std; use crate::utils::map::map; - use crate::params::BigNumParams; use crate::fns::{ constrained_ops::{ - derive_from_seed, conditional_select, assert_is_not_equal, eq, validate_in_field, - validate_in_range, neg, add, sub, mul, div, udiv_mod, udiv, umod, + add, assert_is_not_equal, conditional_select, derive_from_seed, div, eq, mul, neg, sub, + udiv, udiv_mod, umod, validate_in_field, validate_in_range, }, - unconstrained_ops::{ - __derive_from_seed, __eq, __is_zero, __neg, __add, __sub, __mul, __div, __udiv_mod, - __invmod, __pow, __batch_invert, __batch_invert_slice, __tonelli_shanks_sqrt, - }, expressions::{__compute_quadratic_expression, evaluate_quadratic_expression}, + expressions::{__compute_quadratic_expression, evaluate_quadratic_expression}, serialization::{from_be_bytes, to_le_bytes}, + unconstrained_ops::{ + __add, __batch_invert, __batch_invert_slice, __derive_from_seed, __div, __eq, __invmod, + __is_zero, __mul, __neg, __pow, __sub, __tonelli_shanks_sqrt, __udiv_mod, + }, }; pub struct RuntimeBigNum { diff --git a/src/tests/bignum_test.nr b/src/tests/bignum_test.nr index 9449ddc3..a728e7e9 100644 --- a/src/tests/bignum_test.nr +++ b/src/tests/bignum_test.nr @@ -6,9 +6,9 @@ use crate::bignum::BigNumTrait; use crate::params::BigNumParams; use crate::params::BigNumParamsGetter; +use crate::fields::bls12_381Fq::BLS12_381_Fq_Params; use crate::fields::bn254Fq::BN254_Fq_Params; use crate::fields::U256::U256Params; -use crate::fields::bls12_381Fq::BLS12_381_Fq_Params; struct Test2048Params {} diff --git a/src/tests/runtime_bignum_test.nr b/src/tests/runtime_bignum_test.nr index a97f4ccd..5c6dd6b3 100644 --- a/src/tests/runtime_bignum_test.nr +++ b/src/tests/runtime_bignum_test.nr @@ -1,13 +1,13 @@ -use crate::utils::u60_representation::U60Repr; -use crate::runtime_bignum::RuntimeBigNum; use crate::params::{BigNumParams, BigNumParamsGetter}; +use crate::runtime_bignum::RuntimeBigNum; +use crate::utils::u60_representation::U60Repr; -use crate::fields::bn254Fq::BN254_Fq_Params; -use crate::fields::secp256k1Fq::Secp256k1_Fq_Params; -use crate::fields::bls12_381Fq::BLS12_381_Fq_Params; -use crate::fields::bls12_381Fr::BLS12_381_Fr_Params; use crate::fields::bls12_377Fq::BLS12_377_Fq_Params; use crate::fields::bls12_377Fr::BLS12_377_Fr_Params; +use crate::fields::bls12_381Fq::BLS12_381_Fq_Params; +use crate::fields::bls12_381Fr::BLS12_381_Fr_Params; +use crate::fields::bn254Fq::BN254_Fq_Params; +use crate::fields::secp256k1Fq::Secp256k1_Fq_Params; global TEST_2048_PARAMS: BigNumParams<18, 2048> = BigNumParams { has_multiplicative_inverse: false, diff --git a/src/utils/u60_representation.nr b/src/utils/u60_representation.nr index ea4c9b50..ae0dc172 100644 --- a/src/utils/u60_representation.nr +++ b/src/utils/u60_representation.nr @@ -1,5 +1,5 @@ -use crate::utils::split_bits; use crate::utils::msb::get_msb64; +use crate::utils::split_bits; /** * @brief U60Repr represents a BigNum element as a sequence of 60-bit unsigned integers.