Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: unify all acir recursion constraints based on RecursionConstraint and proof_type #7993

Merged
merged 24 commits into from
Aug 15, 2024
Merged
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8110a60
feat: Quick prototype of verify_proof constant
sirasistant Jul 20, 2024
04ea98f
fix bb tests
sirasistant Jul 22, 2024
1730d04
add GateCounter class and recursion constarint methods
ledwards2225 Aug 14, 2024
758d6a4
fix gate counter
ledwards2225 Aug 14, 2024
745099d
there is only one RecursionConstraint
ledwards2225 Aug 14, 2024
a58f2ca
comments
ledwards2225 Aug 14, 2024
4856474
Merge branch 'master' into lde/proof_type
ledwards2225 Aug 14, 2024
8c009ee
comment
ledwards2225 Aug 14, 2024
49adb68
updates, fix noir build
ledwards2225 Aug 15, 2024
8625ba0
format fix
ledwards2225 Aug 15, 2024
3154647
Merge branch 'master' into lde/proof_type
ledwards2225 Aug 15, 2024
1bfa5cc
add integration test for debugging; appears to be working correctly
ledwards2225 Aug 15, 2024
ae5936f
continue to use honk_recursion flag to set proof_type to avoid errors…
ledwards2225 Aug 15, 2024
c8c9de9
cleanup and remove print to maybe fix gates report?
ledwards2225 Aug 15, 2024
ed01ea6
add todo
ledwards2225 Aug 15, 2024
1ef5048
comment update
ledwards2225 Aug 15, 2024
8a18513
remove some prints
ledwards2225 Aug 15, 2024
60fb90f
Merge branch 'master' into lde/proof_type
ledwards2225 Aug 15, 2024
cb3353b
comments and an assert
ledwards2225 Aug 15, 2024
4704c64
Update barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_co…
ledwards2225 Aug 15, 2024
4e75b87
Update barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp
ledwards2225 Aug 15, 2024
0404933
comments and formatting
ledwards2225 Aug 15, 2024
44b20e0
Merge branch 'lde/proof_type' of github.com:AztecProtocol/aztec-packa…
ledwards2225 Aug 15, 2024
88e26f3
format
ledwards2225 Aug 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
continue to use honk_recursion flag to set proof_type to avoid errors…
… for now
  • Loading branch information
ledwards2225 committed Aug 15, 2024
commit ae5936f01ae3d4d67836f64b0844406e32fb8ded
Original file line number Diff line number Diff line change
@@ -416,16 +416,23 @@ void handle_blackbox_func_call(Program::Opcode::BlackBoxFuncCall const& arg,
af.original_opcode_indices.keccak_permutations.push_back(opcode_index);
} else if constexpr (std::is_same_v<T, Program::BlackBoxFuncCall::RecursiveAggregation>) {

// WORKTODO: this ultimately needs to come directly from noir in arg.proof_type.
// PROOF_TYPE proof_type = honk_recursion ? HONK_RECURSION : PLONK_RECURSION;
auto input_key = get_witness_from_function_input(arg.key_hash);

auto proof_type_in = arg.proof_type;
// WORKTODO: This will not be needed once the protocol circuits are updated to explicitly specify honk
// recursion but for now they use verify_proof() which defaults to using plonk recursion (so as not to
// break things)
if (honk_recursion && proof_type_in != HONK_RECURSION) {
info("WARNING: Recursion type is not being specified correctly via noir verify_proof()!");
proof_type_in = HONK_RECURSION;
}

auto c = RecursionConstraint{
.key = map(arg.verification_key, [](auto& e) { return get_witness_from_function_input(e); }),
.proof = map(arg.proof, [](auto& e) { return get_witness_from_function_input(e); }),
.public_inputs = map(arg.public_inputs, [](auto& e) { return get_witness_from_function_input(e); }),
.key_hash = input_key,
.proof_type = arg.proof_type, // WORKTODO: from maxim: need to use parse_input?
.proof_type = proof_type_in, // WORKTODO: from maxim: need to use parse_input?
};
// Add the recursion constraint to the appropriate container based on proof type
if (c.proof_type == PLONK_RECURSION) {
Loading