decaf377/lib.rs
1#![no_std]
2//! `decaf377` [instantiates Decaf over the BLS12-377 scalar
3//! field](https://penumbra.zone/crypto/primitives/decaf377.html).
4//!
5use cfg_if::cfg_if;
6
7pub mod fields;
8pub use fields::{fp::Fp, fq::Fq, fr::Fr};
9mod sign;
10
11mod error;
12pub use error::EncodingError;
13
14cfg_if! {
15 if #[cfg(feature = "arkworks")] {
16 mod ark_curve;
17
18 pub use ark_curve::{Element, Encoding, ZETA};
19
20 pub use ark_curve::bls12_377::Bls12_377;
21
22 #[cfg(feature = "r1cs")]
23 pub use ark_curve::r1cs;
24
25
26 } else {
27 mod min_curve;
28
29 pub use min_curve::{Element, Encoding, ZETA};
30 }
31}