1#![cfg_attr(not(feature = "std"), no_std)]
3
4mod hash;
5mod params;
6
7pub use hash::{hash_1, hash_2, hash_3, hash_4, hash_5, hash_6, hash_7};
8
9pub const RATE_1_PARAMS: PoseidonParameters<2, 1, 4, 1, 39, 2, 78, 31> = params::rate_1::rate_1();
11
12pub const RATE_2_PARAMS: PoseidonParameters<3, 2, 9, 4, 39, 3, 117, 31> = params::rate_2::rate_2();
14
15pub const RATE_3_PARAMS: PoseidonParameters<4, 3, 16, 9, 39, 4, 156, 31> = params::rate_3::rate_3();
17
18pub const RATE_4_PARAMS: PoseidonParameters<5, 4, 25, 16, 39, 5, 195, 31> =
20 params::rate_4::rate_4();
21
22pub const RATE_5_PARAMS: PoseidonParameters<6, 5, 36, 25, 39, 6, 234, 31> =
24 params::rate_5::rate_5();
25
26pub const RATE_6_PARAMS: PoseidonParameters<7, 6, 49, 36, 39, 7, 273, 31> =
28 params::rate_6::rate_6();
29
30pub const RATE_7_PARAMS: PoseidonParameters<8, 7, 64, 49, 39, 8, 312, 31> =
32 params::rate_7::rate_7();
33
34pub use decaf377::Fq;
35pub use poseidon_parameters::v1::PoseidonParameters;
36pub use poseidon_permutation::Instance;
37
38#[cfg(feature = "r1cs")]
39pub mod r1cs;