pub trait PoseidonParams<F: PrimeField, const STATE_SIZE: usize, const NB_TOTAL_ROUNDS: usize> {
    // Required methods
    fn constants(&self) -> [[F; STATE_SIZE]; NB_TOTAL_ROUNDS];
    fn mds(&self) -> [[F; STATE_SIZE]; STATE_SIZE];
}
Expand description

Represents the parameters of the instance of the Poseidon permutation. Constants are the round constants for each round, and MDS is the matrix used by the linear layer. The type is parametrized by the field, the state size, and the total number of rounds.

Required Methods§

Implementors§

source§

impl PoseidonParams<Fp<MontBackend<FrConfig, 4>, 4>, STATE_SIZE, NB_TOTAL_ROUND> for PoseidonBN254Parameters