-
Notifications
You must be signed in to change notification settings - Fork 256
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: mock IVC state from arbitrary acir IVC recursion constraints (#…
…10314) Generating a bberg kernel circuit from a noir kernel program represented as acir requires an IVC instance containing certain state including a verifier accumulator and verification queue containing proofs/VKs for input to recursive verifiers. In the context of a write_vk flow, this data is not known and must be mocked so that the recursive verifiers in the kernel can be constructed properly. (Similar to how we construct a dummy proof to generate a Honk recursive verifier). The main method in this PR is `create_mock_ivc_from_constraints()` which constructs an IVC instance with mocked state based on the IVC recursion constraints present in the acir data. For example, if there are two PG recursive verifications in the constraint system, we must generate two mocked PG proofs plus some other auxiliary data. So no actual write_vk flow exists but the logic is tested though the `IvcRecursionConstraintTest` suite which constructs VKs from programs containing each of the 3 different possible combinations of IVC recursion constraints that appear in Aztec kernel circuits. (These are: (a) 1 Oink recursive verification (init kernel), (b) 1 PG recursive verification (reset or tail kernel), and (c) 2 PG recursive verifications (inner kernel)).
- Loading branch information
1 parent
90668c3
commit ac7c0da
Showing
7 changed files
with
368 additions
and
106 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.