-
Notifications
You must be signed in to change notification settings - Fork 293
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(dsl): Add full recursive verification test (#4658)
This PR adds a test that does a full recursive verification similar to `TestFullRecursiveComposition` under `recursion_constraint.test.cpp` but using Noir. A couple bugs fixes were done to enable the new `double_verify_nested_proof` test: - We have an assert in the recursion constraint that checks `num_public_inputs == RecursionConstraint::AGGREGATION_OBJECT_SIZE` when generating the dummy transcript for when we do not have valid witness assignments. If we want to recursively verify a recursive proof that itself has extra public inputs this assertion makes that impossible (in fact the cpp test does not use any public inputs for `TestFullRecursiveComposition` and this may be why this assertion wasn't hit earlier). - After moving to a definition of a proof as separate from its public inputs in (#3528) we were missing the accurate copy constraints in the case of no valid witness assignment. In the case of a nested proof the public inputs will contain an aggregation object for which we expect two accurate G1 points. Otherwise, even with the removed assertion above we will always hit a "trying to invert 0" error when working without valid witness assignments.
- Loading branch information
Showing
7 changed files
with
83 additions
and
17 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
7 changes: 7 additions & 0 deletions
7
noir/test_programs/execution_success/double_verify_nested_proof/Nargo.toml
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[package] | ||
name = "double_verify_nested_proof" | ||
type = "bin" | ||
authors = [""] | ||
compiler_version = ">=0.24.0" | ||
|
||
[dependencies] |
Oops, something went wrong.