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}