pub trait PoseidonInstructions<F: FieldExt, S: Spec<F, T, RATE>, const T: usize, const RATE: usize>: Chip<F> {
    type Word: Clone + Debug + From<AssignedCell<F, F>> + Into<AssignedCell<F, F>>;

    fn permute(
        &self,
        layouter: &mut impl Layouter<F>,
        initial_state: &[Self::Word; T]
    ) -> Result<[Self::Word; T], Error>; }
Expand description

The set of circuit instructions required to use the Poseidon permutation.

Required Associated Types

Variable representing the word over which the Poseidon permutation operates.

Required Methods

Applies the Poseidon permutation to the given state.

Implementors