pub trait PoseidonSpongeInstructions<F: FieldExt, S: Spec<F, T, RATE>, D: Domain<F, RATE>, const T: usize, const RATE: usize>: PoseidonInstructions<F, S, T, RATE> {
    fn initial_state(
        &self,
        layouter: &mut impl Layouter<F>
    ) -> Result<[Self::Word; T], Error>; fn add_input(
        &self,
        layouter: &mut impl Layouter<F>,
        initial_state: &[Self::Word; T],
        input: &Absorbing<PaddedWord<F>, RATE>
    ) -> Result<[Self::Word; T], Error>; fn get_output(state: &[Self::Word; T]) -> Squeezing<Self::Word, RATE>; }
Expand description

The set of circuit instructions required to use the Sponge and Hash gadgets.

Required Methods

Returns the initial empty state for the given domain.

Adds the given input to the state.

Extracts sponge output from the given state.

Implementors