Skip to content

feat(Barretenberg): acir<->bb tool: HONK opcode validator - #25006

Open
DanielKotov wants to merge 8 commits into
dk/acir_recursion_constraintsfrom
dk/honk_validation
Open

feat(Barretenberg): acir<->bb tool: HONK opcode validator#25006
DanielKotov wants to merge 8 commits into
dk/acir_recursion_constraintsfrom
dk/honk_validation

Conversation

@DanielKotov

Copy link
Copy Markdown
Contributor

This PR introduces validator for ACIR's HONK opcode

Extract HONK opcode validators and wire StaticAnalyzerAcir HONK case
onto dk/acir_recursion_constraints for reviewable per-opcode stacking.
Unqualified GateKind:: breaks clang20 compile after gate_selector_for
migration; use bb::GateKind consistently.
Call validate_commitment_receive_fingerprint via OinkVerifierValidation
(moved out of recursion_helpers on the base branch). Add missing
chonk_acir_test_utils.hpp so the shared test target compiles.
Use poseidon2_helpers block accessors and OinkVerifierValidation
SINGLE_COMMITMENT_* fingerprints so HONK builds against the post-next
helper layout on dk/acir_recursion_constraints.
HONK validators were authored against the agent1 helper layout
(recursion_helpers::SINGLE_COMMITMENT_*, collect_real_witness_gates_in_block,
validate_commitment_receive_fingerprint). Bring that helper onto the HONK
branch so the validators compile without endless OinkVerifierValidation
aliases.
With agent1 helper restored, call SINGLE_COMMITMENT_* and
validate_commitment_receive_fingerprint via recursion_helpers again.
Mega merged poseidon2_external/internal; use accessors so the transplanted
agent1 helper compiles on the current execution-trace layout.
… HONK

Keep the base helper (CHONK needs ULTRA_BLOCK_*), and re-export the
fingerprint helpers HONK validators call via recursion_helpers::.
@DanielKotov
DanielKotov requested a review from iakovenkos July 27, 2026 15:34
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.

1 participant