pub trait PoolParams: Clone + Sized {
type Fr: PrimeField;
type Fs: PrimeField;
type J: JubJubParams<Fr = Self::Fr, Fs = Self::Fs>;
// Required methods
fn jubjub(&self) -> &Self::J;
fn hash(&self) -> &PoseidonParams<Self::Fr>;
fn compress(&self) -> &PoseidonParams<Self::Fr>;
fn note(&self) -> &PoseidonParams<Self::Fr>;
fn account(&self) -> &PoseidonParams<Self::Fr>;
fn eddsa(&self) -> &PoseidonParams<Self::Fr>;
fn sponge(&self) -> &PoseidonParams<Self::Fr>;
fn nullifier_intermediate(&self) -> &PoseidonParams<Self::Fr>;
}
Required Associated Types§
type Fr: PrimeField
type Fs: PrimeField
type J: JubJubParams<Fr = Self::Fr, Fs = Self::Fs>
Required Methods§
fn jubjub(&self) -> &Self::J
fn hash(&self) -> &PoseidonParams<Self::Fr>
fn compress(&self) -> &PoseidonParams<Self::Fr>
fn note(&self) -> &PoseidonParams<Self::Fr>
fn account(&self) -> &PoseidonParams<Self::Fr>
fn eddsa(&self) -> &PoseidonParams<Self::Fr>
fn sponge(&self) -> &PoseidonParams<Self::Fr>
fn nullifier_intermediate(&self) -> &PoseidonParams<Self::Fr>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.