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!("512b79026fad0712ad93600ea0ea4234d0be686ea9473e4964f10914a0862c77"), digest!("78aabd63d877bc2806371f228fb05d0f9c8c3330bc782f62c7c6d80b4195de74"), digest!("0bef5e34d752b46874fb523c7d01963a37771d25a6af7c26b808fa26b8a0d815"), digest!("ac1a445d5babf304365232571f822725dcf71f3c8d5e7032c1bba04bad19a85e"), digest!("20ae3d31f954e9594cb968463ce0f823b869e3640169a561fc917226f4ca8963"), digest!("6f16e65efedcbf11b20b9e194e123e33aaedcd0abf1e6e5440efa263daeb375a"), digest!("6da21d5bc6a7534bc686b9294717f12994b13c67183c86668c62d01fcc453151"), digest!("60ea420126e9446430dbed5ca8b29017b6d0f31782710a1d8f8bdd3de5854714"), digest!("d5f05524e8bbb123f8fb1b5299413c50462cef399119953f494e57354351e844"), digest!("53a7b23d07f99e5d5685e85874f5181e8486aa267a0ae607ffe9ba47c8bdda4a"), digest!("7771415b778fea1923440e2eb22c4a1e1d7ada2d42cbe03d13402743c0988a31"), ];
38
39pub const ALLOWED_CONTROL_ROOT: Digest =
41 digest!("539032186827b06719244873b17b2d4c122e2d02cfb1994fe958b2523b844576");
42
43pub const BN254_IDENTITY_CONTROL_ID: Digest =
45 digest!("c07a65145c3cb48b6101962ea607a4dd93c753bb26975cb47feb00d3666e4404");
46
47pub const POSEIDON2_CONTROL_IDS: [(&str, Digest); 27] = [
49 (
50 "identity.zkr",
51 digest!("0d79bc33b4760b4783cbb96fdc87724c7e0c463eb0ba1b2705d39f43c698bd2d"),
52 ),
53 (
54 "join.zkr",
55 digest!("7a8f24092c34ed3eb81b3d0a0b796c588c615d3488ef9e61c21dbd1e4b83ea6e"),
56 ),
57 (
58 "lift_14.zkr",
59 digest!("2f609032975d7931e9d569484cdb5c1e8758af6f6d24c91968e8171b4e48652a"),
60 ),
61 (
62 "lift_15.zkr",
63 digest!("53b94f649b8fef3283c730425bf9be1618b82a76e270bd44b351f16eda68d00d"),
64 ),
65 (
66 "lift_16.zkr",
67 digest!("919c664b394f6b3e7500d151204ede5e6afd4d1a3724925ca341971e93cffc46"),
68 ),
69 (
70 "lift_17.zkr",
71 digest!("bc52395cbfbbdc6783e19443161c0a559496a017aeb6370232a5313125032175"),
72 ),
73 (
74 "lift_18.zkr",
75 digest!("442f0a4cef957609ab5ee447a279351e6dc212734cbc6e3e5bbf8b086f1a7818"),
76 ),
77 (
78 "lift_19.zkr",
79 digest!("d621555070b62e383b8e16511aa8b244cb442656c5c396302fe75816c477b902"),
80 ),
81 (
82 "lift_20.zkr",
83 digest!("66f12c252c978962a100976c69ea6a4dfb2b4a2a504d6d5c60fb8e2fff6f4b61"),
84 ),
85 (
86 "lift_21.zkr",
87 digest!("88a6322eccb8f141087c48174211df1d0e071603ebfefb69f0099836569e384a"),
88 ),
89 (
90 "lift_22.zkr",
91 digest!("bb71f46d8931c80fbcf10f3b5314b93cb7b8061d4658c55000c2c26967b58a0c"),
92 ),
93 (
94 "lift_23.zkr",
95 digest!("34a4dd0eb8f410674c09c0419c8bf62ef768a476ccd8e84f5809534e0b0e0065"),
96 ),
97 (
98 "lift_24.zkr",
99 digest!("d8c1dd073822ac1da582bd52bed7ee35f106326dcb7a191d66df420016339571"),
100 ),
101 (
102 "lift_rv32im_v2_14.zkr",
103 digest!("512b79026fad0712ad93600ea0ea4234d0be686ea9473e4964f10914a0862c77"),
104 ),
105 (
106 "lift_rv32im_v2_15.zkr",
107 digest!("78aabd63d877bc2806371f228fb05d0f9c8c3330bc782f62c7c6d80b4195de74"),
108 ),
109 (
110 "lift_rv32im_v2_16.zkr",
111 digest!("0bef5e34d752b46874fb523c7d01963a37771d25a6af7c26b808fa26b8a0d815"),
112 ),
113 (
114 "lift_rv32im_v2_17.zkr",
115 digest!("ac1a445d5babf304365232571f822725dcf71f3c8d5e7032c1bba04bad19a85e"),
116 ),
117 (
118 "lift_rv32im_v2_18.zkr",
119 digest!("20ae3d31f954e9594cb968463ce0f823b869e3640169a561fc917226f4ca8963"),
120 ),
121 (
122 "lift_rv32im_v2_19.zkr",
123 digest!("6f16e65efedcbf11b20b9e194e123e33aaedcd0abf1e6e5440efa263daeb375a"),
124 ),
125 (
126 "lift_rv32im_v2_20.zkr",
127 digest!("6da21d5bc6a7534bc686b9294717f12994b13c67183c86668c62d01fcc453151"),
128 ),
129 (
130 "lift_rv32im_v2_21.zkr",
131 digest!("60ea420126e9446430dbed5ca8b29017b6d0f31782710a1d8f8bdd3de5854714"),
132 ),
133 (
134 "lift_rv32im_v2_22.zkr",
135 digest!("d5f05524e8bbb123f8fb1b5299413c50462cef399119953f494e57354351e844"),
136 ),
137 (
138 "lift_rv32im_v2_23.zkr",
139 digest!("b4459e2bc38f800ed80c956234d59a4611d0f825eae566478ac4c06a07a61c21"),
140 ),
141 (
142 "lift_rv32im_v2_24.zkr",
143 digest!("4434690c184bd542c823aa1efcf6c15cf8c83d0aafbf4f3e0552d8125eedd12a"),
144 ),
145 (
146 "resolve.zkr",
147 digest!("53a7b23d07f99e5d5685e85874f5181e8486aa267a0ae607ffe9ba47c8bdda4a"),
148 ),
149 (
150 "test_recursion_circuit.zkr",
151 digest!("6d55102aa73086602f7039412200124bdec91f0c497c606f9aa09040403e030b"),
152 ),
153 (
154 "union.zkr",
155 digest!("7771415b778fea1923440e2eb22c4a1e1d7ada2d42cbe03d13402743c0988a31"),
156 ),
157];
158
159pub const SHA256_CONTROL_IDS: [(&str, Digest); 27] = [
161 (
162 "identity.zkr",
163 digest!("d7ecd18c7d06fc468166147cf20869aa10f32e097a0c166146a5a62dd2d975ea"),
164 ),
165 (
166 "join.zkr",
167 digest!("dc44002689aa7852410ad1c840388d66b8b9a2f6d0c4fb6b3ac6ec2ea17d9855"),
168 ),
169 (
170 "lift_14.zkr",
171 digest!("d164a42f8bb7c70049e4873871fab98d88d04f1914b25a1370a7a877b7ff2ca3"),
172 ),
173 (
174 "lift_15.zkr",
175 digest!("f2ffb9a1c43b01741e01a2d07d5f65ffe0ce231c70ddb128094f2a22f073c33c"),
176 ),
177 (
178 "lift_16.zkr",
179 digest!("8843478fd585afc7cf84c8905ce16ed8cadbb61c45248619f9b252900e5167c8"),
180 ),
181 (
182 "lift_17.zkr",
183 digest!("4a54533e7ef8b620ca102ed763ebc94e969fd608d669623d466d43775dbec7a1"),
184 ),
185 (
186 "lift_18.zkr",
187 digest!("954ffa89a80c010191f3ade9ca63c1f4f9689410df02faa801dc1b98ac557cfb"),
188 ),
189 (
190 "lift_19.zkr",
191 digest!("87150aa1b6b0fc92b68d9238d0c2a83a17da3d5d3775fd23b2517e0d7fd7697b"),
192 ),
193 (
194 "lift_20.zkr",
195 digest!("00676bedc32cc1e0dd7e490be83f4be39f379beedc35983ace0782061d65d73d"),
196 ),
197 (
198 "lift_21.zkr",
199 digest!("10d8d3a1eee1dec7c6cc0553222ab8ac9b6bfeb0bd1553e097fb29a3ef22a606"),
200 ),
201 (
202 "lift_22.zkr",
203 digest!("fcbe182cb5a235fc28d43ba1137908609958587e18060aa712be08d5833a8af3"),
204 ),
205 (
206 "lift_23.zkr",
207 digest!("f3f8278b8f56e0c2292cf7d0b395405dcf67760638e4ad901b3df406303c90b9"),
208 ),
209 (
210 "lift_24.zkr",
211 digest!("a827fd3663ab862331c47b1ba985fde346c13851535b1d80693b6367771644a7"),
212 ),
213 (
214 "lift_rv32im_v2_14.zkr",
215 digest!("9515af7e33bb75efd90a1f23b12762ca36231881656b4af9fd1685a6ff4ec018"),
216 ),
217 (
218 "lift_rv32im_v2_15.zkr",
219 digest!("2b0d1276550887f6b27a423f43a4ce89abef45e056d86c8a59fa8d4593701844"),
220 ),
221 (
222 "lift_rv32im_v2_16.zkr",
223 digest!("92f3c9ee2e5e1a23d90a0e7dd52bf7b9b4f1e272613ac76e5bf6e932fa8de0ec"),
224 ),
225 (
226 "lift_rv32im_v2_17.zkr",
227 digest!("4d9c713b2dfa00271b9d4a87ef4244974a85bbb20b493cd103d75b4fcc60d411"),
228 ),
229 (
230 "lift_rv32im_v2_18.zkr",
231 digest!("7054dde82886b4a8955539872ff4784973a61782ec71348a405564a21ae3f630"),
232 ),
233 (
234 "lift_rv32im_v2_19.zkr",
235 digest!("c4abec2567fbd603ce616ecd27923f45b601d5f86cc48d1f1fb3091615afb6fd"),
236 ),
237 (
238 "lift_rv32im_v2_20.zkr",
239 digest!("1263bd3dcecab89069b91de5c4c99bdc33f853b00b50e1f35e4ffa392badd7a4"),
240 ),
241 (
242 "lift_rv32im_v2_21.zkr",
243 digest!("7380d1f06f8fb3dc3f9c7d278071fbc3bf30073229c6885d1a41c6528e90e4c7"),
244 ),
245 (
246 "lift_rv32im_v2_22.zkr",
247 digest!("793cbfc8de47a9beeb2221cac0d06470fc87e26771330561369fb518cc3b1b05"),
248 ),
249 (
250 "lift_rv32im_v2_23.zkr",
251 digest!("7bc461a9ff258b32178124b8c8f78cadac35db313b57f62d51958ec9ec37fb71"),
252 ),
253 (
254 "lift_rv32im_v2_24.zkr",
255 digest!("dc295096d9db9166e06e424445563cc4bec8fdb1a69e3b2fcee1bba75fa85883"),
256 ),
257 (
258 "resolve.zkr",
259 digest!("ecc34946284eb02d1e119ef0878ae65ba5e855d6e0b5db4e462a694007b2a0f4"),
260 ),
261 (
262 "test_recursion_circuit.zkr",
263 digest!("3c7b9195e051f01d9dc21d96a1dd26c7035bc225511a715cf8c7ba83f8df7687"),
264 ),
265 (
266 "union.zkr",
267 digest!("44bfa51c5030508d7eddc1b1489145a6e519842f7283098a17f13fe9113497dc"),
268 ),
269];