Trait PoolParams

Source
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§

Source

type Fr: PrimeField

Source

type Fs: PrimeField

Source

type J: JubJubParams<Fr = Self::Fr, Fs = Self::Fs>

Required Methods§

Source

fn jubjub(&self) -> &Self::J

Source

fn hash(&self) -> &PoseidonParams<Self::Fr>

Source

fn compress(&self) -> &PoseidonParams<Self::Fr>

Source

fn note(&self) -> &PoseidonParams<Self::Fr>

Source

fn account(&self) -> &PoseidonParams<Self::Fr>

Source

fn eddsa(&self) -> &PoseidonParams<Self::Fr>

Source

fn sponge(&self) -> &PoseidonParams<Self::Fr>

Source

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.

Implementors§