diff --git a/benches/hashtocurve.rs b/benches/hashtocurve.rs index f3ab3b6..cb9af58 100644 --- a/benches/hashtocurve.rs +++ b/benches/hashtocurve.rs @@ -3,7 +3,7 @@ use criterion::{criterion_group, criterion_main, Criterion}; use pasta_curves::arithmetic::CurveExt; -use pasta_curves::pasta::{pallas, vesta}; +use pasta_curves::{pallas, vesta}; fn criterion_benchmark(c: &mut Criterion) { bench_hash_to_curve(c); diff --git a/src/pasta/curves.rs b/src/curves.rs similarity index 100% rename from src/pasta/curves.rs rename to src/curves.rs diff --git a/src/pasta/fields.rs b/src/fields.rs similarity index 100% rename from src/pasta/fields.rs rename to src/fields.rs diff --git a/src/pasta/fields/fp.rs b/src/fields/fp.rs similarity index 100% rename from src/pasta/fields/fp.rs rename to src/fields/fp.rs diff --git a/src/pasta/fields/fq.rs b/src/fields/fq.rs similarity index 100% rename from src/pasta/fields/fq.rs rename to src/fields/fq.rs diff --git a/src/pasta/hashtocurve.rs b/src/hashtocurve.rs similarity index 100% rename from src/pasta/hashtocurve.rs rename to src/hashtocurve.rs diff --git a/src/lib.rs b/src/lib.rs index 57186cc..a0a4750 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,5 +17,26 @@ #![deny(missing_docs)] #![deny(unsafe_code)] +#[macro_use] +mod macros; +mod curves; +mod fields; + pub mod arithmetic; -pub mod pasta; +mod hashtocurve; +pub mod pallas; +pub mod vesta; + +pub use curves::*; +pub use fields::*; + +#[test] +fn test_endo_consistency() { + use crate::arithmetic::{CurveExt, FieldExt}; + use group::Group; + + let a = pallas::Point::generator(); + assert_eq!(a * pallas::Scalar::ZETA, a.endo()); + let a = vesta::Point::generator(); + assert_eq!(a * vesta::Scalar::ZETA, a.endo()); +} diff --git a/src/pasta/macros.rs b/src/macros.rs similarity index 100% rename from src/pasta/macros.rs rename to src/macros.rs diff --git a/src/pasta/pallas.rs b/src/pallas.rs similarity index 98% rename from src/pasta/pallas.rs rename to src/pallas.rs index eb24f82..d52b757 100644 --- a/src/pasta/pallas.rs +++ b/src/pallas.rs @@ -100,8 +100,8 @@ fn test_iso_map_identity() { #[test] fn test_map_to_curve_simple_swu() { use crate::arithmetic::CurveExt; - use crate::pasta::curves::IsoEp; - use crate::pasta::hashtocurve::map_to_curve_simple_swu; + use crate::curves::IsoEp; + use crate::hashtocurve::map_to_curve_simple_swu; // The zero input is a special case. let p: IsoEp = map_to_curve_simple_swu::(&Fp::zero(), Ep::THETA, Ep::Z); diff --git a/src/pasta.rs b/src/pasta.rs deleted file mode 100644 index 4f170c6..0000000 --- a/src/pasta.rs +++ /dev/null @@ -1,25 +0,0 @@ -//! This module contains implementations for the Pallas and Vesta elliptic curve -//! groups. - -#[macro_use] -mod macros; -mod curves; -mod fields; - -mod hashtocurve; -pub mod pallas; -pub mod vesta; - -pub use curves::*; -pub use fields::*; - -#[test] -fn test_endo_consistency() { - use crate::arithmetic::{CurveExt, FieldExt}; - use group::Group; - - let a = pallas::Point::generator(); - assert_eq!(a * pallas::Scalar::ZETA, a.endo()); - let a = vesta::Point::generator(); - assert_eq!(a * vesta::Scalar::ZETA, a.endo()); -} diff --git a/src/pasta/vesta.rs b/src/vesta.rs similarity index 95% rename from src/pasta/vesta.rs rename to src/vesta.rs index 8dc6d2e..6fe32b1 100644 --- a/src/pasta/vesta.rs +++ b/src/vesta.rs @@ -17,8 +17,8 @@ pub type Affine = EqAffine; #[test] fn test_map_to_curve_simple_swu() { use crate::arithmetic::CurveExt; - use crate::pasta::curves::IsoEq; - use crate::pasta::hashtocurve::map_to_curve_simple_swu; + use crate::curves::IsoEq; + use crate::hashtocurve::map_to_curve_simple_swu; // The zero input is a special case. let p: IsoEq = map_to_curve_simple_swu::(&Fq::zero(), Eq::THETA, Eq::Z);