1use risc0_zkp::core::digest::Digest;
16use risc0_zkp::digest;
17
18pub const MIN_LIFT_PO2: usize = 14;
20
21pub const ALLOWED_CONTROL_IDS: &[Digest] = &[
24 digest!("0d79bc33b4760b4783cbb96fdc87724c7e0c463eb0ba1b2705d39f43c698bd2d"), digest!("7a8f24092c34ed3eb81b3d0a0b796c588c615d3488ef9e61c21dbd1e4b83ea6e"), digest!("96cdf605f755f175a5661812810f2d491507c05f2ea4a83e4c3cad693d26651e"), digest!("f74a894ff593584f65847630ead1a23af78c5f5fed2b61090866e01fa5767f12"), digest!("411fa636f2d364648f035174d3778d6340d9ae1dd648fc35657c173f01e27e5f"), digest!("1ca3ca03030719064ba61b3125bdd326fc57f74e799ef860bdea6f3227381e16"), digest!("c32b3627d2b3d60c64adf523a98bd16c0ff607471f3d6630d1f26d5e9406d841"), digest!("c9b08054994f542a6310b00d9b6fc6528ed7bb6f4ca5476a686847127cdfdc5b"), digest!("e7934a23ddce1423b425cf32aa23be29f48cd40e0b6ff9376dce6f3bf9d0bc35"), digest!("8c2fdd36ede09a4b9d316a43c51f1160cbd8876659c5f35810c3a119c60d3843"), digest!("34530b42028fb631c90e1226bb0e750d4b9b593840d45216f75dca449dac7734"), digest!("fd84d83092a1e1244d423a26d89c892ab098b467c6d82229912deb26e37d2562"), digest!("9d9dbf33535ab11f52a93839dfd23b352b7626009e81d9459fd04e488898ec6a"), digest!("c6972402cc81bc6c1122e65aa7cf463f3ac3f477c7dd860582ca7420fc7b8b02"), digest!("2f6ea1104bdd5955faa135611e8f803e7b4461703b937e704da70955ec115467"), digest!("a7b55654228123448cd67c400d9bf80b4e54eb3997ee92103e900903b6578862"), digest!("2adab2445391035b21f255606a1ba060a7d5a64db5cdf13d9fda7f22a2853270"), digest!("58b27422240db834c08b8e6c12000c093efce8613263f05825c380009c41da48"), digest!("26c84437d3e26875b259880d0f29da47ed5ca869133637701d33fb15a83dce4b"), digest!("177fde1441dc735dbd6a58245d82b2036623ac41547dc345f1fd7c486ac51462"), digest!("eac3fb487080a62e6ff85d331dd72a4706e50e55c9cb842dea48d71e3e119a04"), digest!("0344cd54d62d2a1b6538b674d5aa141250ff4c5be08c6e3d16cb5e1de632252d"), digest!("53a7b23d07f99e5d5685e85874f5181e8486aa267a0ae607ffe9ba47c8bdda4a"), digest!("20ac6e29b1806a143b508414140e2e15e461f93e04e3830af39cca362b8f005d"), digest!("ba1d7275d5840e4f998e2c5120810c0eb197e90219696e2a64dec7662aa3cb06"), digest!("7771415b778fea1923440e2eb22c4a1e1d7ada2d42cbe03d13402743c0988a31"), digest!("1688f04cca489638862dba455c1d5c561513f975c885a3491f0fe12df761c847"), ];
52
53pub const ALLOWED_CONTROL_ROOT: Digest =
55 digest!("a54dc85ac99f851c92d7c96d7318af41dbe7c0194edfcc37eb4d422a998c1f56");
56
57pub const BN254_IDENTITY_CONTROL_ID: Digest =
59 digest!("c07a65145c3cb48b6101962ea607a4dd93c753bb26975cb47feb00d3666e4404");
60
61pub const POSEIDON2_CONTROL_IDS: [(&str, Digest); 32] = [
63 (
64 "identity.zkr",
65 digest!("0d79bc33b4760b4783cbb96fdc87724c7e0c463eb0ba1b2705d39f43c698bd2d"),
66 ),
67 (
68 "join.zkr",
69 digest!("7a8f24092c34ed3eb81b3d0a0b796c588c615d3488ef9e61c21dbd1e4b83ea6e"),
70 ),
71 (
72 "join_povw.zkr",
73 digest!("96cdf605f755f175a5661812810f2d491507c05f2ea4a83e4c3cad693d26651e"),
74 ),
75 (
76 "join_unwrap_povw.zkr",
77 digest!("f74a894ff593584f65847630ead1a23af78c5f5fed2b61090866e01fa5767f12"),
78 ),
79 (
80 "lift_rv32im_v2_14.zkr",
81 digest!("411fa636f2d364648f035174d3778d6340d9ae1dd648fc35657c173f01e27e5f"),
82 ),
83 (
84 "lift_rv32im_v2_15.zkr",
85 digest!("1ca3ca03030719064ba61b3125bdd326fc57f74e799ef860bdea6f3227381e16"),
86 ),
87 (
88 "lift_rv32im_v2_16.zkr",
89 digest!("c32b3627d2b3d60c64adf523a98bd16c0ff607471f3d6630d1f26d5e9406d841"),
90 ),
91 (
92 "lift_rv32im_v2_17.zkr",
93 digest!("c9b08054994f542a6310b00d9b6fc6528ed7bb6f4ca5476a686847127cdfdc5b"),
94 ),
95 (
96 "lift_rv32im_v2_18.zkr",
97 digest!("e7934a23ddce1423b425cf32aa23be29f48cd40e0b6ff9376dce6f3bf9d0bc35"),
98 ),
99 (
100 "lift_rv32im_v2_19.zkr",
101 digest!("8c2fdd36ede09a4b9d316a43c51f1160cbd8876659c5f35810c3a119c60d3843"),
102 ),
103 (
104 "lift_rv32im_v2_20.zkr",
105 digest!("34530b42028fb631c90e1226bb0e750d4b9b593840d45216f75dca449dac7734"),
106 ),
107 (
108 "lift_rv32im_v2_21.zkr",
109 digest!("fd84d83092a1e1244d423a26d89c892ab098b467c6d82229912deb26e37d2562"),
110 ),
111 (
112 "lift_rv32im_v2_22.zkr",
113 digest!("9d9dbf33535ab11f52a93839dfd23b352b7626009e81d9459fd04e488898ec6a"),
114 ),
115 (
116 "lift_rv32im_v2_23.zkr",
117 digest!("817a4b13453eac5a4e67ea1bdcc0677681faa94e386bdd4b510429363685f067"),
118 ),
119 (
120 "lift_rv32im_v2_24.zkr",
121 digest!("6c4f9e2ae5d3d5375956f608a54112418333ad2008052b059f3b500ba8df9d63"),
122 ),
123 (
124 "lift_rv32im_v2_povw_14.zkr",
125 digest!("c6972402cc81bc6c1122e65aa7cf463f3ac3f477c7dd860582ca7420fc7b8b02"),
126 ),
127 (
128 "lift_rv32im_v2_povw_15.zkr",
129 digest!("2f6ea1104bdd5955faa135611e8f803e7b4461703b937e704da70955ec115467"),
130 ),
131 (
132 "lift_rv32im_v2_povw_16.zkr",
133 digest!("a7b55654228123448cd67c400d9bf80b4e54eb3997ee92103e900903b6578862"),
134 ),
135 (
136 "lift_rv32im_v2_povw_17.zkr",
137 digest!("2adab2445391035b21f255606a1ba060a7d5a64db5cdf13d9fda7f22a2853270"),
138 ),
139 (
140 "lift_rv32im_v2_povw_18.zkr",
141 digest!("58b27422240db834c08b8e6c12000c093efce8613263f05825c380009c41da48"),
142 ),
143 (
144 "lift_rv32im_v2_povw_19.zkr",
145 digest!("26c84437d3e26875b259880d0f29da47ed5ca869133637701d33fb15a83dce4b"),
146 ),
147 (
148 "lift_rv32im_v2_povw_20.zkr",
149 digest!("177fde1441dc735dbd6a58245d82b2036623ac41547dc345f1fd7c486ac51462"),
150 ),
151 (
152 "lift_rv32im_v2_povw_21.zkr",
153 digest!("eac3fb487080a62e6ff85d331dd72a4706e50e55c9cb842dea48d71e3e119a04"),
154 ),
155 (
156 "lift_rv32im_v2_povw_22.zkr",
157 digest!("0344cd54d62d2a1b6538b674d5aa141250ff4c5be08c6e3d16cb5e1de632252d"),
158 ),
159 (
160 "lift_rv32im_v2_povw_23.zkr",
161 digest!("bd19f156d23811155241e10f7d03ab483949e5039a512d75b7e3da40fcb5490e"),
162 ),
163 (
164 "lift_rv32im_v2_povw_24.zkr",
165 digest!("7898f8140d13c04781c2073b2b28541dfa40f23fa824c30228b80b2601d7114a"),
166 ),
167 (
168 "resolve.zkr",
169 digest!("53a7b23d07f99e5d5685e85874f5181e8486aa267a0ae607ffe9ba47c8bdda4a"),
170 ),
171 (
172 "resolve_povw.zkr",
173 digest!("20ac6e29b1806a143b508414140e2e15e461f93e04e3830af39cca362b8f005d"),
174 ),
175 (
176 "resolve_unwrap_povw.zkr",
177 digest!("ba1d7275d5840e4f998e2c5120810c0eb197e90219696e2a64dec7662aa3cb06"),
178 ),
179 (
180 "test_recursion_circuit.zkr",
181 digest!("6d55102aa73086602f7039412200124bdec91f0c497c606f9aa09040403e030b"),
182 ),
183 (
184 "union.zkr",
185 digest!("7771415b778fea1923440e2eb22c4a1e1d7ada2d42cbe03d13402743c0988a31"),
186 ),
187 (
188 "unwrap_povw.zkr",
189 digest!("1688f04cca489638862dba455c1d5c561513f975c885a3491f0fe12df761c847"),
190 ),
191];
192
193pub const SHA256_CONTROL_IDS: [(&str, Digest); 32] = [
195 (
196 "identity.zkr",
197 digest!("d7ecd18c7d06fc468166147cf20869aa10f32e097a0c166146a5a62dd2d975ea"),
198 ),
199 (
200 "join.zkr",
201 digest!("dc44002689aa7852410ad1c840388d66b8b9a2f6d0c4fb6b3ac6ec2ea17d9855"),
202 ),
203 (
204 "join_povw.zkr",
205 digest!("9e97b7ba610dc00ec2628d53274c303eb0d78e6e5c33ef118cf60a5135efa97f"),
206 ),
207 (
208 "join_unwrap_povw.zkr",
209 digest!("8cae4f60f8b44780351ec5740118fcc348d8fa0d029f07d2c77a3f9239165319"),
210 ),
211 (
212 "lift_rv32im_v2_14.zkr",
213 digest!("52d814fea0ff156f2b8b34f7c47d7bfb5c09c527d7907a8664bd95f104633852"),
214 ),
215 (
216 "lift_rv32im_v2_15.zkr",
217 digest!("ca0c7e2ffb7cc226f544dfbebd420a898ba1ec42cb6da27c1446f7dafc41c534"),
218 ),
219 (
220 "lift_rv32im_v2_16.zkr",
221 digest!("b20d5da6ac0f4bface80e6f902cd0f77e3f5e3a8174379595ac74d6f052acae5"),
222 ),
223 (
224 "lift_rv32im_v2_17.zkr",
225 digest!("7e81c18847d0693f69eaffe6a43e3883f81f57ecea2b740a682870d9d810faaf"),
226 ),
227 (
228 "lift_rv32im_v2_18.zkr",
229 digest!("b8f1d3b165d1a9eab7c6c37d3e9583b9907af5ef847c90ca2e4d18c689897a95"),
230 ),
231 (
232 "lift_rv32im_v2_19.zkr",
233 digest!("9385cfb4c04bb8a7afca8b2d1bf083cb5d7d975d8a47b92f02710a81cd49d2cb"),
234 ),
235 (
236 "lift_rv32im_v2_20.zkr",
237 digest!("771619915ed607e737578315c855ba70c322ac02cfdd01da0e4d1bed4c51cb0d"),
238 ),
239 (
240 "lift_rv32im_v2_21.zkr",
241 digest!("c662b29a03a3475a3dae43ef30b0e4234a9e00d99b49d1f61d8ae91c7957a148"),
242 ),
243 (
244 "lift_rv32im_v2_22.zkr",
245 digest!("5d68f47ef1f5ab04588c370a79d1216eeec96c5d75fcf73af3a2a59b76bd2879"),
246 ),
247 (
248 "lift_rv32im_v2_23.zkr",
249 digest!("bb5ced4a8480a2347cfa43125a9c5b165e2ff3bc99b42927d43f49d23d8b3208"),
250 ),
251 (
252 "lift_rv32im_v2_24.zkr",
253 digest!("3e6ac6e4ca5d76858edae7a4f080a2a34649ea6ce0870d0d77ec18b7299b1dbd"),
254 ),
255 (
256 "lift_rv32im_v2_povw_14.zkr",
257 digest!("e5e64a61ebe66ad5361417b2c5b879f555567b8b27f24263b285fd2a44e9d879"),
258 ),
259 (
260 "lift_rv32im_v2_povw_15.zkr",
261 digest!("058a1436c07037e4b02856b51a09a4b8b81f0653dacde6efbead574d2ccc877c"),
262 ),
263 (
264 "lift_rv32im_v2_povw_16.zkr",
265 digest!("39ac8603e8fdd8b1571546cf21afc4fecbd763abdc83c6f556f865f1639cf793"),
266 ),
267 (
268 "lift_rv32im_v2_povw_17.zkr",
269 digest!("2f83f136dff007043e04c793946ec7b1d6fc85aa80fd56b3cddfd41e5b5e80cd"),
270 ),
271 (
272 "lift_rv32im_v2_povw_18.zkr",
273 digest!("8fc29c56e18387c39b45a6ad5efe70c4b05f4755dafe79ceb503f00d99711171"),
274 ),
275 (
276 "lift_rv32im_v2_povw_19.zkr",
277 digest!("a6e06036f3b4c84aac96b2c43b18fba7328a0f1c6d0a1a92f6601ceb7f136a23"),
278 ),
279 (
280 "lift_rv32im_v2_povw_20.zkr",
281 digest!("97a1d6b0d9c7cbc754a24b76a068c43a3dd0a194708e88b5ba061617c3bff7b4"),
282 ),
283 (
284 "lift_rv32im_v2_povw_21.zkr",
285 digest!("268d25ef3fa8fc664c1a9629870be677b66e537d8b56fceddf4e55cea3ec8167"),
286 ),
287 (
288 "lift_rv32im_v2_povw_22.zkr",
289 digest!("e836234e551bf0404665c68a6489527e0f38d77e058a702911298912d4fdfee0"),
290 ),
291 (
292 "lift_rv32im_v2_povw_23.zkr",
293 digest!("5544f519c4d65a1546475b23860e26ff7299059e24cacb3b10854cc2872e7736"),
294 ),
295 (
296 "lift_rv32im_v2_povw_24.zkr",
297 digest!("ae43f6e6b2565ef910c9736eb616a1d045ff049571c37ac728ad70d8cca2d66d"),
298 ),
299 (
300 "resolve.zkr",
301 digest!("ecc34946284eb02d1e119ef0878ae65ba5e855d6e0b5db4e462a694007b2a0f4"),
302 ),
303 (
304 "resolve_povw.zkr",
305 digest!("51fe537675d705e759c0cb0862f0cb7c5d70ce3dc483efc3cb1646c2b6f0cba3"),
306 ),
307 (
308 "resolve_unwrap_povw.zkr",
309 digest!("1332cc7a1cb90467d849db4ebc4fcc201f81fe0a2ab06d6a398d76b7dd8aa694"),
310 ),
311 (
312 "test_recursion_circuit.zkr",
313 digest!("3c7b9195e051f01d9dc21d96a1dd26c7035bc225511a715cf8c7ba83f8df7687"),
314 ),
315 (
316 "union.zkr",
317 digest!("44bfa51c5030508d7eddc1b1489145a6e519842f7283098a17f13fe9113497dc"),
318 ),
319 (
320 "unwrap_povw.zkr",
321 digest!("3b5de70ddecc2fabcd3b9b9150ff64e7fc084ecb80f97cac2f9ee11e326087d1"),
322 ),
323];