Skip to content

fix(bb): port secp256r1 unique-lookup-index soundness fix to public v5-next - #24842

Merged
aminsammara merged 11 commits into
v5-nextfrom
port-secp256r1-v5-next
Jul 21, 2026
Merged

aminsammara merged 11 commits into
v5-nextfrom
port-secp256r1-v5-next

Conversation

@aminsammara

Copy link
Copy Markdown
Contributor

Brings public v5-next up to private/v5-next (eb52040bd1), porting the barretenberg secp256r1 fixed-base lookup-table soundness fix.

Net change (6 files, all under barretenberg/cpp/)

  • Assign a unique table_index to each secp256r1 fixed-base lookup table, and add finalize-time guards that reject duplicate or zero table indices, with a new circuit-checker test (Secp256r1FixedBaseTablesGetUniquePositiveIndices, FinalizationRejectsDuplicateTableIndices, FinalizationRejectsZeroTableIndex).
  • Refresh the pinned Chonk IVC inputs hash to match the circuit change.

Notes for reviewers

  • The commit set also includes the routine chore: sync public-v5-next with upstream v5-next merge nodes that sit between the two tips; those carry no net file change. The only net delta is the fix + the chonk hash bump.
  • Must merge via a merge commit (branch ruleset allows merge only). The public→private sync will reconcile v5-next afterward, so private stays a fast-forward of public.

AztecBot and others added 11 commits July 14, 2026 04:04
Replace the secp256r1-specific unique/positive table_index test with one
that sweeps every basic table reachable through any MultiTable. The
LogDeriv relation identifies a table solely by table_index, so this guards
against any generator (not just secp256r1 fixed-base) storing a window or
bit-slice position in place of the builder-assigned index.
Generated by ci-refresh-chonk.

Only the pinned Chonk input hash is committed here; the immediate follow-up CI run is skipped intentionally.

--ci-skip
fix(bb): assign unique secp256r1 lookup table indices
@aminsammara
aminsammara added this pull request to the merge queue Jul 21, 2026
@AztecBot

Copy link
Copy Markdown
Collaborator

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/e7a7372baef38063�e7a7372baef380638;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/multi-node/slashing/multiple_validators_sentinel.parallel.test.ts "collects attestations for all validators, including when a block is not published" (116s) (code: 0) group:e2e-p2p-epoch-flakes

Merged via the queue into v5-next with commit f245aed Jul 21, 2026
12 checks passed
@aminsammara
aminsammara deleted the port-secp256r1-v5-next branch July 21, 2026 15:40
AztecBot added a commit that referenced this pull request Jul 24, 2026
…4936)

Forward-ports the **barretenberg secp256r1 unique-lookup-index soundness
fix** to `next` — missed by the initial area-bucketed sweep because its
PR-numbered wrapper (#24842) is a merge commit and its content commits
carry no `(#N)` suffix (they arrived via merge PR #647), so both the
`--no-merges` and `(#N)` filters dropped them.

## Applied (clean cherry-picks, chronological)
- `c6ab912228` fix(bb): assign unique secp256r1 lookup table indices
- `3a53c977e4` test(bb): generalize lookup table-index invariant across
all tables
- `f013e4497f` comment cleanup

Corresponds to v5-next #24842. Part of the manual v5-next → next backlog
sweep.

---------

Co-authored-by: AztecBot <tech@aztec-labs.com>
Co-authored-by: ledwards2225 <l.edwards.d@gmail.com>
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.

5 participants