diff --git a/src/fec.rs b/src/fec.rs index f152dfed3546570e76937bcff99ff4e975fbb97f..07647a32bf70b8241168a34fa68e8edb38689aee 100644 --- a/src/fec.rs +++ b/src/fec.rs @@ -339,7 +339,14 @@ mod tests { #[test] fn decoding() { - decoding_template::<Bls12_381>(&BYTES[..63], 3, 5); + let (k, n) = (3, 5); + + let modulus_byte_size = <Bls12_381 as Pairing>::ScalarField::MODULUS_BIT_SIZE as usize / 8; + // NOTE: starting at `modulus_byte_size * (k - 1) + 1` to include at least _k_ elements + // FIXME: stopping at k elements, more yields crashes + for b in (modulus_byte_size * (k - 1) + 1)..=(modulus_byte_size * k) { + decoding_template::<Bls12_381>(&BYTES[..b], k, n); + } } fn create_fake_shard<E: Pairing>(