1use leo_span::{Symbol, sym};
18
19#[derive(Clone, Debug, PartialEq, Eq)]
21pub enum CoreFunction {
22 BHP256CommitToAddress,
23 BHP256CommitToField,
24 BHP256CommitToGroup,
25 BHP256HashToAddress,
26 BHP256HashToField,
27 BHP256HashToGroup,
28 BHP256HashToI8,
29 BHP256HashToI16,
30 BHP256HashToI32,
31 BHP256HashToI64,
32 BHP256HashToI128,
33 BHP256HashToU8,
34 BHP256HashToU16,
35 BHP256HashToU32,
36 BHP256HashToU64,
37 BHP256HashToU128,
38 BHP256HashToScalar,
39
40 BHP512CommitToAddress,
41 BHP512CommitToField,
42 BHP512CommitToGroup,
43 BHP512HashToAddress,
44 BHP512HashToField,
45 BHP512HashToGroup,
46 BHP512HashToI8,
47 BHP512HashToI16,
48 BHP512HashToI32,
49 BHP512HashToI64,
50 BHP512HashToI128,
51 BHP512HashToU8,
52 BHP512HashToU16,
53 BHP512HashToU32,
54 BHP512HashToU64,
55 BHP512HashToU128,
56 BHP512HashToScalar,
57
58 BHP768CommitToAddress,
59 BHP768CommitToField,
60 BHP768CommitToGroup,
61 BHP768HashToAddress,
62 BHP768HashToField,
63 BHP768HashToGroup,
64 BHP768HashToI8,
65 BHP768HashToI16,
66 BHP768HashToI32,
67 BHP768HashToI64,
68 BHP768HashToI128,
69 BHP768HashToU8,
70 BHP768HashToU16,
71 BHP768HashToU32,
72 BHP768HashToU64,
73 BHP768HashToU128,
74 BHP768HashToScalar,
75
76 BHP1024CommitToAddress,
77 BHP1024CommitToField,
78 BHP1024CommitToGroup,
79 BHP1024HashToAddress,
80 BHP1024HashToField,
81 BHP1024HashToGroup,
82 BHP1024HashToI8,
83 BHP1024HashToI16,
84 BHP1024HashToI32,
85 BHP1024HashToI64,
86 BHP1024HashToI128,
87 BHP1024HashToU8,
88 BHP1024HashToU16,
89 BHP1024HashToU32,
90 BHP1024HashToU64,
91 BHP1024HashToU128,
92 BHP1024HashToScalar,
93
94 ChaChaRandAddress,
95 ChaChaRandBool,
96 ChaChaRandField,
97 ChaChaRandGroup,
98 ChaChaRandI8,
99 ChaChaRandI16,
100 ChaChaRandI32,
101 ChaChaRandI64,
102 ChaChaRandI128,
103 ChaChaRandU8,
104 ChaChaRandU16,
105 ChaChaRandU32,
106 ChaChaRandU64,
107 ChaChaRandU128,
108 ChaChaRandScalar,
109
110 Keccak256HashToAddress,
111 Keccak256HashToField,
112 Keccak256HashToGroup,
113 Keccak256HashToI8,
114 Keccak256HashToI16,
115 Keccak256HashToI32,
116 Keccak256HashToI64,
117 Keccak256HashToI128,
118 Keccak256HashToU8,
119 Keccak256HashToU16,
120 Keccak256HashToU32,
121 Keccak256HashToU64,
122 Keccak256HashToU128,
123 Keccak256HashToScalar,
124
125 Keccak384HashToAddress,
126 Keccak384HashToField,
127 Keccak384HashToGroup,
128 Keccak384HashToI8,
129 Keccak384HashToI16,
130 Keccak384HashToI32,
131 Keccak384HashToI64,
132 Keccak384HashToI128,
133 Keccak384HashToU8,
134 Keccak384HashToU16,
135 Keccak384HashToU32,
136 Keccak384HashToU64,
137 Keccak384HashToU128,
138 Keccak384HashToScalar,
139
140 Keccak512HashToAddress,
141 Keccak512HashToField,
142 Keccak512HashToGroup,
143 Keccak512HashToI8,
144 Keccak512HashToI16,
145 Keccak512HashToI32,
146 Keccak512HashToI64,
147 Keccak512HashToI128,
148 Keccak512HashToU8,
149 Keccak512HashToU16,
150 Keccak512HashToU32,
151 Keccak512HashToU64,
152 Keccak512HashToU128,
153 Keccak512HashToScalar,
154
155 Pedersen64CommitToAddress,
156 Pedersen64CommitToField,
157 Pedersen64CommitToGroup,
158 Pedersen64HashToAddress,
159 Pedersen64HashToField,
160 Pedersen64HashToGroup,
161 Pedersen64HashToI8,
162 Pedersen64HashToI16,
163 Pedersen64HashToI32,
164 Pedersen64HashToI64,
165 Pedersen64HashToI128,
166 Pedersen64HashToU8,
167 Pedersen64HashToU16,
168 Pedersen64HashToU32,
169 Pedersen64HashToU64,
170 Pedersen64HashToU128,
171 Pedersen64HashToScalar,
172
173 Pedersen128CommitToAddress,
174 Pedersen128CommitToField,
175 Pedersen128CommitToGroup,
176 Pedersen128HashToAddress,
177 Pedersen128HashToField,
178 Pedersen128HashToGroup,
179 Pedersen128HashToI8,
180 Pedersen128HashToI16,
181 Pedersen128HashToI32,
182 Pedersen128HashToI64,
183 Pedersen128HashToI128,
184 Pedersen128HashToU8,
185 Pedersen128HashToU16,
186 Pedersen128HashToU32,
187 Pedersen128HashToU64,
188 Pedersen128HashToU128,
189 Pedersen128HashToScalar,
190
191 Poseidon2HashToAddress,
192 Poseidon2HashToField,
193 Poseidon2HashToGroup,
194 Poseidon2HashToI8,
195 Poseidon2HashToI16,
196 Poseidon2HashToI32,
197 Poseidon2HashToI64,
198 Poseidon2HashToI128,
199 Poseidon2HashToU8,
200 Poseidon2HashToU16,
201 Poseidon2HashToU32,
202 Poseidon2HashToU64,
203 Poseidon2HashToU128,
204 Poseidon2HashToScalar,
205
206 Poseidon4HashToAddress,
207 Poseidon4HashToField,
208 Poseidon4HashToGroup,
209 Poseidon4HashToI8,
210 Poseidon4HashToI16,
211 Poseidon4HashToI32,
212 Poseidon4HashToI64,
213 Poseidon4HashToI128,
214 Poseidon4HashToU8,
215 Poseidon4HashToU16,
216 Poseidon4HashToU32,
217 Poseidon4HashToU64,
218 Poseidon4HashToU128,
219 Poseidon4HashToScalar,
220
221 Poseidon8HashToAddress,
222 Poseidon8HashToField,
223 Poseidon8HashToGroup,
224 Poseidon8HashToI8,
225 Poseidon8HashToI16,
226 Poseidon8HashToI32,
227 Poseidon8HashToI64,
228 Poseidon8HashToI128,
229 Poseidon8HashToU8,
230 Poseidon8HashToU16,
231 Poseidon8HashToU32,
232 Poseidon8HashToU64,
233 Poseidon8HashToU128,
234 Poseidon8HashToScalar,
235
236 SHA3_256HashToAddress,
237 SHA3_256HashToField,
238 SHA3_256HashToGroup,
239 SHA3_256HashToI8,
240 SHA3_256HashToI16,
241 SHA3_256HashToI32,
242 SHA3_256HashToI64,
243 SHA3_256HashToI128,
244 SHA3_256HashToU8,
245 SHA3_256HashToU16,
246 SHA3_256HashToU32,
247 SHA3_256HashToU64,
248 SHA3_256HashToU128,
249 SHA3_256HashToScalar,
250
251 SHA3_384HashToAddress,
252 SHA3_384HashToField,
253 SHA3_384HashToGroup,
254 SHA3_384HashToI8,
255 SHA3_384HashToI16,
256 SHA3_384HashToI32,
257 SHA3_384HashToI64,
258 SHA3_384HashToI128,
259 SHA3_384HashToU8,
260 SHA3_384HashToU16,
261 SHA3_384HashToU32,
262 SHA3_384HashToU64,
263 SHA3_384HashToU128,
264 SHA3_384HashToScalar,
265
266 SHA3_512HashToAddress,
267 SHA3_512HashToField,
268 SHA3_512HashToGroup,
269 SHA3_512HashToI8,
270 SHA3_512HashToI16,
271 SHA3_512HashToI32,
272 SHA3_512HashToI64,
273 SHA3_512HashToI128,
274 SHA3_512HashToU8,
275 SHA3_512HashToU16,
276 SHA3_512HashToU32,
277 SHA3_512HashToU64,
278 SHA3_512HashToU128,
279 SHA3_512HashToScalar,
280
281 MappingGet,
282 MappingGetOrUse,
283 MappingSet,
284 MappingRemove,
285 MappingContains,
286
287 OptionalUnwrap,
288 OptionalUnwrapOr,
289
290 GroupToXCoordinate,
291 GroupToYCoordinate,
292
293 SignatureVerify,
294 FutureAwait,
295
296 ProgramChecksum,
297 ProgramEdition,
298 ProgramOwner,
299
300 CheatCodePrintMapping,
301 CheatCodeSetBlockHeight,
302}
303
304impl CoreFunction {
305 pub fn from_symbols(module: Symbol, function: Symbol) -> Option<Self> {
307 Some(match (module, function) {
308 (sym::BHP256, sym::commit_to_address) => Self::BHP256CommitToAddress,
309 (sym::BHP256, sym::commit_to_field) => Self::BHP256CommitToField,
310 (sym::BHP256, sym::commit_to_group) => Self::BHP256CommitToGroup,
311
312 (sym::BHP256, sym::hash_to_address) => Self::BHP256HashToAddress,
313 (sym::BHP256, sym::hash_to_field) => Self::BHP256HashToField,
314 (sym::BHP256, sym::hash_to_group) => Self::BHP256HashToGroup,
315 (sym::BHP256, sym::hash_to_i8) => Self::BHP256HashToI8,
316 (sym::BHP256, sym::hash_to_i16) => Self::BHP256HashToI16,
317 (sym::BHP256, sym::hash_to_i32) => Self::BHP256HashToI32,
318 (sym::BHP256, sym::hash_to_i64) => Self::BHP256HashToI64,
319 (sym::BHP256, sym::hash_to_i128) => Self::BHP256HashToI128,
320 (sym::BHP256, sym::hash_to_u8) => Self::BHP256HashToU8,
321 (sym::BHP256, sym::hash_to_u16) => Self::BHP256HashToU16,
322 (sym::BHP256, sym::hash_to_u32) => Self::BHP256HashToU32,
323 (sym::BHP256, sym::hash_to_u64) => Self::BHP256HashToU64,
324 (sym::BHP256, sym::hash_to_u128) => Self::BHP256HashToU128,
325 (sym::BHP256, sym::hash_to_scalar) => Self::BHP256HashToScalar,
326
327 (sym::BHP512, sym::commit_to_address) => Self::BHP512CommitToAddress,
328 (sym::BHP512, sym::commit_to_field) => Self::BHP512CommitToField,
329 (sym::BHP512, sym::commit_to_group) => Self::BHP512CommitToGroup,
330 (sym::BHP512, sym::hash_to_address) => Self::BHP512HashToAddress,
331 (sym::BHP512, sym::hash_to_field) => Self::BHP512HashToField,
332 (sym::BHP512, sym::hash_to_group) => Self::BHP512HashToGroup,
333 (sym::BHP512, sym::hash_to_i8) => Self::BHP512HashToI8,
334 (sym::BHP512, sym::hash_to_i16) => Self::BHP512HashToI16,
335 (sym::BHP512, sym::hash_to_i32) => Self::BHP512HashToI32,
336 (sym::BHP512, sym::hash_to_i64) => Self::BHP512HashToI64,
337 (sym::BHP512, sym::hash_to_i128) => Self::BHP512HashToI128,
338 (sym::BHP512, sym::hash_to_u8) => Self::BHP512HashToU8,
339 (sym::BHP512, sym::hash_to_u16) => Self::BHP512HashToU16,
340 (sym::BHP512, sym::hash_to_u32) => Self::BHP512HashToU32,
341 (sym::BHP512, sym::hash_to_u64) => Self::BHP512HashToU64,
342 (sym::BHP512, sym::hash_to_u128) => Self::BHP512HashToU128,
343 (sym::BHP512, sym::hash_to_scalar) => Self::BHP512HashToScalar,
344
345 (sym::BHP768, sym::commit_to_address) => Self::BHP768CommitToAddress,
346 (sym::BHP768, sym::commit_to_field) => Self::BHP768CommitToField,
347 (sym::BHP768, sym::commit_to_group) => Self::BHP768CommitToGroup,
348 (sym::BHP768, sym::hash_to_address) => Self::BHP768HashToAddress,
349 (sym::BHP768, sym::hash_to_field) => Self::BHP768HashToField,
350 (sym::BHP768, sym::hash_to_group) => Self::BHP768HashToGroup,
351 (sym::BHP768, sym::hash_to_i8) => Self::BHP768HashToI8,
352 (sym::BHP768, sym::hash_to_i16) => Self::BHP768HashToI16,
353 (sym::BHP768, sym::hash_to_i32) => Self::BHP768HashToI32,
354 (sym::BHP768, sym::hash_to_i64) => Self::BHP768HashToI64,
355 (sym::BHP768, sym::hash_to_i128) => Self::BHP768HashToI128,
356 (sym::BHP768, sym::hash_to_u8) => Self::BHP768HashToU8,
357 (sym::BHP768, sym::hash_to_u16) => Self::BHP768HashToU16,
358 (sym::BHP768, sym::hash_to_u32) => Self::BHP768HashToU32,
359 (sym::BHP768, sym::hash_to_u64) => Self::BHP768HashToU64,
360 (sym::BHP768, sym::hash_to_u128) => Self::BHP768HashToU128,
361 (sym::BHP768, sym::hash_to_scalar) => Self::BHP768HashToScalar,
362
363 (sym::BHP1024, sym::commit_to_address) => Self::BHP1024CommitToAddress,
364 (sym::BHP1024, sym::commit_to_field) => Self::BHP1024CommitToField,
365 (sym::BHP1024, sym::commit_to_group) => Self::BHP1024CommitToGroup,
366 (sym::BHP1024, sym::hash_to_address) => Self::BHP1024HashToAddress,
367 (sym::BHP1024, sym::hash_to_field) => Self::BHP1024HashToField,
368 (sym::BHP1024, sym::hash_to_group) => Self::BHP1024HashToGroup,
369 (sym::BHP1024, sym::hash_to_i8) => Self::BHP1024HashToI8,
370 (sym::BHP1024, sym::hash_to_i16) => Self::BHP1024HashToI16,
371 (sym::BHP1024, sym::hash_to_i32) => Self::BHP1024HashToI32,
372 (sym::BHP1024, sym::hash_to_i64) => Self::BHP1024HashToI64,
373 (sym::BHP1024, sym::hash_to_i128) => Self::BHP1024HashToI128,
374 (sym::BHP1024, sym::hash_to_u8) => Self::BHP1024HashToU8,
375 (sym::BHP1024, sym::hash_to_u16) => Self::BHP1024HashToU16,
376 (sym::BHP1024, sym::hash_to_u32) => Self::BHP1024HashToU32,
377 (sym::BHP1024, sym::hash_to_u64) => Self::BHP1024HashToU64,
378 (sym::BHP1024, sym::hash_to_u128) => Self::BHP1024HashToU128,
379 (sym::BHP1024, sym::hash_to_scalar) => Self::BHP1024HashToScalar,
380
381 (sym::ChaCha, sym::rand_address) => Self::ChaChaRandAddress,
382 (sym::ChaCha, sym::rand_bool) => Self::ChaChaRandBool,
383 (sym::ChaCha, sym::rand_field) => Self::ChaChaRandField,
384 (sym::ChaCha, sym::rand_group) => Self::ChaChaRandGroup,
385 (sym::ChaCha, sym::rand_i8) => Self::ChaChaRandI8,
386 (sym::ChaCha, sym::rand_i16) => Self::ChaChaRandI16,
387 (sym::ChaCha, sym::rand_i32) => Self::ChaChaRandI32,
388 (sym::ChaCha, sym::rand_i64) => Self::ChaChaRandI64,
389 (sym::ChaCha, sym::rand_i128) => Self::ChaChaRandI128,
390 (sym::ChaCha, sym::rand_scalar) => Self::ChaChaRandScalar,
391 (sym::ChaCha, sym::rand_u8) => Self::ChaChaRandU8,
392 (sym::ChaCha, sym::rand_u16) => Self::ChaChaRandU16,
393 (sym::ChaCha, sym::rand_u32) => Self::ChaChaRandU32,
394 (sym::ChaCha, sym::rand_u64) => Self::ChaChaRandU64,
395 (sym::ChaCha, sym::rand_u128) => Self::ChaChaRandU128,
396
397 (sym::Keccak256, sym::hash_to_address) => Self::Keccak256HashToAddress,
398 (sym::Keccak256, sym::hash_to_field) => Self::Keccak256HashToField,
399 (sym::Keccak256, sym::hash_to_group) => Self::Keccak256HashToGroup,
400 (sym::Keccak256, sym::hash_to_i8) => Self::Keccak256HashToI8,
401 (sym::Keccak256, sym::hash_to_i16) => Self::Keccak256HashToI16,
402 (sym::Keccak256, sym::hash_to_i32) => Self::Keccak256HashToI32,
403 (sym::Keccak256, sym::hash_to_i64) => Self::Keccak256HashToI64,
404 (sym::Keccak256, sym::hash_to_i128) => Self::Keccak256HashToI128,
405 (sym::Keccak256, sym::hash_to_u8) => Self::Keccak256HashToU8,
406 (sym::Keccak256, sym::hash_to_u16) => Self::Keccak256HashToU16,
407 (sym::Keccak256, sym::hash_to_u32) => Self::Keccak256HashToU32,
408 (sym::Keccak256, sym::hash_to_u64) => Self::Keccak256HashToU64,
409 (sym::Keccak256, sym::hash_to_u128) => Self::Keccak256HashToU128,
410 (sym::Keccak256, sym::hash_to_scalar) => Self::Keccak256HashToScalar,
411
412 (sym::Keccak384, sym::hash_to_address) => Self::Keccak384HashToAddress,
413 (sym::Keccak384, sym::hash_to_field) => Self::Keccak384HashToField,
414 (sym::Keccak384, sym::hash_to_group) => Self::Keccak384HashToGroup,
415 (sym::Keccak384, sym::hash_to_i8) => Self::Keccak384HashToI8,
416 (sym::Keccak384, sym::hash_to_i16) => Self::Keccak384HashToI16,
417 (sym::Keccak384, sym::hash_to_i32) => Self::Keccak384HashToI32,
418 (sym::Keccak384, sym::hash_to_i64) => Self::Keccak384HashToI64,
419 (sym::Keccak384, sym::hash_to_i128) => Self::Keccak384HashToI128,
420 (sym::Keccak384, sym::hash_to_u8) => Self::Keccak384HashToU8,
421 (sym::Keccak384, sym::hash_to_u16) => Self::Keccak384HashToU16,
422 (sym::Keccak384, sym::hash_to_u32) => Self::Keccak384HashToU32,
423 (sym::Keccak384, sym::hash_to_u64) => Self::Keccak384HashToU64,
424 (sym::Keccak384, sym::hash_to_u128) => Self::Keccak384HashToU128,
425 (sym::Keccak384, sym::hash_to_scalar) => Self::Keccak384HashToScalar,
426
427 (sym::Keccak512, sym::hash_to_address) => Self::Keccak512HashToAddress,
428 (sym::Keccak512, sym::hash_to_field) => Self::Keccak512HashToField,
429 (sym::Keccak512, sym::hash_to_group) => Self::Keccak512HashToGroup,
430 (sym::Keccak512, sym::hash_to_i8) => Self::Keccak512HashToI8,
431 (sym::Keccak512, sym::hash_to_i16) => Self::Keccak512HashToI16,
432 (sym::Keccak512, sym::hash_to_i32) => Self::Keccak512HashToI32,
433 (sym::Keccak512, sym::hash_to_i64) => Self::Keccak512HashToI64,
434 (sym::Keccak512, sym::hash_to_i128) => Self::Keccak512HashToI128,
435 (sym::Keccak512, sym::hash_to_u8) => Self::Keccak512HashToU8,
436 (sym::Keccak512, sym::hash_to_u16) => Self::Keccak512HashToU16,
437 (sym::Keccak512, sym::hash_to_u32) => Self::Keccak512HashToU32,
438 (sym::Keccak512, sym::hash_to_u64) => Self::Keccak512HashToU64,
439 (sym::Keccak512, sym::hash_to_u128) => Self::Keccak512HashToU128,
440 (sym::Keccak512, sym::hash_to_scalar) => Self::Keccak512HashToScalar,
441
442 (sym::Pedersen64, sym::commit_to_address) => Self::Pedersen64CommitToAddress,
443 (sym::Pedersen64, sym::commit_to_field) => Self::Pedersen64CommitToField,
444 (sym::Pedersen64, sym::commit_to_group) => Self::Pedersen64CommitToGroup,
445 (sym::Pedersen64, sym::hash_to_address) => Self::Pedersen64HashToAddress,
446 (sym::Pedersen64, sym::hash_to_field) => Self::Pedersen64HashToField,
447 (sym::Pedersen64, sym::hash_to_group) => Self::Pedersen64HashToGroup,
448 (sym::Pedersen64, sym::hash_to_i8) => Self::Pedersen64HashToI8,
449 (sym::Pedersen64, sym::hash_to_i16) => Self::Pedersen64HashToI16,
450 (sym::Pedersen64, sym::hash_to_i32) => Self::Pedersen64HashToI32,
451 (sym::Pedersen64, sym::hash_to_i64) => Self::Pedersen64HashToI64,
452 (sym::Pedersen64, sym::hash_to_i128) => Self::Pedersen64HashToI128,
453 (sym::Pedersen64, sym::hash_to_u8) => Self::Pedersen64HashToU8,
454 (sym::Pedersen64, sym::hash_to_u16) => Self::Pedersen64HashToU16,
455 (sym::Pedersen64, sym::hash_to_u32) => Self::Pedersen64HashToU32,
456 (sym::Pedersen64, sym::hash_to_u64) => Self::Pedersen64HashToU64,
457 (sym::Pedersen64, sym::hash_to_u128) => Self::Pedersen64HashToU128,
458 (sym::Pedersen64, sym::hash_to_scalar) => Self::Pedersen64HashToScalar,
459
460 (sym::Pedersen128, sym::commit_to_address) => Self::Pedersen128CommitToAddress,
461 (sym::Pedersen128, sym::commit_to_field) => Self::Pedersen128CommitToField,
462 (sym::Pedersen128, sym::commit_to_group) => Self::Pedersen128CommitToGroup,
463 (sym::Pedersen128, sym::hash_to_address) => Self::Pedersen128HashToAddress,
464 (sym::Pedersen128, sym::hash_to_field) => Self::Pedersen128HashToField,
465 (sym::Pedersen128, sym::hash_to_group) => Self::Pedersen128HashToGroup,
466 (sym::Pedersen128, sym::hash_to_i8) => Self::Pedersen128HashToI8,
467 (sym::Pedersen128, sym::hash_to_i16) => Self::Pedersen128HashToI16,
468 (sym::Pedersen128, sym::hash_to_i32) => Self::Pedersen128HashToI32,
469 (sym::Pedersen128, sym::hash_to_i64) => Self::Pedersen128HashToI64,
470 (sym::Pedersen128, sym::hash_to_i128) => Self::Pedersen128HashToI128,
471 (sym::Pedersen128, sym::hash_to_u8) => Self::Pedersen128HashToU8,
472 (sym::Pedersen128, sym::hash_to_u16) => Self::Pedersen128HashToU16,
473 (sym::Pedersen128, sym::hash_to_u32) => Self::Pedersen128HashToU32,
474 (sym::Pedersen128, sym::hash_to_u64) => Self::Pedersen128HashToU64,
475 (sym::Pedersen128, sym::hash_to_u128) => Self::Pedersen128HashToU128,
476 (sym::Pedersen128, sym::hash_to_scalar) => Self::Pedersen128HashToScalar,
477
478 (sym::Poseidon2, sym::hash_to_address) => Self::Poseidon2HashToAddress,
479 (sym::Poseidon2, sym::hash_to_field) => Self::Poseidon2HashToField,
480 (sym::Poseidon2, sym::hash_to_group) => Self::Poseidon2HashToGroup,
481 (sym::Poseidon2, sym::hash_to_i8) => Self::Poseidon2HashToI8,
482 (sym::Poseidon2, sym::hash_to_i16) => Self::Poseidon2HashToI16,
483 (sym::Poseidon2, sym::hash_to_i32) => Self::Poseidon2HashToI32,
484 (sym::Poseidon2, sym::hash_to_i64) => Self::Poseidon2HashToI64,
485 (sym::Poseidon2, sym::hash_to_i128) => Self::Poseidon2HashToI128,
486 (sym::Poseidon2, sym::hash_to_u8) => Self::Poseidon2HashToU8,
487 (sym::Poseidon2, sym::hash_to_u16) => Self::Poseidon2HashToU16,
488 (sym::Poseidon2, sym::hash_to_u32) => Self::Poseidon2HashToU32,
489 (sym::Poseidon2, sym::hash_to_u64) => Self::Poseidon2HashToU64,
490 (sym::Poseidon2, sym::hash_to_u128) => Self::Poseidon2HashToU128,
491 (sym::Poseidon2, sym::hash_to_scalar) => Self::Poseidon2HashToScalar,
492
493 (sym::Poseidon4, sym::hash_to_address) => Self::Poseidon4HashToAddress,
494 (sym::Poseidon4, sym::hash_to_field) => Self::Poseidon4HashToField,
495 (sym::Poseidon4, sym::hash_to_group) => Self::Poseidon4HashToGroup,
496 (sym::Poseidon4, sym::hash_to_i8) => Self::Poseidon4HashToI8,
497 (sym::Poseidon4, sym::hash_to_i16) => Self::Poseidon4HashToI16,
498 (sym::Poseidon4, sym::hash_to_i32) => Self::Poseidon4HashToI32,
499 (sym::Poseidon4, sym::hash_to_i64) => Self::Poseidon4HashToI64,
500 (sym::Poseidon4, sym::hash_to_i128) => Self::Poseidon4HashToI128,
501 (sym::Poseidon4, sym::hash_to_u8) => Self::Poseidon4HashToU8,
502 (sym::Poseidon4, sym::hash_to_u16) => Self::Poseidon4HashToU16,
503 (sym::Poseidon4, sym::hash_to_u32) => Self::Poseidon4HashToU32,
504 (sym::Poseidon4, sym::hash_to_u64) => Self::Poseidon4HashToU64,
505 (sym::Poseidon4, sym::hash_to_u128) => Self::Poseidon4HashToU128,
506 (sym::Poseidon4, sym::hash_to_scalar) => Self::Poseidon4HashToScalar,
507
508 (sym::Poseidon8, sym::hash_to_address) => Self::Poseidon8HashToAddress,
509 (sym::Poseidon8, sym::hash_to_field) => Self::Poseidon8HashToField,
510 (sym::Poseidon8, sym::hash_to_group) => Self::Poseidon8HashToGroup,
511 (sym::Poseidon8, sym::hash_to_i8) => Self::Poseidon8HashToI8,
512 (sym::Poseidon8, sym::hash_to_i16) => Self::Poseidon8HashToI16,
513 (sym::Poseidon8, sym::hash_to_i32) => Self::Poseidon8HashToI32,
514 (sym::Poseidon8, sym::hash_to_i64) => Self::Poseidon8HashToI64,
515 (sym::Poseidon8, sym::hash_to_i128) => Self::Poseidon8HashToI128,
516 (sym::Poseidon8, sym::hash_to_u8) => Self::Poseidon8HashToU8,
517 (sym::Poseidon8, sym::hash_to_u16) => Self::Poseidon8HashToU16,
518 (sym::Poseidon8, sym::hash_to_u32) => Self::Poseidon8HashToU32,
519 (sym::Poseidon8, sym::hash_to_u64) => Self::Poseidon8HashToU64,
520 (sym::Poseidon8, sym::hash_to_u128) => Self::Poseidon8HashToU128,
521 (sym::Poseidon8, sym::hash_to_scalar) => Self::Poseidon8HashToScalar,
522
523 (sym::SHA3_256, sym::hash_to_address) => Self::SHA3_256HashToAddress,
524 (sym::SHA3_256, sym::hash_to_field) => Self::SHA3_256HashToField,
525 (sym::SHA3_256, sym::hash_to_group) => Self::SHA3_256HashToGroup,
526 (sym::SHA3_256, sym::hash_to_i8) => Self::SHA3_256HashToI8,
527 (sym::SHA3_256, sym::hash_to_i16) => Self::SHA3_256HashToI16,
528 (sym::SHA3_256, sym::hash_to_i32) => Self::SHA3_256HashToI32,
529 (sym::SHA3_256, sym::hash_to_i64) => Self::SHA3_256HashToI64,
530 (sym::SHA3_256, sym::hash_to_i128) => Self::SHA3_256HashToI128,
531 (sym::SHA3_256, sym::hash_to_u8) => Self::SHA3_256HashToU8,
532 (sym::SHA3_256, sym::hash_to_u16) => Self::SHA3_256HashToU16,
533 (sym::SHA3_256, sym::hash_to_u32) => Self::SHA3_256HashToU32,
534 (sym::SHA3_256, sym::hash_to_u64) => Self::SHA3_256HashToU64,
535 (sym::SHA3_256, sym::hash_to_u128) => Self::SHA3_256HashToU128,
536 (sym::SHA3_256, sym::hash_to_scalar) => Self::SHA3_256HashToScalar,
537
538 (sym::SHA3_384, sym::hash_to_address) => Self::SHA3_384HashToAddress,
539 (sym::SHA3_384, sym::hash_to_field) => Self::SHA3_384HashToField,
540 (sym::SHA3_384, sym::hash_to_group) => Self::SHA3_384HashToGroup,
541 (sym::SHA3_384, sym::hash_to_i8) => Self::SHA3_384HashToI8,
542 (sym::SHA3_384, sym::hash_to_i16) => Self::SHA3_384HashToI16,
543 (sym::SHA3_384, sym::hash_to_i32) => Self::SHA3_384HashToI32,
544 (sym::SHA3_384, sym::hash_to_i64) => Self::SHA3_384HashToI64,
545 (sym::SHA3_384, sym::hash_to_i128) => Self::SHA3_384HashToI128,
546 (sym::SHA3_384, sym::hash_to_u8) => Self::SHA3_384HashToU8,
547 (sym::SHA3_384, sym::hash_to_u16) => Self::SHA3_384HashToU16,
548 (sym::SHA3_384, sym::hash_to_u32) => Self::SHA3_384HashToU32,
549 (sym::SHA3_384, sym::hash_to_u64) => Self::SHA3_384HashToU64,
550 (sym::SHA3_384, sym::hash_to_u128) => Self::SHA3_384HashToU128,
551 (sym::SHA3_384, sym::hash_to_scalar) => Self::SHA3_384HashToScalar,
552
553 (sym::SHA3_512, sym::hash_to_address) => Self::SHA3_512HashToAddress,
554 (sym::SHA3_512, sym::hash_to_field) => Self::SHA3_512HashToField,
555 (sym::SHA3_512, sym::hash_to_group) => Self::SHA3_512HashToGroup,
556 (sym::SHA3_512, sym::hash_to_i8) => Self::SHA3_512HashToI8,
557 (sym::SHA3_512, sym::hash_to_i16) => Self::SHA3_512HashToI16,
558 (sym::SHA3_512, sym::hash_to_i32) => Self::SHA3_512HashToI32,
559 (sym::SHA3_512, sym::hash_to_i64) => Self::SHA3_512HashToI64,
560 (sym::SHA3_512, sym::hash_to_i128) => Self::SHA3_512HashToI128,
561 (sym::SHA3_512, sym::hash_to_u8) => Self::SHA3_512HashToU8,
562 (sym::SHA3_512, sym::hash_to_u16) => Self::SHA3_512HashToU16,
563 (sym::SHA3_512, sym::hash_to_u32) => Self::SHA3_512HashToU32,
564 (sym::SHA3_512, sym::hash_to_u64) => Self::SHA3_512HashToU64,
565 (sym::SHA3_512, sym::hash_to_u128) => Self::SHA3_512HashToU128,
566 (sym::SHA3_512, sym::hash_to_scalar) => Self::SHA3_512HashToScalar,
567
568 (sym::Mapping, sym::get) => Self::MappingGet,
569 (sym::Mapping, sym::get_or_use) => Self::MappingGetOrUse,
570 (sym::Mapping, sym::set) => Self::MappingSet,
571 (sym::Mapping, sym::remove) => Self::MappingRemove,
572 (sym::Mapping, sym::contains) => Self::MappingContains,
573
574 (sym::Optional, sym::unwrap) => Self::OptionalUnwrap,
575 (sym::Optional, sym::unwrap_or) => Self::OptionalUnwrapOr,
576
577 (sym::group, sym::to_x_coordinate) => Self::GroupToXCoordinate,
578 (sym::group, sym::to_y_coordinate) => Self::GroupToYCoordinate,
579
580 (sym::ProgramCore, sym::checksum) => Self::ProgramChecksum,
581 (sym::ProgramCore, sym::edition) => Self::ProgramEdition,
582 (sym::ProgramCore, sym::program_owner) => Self::ProgramOwner,
583
584 (sym::signature, sym::verify) => Self::SignatureVerify,
585 (sym::Future, sym::Await) => Self::FutureAwait,
586
587 (sym::CheatCode, sym::print_mapping) => Self::CheatCodePrintMapping,
588 (sym::CheatCode, sym::set_block_height) => Self::CheatCodeSetBlockHeight,
589 _ => return None,
590 })
591 }
592
593 pub fn num_args(&self) -> usize {
595 match self {
596 Self::BHP256CommitToAddress => 2,
597 Self::BHP256CommitToField => 2,
598 Self::BHP256CommitToGroup => 2,
599
600 Self::BHP256HashToAddress => 1,
601 Self::BHP256HashToField => 1,
602 Self::BHP256HashToGroup => 1,
603 Self::BHP256HashToI8 => 1,
604 Self::BHP256HashToI16 => 1,
605 Self::BHP256HashToI32 => 1,
606 Self::BHP256HashToI64 => 1,
607 Self::BHP256HashToI128 => 1,
608 Self::BHP256HashToU8 => 1,
609 Self::BHP256HashToU16 => 1,
610 Self::BHP256HashToU32 => 1,
611 Self::BHP256HashToU64 => 1,
612 Self::BHP256HashToU128 => 1,
613 Self::BHP256HashToScalar => 1,
614
615 Self::BHP512CommitToAddress => 2,
616 Self::BHP512CommitToField => 2,
617 Self::BHP512CommitToGroup => 2,
618 Self::BHP512HashToAddress => 1,
619 Self::BHP512HashToField => 1,
620 Self::BHP512HashToGroup => 1,
621 Self::BHP512HashToI8 => 1,
622 Self::BHP512HashToI16 => 1,
623 Self::BHP512HashToI32 => 1,
624 Self::BHP512HashToI64 => 1,
625 Self::BHP512HashToI128 => 1,
626 Self::BHP512HashToU8 => 1,
627 Self::BHP512HashToU16 => 1,
628 Self::BHP512HashToU32 => 1,
629 Self::BHP512HashToU64 => 1,
630 Self::BHP512HashToU128 => 1,
631 Self::BHP512HashToScalar => 1,
632
633 Self::BHP768CommitToAddress => 2,
634 Self::BHP768CommitToField => 2,
635 Self::BHP768CommitToGroup => 2,
636 Self::BHP768HashToAddress => 1,
637 Self::BHP768HashToField => 1,
638 Self::BHP768HashToGroup => 1,
639 Self::BHP768HashToI8 => 1,
640 Self::BHP768HashToI16 => 1,
641 Self::BHP768HashToI32 => 1,
642 Self::BHP768HashToI64 => 1,
643 Self::BHP768HashToI128 => 1,
644 Self::BHP768HashToU8 => 1,
645 Self::BHP768HashToU16 => 1,
646 Self::BHP768HashToU32 => 1,
647 Self::BHP768HashToU64 => 1,
648 Self::BHP768HashToU128 => 1,
649 Self::BHP768HashToScalar => 1,
650
651 Self::BHP1024CommitToAddress => 2,
652 Self::BHP1024CommitToField => 2,
653 Self::BHP1024CommitToGroup => 2,
654 Self::BHP1024HashToAddress => 1,
655 Self::BHP1024HashToField => 1,
656 Self::BHP1024HashToGroup => 1,
657 Self::BHP1024HashToI8 => 1,
658 Self::BHP1024HashToI16 => 1,
659 Self::BHP1024HashToI32 => 1,
660 Self::BHP1024HashToI64 => 1,
661 Self::BHP1024HashToI128 => 1,
662 Self::BHP1024HashToU8 => 1,
663 Self::BHP1024HashToU16 => 1,
664 Self::BHP1024HashToU32 => 1,
665 Self::BHP1024HashToU64 => 1,
666 Self::BHP1024HashToU128 => 1,
667 Self::BHP1024HashToScalar => 1,
668
669 Self::ChaChaRandAddress => 0,
670 Self::ChaChaRandBool => 0,
671 Self::ChaChaRandField => 0,
672 Self::ChaChaRandGroup => 0,
673 Self::ChaChaRandI8 => 0,
674 Self::ChaChaRandI16 => 0,
675 Self::ChaChaRandI32 => 0,
676 Self::ChaChaRandI64 => 0,
677 Self::ChaChaRandI128 => 0,
678 Self::ChaChaRandU8 => 0,
679 Self::ChaChaRandU16 => 0,
680 Self::ChaChaRandU32 => 0,
681 Self::ChaChaRandU64 => 0,
682 Self::ChaChaRandU128 => 0,
683 Self::ChaChaRandScalar => 0,
684
685 Self::Keccak256HashToAddress => 1,
686 Self::Keccak256HashToField => 1,
687 Self::Keccak256HashToGroup => 1,
688 Self::Keccak256HashToI8 => 1,
689 Self::Keccak256HashToI16 => 1,
690 Self::Keccak256HashToI32 => 1,
691 Self::Keccak256HashToI64 => 1,
692 Self::Keccak256HashToI128 => 1,
693 Self::Keccak256HashToU8 => 1,
694 Self::Keccak256HashToU16 => 1,
695 Self::Keccak256HashToU32 => 1,
696 Self::Keccak256HashToU64 => 1,
697 Self::Keccak256HashToU128 => 1,
698 Self::Keccak256HashToScalar => 1,
699
700 Self::Keccak384HashToAddress => 1,
701 Self::Keccak384HashToField => 1,
702 Self::Keccak384HashToGroup => 1,
703 Self::Keccak384HashToI8 => 1,
704 Self::Keccak384HashToI16 => 1,
705 Self::Keccak384HashToI32 => 1,
706 Self::Keccak384HashToI64 => 1,
707 Self::Keccak384HashToI128 => 1,
708 Self::Keccak384HashToU8 => 1,
709 Self::Keccak384HashToU16 => 1,
710 Self::Keccak384HashToU32 => 1,
711 Self::Keccak384HashToU64 => 1,
712 Self::Keccak384HashToU128 => 1,
713 Self::Keccak384HashToScalar => 1,
714
715 Self::Keccak512HashToAddress => 1,
716 Self::Keccak512HashToField => 1,
717 Self::Keccak512HashToGroup => 1,
718 Self::Keccak512HashToI8 => 1,
719 Self::Keccak512HashToI16 => 1,
720 Self::Keccak512HashToI32 => 1,
721 Self::Keccak512HashToI64 => 1,
722 Self::Keccak512HashToI128 => 1,
723 Self::Keccak512HashToU8 => 1,
724 Self::Keccak512HashToU16 => 1,
725 Self::Keccak512HashToU32 => 1,
726 Self::Keccak512HashToU64 => 1,
727 Self::Keccak512HashToU128 => 1,
728 Self::Keccak512HashToScalar => 1,
729
730 Self::Pedersen64CommitToAddress => 2,
731 Self::Pedersen64CommitToField => 2,
732 Self::Pedersen64CommitToGroup => 2,
733 Self::Pedersen64HashToAddress => 1,
734 Self::Pedersen64HashToField => 1,
735 Self::Pedersen64HashToGroup => 1,
736 Self::Pedersen64HashToI8 => 1,
737 Self::Pedersen64HashToI16 => 1,
738 Self::Pedersen64HashToI32 => 1,
739 Self::Pedersen64HashToI64 => 1,
740 Self::Pedersen64HashToI128 => 1,
741 Self::Pedersen64HashToU8 => 1,
742 Self::Pedersen64HashToU16 => 1,
743 Self::Pedersen64HashToU32 => 1,
744 Self::Pedersen64HashToU64 => 1,
745 Self::Pedersen64HashToU128 => 1,
746 Self::Pedersen64HashToScalar => 1,
747
748 Self::Pedersen128CommitToAddress => 2,
749 Self::Pedersen128CommitToField => 2,
750 Self::Pedersen128CommitToGroup => 2,
751 Self::Pedersen128HashToAddress => 1,
752 Self::Pedersen128HashToField => 1,
753 Self::Pedersen128HashToGroup => 1,
754 Self::Pedersen128HashToI8 => 1,
755 Self::Pedersen128HashToI16 => 1,
756 Self::Pedersen128HashToI32 => 1,
757 Self::Pedersen128HashToI64 => 1,
758 Self::Pedersen128HashToI128 => 1,
759 Self::Pedersen128HashToU8 => 1,
760 Self::Pedersen128HashToU16 => 1,
761 Self::Pedersen128HashToU32 => 1,
762 Self::Pedersen128HashToU64 => 1,
763 Self::Pedersen128HashToU128 => 1,
764 Self::Pedersen128HashToScalar => 1,
765
766 Self::Poseidon2HashToAddress => 1,
767 Self::Poseidon2HashToField => 1,
768 Self::Poseidon2HashToGroup => 1,
769 Self::Poseidon2HashToI8 => 1,
770 Self::Poseidon2HashToI16 => 1,
771 Self::Poseidon2HashToI32 => 1,
772 Self::Poseidon2HashToI64 => 1,
773 Self::Poseidon2HashToI128 => 1,
774 Self::Poseidon2HashToU8 => 1,
775 Self::Poseidon2HashToU16 => 1,
776 Self::Poseidon2HashToU32 => 1,
777 Self::Poseidon2HashToU64 => 1,
778 Self::Poseidon2HashToU128 => 1,
779 Self::Poseidon2HashToScalar => 1,
780
781 Self::Poseidon4HashToAddress => 1,
782 Self::Poseidon4HashToField => 1,
783 Self::Poseidon4HashToGroup => 1,
784 Self::Poseidon4HashToI8 => 1,
785 Self::Poseidon4HashToI16 => 1,
786 Self::Poseidon4HashToI32 => 1,
787 Self::Poseidon4HashToI64 => 1,
788 Self::Poseidon4HashToI128 => 1,
789 Self::Poseidon4HashToU8 => 1,
790 Self::Poseidon4HashToU16 => 1,
791 Self::Poseidon4HashToU32 => 1,
792 Self::Poseidon4HashToU64 => 1,
793 Self::Poseidon4HashToU128 => 1,
794 Self::Poseidon4HashToScalar => 1,
795
796 Self::Poseidon8HashToAddress => 1,
797 Self::Poseidon8HashToField => 1,
798 Self::Poseidon8HashToGroup => 1,
799 Self::Poseidon8HashToI8 => 1,
800 Self::Poseidon8HashToI16 => 1,
801 Self::Poseidon8HashToI32 => 1,
802 Self::Poseidon8HashToI64 => 1,
803 Self::Poseidon8HashToI128 => 1,
804 Self::Poseidon8HashToU8 => 1,
805 Self::Poseidon8HashToU16 => 1,
806 Self::Poseidon8HashToU32 => 1,
807 Self::Poseidon8HashToU64 => 1,
808 Self::Poseidon8HashToU128 => 1,
809 Self::Poseidon8HashToScalar => 1,
810
811 Self::SHA3_256HashToAddress => 1,
812 Self::SHA3_256HashToField => 1,
813 Self::SHA3_256HashToGroup => 1,
814 Self::SHA3_256HashToI8 => 1,
815 Self::SHA3_256HashToI16 => 1,
816 Self::SHA3_256HashToI32 => 1,
817 Self::SHA3_256HashToI64 => 1,
818 Self::SHA3_256HashToI128 => 1,
819 Self::SHA3_256HashToU8 => 1,
820 Self::SHA3_256HashToU16 => 1,
821 Self::SHA3_256HashToU32 => 1,
822 Self::SHA3_256HashToU64 => 1,
823 Self::SHA3_256HashToU128 => 1,
824 Self::SHA3_256HashToScalar => 1,
825
826 Self::SHA3_384HashToAddress => 1,
827 Self::SHA3_384HashToField => 1,
828 Self::SHA3_384HashToGroup => 1,
829 Self::SHA3_384HashToI8 => 1,
830 Self::SHA3_384HashToI16 => 1,
831 Self::SHA3_384HashToI32 => 1,
832 Self::SHA3_384HashToI64 => 1,
833 Self::SHA3_384HashToI128 => 1,
834 Self::SHA3_384HashToU8 => 1,
835 Self::SHA3_384HashToU16 => 1,
836 Self::SHA3_384HashToU32 => 1,
837 Self::SHA3_384HashToU64 => 1,
838 Self::SHA3_384HashToU128 => 1,
839 Self::SHA3_384HashToScalar => 1,
840
841 Self::SHA3_512HashToAddress => 1,
842 Self::SHA3_512HashToField => 1,
843 Self::SHA3_512HashToGroup => 1,
844 Self::SHA3_512HashToI8 => 1,
845 Self::SHA3_512HashToI16 => 1,
846 Self::SHA3_512HashToI32 => 1,
847 Self::SHA3_512HashToI64 => 1,
848 Self::SHA3_512HashToI128 => 1,
849 Self::SHA3_512HashToU8 => 1,
850 Self::SHA3_512HashToU16 => 1,
851 Self::SHA3_512HashToU32 => 1,
852 Self::SHA3_512HashToU64 => 1,
853 Self::SHA3_512HashToU128 => 1,
854 Self::SHA3_512HashToScalar => 1,
855
856 Self::MappingGet => 2,
857 Self::MappingGetOrUse => 3,
858 Self::MappingSet => 3,
859 Self::MappingRemove => 2,
860 Self::MappingContains => 2,
861
862 Self::OptionalUnwrap => 1,
863 Self::OptionalUnwrapOr => 2,
864
865 Self::GroupToXCoordinate => 1,
866 Self::GroupToYCoordinate => 1,
867
868 Self::SignatureVerify => 3,
869 Self::FutureAwait => 1,
870
871 Self::ProgramChecksum => 1,
872 Self::ProgramEdition => 1,
873 Self::ProgramOwner => 1,
874 Self::CheatCodePrintMapping => 1,
875 Self::CheatCodeSetBlockHeight => 1,
876 }
877 }
878
879 pub fn is_finalize_command(&self) -> bool {
881 match self {
882 CoreFunction::FutureAwait
883 | CoreFunction::ChaChaRandAddress
884 | CoreFunction::ChaChaRandBool
885 | CoreFunction::ChaChaRandField
886 | CoreFunction::ChaChaRandGroup
887 | CoreFunction::ChaChaRandI8
888 | CoreFunction::ChaChaRandI16
889 | CoreFunction::ChaChaRandI32
890 | CoreFunction::ChaChaRandI64
891 | CoreFunction::ChaChaRandI128
892 | CoreFunction::ChaChaRandU8
893 | CoreFunction::ChaChaRandU16
894 | CoreFunction::ChaChaRandU32
895 | CoreFunction::ChaChaRandU64
896 | CoreFunction::ChaChaRandU128
897 | CoreFunction::MappingGet
898 | CoreFunction::MappingGetOrUse
899 | CoreFunction::ChaChaRandScalar
900 | CoreFunction::MappingSet
901 | CoreFunction::MappingRemove
902 | CoreFunction::MappingContains
903 | CoreFunction::ProgramChecksum
904 | CoreFunction::ProgramEdition
905 | CoreFunction::ProgramOwner => true,
906 CoreFunction::OptionalUnwrap
907 | CoreFunction::OptionalUnwrapOr
908 | CoreFunction::BHP256CommitToAddress
909 | CoreFunction::BHP256CommitToField
910 | CoreFunction::BHP256CommitToGroup
911 | CoreFunction::BHP256HashToAddress
912 | CoreFunction::BHP256HashToField
913 | CoreFunction::BHP256HashToGroup
914 | CoreFunction::BHP256HashToI8
915 | CoreFunction::BHP256HashToI16
916 | CoreFunction::BHP256HashToI32
917 | CoreFunction::BHP256HashToI64
918 | CoreFunction::BHP256HashToI128
919 | CoreFunction::BHP256HashToU8
920 | CoreFunction::BHP256HashToU16
921 | CoreFunction::BHP256HashToU32
922 | CoreFunction::BHP256HashToU64
923 | CoreFunction::BHP256HashToU128
924 | CoreFunction::BHP256HashToScalar
925 | CoreFunction::BHP512CommitToAddress
926 | CoreFunction::BHP512CommitToField
927 | CoreFunction::BHP512CommitToGroup
928 | CoreFunction::BHP512HashToAddress
929 | CoreFunction::BHP512HashToField
930 | CoreFunction::BHP512HashToGroup
931 | CoreFunction::BHP512HashToI8
932 | CoreFunction::BHP512HashToI16
933 | CoreFunction::BHP512HashToI32
934 | CoreFunction::BHP512HashToI64
935 | CoreFunction::BHP512HashToI128
936 | CoreFunction::BHP512HashToU8
937 | CoreFunction::BHP512HashToU16
938 | CoreFunction::BHP512HashToU32
939 | CoreFunction::BHP512HashToU64
940 | CoreFunction::BHP512HashToU128
941 | CoreFunction::BHP512HashToScalar
942 | CoreFunction::BHP768CommitToAddress
943 | CoreFunction::BHP768CommitToField
944 | CoreFunction::BHP768CommitToGroup
945 | CoreFunction::BHP768HashToAddress
946 | CoreFunction::BHP768HashToField
947 | CoreFunction::BHP768HashToGroup
948 | CoreFunction::BHP768HashToI8
949 | CoreFunction::BHP768HashToI16
950 | CoreFunction::BHP768HashToI32
951 | CoreFunction::BHP768HashToI64
952 | CoreFunction::BHP768HashToI128
953 | CoreFunction::BHP768HashToU8
954 | CoreFunction::BHP768HashToU16
955 | CoreFunction::BHP768HashToU32
956 | CoreFunction::BHP768HashToU64
957 | CoreFunction::BHP768HashToU128
958 | CoreFunction::BHP768HashToScalar
959 | CoreFunction::BHP1024CommitToAddress
960 | CoreFunction::BHP1024CommitToField
961 | CoreFunction::BHP1024CommitToGroup
962 | CoreFunction::BHP1024HashToAddress
963 | CoreFunction::BHP1024HashToField
964 | CoreFunction::BHP1024HashToGroup
965 | CoreFunction::BHP1024HashToI8
966 | CoreFunction::BHP1024HashToI16
967 | CoreFunction::BHP1024HashToI32
968 | CoreFunction::BHP1024HashToI64
969 | CoreFunction::BHP1024HashToI128
970 | CoreFunction::BHP1024HashToU8
971 | CoreFunction::BHP1024HashToU16
972 | CoreFunction::BHP1024HashToU32
973 | CoreFunction::BHP1024HashToU64
974 | CoreFunction::BHP1024HashToU128
975 | CoreFunction::BHP1024HashToScalar
976 | CoreFunction::Keccak256HashToAddress
977 | CoreFunction::Keccak256HashToField
978 | CoreFunction::Keccak256HashToGroup
979 | CoreFunction::Keccak256HashToI8
980 | CoreFunction::Keccak256HashToI16
981 | CoreFunction::Keccak256HashToI32
982 | CoreFunction::Keccak256HashToI64
983 | CoreFunction::Keccak256HashToI128
984 | CoreFunction::Keccak256HashToU8
985 | CoreFunction::Keccak256HashToU16
986 | CoreFunction::Keccak256HashToU32
987 | CoreFunction::Keccak256HashToU64
988 | CoreFunction::Keccak256HashToU128
989 | CoreFunction::Keccak256HashToScalar
990 | CoreFunction::Keccak384HashToAddress
991 | CoreFunction::Keccak384HashToField
992 | CoreFunction::Keccak384HashToGroup
993 | CoreFunction::Keccak384HashToI8
994 | CoreFunction::Keccak384HashToI16
995 | CoreFunction::Keccak384HashToI32
996 | CoreFunction::Keccak384HashToI64
997 | CoreFunction::Keccak384HashToI128
998 | CoreFunction::Keccak384HashToU8
999 | CoreFunction::Keccak384HashToU16
1000 | CoreFunction::Keccak384HashToU32
1001 | CoreFunction::Keccak384HashToU64
1002 | CoreFunction::Keccak384HashToU128
1003 | CoreFunction::Keccak384HashToScalar
1004 | CoreFunction::Keccak512HashToAddress
1005 | CoreFunction::Keccak512HashToField
1006 | CoreFunction::Keccak512HashToGroup
1007 | CoreFunction::Keccak512HashToI8
1008 | CoreFunction::Keccak512HashToI16
1009 | CoreFunction::Keccak512HashToI32
1010 | CoreFunction::Keccak512HashToI64
1011 | CoreFunction::Keccak512HashToI128
1012 | CoreFunction::Keccak512HashToU8
1013 | CoreFunction::Keccak512HashToU16
1014 | CoreFunction::Keccak512HashToU32
1015 | CoreFunction::Keccak512HashToU64
1016 | CoreFunction::Keccak512HashToU128
1017 | CoreFunction::Keccak512HashToScalar
1018 | CoreFunction::Pedersen64CommitToAddress
1019 | CoreFunction::Pedersen64CommitToField
1020 | CoreFunction::Pedersen64CommitToGroup
1021 | CoreFunction::Pedersen64HashToAddress
1022 | CoreFunction::Pedersen64HashToField
1023 | CoreFunction::Pedersen64HashToGroup
1024 | CoreFunction::Pedersen64HashToI8
1025 | CoreFunction::Pedersen64HashToI16
1026 | CoreFunction::Pedersen64HashToI32
1027 | CoreFunction::Pedersen64HashToI64
1028 | CoreFunction::Pedersen64HashToI128
1029 | CoreFunction::Pedersen64HashToU8
1030 | CoreFunction::Pedersen64HashToU16
1031 | CoreFunction::Pedersen64HashToU32
1032 | CoreFunction::Pedersen64HashToU64
1033 | CoreFunction::Pedersen64HashToU128
1034 | CoreFunction::Pedersen64HashToScalar
1035 | CoreFunction::Pedersen128CommitToAddress
1036 | CoreFunction::Pedersen128CommitToField
1037 | CoreFunction::Pedersen128CommitToGroup
1038 | CoreFunction::Pedersen128HashToAddress
1039 | CoreFunction::Pedersen128HashToField
1040 | CoreFunction::Pedersen128HashToGroup
1041 | CoreFunction::Pedersen128HashToI8
1042 | CoreFunction::Pedersen128HashToI16
1043 | CoreFunction::Pedersen128HashToI32
1044 | CoreFunction::Pedersen128HashToI64
1045 | CoreFunction::Pedersen128HashToI128
1046 | CoreFunction::Pedersen128HashToU8
1047 | CoreFunction::Pedersen128HashToU16
1048 | CoreFunction::Pedersen128HashToU32
1049 | CoreFunction::Pedersen128HashToU64
1050 | CoreFunction::Pedersen128HashToU128
1051 | CoreFunction::Pedersen128HashToScalar
1052 | CoreFunction::Poseidon2HashToAddress
1053 | CoreFunction::Poseidon2HashToField
1054 | CoreFunction::Poseidon2HashToGroup
1055 | CoreFunction::Poseidon2HashToI8
1056 | CoreFunction::Poseidon2HashToI16
1057 | CoreFunction::Poseidon2HashToI32
1058 | CoreFunction::Poseidon2HashToI64
1059 | CoreFunction::Poseidon2HashToI128
1060 | CoreFunction::Poseidon2HashToU8
1061 | CoreFunction::Poseidon2HashToU16
1062 | CoreFunction::Poseidon2HashToU32
1063 | CoreFunction::Poseidon2HashToU64
1064 | CoreFunction::Poseidon2HashToU128
1065 | CoreFunction::Poseidon2HashToScalar
1066 | CoreFunction::Poseidon4HashToAddress
1067 | CoreFunction::Poseidon4HashToField
1068 | CoreFunction::Poseidon4HashToGroup
1069 | CoreFunction::Poseidon4HashToI8
1070 | CoreFunction::Poseidon4HashToI16
1071 | CoreFunction::Poseidon4HashToI32
1072 | CoreFunction::Poseidon4HashToI64
1073 | CoreFunction::Poseidon4HashToI128
1074 | CoreFunction::Poseidon4HashToU8
1075 | CoreFunction::Poseidon4HashToU16
1076 | CoreFunction::Poseidon4HashToU32
1077 | CoreFunction::Poseidon4HashToU64
1078 | CoreFunction::Poseidon4HashToU128
1079 | CoreFunction::Poseidon4HashToScalar
1080 | CoreFunction::Poseidon8HashToAddress
1081 | CoreFunction::Poseidon8HashToField
1082 | CoreFunction::Poseidon8HashToGroup
1083 | CoreFunction::Poseidon8HashToI8
1084 | CoreFunction::Poseidon8HashToI16
1085 | CoreFunction::Poseidon8HashToI32
1086 | CoreFunction::Poseidon8HashToI64
1087 | CoreFunction::Poseidon8HashToI128
1088 | CoreFunction::Poseidon8HashToU8
1089 | CoreFunction::Poseidon8HashToU16
1090 | CoreFunction::Poseidon8HashToU32
1091 | CoreFunction::Poseidon8HashToU64
1092 | CoreFunction::Poseidon8HashToU128
1093 | CoreFunction::Poseidon8HashToScalar
1094 | CoreFunction::SHA3_256HashToAddress
1095 | CoreFunction::SHA3_256HashToField
1096 | CoreFunction::SHA3_256HashToGroup
1097 | CoreFunction::SHA3_256HashToI8
1098 | CoreFunction::SHA3_256HashToI16
1099 | CoreFunction::SHA3_256HashToI32
1100 | CoreFunction::SHA3_256HashToI64
1101 | CoreFunction::SHA3_256HashToI128
1102 | CoreFunction::SHA3_256HashToU8
1103 | CoreFunction::SHA3_256HashToU16
1104 | CoreFunction::SHA3_256HashToU32
1105 | CoreFunction::SHA3_256HashToU64
1106 | CoreFunction::SHA3_256HashToU128
1107 | CoreFunction::SHA3_256HashToScalar
1108 | CoreFunction::SHA3_384HashToAddress
1109 | CoreFunction::SHA3_384HashToField
1110 | CoreFunction::SHA3_384HashToGroup
1111 | CoreFunction::SHA3_384HashToI8
1112 | CoreFunction::SHA3_384HashToI16
1113 | CoreFunction::SHA3_384HashToI32
1114 | CoreFunction::SHA3_384HashToI64
1115 | CoreFunction::SHA3_384HashToI128
1116 | CoreFunction::SHA3_384HashToU8
1117 | CoreFunction::SHA3_384HashToU16
1118 | CoreFunction::SHA3_384HashToU32
1119 | CoreFunction::SHA3_384HashToU64
1120 | CoreFunction::SHA3_384HashToU128
1121 | CoreFunction::SHA3_384HashToScalar
1122 | CoreFunction::SHA3_512HashToAddress
1123 | CoreFunction::SHA3_512HashToField
1124 | CoreFunction::SHA3_512HashToGroup
1125 | CoreFunction::SHA3_512HashToI8
1126 | CoreFunction::SHA3_512HashToI16
1127 | CoreFunction::SHA3_512HashToI32
1128 | CoreFunction::SHA3_512HashToI64
1129 | CoreFunction::SHA3_512HashToI128
1130 | CoreFunction::SHA3_512HashToU8
1131 | CoreFunction::SHA3_512HashToU16
1132 | CoreFunction::SHA3_512HashToU32
1133 | CoreFunction::SHA3_512HashToU64
1134 | CoreFunction::SHA3_512HashToU128
1135 | CoreFunction::SHA3_512HashToScalar
1136 | CoreFunction::GroupToXCoordinate
1137 | CoreFunction::GroupToYCoordinate
1138 | CoreFunction::SignatureVerify
1139 | CoreFunction::CheatCodePrintMapping
1140 | CoreFunction::CheatCodeSetBlockHeight => false,
1141 }
1142 }
1143}