ark_grumpkin/
lib.rs

1#![cfg_attr(not(feature = "std"), no_std)]
2#![deny(
3    warnings,
4    unused,
5    future_incompatible,
6    nonstandard_style,
7    rust_2018_idioms
8)]
9#![forbid(unsafe_code)]
10
11//! This library implements the prime-order curve Grumpkin, generated by
12//! Zachary J. Williamson from Aztec protocol. The main feature of this
13//! curve is that it forms a cycle with bn254, i.e. its scalar field and base
14//! field respectively are the base field and scalar field of bn254.
15//!
16//!
17//! Curve information:
18//! Grumpkin:
19//! * Base field: q =
20//!   21888242871839275222246405745257275088548364400416034343698204186575808495617
21//! * Scalar field: r =
22//!   21888242871839275222246405745257275088696311157297823662689037894645226208583
23//! * Curve equation: y^2 = x^3 - 17
24//! * Valuation(q - 1, 2) = 28
25//! * Valuation(r - 1, 2) = 1
26
27#[cfg(feature = "r1cs")]
28pub mod constraints;
29mod curves;
30mod fields;
31
32pub use curves::*;
33pub use fields::*;