P128Pow5T3Fp constructor
P128Pow5T3Fp({
- MdsGenerateResult<
PallasFp> ? constants,
Implementation
factory P128Pow5T3Fp({MdsGenerateResult<PallasFp>? constants}) {
if (constants != null && !PoseidonSpec.isValidConstants(constants)) {
throw ArgumentException.invalidOperationArguments(
"P128Pow5T3Fp",
reason: "Invalid constants length.",
);
}
constants ??= PoseidonUtils.generateConstants<PallasFp>(
fromBytes: (bytes) {
if (bytes.length == 32) {
return PallasFp.fromBytes(bytes);
}
return PallasFp.fromBytes64(bytes);
},
zero: PallasFp.zero(),
one: PallasFp.one(),
);
return P128Pow5T3Fp._(constants);
}