Skip to content

feat: merge-train/barretenberg#16244

Merged
AztecBot merged 5 commits intonextfrom
merge-train/barretenberg
Aug 7, 2025
Merged

feat: merge-train/barretenberg#16244
AztecBot merged 5 commits intonextfrom
merge-train/barretenberg

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Aug 6, 2025

See merge-train-readme.md.

BEGIN_COMMIT_OVERRIDE
chore: Template ultra verifier verify_proof over the public inputs type (#16239)
END_COMMIT_OVERRIDE

AztecBot and others added 4 commits August 6, 2025 17:48
…type (#16239)

The `UltraVerifier` and `UltraRecursiveVerifier` choose which public
inputs to extract based on the `Flavor` with which they are
instantiated. This is not advisable as it forces us to change testing
code (so that `Mega` circuits have inputs of the form `HidingKernelIO`)
and forces us to pay for unused public inputs when `Mega` circuits don't
have ecc op tables (e.g., the `GoblinAvmRecursiveVerifier`).

This PR changes the `verify_proof` function of both verifiers. We
template the function over the `IO` class, which specifies which public
inputs should be extracted from the proof. We make native and recursive
verifiers uniform by modifying the return type of `verify_proof` in
native land: we change it from `bool` to `UltraVerifierOutput`, which is
a new struct that contains a boolean (the result of the verification)
and ecc op tables (which are only filled when `UltraVerifier` is used to
verify a `ClientIVC` proof).

We also remove the `verify_proof` function in the recursive verifier
that took a `HonkProof` instead of an `Stdlib::Proof`. The reason is
that we to specialise `verify_proof` over the various `IO` types, and
the compiler was complaining about ambiguous specialisations.

This PR closes
AztecProtocol/barretenberg#1489.

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: ludamad <adam.domurad@gmail.com>
Copy link
Copy Markdown
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot AztecBot enabled auto-merge August 7, 2025 14:05
@AztecBot
Copy link
Copy Markdown
Collaborator Author

AztecBot commented Aug 7, 2025

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

@AztecBot AztecBot added this pull request to the merge queue Aug 7, 2025
Merged via the queue into next with commit 107e900 Aug 7, 2025
5 checks passed
@AztecBot AztecBot deleted the merge-train/barretenberg branch August 7, 2025 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants