Sponge<F extends PastaFieldElement<F> > constructor
Sponge<F extends PastaFieldElement<F> > ({
- required F initialCapacityElement,
- required PoseidonSpec<
F> state,
Implementation
factory Sponge({
required F initialCapacityElement,
required PoseidonSpec<F> state,
}) {
final rate = state.rate();
final F zero = state.zero();
final constants = state.constants;
final mode = Absorbing<F>(List.filled(rate, null));
final st = List.filled(constants.mds.length, zero);
st[rate] = initialCapacityElement;
return Sponge._(mode: mode, state: st, spec: state);
}