1use super::poseidon2_params::Poseidon2Params;
2use crate::fields::{bn256::FpBN256, utils::from_hex};
3
4use lazy_static::lazy_static;
5use std::sync::Arc;
6
7type Scalar = FpBN256;
8
9lazy_static! {
10 pub static ref MAT_DIAG2_M_1: Vec<Scalar> = vec![
11 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
12 from_hex("0x0000000000000000000000000000000000000000000000000000000000000002"),
13 ];
14 pub static ref MAT_INTERNAL2: Vec<Vec<Scalar>> = vec![
15 vec![
16 from_hex("0x0000000000000000000000000000000000000000000000000000000000000002"),
17 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
18 ],
19 vec![
20 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
21 from_hex("0x0000000000000000000000000000000000000000000000000000000000000003"),
22 ],
23 ];
24 pub static ref RC2: Vec<Vec<Scalar>> = vec![
25 vec![
26 from_hex("0x09c46e9ec68e9bd4fe1faaba294cba38a71aa177534cdd1b6c7dc0dbd0abd7a7"),
27 from_hex("0x0c0356530896eec42a97ed937f3135cfc5142b3ae405b8343c1d83ffa604cb81"),
28 ],
29 vec![
30 from_hex("0x1e28a1d935698ad1142e51182bb54cf4a00ea5aabd6268bd317ea977cc154a30"),
31 from_hex("0x27af2d831a9d2748080965db30e298e40e5757c3e008db964cf9e2b12b91251f"),
32 ],
33 vec![
34 from_hex("0x1e6f11ce60fc8f513a6a3cfe16ae175a41291462f214cd0879aaf43545b74e03"),
35 from_hex("0x2a67384d3bbd5e438541819cb681f0be04462ed14c3613d8f719206268d142d3"),
36 ],
37 vec![
38 from_hex("0x0b66fdf356093a611609f8e12fbfecf0b985e381f025188936408f5d5c9f45d0"),
39 from_hex("0x012ee3ec1e78d470830c61093c2ade370b26c83cc5cebeeddaa6852dbdb09e21"),
40 ],
41 vec![
42 from_hex("0x0252ba5f6760bfbdfd88f67f8175e3fd6cd1c431b099b6bb2d108e7b445bb1b9"),
43 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
44 ],
45 vec![
46 from_hex("0x179474cceca5ff676c6bec3cef54296354391a8935ff71d6ef5aeaad7ca932f1"),
47 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
48 ],
49 vec![
50 from_hex("0x2c24261379a51bfa9228ff4a503fd4ed9c1f974a264969b37e1a2589bbed2b91"),
51 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
52 ],
53 vec![
54 from_hex("0x1cc1d7b62692e63eac2f288bd0695b43c2f63f5001fc0fc553e66c0551801b05"),
55 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
56 ],
57 vec![
58 from_hex("0x255059301aada98bb2ed55f852979e9600784dbf17fbacd05d9eff5fd9c91b56"),
59 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
60 ],
61 vec![
62 from_hex("0x28437be3ac1cb2e479e1f5c0eccd32b3aea24234970a8193b11c29ce7e59efd9"),
63 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
64 ],
65 vec![
66 from_hex("0x28216a442f2e1f711ca4fa6b53766eb118548da8fb4f78d4338762c37f5f2043"),
67 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
68 ],
69 vec![
70 from_hex("0x2c1f47cd17fa5adf1f39f4e7056dd03feee1efce03094581131f2377323482c9"),
71 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
72 ],
73 vec![
74 from_hex("0x07abad02b7a5ebc48632bcc9356ceb7dd9dafca276638a63646b8566a621afc9"),
75 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
76 ],
77 vec![
78 from_hex("0x0230264601ffdf29275b33ffaab51dfe9429f90880a69cd137da0c4d15f96c3c"),
79 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
80 ],
81 vec![
82 from_hex("0x1bc973054e51d905a0f168656497ca40a864414557ee289e717e5d66899aa0a9"),
83 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
84 ],
85 vec![
86 from_hex("0x2e1c22f964435008206c3157e86341edd249aff5c2d8421f2a6b22288f0a67fc"),
87 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
88 ],
89 vec![
90 from_hex("0x1224f38df67c5378121c1d5f461bbc509e8ea1598e46c9f7a70452bc2bba86b8"),
91 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
92 ],
93 vec![
94 from_hex("0x02e4e69d8ba59e519280b4bd9ed0068fd7bfe8cd9dfeda1969d2989186cde20e"),
95 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
96 ],
97 vec![
98 from_hex("0x1f1eccc34aaba0137f5df81fc04ff3ee4f19ee364e653f076d47e9735d98018e"),
99 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
100 ],
101 vec![
102 from_hex("0x1672ad3d709a353974266c3039a9a7311424448032cd1819eacb8a4d4284f582"),
103 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
104 ],
105 vec![
106 from_hex("0x283e3fdc2c6e420c56f44af5192b4ae9cda6961f284d24991d2ed602df8c8fc7"),
107 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
108 ],
109 vec![
110 from_hex("0x1c2a3d120c550ecfd0db0957170fa013683751f8fdff59d6614fbd69ff394bcc"),
111 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
112 ],
113 vec![
114 from_hex("0x216f84877aac6172f7897a7323456efe143a9a43773ea6f296cb6b8177653fbd"),
115 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
116 ],
117 vec![
118 from_hex("0x2c0d272becf2a75764ba7e8e3e28d12bceaa47ea61ca59a411a1f51552f94788"),
119 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
120 ],
121 vec![
122 from_hex("0x16e34299865c0e28484ee7a74c454e9f170a5480abe0508fcb4a6c3d89546f43"),
123 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
124 ],
125 vec![
126 from_hex("0x175ceba599e96f5b375a232a6fb9cc71772047765802290f48cd939755488fc5"),
127 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
128 ],
129 vec![
130 from_hex("0x0c7594440dc48c16fead9e1758b028066aa410bfbc354f54d8c5ffbb44a1ee32"),
131 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
132 ],
133 vec![
134 from_hex("0x1a3c29bc39f21bb5c466db7d7eb6fd8f760e20013ccf912c92479882d919fd8d"),
135 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
136 ],
137 vec![
138 from_hex("0x0ccfdd906f3426e5c0986ea049b253400855d349074f5a6695c8eeabcd22e68f"),
139 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
140 ],
141 vec![
142 from_hex("0x14f6bc81d9f186f62bdb475ce6c9411866a7a8a3fd065b3ce0e699b67dd9e796"),
143 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
144 ],
145 vec![
146 from_hex("0x0962b82789fb3d129702ca70b2f6c5aacc099810c9c495c888edeb7386b97052"),
147 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
148 ],
149 vec![
150 from_hex("0x1a880af7074d18b3bf20c79de25127bc13284ab01ef02575afef0c8f6a31a86d"),
151 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
152 ],
153 vec![
154 from_hex("0x10cba18419a6a332cd5e77f0211c154b20af2924fc20ff3f4c3012bb7ae9311b"),
155 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
156 ],
157 vec![
158 from_hex("0x057e62a9a8f89b3ebdc76ba63a9eaca8fa27b7319cae3406756a2849f302f10d"),
159 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
160 ],
161 vec![
162 from_hex("0x287c971de91dc0abd44adf5384b4988cb961303bbf65cff5afa0413b44280cee"),
163 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
164 ],
165 vec![
166 from_hex("0x21df3388af1687bbb3bca9da0cca908f1e562bc46d4aba4e6f7f7960e306891d"),
167 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
168 ],
169 vec![
170 from_hex("0x1be5c887d25bce703e25cc974d0934cd789df8f70b498fd83eff8b560e1682b3"),
171 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
172 ],
173 vec![
174 from_hex("0x268da36f76e568fb68117175cea2cd0dd2cb5d42fda5acea48d59c2706a0d5c1"),
175 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
176 ],
177 vec![
178 from_hex("0x0e17ab091f6eae50c609beaf5510ececc5d8bb74135ebd05bd06460cc26a5ed6"),
179 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
180 ],
181 vec![
182 from_hex("0x04d727e728ffa0a67aee535ab074a43091ef62d8cf83d270040f5caa1f62af40"),
183 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
184 ],
185 vec![
186 from_hex("0x0ddbd7bf9c29341581b549762bc022ed33702ac10f1bfd862b15417d7e39ca6e"),
187 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
188 ],
189 vec![
190 from_hex("0x2790eb3351621752768162e82989c6c234f5b0d1d3af9b588a29c49c8789654b"),
191 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
192 ],
193 vec![
194 from_hex("0x1e457c601a63b73e4471950193d8a570395f3d9ab8b2fd0984b764206142f9e9"),
195 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
196 ],
197 vec![
198 from_hex("0x21ae64301dca9625638d6ab2bbe7135ffa90ecd0c43ff91fc4c686fc46e091b0"),
199 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
200 ],
201 vec![
202 from_hex("0x0379f63c8ce3468d4da293166f494928854be9e3432e09555858534eed8d350b"),
203 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
204 ],
205 vec![
206 from_hex("0x002d56420359d0266a744a080809e054ca0e4921a46686ac8c9f58a324c35049"),
207 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
208 ],
209 vec![
210 from_hex("0x123158e5965b5d9b1d68b3cd32e10bbeda8d62459e21f4090fc2c5af963515a6"),
211 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
212 ],
213 vec![
214 from_hex("0x0be29fc40847a941661d14bbf6cbe0420fbb2b6f52836d4e60c80eb49cad9ec1"),
215 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
216 ],
217 vec![
218 from_hex("0x1ac96991dec2bb0557716142015a453c36db9d859cad5f9a233802f24fdf4c1a"),
219 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
220 ],
221 vec![
222 from_hex("0x1596443f763dbcc25f4964fc61d23b3e5e12c9fa97f18a9251ca3355bcb0627e"),
223 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
224 ],
225 vec![
226 from_hex("0x12e0bcd3654bdfa76b2861d4ec3aeae0f1857d9f17e715aed6d049eae3ba3212"),
227 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
228 ],
229 vec![
230 from_hex("0x0fc92b4f1bbea82b9ea73d4af9af2a50ceabac7f37154b1904e6c76c7cf964ba"),
231 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
232 ],
233 vec![
234 from_hex("0x1f9c0b1610446442d6f2e592a8013f40b14f7c7722236f4f9c7e965233872762"),
235 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
236 ],
237 vec![
238 from_hex("0x0ebd74244ae72675f8cde06157a782f4050d914da38b4c058d159f643dbbf4d3"),
239 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
240 ],
241 vec![
242 from_hex("0x2cb7f0ed39e16e9f69a9fafd4ab951c03b0671e97346ee397a839839dccfc6d1"),
243 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
244 ],
245 vec![
246 from_hex("0x1a9d6e2ecff022cc5605443ee41bab20ce761d0514ce526690c72bca7352d9bf"),
247 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
248 ],
249 vec![
250 from_hex("0x2a115439607f335a5ea83c3bc44a9331d0c13326a9a7ba3087da182d648ec72f"),
251 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
252 ],
253 vec![
254 from_hex("0x23f9b6529b5d040d15b8fa7aee3e3410e738b56305cd44f29535c115c5a4c060"),
255 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
256 ],
257 vec![
258 from_hex("0x05872c16db0f72a2249ac6ba484bb9c3a3ce97c16d58b68b260eb939f0e6e8a7"),
259 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
260 ],
261 vec![
262 from_hex("0x1300bdee08bb7824ca20fb80118075f40219b6151d55b5c52b624a7cdeddf6a7"),
263 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
264 ],
265 vec![
266 from_hex("0x19b9b63d2f108e17e63817863a8f6c288d7ad29916d98cb1072e4e7b7d52b376"),
267 from_hex("0x015bee1357e3c015b5bda237668522f613d1c88726b5ec4224a20128481b4f7f"),
268 ],
269 vec![
270 from_hex("0x2953736e94bb6b9f1b9707a4f1615e4efe1e1ce4bab218cbea92c785b128ffd1"),
271 from_hex("0x0b069353ba091618862f806180c0385f851b98d372b45f544ce7266ed6608dfc"),
272 ],
273 vec![
274 from_hex("0x304f74d461ccc13115e4e0bcfb93817e55aeb7eb9306b64e4f588ac97d81f429"),
275 from_hex("0x15bbf146ce9bca09e8a33f5e77dfe4f5aad2a164a4617a4cb8ee5415cde913fc"),
276 ],
277 vec![
278 from_hex("0x0ab4dfe0c2742cde44901031487964ed9b8f4b850405c10ca9ff23859572c8c6"),
279 from_hex("0x0e32db320a044e3197f45f7649a19675ef5eedfea546dea9251de39f9639779a"),
280 ],
281 ];
282 pub static ref POSEIDON2_BN256_PARAMS_2: Arc<Poseidon2Params<Scalar>> = Arc::new(
283 Poseidon2Params::new(2, 5, 8, 56, &MAT_DIAG2_M_1, &MAT_INTERNAL2, &RC2)
284 );
285}
286
287lazy_static! {
288 pub static ref MAT_DIAG3_M_1: Vec<Scalar> = vec![
289 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
290 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
291 from_hex("0x0000000000000000000000000000000000000000000000000000000000000002"),
292 ];
293 pub static ref MAT_INTERNAL3: Vec<Vec<Scalar>> = vec![
294 vec![
295 from_hex("0x0000000000000000000000000000000000000000000000000000000000000002"),
296 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
297 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
298 ],
299 vec![
300 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
301 from_hex("0x0000000000000000000000000000000000000000000000000000000000000002"),
302 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
303 ],
304 vec![
305 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
306 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
307 from_hex("0x0000000000000000000000000000000000000000000000000000000000000003"),
308 ],
309 ];
310 pub static ref RC3: Vec<Vec<Scalar>> = vec![
311 vec![
312 from_hex("0x1d066a255517b7fd8bddd3a93f7804ef7f8fcde48bb4c37a59a09a1a97052816"),
313 from_hex("0x29daefb55f6f2dc6ac3f089cebcc6120b7c6fef31367b68eb7238547d32c1610"),
314 from_hex("0x1f2cb1624a78ee001ecbd88ad959d7012572d76f08ec5c4f9e8b7ad7b0b4e1d1"),
315 ],
316 vec![
317 from_hex("0x0aad2e79f15735f2bd77c0ed3d14aa27b11f092a53bbc6e1db0672ded84f31e5"),
318 from_hex("0x2252624f8617738cd6f661dd4094375f37028a98f1dece66091ccf1595b43f28"),
319 from_hex("0x1a24913a928b38485a65a84a291da1ff91c20626524b2b87d49f4f2c9018d735"),
320 ],
321 vec![
322 from_hex("0x22fc468f1759b74d7bfc427b5f11ebb10a41515ddff497b14fd6dae1508fc47a"),
323 from_hex("0x1059ca787f1f89ed9cd026e9c9ca107ae61956ff0b4121d5efd65515617f6e4d"),
324 from_hex("0x02be9473358461d8f61f3536d877de982123011f0bf6f155a45cbbfae8b981ce"),
325 ],
326 vec![
327 from_hex("0x0ec96c8e32962d462778a749c82ed623aba9b669ac5b8736a1ff3a441a5084a4"),
328 from_hex("0x292f906e073677405442d9553c45fa3f5a47a7cdb8c99f9648fb2e4d814df57e"),
329 from_hex("0x274982444157b86726c11b9a0f5e39a5cc611160a394ea460c63f0b2ffe5657e"),
330 ],
331 vec![
332 from_hex("0x1a1d063e54b1e764b63e1855bff015b8cedd192f47308731499573f23597d4b5"),
333 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
334 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
335 ],
336 vec![
337 from_hex("0x26abc66f3fdf8e68839d10956259063708235dccc1aa3793b91b002c5b257c37"),
338 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
339 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
340 ],
341 vec![
342 from_hex("0x0c7c64a9d887385381a578cfed5aed370754427aabca92a70b3c2b12ff4d7be8"),
343 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
344 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
345 ],
346 vec![
347 from_hex("0x1cf5998769e9fab79e17f0b6d08b2d1eba2ebac30dc386b0edd383831354b495"),
348 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
349 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
350 ],
351 vec![
352 from_hex("0x0f5e3a8566be31b7564ca60461e9e08b19828764a9669bc17aba0b97e66b0109"),
353 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
354 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
355 ],
356 vec![
357 from_hex("0x18df6a9d19ea90d895e60e4db0794a01f359a53a180b7d4b42bf3d7a531c976e"),
358 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
359 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
360 ],
361 vec![
362 from_hex("0x04f7bf2c5c0538ac6e4b782c3c6e601ad0ea1d3a3b9d25ef4e324055fa3123dc"),
363 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
364 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
365 ],
366 vec![
367 from_hex("0x29c76ce22255206e3c40058523748531e770c0584aa2328ce55d54628b89ebe6"),
368 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
369 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
370 ],
371 vec![
372 from_hex("0x198d425a45b78e85c053659ab4347f5d65b1b8e9c6108dbe00e0e945dbc5ff15"),
373 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
374 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
375 ],
376 vec![
377 from_hex("0x25ee27ab6296cd5e6af3cc79c598a1daa7ff7f6878b3c49d49d3a9a90c3fdf74"),
378 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
379 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
380 ],
381 vec![
382 from_hex("0x138ea8e0af41a1e024561001c0b6eb1505845d7d0c55b1b2c0f88687a96d1381"),
383 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
384 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
385 ],
386 vec![
387 from_hex("0x306197fb3fab671ef6e7c2cba2eefd0e42851b5b9811f2ca4013370a01d95687"),
388 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
389 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
390 ],
391 vec![
392 from_hex("0x1a0c7d52dc32a4432b66f0b4894d4f1a21db7565e5b4250486419eaf00e8f620"),
393 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
394 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
395 ],
396 vec![
397 from_hex("0x2b46b418de80915f3ff86a8e5c8bdfccebfbe5f55163cd6caa52997da2c54a9f"),
398 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
399 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
400 ],
401 vec![
402 from_hex("0x12d3e0dc0085873701f8b777b9673af9613a1af5db48e05bfb46e312b5829f64"),
403 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
404 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
405 ],
406 vec![
407 from_hex("0x263390cf74dc3a8870f5002ed21d089ffb2bf768230f648dba338a5cb19b3a1f"),
408 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
409 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
410 ],
411 vec![
412 from_hex("0x0a14f33a5fe668a60ac884b4ca607ad0f8abb5af40f96f1d7d543db52b003dcd"),
413 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
414 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
415 ],
416 vec![
417 from_hex("0x28ead9c586513eab1a5e86509d68b2da27be3a4f01171a1dd847df829bc683b9"),
418 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
419 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
420 ],
421 vec![
422 from_hex("0x1c6ab1c328c3c6430972031f1bdb2ac9888f0ea1abe71cffea16cda6e1a7416c"),
423 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
424 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
425 ],
426 vec![
427 from_hex("0x1fc7e71bc0b819792b2500239f7f8de04f6decd608cb98a932346015c5b42c94"),
428 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
429 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
430 ],
431 vec![
432 from_hex("0x03e107eb3a42b2ece380e0d860298f17c0c1e197c952650ee6dd85b93a0ddaa8"),
433 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
434 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
435 ],
436 vec![
437 from_hex("0x2d354a251f381a4669c0d52bf88b772c46452ca57c08697f454505f6941d78cd"),
438 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
439 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
440 ],
441 vec![
442 from_hex("0x094af88ab05d94baf687ef14bc566d1c522551d61606eda3d14b4606826f794b"),
443 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
444 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
445 ],
446 vec![
447 from_hex("0x19705b783bf3d2dc19bcaeabf02f8ca5e1ab5b6f2e3195a9d52b2d249d1396f7"),
448 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
449 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
450 ],
451 vec![
452 from_hex("0x09bf4acc3a8bce3f1fcc33fee54fc5b28723b16b7d740a3e60cef6852271200e"),
453 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
454 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
455 ],
456 vec![
457 from_hex("0x1803f8200db6013c50f83c0c8fab62843413732f301f7058543a073f3f3b5e4e"),
458 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
459 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
460 ],
461 vec![
462 from_hex("0x0f80afb5046244de30595b160b8d1f38bf6fb02d4454c0add41f7fef2faf3e5c"),
463 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
464 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
465 ],
466 vec![
467 from_hex("0x126ee1f8504f15c3d77f0088c1cfc964abcfcf643f4a6fea7dc3f98219529d78"),
468 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
469 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
470 ],
471 vec![
472 from_hex("0x23c203d10cfcc60f69bfb3d919552ca10ffb4ee63175ddf8ef86f991d7d0a591"),
473 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
474 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
475 ],
476 vec![
477 from_hex("0x2a2ae15d8b143709ec0d09705fa3a6303dec1ee4eec2cf747c5a339f7744fb94"),
478 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
479 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
480 ],
481 vec![
482 from_hex("0x07b60dee586ed6ef47e5c381ab6343ecc3d3b3006cb461bbb6b5d89081970b2b"),
483 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
484 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
485 ],
486 vec![
487 from_hex("0x27316b559be3edfd885d95c494c1ae3d8a98a320baa7d152132cfe583c9311bd"),
488 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
489 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
490 ],
491 vec![
492 from_hex("0x1d5c49ba157c32b8d8937cb2d3f84311ef834cc2a743ed662f5f9af0c0342e76"),
493 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
494 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
495 ],
496 vec![
497 from_hex("0x2f8b124e78163b2f332774e0b850b5ec09c01bf6979938f67c24bd5940968488"),
498 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
499 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
500 ],
501 vec![
502 from_hex("0x1e6843a5457416b6dc5b7aa09a9ce21b1d4cba6554e51d84665f75260113b3d5"),
503 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
504 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
505 ],
506 vec![
507 from_hex("0x11cdf00a35f650c55fca25c9929c8ad9a68daf9ac6a189ab1f5bc79f21641d4b"),
508 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
509 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
510 ],
511 vec![
512 from_hex("0x21632de3d3bbc5e42ef36e588158d6d4608b2815c77355b7e82b5b9b7eb560bc"),
513 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
514 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
515 ],
516 vec![
517 from_hex("0x0de625758452efbd97b27025fbd245e0255ae48ef2a329e449d7b5c51c18498a"),
518 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
519 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
520 ],
521 vec![
522 from_hex("0x2ad253c053e75213e2febfd4d976cc01dd9e1e1c6f0fb6b09b09546ba0838098"),
523 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
524 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
525 ],
526 vec![
527 from_hex("0x1d6b169ed63872dc6ec7681ec39b3be93dd49cdd13c813b7d35702e38d60b077"),
528 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
529 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
530 ],
531 vec![
532 from_hex("0x1660b740a143664bb9127c4941b67fed0be3ea70a24d5568c3a54e706cfef7fe"),
533 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
534 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
535 ],
536 vec![
537 from_hex("0x0065a92d1de81f34114f4ca2deef76e0ceacdddb12cf879096a29f10376ccbfe"),
538 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
539 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
540 ],
541 vec![
542 from_hex("0x1f11f065202535987367f823da7d672c353ebe2ccbc4869bcf30d50a5871040d"),
543 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
544 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
545 ],
546 vec![
547 from_hex("0x26596f5c5dd5a5d1b437ce7b14a2c3dd3bd1d1a39b6759ba110852d17df0693e"),
548 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
549 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
550 ],
551 vec![
552 from_hex("0x16f49bc727e45a2f7bf3056efcf8b6d38539c4163a5f1e706743db15af91860f"),
553 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
554 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
555 ],
556 vec![
557 from_hex("0x1abe1deb45b3e3119954175efb331bf4568feaf7ea8b3dc5e1a4e7438dd39e5f"),
558 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
559 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
560 ],
561 vec![
562 from_hex("0x0e426ccab66984d1d8993a74ca548b779f5db92aaec5f102020d34aea15fba59"),
563 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
564 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
565 ],
566 vec![
567 from_hex("0x0e7c30c2e2e8957f4933bd1942053f1f0071684b902d534fa841924303f6a6c6"),
568 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
569 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
570 ],
571 vec![
572 from_hex("0x0812a017ca92cf0a1622708fc7edff1d6166ded6e3528ead4c76e1f31d3fc69d"),
573 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
574 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
575 ],
576 vec![
577 from_hex("0x21a5ade3df2bc1b5bba949d1db96040068afe5026edd7a9c2e276b47cf010d54"),
578 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
579 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
580 ],
581 vec![
582 from_hex("0x01f3035463816c84ad711bf1a058c6c6bd101945f50e5afe72b1a5233f8749ce"),
583 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
584 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
585 ],
586 vec![
587 from_hex("0x0b115572f038c0e2028c2aafc2d06a5e8bf2f9398dbd0fdf4dcaa82b0f0c1c8b"),
588 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
589 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
590 ],
591 vec![
592 from_hex("0x1c38ec0b99b62fd4f0ef255543f50d2e27fc24db42bc910a3460613b6ef59e2f"),
593 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
594 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
595 ],
596 vec![
597 from_hex("0x1c89c6d9666272e8425c3ff1f4ac737b2f5d314606a297d4b1d0b254d880c53e"),
598 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
599 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
600 ],
601 vec![
602 from_hex("0x03326e643580356bf6d44008ae4c042a21ad4880097a5eb38b71e2311bb88f8f"),
603 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
604 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
605 ],
606 vec![
607 from_hex("0x268076b0054fb73f67cee9ea0e51e3ad50f27a6434b5dceb5bdde2299910a4c9"),
608 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
609 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
610 ],
611 vec![
612 from_hex("0x1acd63c67fbc9ab1626ed93491bda32e5da18ea9d8e4f10178d04aa6f8747ad0"),
613 from_hex("0x19f8a5d670e8ab66c4e3144be58ef6901bf93375e2323ec3ca8c86cd2a28b5a5"),
614 from_hex("0x1c0dc443519ad7a86efa40d2df10a011068193ea51f6c92ae1cfbb5f7b9b6893"),
615 ],
616 vec![
617 from_hex("0x14b39e7aa4068dbe50fe7190e421dc19fbeab33cb4f6a2c4180e4c3224987d3d"),
618 from_hex("0x1d449b71bd826ec58f28c63ea6c561b7b820fc519f01f021afb1e35e28b0795e"),
619 from_hex("0x1ea2c9a89baaddbb60fa97fe60fe9d8e89de141689d1252276524dc0a9e987fc"),
620 ],
621 vec![
622 from_hex("0x0478d66d43535a8cb57e9c1c3d6a2bd7591f9a46a0e9c058134d5cefdb3c7ff1"),
623 from_hex("0x19272db71eece6a6f608f3b2717f9cd2662e26ad86c400b21cde5e4a7b00bebe"),
624 from_hex("0x14226537335cab33c749c746f09208abb2dd1bd66a87ef75039be846af134166"),
625 ],
626 vec![
627 from_hex("0x01fd6af15956294f9dfe38c0d976a088b21c21e4a1c2e823f912f44961f9a9ce"),
628 from_hex("0x18e5abedd626ec307bca190b8b2cab1aaee2e62ed229ba5a5ad8518d4e5f2a57"),
629 from_hex("0x0fc1bbceba0590f5abbdffa6d3b35e3297c021a3a409926d0e2d54dc1c84fda6"),
630 ],
631 ];
632 pub static ref POSEIDON2_BN256_PARAMS_3: Arc<Poseidon2Params<Scalar>> = Arc::new(
633 Poseidon2Params::new(3, 5, 8, 56, &MAT_DIAG3_M_1, &MAT_INTERNAL3, &RC3)
634 );
635}
636
637lazy_static! {
638 pub static ref MAT_DIAG4_M_1: Vec<Scalar> = vec![
639 from_hex("0x10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7"),
640 from_hex("0x0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b"),
641 from_hex("0x00544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15"),
642 from_hex("0x222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b"),
643 ];
644 pub static ref MAT_INTERNAL4: Vec<Vec<Scalar>> = vec![
645 vec![
646 from_hex("0x10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e8"),
647 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
648 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
649 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
650 ],
651 vec![
652 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
653 from_hex("0x0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740c"),
654 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
655 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
656 ],
657 vec![
658 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
659 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
660 from_hex("0x00544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac16"),
661 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
662 ],
663 vec![
664 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
665 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
666 from_hex("0x0000000000000000000000000000000000000000000000000000000000000001"),
667 from_hex("0x222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428c"),
668 ],
669 ];
670 pub static ref RC4: Vec<Vec<Scalar>> = vec![
671 vec![
672 from_hex("0x19b849f69450b06848da1d39bd5e4a4302bb86744edc26238b0878e269ed23e5"),
673 from_hex("0x265ddfe127dd51bd7239347b758f0a1320eb2cc7450acc1dad47f80c8dcf34d6"),
674 from_hex("0x199750ec472f1809e0f66a545e1e51624108ac845015c2aa3dfc36bab497d8aa"),
675 from_hex("0x157ff3fe65ac7208110f06a5f74302b14d743ea25067f0ffd032f787c7f1cdf8"),
676 ],
677 vec![
678 from_hex("0x2e49c43c4569dd9c5fd35ac45fca33f10b15c590692f8beefe18f4896ac94902"),
679 from_hex("0x0e35fb89981890520d4aef2b6d6506c3cb2f0b6973c24fa82731345ffa2d1f1e"),
680 from_hex("0x251ad47cb15c4f1105f109ae5e944f1ba9d9e7806d667ffec6fe723002e0b996"),
681 from_hex("0x13da07dc64d428369873e97160234641f8beb56fdd05e5f3563fa39d9c22df4e"),
682 ],
683 vec![
684 from_hex("0x0c009b84e650e6d23dc00c7dccef7483a553939689d350cd46e7b89055fd4738"),
685 from_hex("0x011f16b1c63a854f01992e3956f42d8b04eb650c6d535eb0203dec74befdca06"),
686 from_hex("0x0ed69e5e383a688f209d9a561daa79612f3f78d0467ad45485df07093f367549"),
687 from_hex("0x04dba94a7b0ce9e221acad41472b6bbe3aec507f5eb3d33f463672264c9f789b"),
688 ],
689 vec![
690 from_hex("0x0a3f2637d840f3a16eb094271c9d237b6036757d4bb50bf7ce732ff1d4fa28e8"),
691 from_hex("0x259a666f129eea198f8a1c502fdb38fa39b1f075569564b6e54a485d1182323f"),
692 from_hex("0x28bf7459c9b2f4c6d8e7d06a4ee3a47f7745d4271038e5157a32fdf7ede0d6a1"),
693 from_hex("0x0a1ca941f057037526ea200f489be8d4c37c85bbcce6a2aeec91bd6941432447"),
694 ],
695 vec![
696 from_hex("0x0c6f8f958be0e93053d7fd4fc54512855535ed1539f051dcb43a26fd926361cf"),
697 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
698 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
699 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
700 ],
701 vec![
702 from_hex("0x123106a93cd17578d426e8128ac9d90aa9e8a00708e296e084dd57e69caaf811"),
703 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
704 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
705 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
706 ],
707 vec![
708 from_hex("0x26e1ba52ad9285d97dd3ab52f8e840085e8fa83ff1e8f1877b074867cd2dee75"),
709 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
710 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
711 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
712 ],
713 vec![
714 from_hex("0x1cb55cad7bd133de18a64c5c47b9c97cbe4d8b7bf9e095864471537e6a4ae2c5"),
715 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
716 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
717 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
718 ],
719 vec![
720 from_hex("0x1dcd73e46acd8f8e0e2c7ce04bde7f6d2a53043d5060a41c7143f08e6e9055d0"),
721 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
722 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
723 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
724 ],
725 vec![
726 from_hex("0x011003e32f6d9c66f5852f05474a4def0cda294a0eb4e9b9b12b9bb4512e5574"),
727 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
728 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
729 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
730 ],
731 vec![
732 from_hex("0x2b1e809ac1d10ab29ad5f20d03a57dfebadfe5903f58bafed7c508dd2287ae8c"),
733 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
734 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
735 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
736 ],
737 vec![
738 from_hex("0x2539de1785b735999fb4dac35ee17ed0ef995d05ab2fc5faeaa69ae87bcec0a5"),
739 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
740 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
741 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
742 ],
743 vec![
744 from_hex("0x0c246c5a2ef8ee0126497f222b3e0a0ef4e1c3d41c86d46e43982cb11d77951d"),
745 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
746 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
747 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
748 ],
749 vec![
750 from_hex("0x192089c4974f68e95408148f7c0632edbb09e6a6ad1a1c2f3f0305f5d03b527b"),
751 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
752 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
753 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
754 ],
755 vec![
756 from_hex("0x1eae0ad8ab68b2f06a0ee36eeb0d0c058529097d91096b756d8fdc2fb5a60d85"),
757 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
758 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
759 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
760 ],
761 vec![
762 from_hex("0x179190e5d0e22179e46f8282872abc88db6e2fdc0dee99e69768bd98c5d06bfb"),
763 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
764 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
765 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
766 ],
767 vec![
768 from_hex("0x29bb9e2c9076732576e9a81c7ac4b83214528f7db00f31bf6cafe794a9b3cd1c"),
769 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
770 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
771 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
772 ],
773 vec![
774 from_hex("0x225d394e42207599403efd0c2464a90d52652645882aac35b10e590e6e691e08"),
775 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
776 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
777 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
778 ],
779 vec![
780 from_hex("0x064760623c25c8cf753d238055b444532be13557451c087de09efd454b23fd59"),
781 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
782 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
783 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
784 ],
785 vec![
786 from_hex("0x10ba3a0e01df92e87f301c4b716d8a394d67f4bf42a75c10922910a78f6b5b87"),
787 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
788 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
789 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
790 ],
791 vec![
792 from_hex("0x0e070bf53f8451b24f9c6e96b0c2a801cb511bc0c242eb9d361b77693f21471c"),
793 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
794 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
795 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
796 ],
797 vec![
798 from_hex("0x1b94cd61b051b04dd39755ff93821a73ccd6cb11d2491d8aa7f921014de252fb"),
799 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
800 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
801 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
802 ],
803 vec![
804 from_hex("0x1d7cb39bafb8c744e148787a2e70230f9d4e917d5713bb050487b5aa7d74070b"),
805 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
806 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
807 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
808 ],
809 vec![
810 from_hex("0x2ec93189bd1ab4f69117d0fe980c80ff8785c2961829f701bb74ac1f303b17db"),
811 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
812 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
813 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
814 ],
815 vec![
816 from_hex("0x2db366bfdd36d277a692bb825b86275beac404a19ae07a9082ea46bd83517926"),
817 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
818 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
819 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
820 ],
821 vec![
822 from_hex("0x062100eb485db06269655cf186a68532985275428450359adc99cec6960711b8"),
823 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
824 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
825 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
826 ],
827 vec![
828 from_hex("0x0761d33c66614aaa570e7f1e8244ca1120243f92fa59e4f900c567bf41f5a59b"),
829 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
830 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
831 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
832 ],
833 vec![
834 from_hex("0x20fc411a114d13992c2705aa034e3f315d78608a0f7de4ccf7a72e494855ad0d"),
835 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
836 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
837 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
838 ],
839 vec![
840 from_hex("0x25b5c004a4bdfcb5add9ec4e9ab219ba102c67e8b3effb5fc3a30f317250bc5a"),
841 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
842 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
843 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
844 ],
845 vec![
846 from_hex("0x23b1822d278ed632a494e58f6df6f5ed038b186d8474155ad87e7dff62b37f4b"),
847 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
848 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
849 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
850 ],
851 vec![
852 from_hex("0x22734b4c5c3f9493606c4ba9012499bf0f14d13bfcfcccaa16102a29cc2f69e0"),
853 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
854 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
855 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
856 ],
857 vec![
858 from_hex("0x26c0c8fe09eb30b7e27a74dc33492347e5bdff409aa3610254413d3fad795ce5"),
859 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
860 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
861 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
862 ],
863 vec![
864 from_hex("0x070dd0ccb6bd7bbae88eac03fa1fbb26196be3083a809829bbd626df348ccad9"),
865 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
866 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
867 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
868 ],
869 vec![
870 from_hex("0x12b6595bdb329b6fb043ba78bb28c3bec2c0a6de46d8c5ad6067c4ebfd4250da"),
871 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
872 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
873 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
874 ],
875 vec![
876 from_hex("0x248d97d7f76283d63bec30e7a5876c11c06fca9b275c671c5e33d95bb7e8d729"),
877 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
878 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
879 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
880 ],
881 vec![
882 from_hex("0x1a306d439d463b0816fc6fd64cc939318b45eb759ddde4aa106d15d9bd9baaaa"),
883 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
884 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
885 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
886 ],
887 vec![
888 from_hex("0x28a8f8372e3c38daced7c00421cb4621f4f1b54ddc27821b0d62d3d6ec7c56cf"),
889 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
890 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
891 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
892 ],
893 vec![
894 from_hex("0x0094975717f9a8a8bb35152f24d43294071ce320c829f388bc852183e1e2ce7e"),
895 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
896 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
897 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
898 ],
899 vec![
900 from_hex("0x04d5ee4c3aa78f7d80fde60d716480d3593f74d4f653ae83f4103246db2e8d65"),
901 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
902 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
903 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
904 ],
905 vec![
906 from_hex("0x2a6cf5e9aa03d4336349ad6fb8ed2269c7bef54b8822cc76d08495c12efde187"),
907 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
908 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
909 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
910 ],
911 vec![
912 from_hex("0x2304d31eaab960ba9274da43e19ddeb7f792180808fd6e43baae48d7efcba3f3"),
913 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
914 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
915 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
916 ],
917 vec![
918 from_hex("0x03fd9ac865a4b2a6d5e7009785817249bff08a7e0726fcb4e1c11d39d199f0b0"),
919 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
920 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
921 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
922 ],
923 vec![
924 from_hex("0x00b7258ded52bbda2248404d55ee5044798afc3a209193073f7954d4d63b0b64"),
925 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
926 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
927 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
928 ],
929 vec![
930 from_hex("0x159f81ada0771799ec38fca2d4bf65ebb13d3a74f3298db36272c5ca65e92d9a"),
931 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
932 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
933 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
934 ],
935 vec![
936 from_hex("0x1ef90e67437fbc8550237a75bc28e3bb9000130ea25f0c5471e144cf4264431f"),
937 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
938 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
939 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
940 ],
941 vec![
942 from_hex("0x1e65f838515e5ff0196b49aa41a2d2568df739bc176b08ec95a79ed82932e30d"),
943 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
944 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
945 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
946 ],
947 vec![
948 from_hex("0x2b1b045def3a166cec6ce768d079ba74b18c844e570e1f826575c1068c94c33f"),
949 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
950 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
951 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
952 ],
953 vec![
954 from_hex("0x0832e5753ceb0ff6402543b1109229c165dc2d73bef715e3f1c6e07c168bb173"),
955 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
956 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
957 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
958 ],
959 vec![
960 from_hex("0x02f614e9cedfb3dc6b762ae0a37d41bab1b841c2e8b6451bc5a8e3c390b6ad16"),
961 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
962 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
963 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
964 ],
965 vec![
966 from_hex("0x0e2427d38bd46a60dd640b8e362cad967370ebb777bedff40f6a0be27e7ed705"),
967 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
968 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
969 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
970 ],
971 vec![
972 from_hex("0x0493630b7c670b6deb7c84d414e7ce79049f0ec098c3c7c50768bbe29214a53a"),
973 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
974 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
975 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
976 ],
977 vec![
978 from_hex("0x22ead100e8e482674decdab17066c5a26bb1515355d5461a3dc06cc85327cea9"),
979 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
980 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
981 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
982 ],
983 vec![
984 from_hex("0x25b3e56e655b42cdaae2626ed2554d48583f1ae35626d04de5084e0b6d2a6f16"),
985 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
986 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
987 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
988 ],
989 vec![
990 from_hex("0x1e32752ada8836ef5837a6cde8ff13dbb599c336349e4c584b4fdc0a0cf6f9d0"),
991 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
992 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
993 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
994 ],
995 vec![
996 from_hex("0x2fa2a871c15a387cc50f68f6f3c3455b23c00995f05078f672a9864074d412e5"),
997 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
998 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
999 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1000 ],
1001 vec![
1002 from_hex("0x2f569b8a9a4424c9278e1db7311e889f54ccbf10661bab7fcd18e7c7a7d83505"),
1003 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1004 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1005 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1006 ],
1007 vec![
1008 from_hex("0x044cb455110a8fdd531ade530234c518a7df93f7332ffd2144165374b246b43d"),
1009 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1010 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1011 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1012 ],
1013 vec![
1014 from_hex("0x227808de93906d5d420246157f2e42b191fe8c90adfe118178ddc723a5319025"),
1015 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1016 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1017 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1018 ],
1019 vec![
1020 from_hex("0x02fcca2934e046bc623adead873579865d03781ae090ad4a8579d2e7a6800355"),
1021 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1022 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1023 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1024 ],
1025 vec![
1026 from_hex("0x0ef915f0ac120b876abccceb344a1d36bad3f3c5ab91a8ddcbec2e060d8befac"),
1027 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1028 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1029 from_hex("0x0000000000000000000000000000000000000000000000000000000000000000"),
1030 ],
1031 vec![
1032 from_hex("0x1797130f4b7a3e1777eb757bc6f287f6ab0fb85f6be63b09f3b16ef2b1405d38"),
1033 from_hex("0x0a76225dc04170ae3306c85abab59e608c7f497c20156d4d36c668555decc6e5"),
1034 from_hex("0x1fffb9ec1992d66ba1e77a7b93209af6f8fa76d48acb664796174b5326a31a5c"),
1035 from_hex("0x25721c4fc15a3f2853b57c338fa538d85f8fbba6c6b9c6090611889b797b9c5f"),
1036 ],
1037 vec![
1038 from_hex("0x0c817fd42d5f7a41215e3d07ba197216adb4c3790705da95eb63b982bfcaf75a"),
1039 from_hex("0x13abe3f5239915d39f7e13c2c24970b6df8cf86ce00a22002bc15866e52b5a96"),
1040 from_hex("0x2106feea546224ea12ef7f39987a46c85c1bc3dc29bdbd7a92cd60acb4d391ce"),
1041 from_hex("0x21ca859468a746b6aaa79474a37dab49f1ca5a28c748bc7157e1b3345bb0f959"),
1042 ],
1043 vec![
1044 from_hex("0x05ccd6255c1e6f0c5cf1f0df934194c62911d14d0321662a8f1a48999e34185b"),
1045 from_hex("0x0f0e34a64b70a626e464d846674c4c8816c4fb267fe44fe6ea28678cb09490a4"),
1046 from_hex("0x0558531a4e25470c6157794ca36d0e9647dbfcfe350d64838f5b1a8a2de0d4bf"),
1047 from_hex("0x09d3dca9173ed2faceea125157683d18924cadad3f655a60b72f5864961f1455"),
1048 ],
1049 vec![
1050 from_hex("0x0328cbd54e8c0913493f866ed03d218bf23f92d68aaec48617d4c722e5bd4335"),
1051 from_hex("0x2bf07216e2aff0a223a487b1a7094e07e79e7bcc9798c648ee3347dd5329d34b"),
1052 from_hex("0x1daf345a58006b736499c583cb76c316d6f78ed6a6dffc82111e11a63fe412df"),
1053 from_hex("0x176563472456aaa746b694c60e1823611ef39039b2edc7ff391e6f2293d2c404"),
1054 ],
1055 ];
1056 pub static ref POSEIDON2_BN256_PARAMS_4: Arc<Poseidon2Params<Scalar>> = Arc::new(
1057 Poseidon2Params::new(4, 5, 8, 56, &MAT_DIAG4_M_1, &MAT_INTERNAL4, &RC4)
1058 );
1059}