Skip to content
Snippets Groups Projects
Commit 1f879c79 authored by STEVAN Antoine's avatar STEVAN Antoine :crab:
Browse files

rewrite FEC tests (!3)

# changelog
- make the FEC decoding test more generic by accepting bytes and encoding by itself
- define a large `BYTES` constant that holds _random_ bytes
- calls the template on a slice of `BYTES`
parent f3d915a4
No related branches found
No related tags found
1 merge request!3rewrite FEC tests
Pipeline #3762 passed
......@@ -145,62 +145,197 @@ mod tests {
use crate::{
fec::{decode, LinearCombinationElement, Shard},
field,
linalg::Matrix,
};
const DATA: &[u8] = b"f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0o\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0o\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0z\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
const K: usize = 3;
const SHARDS: [[u32; K]; 7] = [
[102u32, 111u32, 111u32],
[298u32, 305u32, 347u32],
[690u32, 693u32, 827u32],
[1278u32, 1275u32, 1551u32],
[2062u32, 2051u32, 2519u32],
[3042u32, 3021u32, 3731u32],
[4218u32, 4185u32, 5187u32],
const BYTES: [u8; 2810] = [
99, 111, 110, 115, 116, 32, 75, 79, 77, 79, 68, 79, 95, 66, 73, 78, 65, 82, 89, 32, 61, 32,
34, 46, 47, 116, 97, 114, 103, 101, 116, 47, 114, 101, 108, 101, 97, 115, 101, 47, 107,
111, 109, 111, 100, 111, 34, 10, 10, 100, 101, 102, 32, 34, 110, 117, 45, 99, 111, 109,
112, 108, 101, 116, 101, 32, 108, 111, 103, 45, 108, 101, 118, 101, 108, 115, 34, 32, 91,
93, 58, 32, 110, 111, 116, 104, 105, 110, 103, 32, 45, 62, 32, 108, 105, 115, 116, 60, 115,
116, 114, 105, 110, 103, 62, 32, 123, 10, 32, 32, 32, 32, 91, 10, 32, 32, 32, 32, 32, 32,
32, 32, 34, 84, 82, 65, 67, 69, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 68, 69, 66, 85,
71, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 78, 70, 79, 34, 44, 10, 32, 32, 32,
32, 32, 32, 32, 32, 34, 87, 65, 82, 78, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 69,
82, 82, 79, 82, 34, 44, 10, 32, 32, 32, 32, 93, 10, 125, 10, 10, 100, 101, 102, 32, 114,
117, 110, 45, 107, 111, 109, 111, 100, 111, 32, 91, 10, 32, 32, 32, 32, 97, 114, 103, 115,
58, 32, 114, 101, 99, 111, 114, 100, 60, 98, 121, 116, 101, 115, 58, 32, 115, 116, 114,
105, 110, 103, 44, 32, 107, 58, 32, 105, 110, 116, 44, 32, 110, 58, 32, 105, 110, 116, 44,
32, 100, 111, 95, 103, 101, 110, 101, 114, 97, 116, 101, 95, 112, 111, 119, 101, 114, 115,
58, 32, 98, 111, 111, 108, 44, 32, 112, 111, 119, 101, 114, 115, 95, 102, 105, 108, 101,
58, 32, 112, 97, 116, 104, 44, 32, 100, 111, 95, 114, 101, 99, 111, 110, 115, 116, 114,
117, 99, 116, 95, 100, 97, 116, 97, 58, 32, 98, 111, 111, 108, 44, 32, 100, 111, 95, 118,
101, 114, 105, 102, 121, 95, 98, 108, 111, 99, 107, 115, 58, 32, 98, 111, 111, 108, 44, 32,
98, 108, 111, 99, 107, 95, 102, 105, 108, 101, 115, 58, 32, 108, 105, 115, 116, 60, 115,
116, 114, 105, 110, 103, 62, 62, 44, 10, 32, 32, 32, 32, 45, 45, 108, 111, 103, 45, 108,
101, 118, 101, 108, 58, 32, 115, 116, 114, 105, 110, 103, 44, 10, 93, 58, 32, 110, 111,
116, 104, 105, 110, 103, 32, 45, 62, 32, 97, 110, 121, 32, 123, 10, 32, 32, 32, 32, 119,
105, 116, 104, 45, 101, 110, 118, 32, 123, 82, 85, 83, 84, 95, 76, 79, 71, 58, 32, 36, 108,
111, 103, 95, 108, 101, 118, 101, 108, 125, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32,
108, 101, 116, 32, 114, 101, 115, 32, 61, 32, 100, 111, 32, 123, 10, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 94, 36, 75, 79, 77, 79, 68, 79, 95, 66, 73, 78, 65, 82, 89, 32,
40, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 36, 97, 114,
103, 115, 46, 98, 121, 116, 101, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 36, 97, 114, 103, 115, 46, 107, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 36, 97, 114, 103, 115, 46, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 40, 36, 97, 114, 103, 115, 46, 100, 111, 95, 103, 101, 110,
101, 114, 97, 116, 101, 95, 112, 111, 119, 101, 114, 115, 32, 124, 32, 105, 110, 116, 111,
32, 115, 116, 114, 105, 110, 103, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 36, 97, 114, 103, 115, 46, 112, 111, 119, 101, 114, 115, 95, 102, 105, 108,
101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 36, 97, 114,
103, 115, 46, 100, 111, 95, 114, 101, 99, 111, 110, 115, 116, 114, 117, 99, 116, 95, 100,
97, 116, 97, 32, 124, 32, 105, 110, 116, 111, 32, 115, 116, 114, 105, 110, 103, 41, 10, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 36, 97, 114, 103, 115, 46,
100, 111, 95, 118, 101, 114, 105, 102, 121, 95, 98, 108, 111, 99, 107, 115, 32, 124, 32,
105, 110, 116, 111, 32, 115, 116, 114, 105, 110, 103, 41, 10, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 93, 32, 124, 32, 97, 112, 112, 101, 110, 100, 32, 36, 97, 114, 103,
115, 46, 98, 108, 111, 99, 107, 95, 102, 105, 108, 101, 115, 41, 10, 32, 32, 32, 32, 32,
32, 32, 32, 125, 32, 124, 32, 99, 111, 109, 112, 108, 101, 116, 101, 10, 10, 32, 32, 32,
32, 32, 32, 32, 32, 112, 114, 105, 110, 116, 32, 36, 114, 101, 115, 46, 115, 116, 100, 111,
117, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 36, 114, 101, 115, 46, 115, 116, 100, 101,
114, 114, 32, 124, 32, 102, 114, 111, 109, 32, 106, 115, 111, 110, 10, 32, 32, 32, 32, 125,
10, 125, 10, 10, 101, 120, 112, 111, 114, 116, 32, 100, 101, 102, 32, 34, 107, 111, 109,
111, 100, 111, 32, 98, 117, 105, 108, 100, 34, 32, 91, 93, 32, 123, 10, 32, 32, 32, 32, 94,
99, 97, 114, 103, 111, 32, 98, 117, 105, 108, 100, 32, 45, 45, 112, 97, 99, 107, 97, 103,
101, 32, 107, 111, 109, 111, 100, 111, 32, 45, 45, 114, 101, 108, 101, 97, 115, 101, 10,
125, 10, 10, 101, 120, 112, 111, 114, 116, 32, 100, 101, 102, 32, 34, 107, 111, 109, 111,
100, 111, 32, 115, 101, 116, 117, 112, 34, 32, 91, 10, 32, 32, 32, 32, 98, 121, 116, 101,
115, 58, 32, 115, 116, 114, 105, 110, 103, 44, 10, 32, 32, 32, 32, 45, 45, 112, 111, 119,
101, 114, 115, 45, 102, 105, 108, 101, 58, 32, 112, 97, 116, 104, 32, 61, 32, 34, 112, 111,
119, 101, 114, 115, 46, 98, 105, 110, 34, 44, 10, 32, 32, 32, 32, 45, 45, 108, 111, 103,
45, 108, 101, 118, 101, 108, 58, 32, 115, 116, 114, 105, 110, 103, 64, 34, 110, 117, 45,
99, 111, 109, 112, 108, 101, 116, 101, 32, 108, 111, 103, 45, 108, 101, 118, 101, 108, 115,
34, 32, 61, 32, 34, 73, 78, 70, 79, 34, 10, 93, 58, 32, 110, 111, 116, 104, 105, 110, 103,
32, 45, 62, 32, 110, 111, 116, 104, 105, 110, 103, 32, 123, 10, 32, 32, 32, 32, 114, 117,
110, 45, 107, 111, 109, 111, 100, 111, 32, 45, 45, 108, 111, 103, 45, 108, 101, 118, 101,
108, 32, 36, 108, 111, 103, 95, 108, 101, 118, 101, 108, 32, 123, 10, 32, 32, 32, 32, 32,
32, 32, 32, 98, 121, 116, 101, 115, 58, 32, 36, 98, 121, 116, 101, 115, 44, 10, 32, 32, 32,
32, 32, 32, 32, 32, 107, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32,
48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 103, 101, 110, 101, 114, 97, 116,
101, 95, 112, 111, 119, 101, 114, 115, 58, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32,
32, 32, 32, 32, 112, 111, 119, 101, 114, 115, 95, 102, 105, 108, 101, 58, 32, 36, 112, 111,
119, 101, 114, 115, 95, 102, 105, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100,
111, 95, 114, 101, 99, 111, 110, 115, 116, 114, 117, 99, 116, 95, 100, 97, 116, 97, 58, 32,
102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 118, 101,
114, 105, 102, 121, 95, 98, 108, 111, 99, 107, 115, 58, 32, 102, 97, 108, 115, 101, 44, 10,
32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 111, 99, 107, 95, 102, 105, 108, 101, 115, 58, 32,
91, 93, 44, 10, 32, 32, 32, 32, 125, 10, 125, 10, 10, 101, 120, 112, 111, 114, 116, 32,
100, 101, 102, 32, 34, 107, 111, 109, 111, 100, 111, 32, 112, 114, 111, 118, 101, 34, 32,
91, 10, 32, 32, 32, 32, 98, 121, 116, 101, 115, 58, 32, 115, 116, 114, 105, 110, 103, 44,
10, 32, 32, 32, 32, 45, 45, 102, 101, 99, 45, 112, 97, 114, 97, 109, 115, 58, 32, 114, 101,
99, 111, 114, 100, 60, 107, 58, 32, 105, 110, 116, 44, 32, 110, 58, 32, 105, 110, 116, 62,
44, 10, 32, 32, 32, 32, 45, 45, 112, 111, 119, 101, 114, 115, 45, 102, 105, 108, 101, 58,
32, 112, 97, 116, 104, 32, 61, 32, 34, 112, 111, 119, 101, 114, 115, 46, 98, 105, 110, 34,
44, 10, 32, 32, 32, 32, 45, 45, 108, 111, 103, 45, 108, 101, 118, 101, 108, 58, 32, 115,
116, 114, 105, 110, 103, 64, 34, 110, 117, 45, 99, 111, 109, 112, 108, 101, 116, 101, 32,
108, 111, 103, 45, 108, 101, 118, 101, 108, 115, 34, 32, 61, 32, 34, 73, 78, 70, 79, 34,
10, 93, 58, 32, 110, 111, 116, 104, 105, 110, 103, 32, 45, 62, 32, 108, 105, 115, 116, 60,
115, 116, 114, 105, 110, 103, 62, 32, 123, 10, 32, 32, 32, 32, 114, 117, 110, 45, 107, 111,
109, 111, 100, 111, 32, 45, 45, 108, 111, 103, 45, 108, 101, 118, 101, 108, 32, 36, 108,
111, 103, 95, 108, 101, 118, 101, 108, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98,
121, 116, 101, 115, 58, 32, 36, 98, 121, 116, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32,
32, 107, 58, 32, 36, 102, 101, 99, 95, 112, 97, 114, 97, 109, 115, 46, 107, 44, 10, 32, 32,
32, 32, 32, 32, 32, 32, 110, 58, 32, 36, 102, 101, 99, 95, 112, 97, 114, 97, 109, 115, 46,
110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 103, 101, 110, 101, 114, 97,
116, 101, 95, 112, 111, 119, 101, 114, 115, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32,
32, 32, 32, 32, 32, 32, 112, 111, 119, 101, 114, 115, 95, 102, 105, 108, 101, 58, 32, 36,
112, 111, 119, 101, 114, 115, 95, 102, 105, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32,
32, 100, 111, 95, 114, 101, 99, 111, 110, 115, 116, 114, 117, 99, 116, 95, 100, 97, 116,
97, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 95,
118, 101, 114, 105, 102, 121, 95, 98, 108, 111, 99, 107, 115, 58, 32, 102, 97, 108, 115,
101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 111, 99, 107, 95, 102, 105, 108, 101,
115, 58, 32, 91, 93, 44, 10, 32, 32, 32, 32, 125, 10, 125, 10, 10, 101, 120, 112, 111, 114,
116, 32, 100, 101, 102, 32, 34, 107, 111, 109, 111, 100, 111, 32, 118, 101, 114, 105, 102,
121, 34, 32, 91, 10, 32, 32, 32, 32, 46, 46, 46, 98, 108, 111, 99, 107, 115, 58, 32, 112,
97, 116, 104, 44, 10, 32, 32, 32, 32, 45, 45, 112, 111, 119, 101, 114, 115, 45, 102, 105,
108, 101, 58, 32, 112, 97, 116, 104, 32, 61, 32, 34, 112, 111, 119, 101, 114, 115, 46, 98,
105, 110, 34, 44, 10, 32, 32, 32, 32, 45, 45, 108, 111, 103, 45, 108, 101, 118, 101, 108,
58, 32, 115, 116, 114, 105, 110, 103, 64, 34, 110, 117, 45, 99, 111, 109, 112, 108, 101,
116, 101, 32, 108, 111, 103, 45, 108, 101, 118, 101, 108, 115, 34, 32, 61, 32, 34, 73, 78,
70, 79, 34, 10, 93, 58, 32, 110, 111, 116, 104, 105, 110, 103, 32, 45, 62, 32, 116, 97, 98,
108, 101, 60, 98, 108, 111, 99, 107, 58, 32, 115, 116, 114, 105, 110, 103, 44, 32, 115,
116, 97, 116, 117, 115, 58, 32, 105, 110, 116, 62, 32, 123, 10, 32, 32, 32, 32, 114, 117,
110, 45, 107, 111, 109, 111, 100, 111, 32, 45, 45, 108, 111, 103, 45, 108, 101, 118, 101,
108, 32, 36, 108, 111, 103, 95, 108, 101, 118, 101, 108, 32, 123, 10, 32, 32, 32, 32, 32,
32, 32, 32, 98, 121, 116, 101, 115, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,
107, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32, 48, 44, 10, 32, 32,
32, 32, 32, 32, 32, 32, 100, 111, 95, 103, 101, 110, 101, 114, 97, 116, 101, 95, 112, 111,
119, 101, 114, 115, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,
112, 111, 119, 101, 114, 115, 95, 102, 105, 108, 101, 58, 32, 36, 112, 111, 119, 101, 114,
115, 95, 102, 105, 108, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 114,
101, 99, 111, 110, 115, 116, 114, 117, 99, 116, 95, 100, 97, 116, 97, 58, 32, 102, 97, 108,
115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 118, 101, 114, 105, 102,
121, 95, 98, 108, 111, 99, 107, 115, 58, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32,
32, 32, 32, 32, 98, 108, 111, 99, 107, 95, 102, 105, 108, 101, 115, 58, 32, 36, 98, 108,
111, 99, 107, 115, 44, 10, 32, 32, 32, 32, 125, 10, 125, 10, 10, 101, 120, 112, 111, 114,
116, 32, 100, 101, 102, 32, 34, 107, 111, 109, 111, 100, 111, 32, 114, 101, 99, 111, 110,
115, 116, 114, 117, 99, 116, 34, 32, 91, 10, 32, 32, 32, 32, 46, 46, 46, 98, 108, 111, 99,
107, 115, 58, 32, 112, 97, 116, 104, 44, 10, 32, 32, 32, 32, 45, 45, 108, 111, 103, 45,
108, 101, 118, 101, 108, 58, 32, 115, 116, 114, 105, 110, 103, 64, 34, 110, 117, 45, 99,
111, 109, 112, 108, 101, 116, 101, 32, 108, 111, 103, 45, 108, 101, 118, 101, 108, 115, 34,
32, 61, 32, 34, 73, 78, 70, 79, 34, 10, 93, 58, 32, 110, 111, 116, 104, 105, 110, 103, 32,
45, 62, 32, 108, 105, 115, 116, 60, 105, 110, 116, 62, 32, 123, 10, 32, 32, 32, 32, 114,
117, 110, 45, 107, 111, 109, 111, 100, 111, 32, 45, 45, 108, 111, 103, 45, 108, 101, 118,
101, 108, 32, 36, 108, 111, 103, 95, 108, 101, 118, 101, 108, 32, 123, 10, 32, 32, 32, 32,
32, 32, 32, 32, 98, 121, 116, 101, 115, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32,
32, 107, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32, 48, 44, 10, 32,
32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 103, 101, 110, 101, 114, 97, 116, 101, 95, 112,
111, 119, 101, 114, 115, 58, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32,
32, 32, 112, 111, 119, 101, 114, 115, 95, 102, 105, 108, 101, 58, 32, 34, 34, 44, 10, 32,
32, 32, 32, 32, 32, 32, 32, 100, 111, 95, 114, 101, 99, 111, 110, 115, 116, 114, 117, 99,
116, 95, 100, 97, 116, 97, 58, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32,
32, 100, 111, 95, 118, 101, 114, 105, 102, 121, 95, 98, 108, 111, 99, 107, 115, 58, 32,
102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 108, 111, 99, 107, 95,
102, 105, 108, 101, 115, 58, 32, 36, 98, 108, 111, 99, 107, 115, 44, 10, 32, 32, 32, 32,
125, 10, 125, 10,
];
const LOST_SHARDS: [usize; 2] = [4, 0];
fn decoding_template<E: Pairing>() {
let hash = Sha256::hash(DATA).to_vec();
fn decoding_template<E: Pairing>(data: &[u8], k: usize, n: usize) {
let hash = Sha256::hash(data).to_vec();
let mut shards = SHARDS
.iter()
.map(|r| {
Some(
r.iter()
.map(|s| E::ScalarField::from_le_bytes_mod_order(&s.to_le_bytes()))
.collect::<Vec<_>>(),
)
})
.collect::<Vec<_>>();
for i in LOST_SHARDS {
shards[i] = None;
}
let points: Vec<E::ScalarField> = (0..n)
.map(|i| E::ScalarField::from_le_bytes_mod_order(&[i as u8]))
.collect();
let encoding = Matrix::vandermonde(&points, k);
let mut blocks = Vec::new();
for (i, shard) in shards.iter().enumerate() {
if let Some(bytes) = shard {
blocks.push(Shard {
k: K as u32,
linear_combination: vec![LinearCombinationElement {
index: i as u32,
weight: E::ScalarField::one(),
}],
hash: hash.clone(),
bytes: field::merge_elements_into_bytes::<E>(bytes, false),
size: DATA.len(),
});
}
}
let source_shards = Matrix::from_vec_vec(
field::split_data_into_field_elements::<E>(data, 1, false)
.chunks(k)
.map(|c| c.to_vec())
.collect(),
)
.unwrap_or_else(|_| panic!("could not build source shard matrix ({} bytes)", data.len()));
let shards = source_shards
.mul(&encoding)
.unwrap_or_else(|_| panic!("could not encode shards ({} bytes)", data.len()))
.transpose()
.elements
.chunks(source_shards.height)
.enumerate()
.map(|(i, s)| Shard {
k: k as u32,
linear_combination: vec![LinearCombinationElement {
index: i as u32,
weight: E::ScalarField::one(),
}],
hash: hash.clone(),
bytes: field::merge_elements_into_bytes::<E>(s, false),
size: data.len(),
})
.collect();
assert_eq!(DATA, decode::<E>(blocks).unwrap())
assert_eq!(
data,
decode::<E>(shards)
.unwrap_or_else(|_| panic!("could not decode shards ({} bytes)", data.len()))
);
}
#[test]
fn decoding() {
decoding_template::<Bls12_381>();
decoding_template::<Bls12_381>(&BYTES[..63], 3, 5);
}
fn create_fake_shard<E: Pairing>(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment