diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7faa66c..8b4ffe3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,6 +86,27 @@ jobs: --all-features \ --exclude curve-benches" + docs: + name: Check Documentation + runs-on: ubuntu-latest + steps: + + - name: Checkout + uses: actions/checkout@v1 + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: rustfmt + + - name: cargo doc --all --no-deps --document-private-items --all-features + uses: actions-rs/cargo@v1 + with: + command: doc + args: --all --no-deps --document-private-items --all-features + check_no_std: name: Check no_std runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 19c22ad..661c186 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,16 +18,16 @@ `ark-mnt4-753`, `ark-mnt6-753`. - [\#7](https://github.com/arkworks-rs/curves/pull/7) Add benchmarks for Edwards curves. -- [\#19](https://github.com/arkworks-rs/curves/pull/19) Change field constants to be provided as normal strings, instead of in montgomery form. +- [\#19](https://github.com/arkworks-rs/curves/pull/19) Change field constants to be provided as normal strings, instead of in Montgomery form. ### Improvements - [\#42](https://github.com/arkworks-rs/curves/pull/42) Remove the dependency of `rand_xorshift`. ### Bug fixes -- [\#28](https://github.com/arkworks-rs/curves/pull/28) Fix broken documentation links. +- [\#28](https://github.com/arkworks-rs/curves/pull/28), [\#49](https://github.com/arkworks-rs/curves/pull/49) Fix broken documentation links. - [\#38](https://github.com/arkworks-rs/curves/pull/38) Compile with `panic='abort'` in release mode, for safety of the library across FFI boundaries. - [\#45](https://github.com/arkworks-rs/curves/pull/45) Fix `ark-ed-on-mnt4-753`. ## v0.1.0 -Initial Release +Initial Release \ No newline at end of file diff --git a/bls12_377/src/lib.rs b/bls12_377/src/lib.rs index 46d4b4a..2659771 100644 --- a/bls12_377/src/lib.rs +++ b/bls12_377/src/lib.rs @@ -8,7 +8,7 @@ )] #![forbid(unsafe_code)] -//! This library implements the BLS12_377 curve generated in [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). +//! This library implements the BLS12_377 curve generated in [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962). //! The name denotes that it is a Barreto--Lynn--Scott curve of embedding degree 12, //! defined over a 377-bit (prime) field. The main feature of this curve is that //! both the scalar field and the base field are highly 2-adic. diff --git a/bn254/src/lib.rs b/bn254/src/lib.rs index ee8b4d7..cc297cc 100644 --- a/bn254/src/lib.rs +++ b/bn254/src/lib.rs @@ -8,7 +8,7 @@ )] #![forbid(unsafe_code)] -//! This library implements the BN254 curve that was sampled as part of the [[BCTV14]][https://eprint.iacr.org/2013/879.pdf] paper . +//! This library implements the BN254 curve that was sampled as part of the [\[BCTV14\]](https://eprint.iacr.org/2013/879.pdf) paper . //! The name denotes that it is a Barreto--Naehrig curve of embedding degree 12, //! defined over a 254-bit (prime) field. The scalar field is highly 2-adic. //! @@ -26,7 +26,7 @@ //! * valuation(r - 1, 2) = 28 //! * G1 curve equation: y^2 = x^3 + 3 //! * G2 curve equation: y^2 = x^3 + B, where -//! * B = 3/(u+9) where Fq2[u]=Fq/u+1 +//! * B = 3/(u+9) where Fq2\[u\]=Fq/u+1 //! = Fq2(19485874751759354771024239261021720505790618469301721065564631296452457478373, 266929791119991161246907387137283842545076965332900288569378510910307636690) #[cfg(feature = "curve")] diff --git a/bw6_761/src/fields/fq3.rs b/bw6_761/src/fields/fq3.rs index 63dd38d..0c49955 100644 --- a/bw6_761/src/fields/fq3.rs +++ b/bw6_761/src/fields/fq3.rs @@ -16,7 +16,7 @@ impl Fp3Parameters for Fq3Parameters { type Fp = Fq; /// NONRESIDUE = -4 - // Fq3 = Fq[u]/u^3+4 + // Fq3 = Fq\[u\]/u^3+4 #[rustfmt::skip] const NONRESIDUE: Fq = field_new!(Fq, "-4"); diff --git a/bw6_761/src/lib.rs b/bw6_761/src/lib.rs index f43087b..117bab1 100644 --- a/bw6_761/src/lib.rs +++ b/bw6_761/src/lib.rs @@ -8,7 +8,7 @@ )] #![forbid(unsafe_code)] -//! This library implements the BW6_761 curve generated in [[EG20]](https://eprint.iacr.org/2020/351). +//! This library implements the BW6_761 curve generated in [\[EG20\]](https://eprint.iacr.org/2020/351). //! The name denotes that it is a curve generated using the Brezing--Weng method, and that //! its embedding degree is 6. //! The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve. diff --git a/cp6_782/src/lib.rs b/cp6_782/src/lib.rs index 53ce5e7..2163fb7 100644 --- a/cp6_782/src/lib.rs +++ b/cp6_782/src/lib.rs @@ -8,7 +8,7 @@ )] #![forbid(unsafe_code)] -//! This library implements the CP6_782 curve generated in [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). +//! This library implements the CP6_782 curve generated in [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962). //! The name denotes that it was generated using the Cocks--Pinch method for the embedding degree 6. //! The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve. //! diff --git a/ed_on_bls12_377/src/lib.rs b/ed_on_bls12_377/src/lib.rs index 0559442..8912279 100644 --- a/ed_on_bls12_377/src/lib.rs +++ b/ed_on_bls12_377/src/lib.rs @@ -11,7 +11,7 @@ //! This library implements a twisted Edwards curve whose base field is the scalar field of the //! curve BLS12-377. This allows defining cryptographic primitives that use elliptic curves over //! the scalar field of the latter curve. This curve was generated as part of the paper -//! [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). +//! [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962). //! //! Curve information: //! * Base field: q = 8444461749428370424248824938781546531375899335154063827935233455917409239041 diff --git a/ed_on_bw6_761/src/lib.rs b/ed_on_bw6_761/src/lib.rs index 12941f6..1b9c604 100644 --- a/ed_on_bw6_761/src/lib.rs +++ b/ed_on_bw6_761/src/lib.rs @@ -4,7 +4,7 @@ //! curve BW6_761. *It is the same curve as that in `ark-ed_on_cp6_782`.* //! This allows defining cryptographic primitives that use elliptic curves over the scalar field of //! the latter curve. This curve was generated as part of the paper -//! [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). +//! [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962). //! //! Curve information: //! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177 diff --git a/ed_on_cp6_782/src/lib.rs b/ed_on_cp6_782/src/lib.rs index ec0935c..2879a94 100644 --- a/ed_on_cp6_782/src/lib.rs +++ b/ed_on_cp6_782/src/lib.rs @@ -10,7 +10,7 @@ //! This library implements a twisted Edwards curve whose base field is the scalar field of the curve CP6. //! This allows defining cryptographic primitives that use elliptic curves over the scalar field of the latter curve. -//! This curve was generated as part of the paper [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). +//! This curve was generated as part of the paper [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962). //! //! Curve information: //! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177 diff --git a/mnt4_298/src/lib.rs b/mnt4_298/src/lib.rs index 0be2cfc..4797d30 100644 --- a/mnt4_298/src/lib.rs +++ b/mnt4_298/src/lib.rs @@ -9,7 +9,7 @@ #![forbid(unsafe_code)] //! This library implements the MNT4_298 curve generated by -//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a +//! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! Miyaji--Nakabayashi--Takano curve of embedding degree 4, defined over a 298-bit (prime) field. //! The main feature of this curve is that its scalar field and base field respectively equal the //! base field and scalar field of MNT6_298. diff --git a/mnt4_753/src/lib.rs b/mnt4_753/src/lib.rs index 4ecc23d..f7d0bb6 100644 --- a/mnt4_753/src/lib.rs +++ b/mnt4_753/src/lib.rs @@ -9,7 +9,7 @@ #![forbid(unsafe_code)] //! This library implements the MNT4_753 curve generated in -//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a +//! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! Miyaji--Nakabayashi--Takano curve of embedding degree 4, defined over a 753-bit (prime) field. //! The main feature of this curve is that its scalar field and base field respectively equal the //! base field and scalar field of MNT6_753. diff --git a/mnt6_298/src/lib.rs b/mnt6_298/src/lib.rs index ca905cd..1effbd9 100644 --- a/mnt6_298/src/lib.rs +++ b/mnt6_298/src/lib.rs @@ -9,7 +9,7 @@ #![forbid(unsafe_code)] //! This library implements the MNT6_298 curve generated in -//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a +//! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! Miyaji--Nakabayashi--Takano curve of embedding degree 6, defined over a 298-bit (prime) field. //! The main feature of this curve is that its scalar field and base field respectively equal the //! base field and scalar field of MNT4_298. diff --git a/mnt6_753/src/lib.rs b/mnt6_753/src/lib.rs index ab3d55e..0555999 100644 --- a/mnt6_753/src/lib.rs +++ b/mnt6_753/src/lib.rs @@ -9,7 +9,7 @@ #![forbid(unsafe_code)] //! This library implements the MNT6_753 curve generated in -//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a +//! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! Miyaji--Nakabayashi--Takano curve of embedding degree 6, defined over a 753-bit (prime) field. //! The main feature of this curve is that its scalar field and base field respectively equal the //! base field and scalar field of MNT4_753.