14 Commits

Author SHA1 Message Date
Robin Salen
9ee47ab745
Move HashConfig into GenericConfig associated types 2023-04-01 09:54:14 -04:00
Robin Salen
e857c020bf
Make hash functions generic 2023-03-31 18:55:06 -04:00
Daniel Lubarov
92974aa105 A few more cyclic recursion changes
In preparation for adding the zkEVM aggregation circuit. Mainly,

- Adds a `WitnessWrite` trait, a sub-trait of `Witness`, and move the write methods to it. `GeneratedValues` impls `WitnessWrite`, which lets generators like `DummyProofGenerator` access all our write methods like `set_proof_with_pis_target`. Also removes some duplication.

- Remove `set_cyclic_recursion_data_target` - now that dummy proof data is automatically populated, all that remains is populating `condition` and the cyclic proof + VK. I think it's easy enough for callers to do this; the steps are the same as with `conditionally_verify_proof`. This way there's no cyclic-recursion-specific API to learn about.

- Split `cyclic_recursion` into two variants, one which checks the current circuit or a dummy, and a more general one which checks the current circuit or some other circuit. We can use the latter to build a more efficient aggregation circuit, where we check another aggregation proof or an EVM proof, with no dummy proofs involved.
2022-12-11 22:43:26 -08:00
Nicholas Ward
e2811550e1 addressed comments 2022-09-26 20:34:17 -07:00
Nicholas Ward
843baf1aa0 documentation 2022-09-25 20:14:23 -07:00
Nicholas Ward
ecdac53960 fixes to fibonacci and factorial 2022-09-25 20:14:23 -07:00
Nicholas Ward
44a1f4c328 no need to hard-code! 2022-09-25 20:14:23 -07:00
Nicholas Ward
0381641b5c addressed comments 2022-09-25 20:14:23 -07:00
Nicholas Ward
6d81968bbb use data.verify 2022-09-25 20:14:23 -07:00
Nicholas Ward
38d6f98f87 fixes, and new examples (fibonacci and square root) 2022-09-25 20:14:23 -07:00
Nicholas Ward
9756e06db2 reformat 2022-09-25 20:14:23 -07:00
Nicholas Ward
556507a9cd public input 2022-09-25 20:14:22 -07:00
Nicholas Ward
849a89105a fmt 2022-09-25 20:14:22 -07:00
Nicholas Ward
2e6480a97f Fibonacci example 2022-09-25 20:14:22 -07:00