Skip to content

chore: Update Noir to nightly-2026-05-05#22911

Merged
TomAFrench merged 1 commit into
nextfrom
bump-noir
May 6, 2026
Merged

chore: Update Noir to nightly-2026-05-05#22911
TomAFrench merged 1 commit into
nextfrom
bump-noir

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented May 2, 2026

Automated update of Noir submodule to latest nightly.

Current: unknown
New: nightly-2026-05-05

View changes in noir-lang/noir

@AztecBot AztecBot changed the title chore: Update Noir to nightly-2026-05-02 chore: Update Noir to nightly-2026-05-03 May 3, 2026
@ludamad ludamad changed the title chore: Update Noir to nightly-2026-05-03 chore: Update Noir to nightly-2026-05-04 May 4, 2026
@ludamad ludamad changed the title chore: Update Noir to nightly-2026-05-04 chore: Update Noir to nightly-2026-05-05 May 5, 2026
@TomAFrench TomAFrench added claudebox Owned by claudebox. it can push to this PR. ci-squash-and-merge labels May 6, 2026
@TomAFrench TomAFrench enabled auto-merge May 6, 2026 15:58
Automated update of Noir submodule to latest nightly.

**Current**: unknown
**New**: nightly-2026-05-05

[View changes in noir-lang/noir](noir-lang/noir@20391fd...nightly-2026-05-05)
@TomAFrench TomAFrench added this pull request to the merge queue May 6, 2026
Merged via the queue into next with commit b3031a2 May 6, 2026
21 checks passed
@TomAFrench TomAFrench deleted the bump-noir branch May 6, 2026 17:46
federicobarbacovi added a commit that referenced this pull request May 7, 2026
commit fe8ed94
Author: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Date:   Thu May 7 14:09:02 2026 +0000

    Fix name

commit c704130
Author: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Date:   Thu May 7 13:34:34 2026 +0000

    Extend calldata types, minor changes to README

commit de94416
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Thu May 7 00:43:23 2026 +0000

    prover tomls

commit c554fd0
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Wed May 6 21:59:54 2026 +0000

    vks

commit 0ae600b
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Wed May 6 21:08:25 2026 +0000

    constants

commit 6686c89
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Wed May 6 20:16:44 2026 +0000

    extend databus with 2 more cols

commit f8ac6da
Merge: 42e2e67 b3031a2
Author: AztecBot <tech@aztecprotocol.com>
Date:   Wed May 6 17:47:36 2026 +0000

    Merge branch 'next' into merge-train/barretenberg

commit b3031a2
Merge: 420fd55 d06c141
Author: Tom French <15848336+TomAFrench@users.noreply.github.com>
Date:   Wed May 6 16:32:12 2026 +0000

    chore: Update Noir to nightly-2026-05-05 (#22911)

    Automated update of Noir submodule to latest nightly.

    **Current**: unknown
    **New**: nightly-2026-05-05

    [View changes in
    noir-lang/noir](noir-lang/noir@20391fd...nightly-2026-05-05)

commit d06c141
Author: AztecBot <49558828+AztecBot@users.noreply.github.com>
Date:   Wed May 6 16:31:28 2026 +0000

    chore: Update Noir to nightly-2026-05-05

    Automated update of Noir submodule to latest nightly.

    **Current**: unknown
    **New**: nightly-2026-05-05

    [View changes in noir-lang/noir](noir-lang/noir@20391fd...nightly-2026-05-05)

commit 420fd55
Merge: 72c125c 22231d5
Author: ledwards2225 <98505400+ledwards2225@users.noreply.github.com>
Date:   Wed May 6 16:30:52 2026 +0000

    feat: merge-train/barretenberg (#22969)

    BEGIN_COMMIT_OVERRIDE
    chore: skip zero-init and reserve copy_cycle vectors (#22963)
    feat: Multi app per kernel (#22640)
    END_COMMIT_OVERRIDE

commit 72c125c
Merge: a864dec 38115ab
Author: Aztec Bot <49558828+AztecBot@users.noreply.github.com>
Date:   Wed May 6 16:30:50 2026 +0000

    feat: merge-train/avm (#22986)

    BEGIN_COMMIT_OVERRIDE
    refactor(avm)!: consolidate revertible/non-revertible append selectors
    (#22982)
    END_COMMIT_OVERRIDE

commit 42e2e67
Author: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Date:   Wed May 6 16:54:17 2026 +0100

    feat: Improve add_scaled_batch (#22981)

    Two improvements:
    1. `add_scaled_batch` was iterating over all polys to be batched and
    processing indices based on the range of the destination poly (the
    biggest of the polys to be batched). This PR adds a skipping condition
    that speeds up the function: we only iterate over the poly to be batched
    2. Write a bespoke `add_batch_scaled` for use in the AVM with dynamic
    allocation of threads: each thread picks up the new available poly and
    works with it. This makes optimal usage of the fact that many polys in
    the AVM are small.

    Link to AVM bulk test: http://ci.aztec-labs.com/1df80aa9b6ae0088. The
    PCS component is `446ms` down from ~`600ms`

commit 22231d5
Merge: 36d6ec8 a864dec
Author: AztecBot <tech@aztecprotocol.com>
Date:   Wed May 6 15:35:10 2026 +0000

    Merge branch 'next' into merge-train/barretenberg

commit 38115ab
Merge: 024b01b a864dec
Author: AztecBot <tech@aztecprotocol.com>
Date:   Wed May 6 15:35:07 2026 +0000

    Merge branch 'next' into merge-train/avm

commit a864dec
Merge: 1211a03 b23fb63
Author: PhilWindle <60546371+PhilWindle@users.noreply.github.com>
Date:   Wed May 6 14:55:36 2026 +0000

    chore(p2p): drop unused ENR xxhash versioning path (#22943)

    ## Summary
    Removes dead code from `p2p/src/versioning.ts`:

    - `USE_XX_HASH` was never `true` outside tests; production ENRs always
    used the compressed string from `compressComponentVersions`.
    - Peer discovery already validates with
    `checkCompressedComponentVersion` in `discV5_service.ts`;
    `checkAztecEnrVersion` was only used from tests.
    - Drops `xxhash-wasm` / `toBufferBE` from this module (gossip
    `encoding.ts` still uses xxhash for message IDs).

    Related to
    [A-766](https://linear.app/aztec-labs/issue/A-766/audit-97-enr-version-detection-uses-string-prefix-matching-fragile)

commit 024b01b
Author: Jean M <132435771+jeanmon@users.noreply.github.com>
Date:   Wed May 6 14:18:16 2026 +0200

    refactor(avm)!: consolidate revertible/non-revertible append selectors (#22982)

    The 6 boolean pairs (non_revertible_append_X, revertible_append_X) for X
    in {note_hash, nullifier, l2_l1_msg} in TX_PHASE_SPEC_MAP were perfectly
    correlated with is_revertible: in every phase where one of them is set,
    is_revertible already determines which side. Replace each pair with a
    single sel_append_X selector and let is_revertible carry the
    revertibility bit.

    This removes 3 precomputed columns and 3 committed columns in the tx
    trace, shrinks the #[READ_PHASE_SPEC] lookup tuple, and simplifies the
    sel_try_X_append / is_tree_insert_phase / SEL_CAN_EMIT_X expressions.

    In #[NOTE_HASH_APPEND], the sel_unique flag (previously fed by
    sel_revertible_append_note_hash) is now is_revertible directly: on the
    two rows where the lookup is gated on, the two values agree by
    construction, and is_revertible is the more direct semantic for the
    "make this note hash unique with a nonce" decision.

    Updates the hardcoded precomputed VK commitments in avm_fixed_vk.hpp and
    the corresponding vk_hash; new values obtained from
    AvmFixedVKTests.FixedVKCommitments.

commit b23fb63
Author: spypsy <spypsy@outlook.com>
Date:   Tue May 5 10:07:46 2026 +0000

    chore(p2p): drop unused ENR xxhash versioning path

    USE_XX_HASH was never true in production; discv5 already validates via
    checkCompressedComponentVersion. Removes xxhash/toBufferBE from versioning.ts
    and tests the string format only.
federicobarbacovi added a commit that referenced this pull request May 7, 2026
commit fe8ed94
Author: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Date:   Thu May 7 14:09:02 2026 +0000

    Fix name

commit c704130
Author: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Date:   Thu May 7 13:34:34 2026 +0000

    Extend calldata types, minor changes to README

commit de94416
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Thu May 7 00:43:23 2026 +0000

    prover tomls

commit c554fd0
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Wed May 6 21:59:54 2026 +0000

    vks

commit 0ae600b
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Wed May 6 21:08:25 2026 +0000

    constants

commit 6686c89
Author: ledwards2225 <l.edwards.d@gmail.com>
Date:   Wed May 6 20:16:44 2026 +0000

    extend databus with 2 more cols

commit f8ac6da
Merge: 42e2e67 b3031a2
Author: AztecBot <tech@aztecprotocol.com>
Date:   Wed May 6 17:47:36 2026 +0000

    Merge branch 'next' into merge-train/barretenberg

commit b3031a2
Merge: 420fd55 d06c141
Author: Tom French <15848336+TomAFrench@users.noreply.github.com>
Date:   Wed May 6 16:32:12 2026 +0000

    chore: Update Noir to nightly-2026-05-05 (#22911)

    Automated update of Noir submodule to latest nightly.

    **Current**: unknown
    **New**: nightly-2026-05-05

    [View changes in
    noir-lang/noir](noir-lang/noir@20391fd...nightly-2026-05-05)

commit d06c141
Author: AztecBot <49558828+AztecBot@users.noreply.github.com>
Date:   Wed May 6 16:31:28 2026 +0000

    chore: Update Noir to nightly-2026-05-05

    Automated update of Noir submodule to latest nightly.

    **Current**: unknown
    **New**: nightly-2026-05-05

    [View changes in noir-lang/noir](noir-lang/noir@20391fd...nightly-2026-05-05)

commit 420fd55
Merge: 72c125c 22231d5
Author: ledwards2225 <98505400+ledwards2225@users.noreply.github.com>
Date:   Wed May 6 16:30:52 2026 +0000

    feat: merge-train/barretenberg (#22969)

    BEGIN_COMMIT_OVERRIDE
    chore: skip zero-init and reserve copy_cycle vectors (#22963)
    feat: Multi app per kernel (#22640)
    END_COMMIT_OVERRIDE

commit 72c125c
Merge: a864dec 38115ab
Author: Aztec Bot <49558828+AztecBot@users.noreply.github.com>
Date:   Wed May 6 16:30:50 2026 +0000

    feat: merge-train/avm (#22986)

    BEGIN_COMMIT_OVERRIDE
    refactor(avm)!: consolidate revertible/non-revertible append selectors
    (#22982)
    END_COMMIT_OVERRIDE

commit 42e2e67
Author: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Date:   Wed May 6 16:54:17 2026 +0100

    feat: Improve add_scaled_batch (#22981)

    Two improvements:
    1. `add_scaled_batch` was iterating over all polys to be batched and
    processing indices based on the range of the destination poly (the
    biggest of the polys to be batched). This PR adds a skipping condition
    that speeds up the function: we only iterate over the poly to be batched
    2. Write a bespoke `add_batch_scaled` for use in the AVM with dynamic
    allocation of threads: each thread picks up the new available poly and
    works with it. This makes optimal usage of the fact that many polys in
    the AVM are small.

    Link to AVM bulk test: http://ci.aztec-labs.com/1df80aa9b6ae0088. The
    PCS component is `446ms` down from ~`600ms`

commit 22231d5
Merge: 36d6ec8 a864dec
Author: AztecBot <tech@aztecprotocol.com>
Date:   Wed May 6 15:35:10 2026 +0000

    Merge branch 'next' into merge-train/barretenberg

commit 38115ab
Merge: 024b01b a864dec
Author: AztecBot <tech@aztecprotocol.com>
Date:   Wed May 6 15:35:07 2026 +0000

    Merge branch 'next' into merge-train/avm

commit a864dec
Merge: 1211a03 b23fb63
Author: PhilWindle <60546371+PhilWindle@users.noreply.github.com>
Date:   Wed May 6 14:55:36 2026 +0000

    chore(p2p): drop unused ENR xxhash versioning path (#22943)

    ## Summary
    Removes dead code from `p2p/src/versioning.ts`:

    - `USE_XX_HASH` was never `true` outside tests; production ENRs always
    used the compressed string from `compressComponentVersions`.
    - Peer discovery already validates with
    `checkCompressedComponentVersion` in `discV5_service.ts`;
    `checkAztecEnrVersion` was only used from tests.
    - Drops `xxhash-wasm` / `toBufferBE` from this module (gossip
    `encoding.ts` still uses xxhash for message IDs).

    Related to
    [A-766](https://linear.app/aztec-labs/issue/A-766/audit-97-enr-version-detection-uses-string-prefix-matching-fragile)

commit 024b01b
Author: Jean M <132435771+jeanmon@users.noreply.github.com>
Date:   Wed May 6 14:18:16 2026 +0200

    refactor(avm)!: consolidate revertible/non-revertible append selectors (#22982)

    The 6 boolean pairs (non_revertible_append_X, revertible_append_X) for X
    in {note_hash, nullifier, l2_l1_msg} in TX_PHASE_SPEC_MAP were perfectly
    correlated with is_revertible: in every phase where one of them is set,
    is_revertible already determines which side. Replace each pair with a
    single sel_append_X selector and let is_revertible carry the
    revertibility bit.

    This removes 3 precomputed columns and 3 committed columns in the tx
    trace, shrinks the #[READ_PHASE_SPEC] lookup tuple, and simplifies the
    sel_try_X_append / is_tree_insert_phase / SEL_CAN_EMIT_X expressions.

    In #[NOTE_HASH_APPEND], the sel_unique flag (previously fed by
    sel_revertible_append_note_hash) is now is_revertible directly: on the
    two rows where the lookup is gated on, the two values agree by
    construction, and is_revertible is the more direct semantic for the
    "make this note hash unique with a nonce" decision.

    Updates the hardcoded precomputed VK commitments in avm_fixed_vk.hpp and
    the corresponding vk_hash; new values obtained from
    AvmFixedVKTests.FixedVKCommitments.

commit b23fb63
Author: spypsy <spypsy@outlook.com>
Date:   Tue May 5 10:07:46 2026 +0000

    chore(p2p): drop unused ENR xxhash versioning path

    USE_XX_HASH was never true in production; discv5 already validates via
    checkCompressedComponentVersion. Removes xxhash/toBufferBE from versioning.ts
    and tests the string format only.
benesjan added a commit that referenced this pull request May 11, 2026
## Summary

Backports the 8 noir sync PRs merged to `next` after #22393 (which was
already cherry-picked onto `backport-to-v4-next-staging`).

Cherry-picked in chronological order:

- #22572 — Update Noir to nightly-2026-04-15
- #22594 — Update Noir to nightly-2026-04-16
- #22633 — Update Noir to nightly-2026-04-17
- #22653 — Update Noir to nightly-2026-04-23 (resolved
`avm-transpiler/Cargo.lock` conflict by taking the incoming version)
- #22755 — Update Noir to nightly-2026-04-28
- #22836 — Update Noir to nightly-2026-05-01
- #22911 — Update Noir to nightly-2026-05-05
- #23023 — Update Noir to nightly-2026-05-11 (resolved
`.test_patterns.yml` and `yarn-project/kv-store/package.json` conflicts:
kept backport branch's extra dev deps for chai/mocha/sinon)

Final `noir/noir-repo` submodule pointer matches `next`:
`1d9727a6e0a9df75a71bb9c87daacbe30659ba09`.

Label `ci-no-squash` is set to preserve the 8 individual commits.

## Contract snapshot updates

A follow-up commit regenerates `noir-projects/contract-snapshots`
snapshots that drifted due to the new noir version. All 60 snapshot
tests pass locally after the update. The drift is purely from noir-side
changes — no semantic change in our code:

- `compile_failure/authorization_selector_collision`: noir removed a
redundant `check_parent_traits_are_implemented: missing trait ID` error,
so the total error count went from 6 to 5.
- 6 × `expand/*` snapshots (`amm_contract`, `avm_gadgets_test_contract`,
`avm_test_contract`, `public_fns_with_emit_repro_contract`,
`storage_proof_test_contract`, `token_contract`): `nargo expand` now
prints the full `unconstrained fn(AztecAddress, u64, u64,
BoundedVec<Field, 11>, MessageContext, AztecAddress)` type instead of
the `CustomMessageHandler<()>` alias.
- `expand/token_contract`, `expand/amm_contract`,
`expand/avm_test_contract`: `nargo expand` emits functions in a new
deterministic order (e.g. `constructor` / `_reduce_total_supply` /
`_recurse_subtract_balance` / `private_get_symbol` were moved within
their impl blocks; `add_args_return` likewise on the AVM contract;
`swap_exact_tokens_for_tokens` / `swap_tokens_for_exact_tokens` swapped
order on AMM).

## Test plan

- CI on `backport-to-v4-next-staging` flow passes
benesjan added a commit that referenced this pull request May 12, 2026
BEGIN_COMMIT_OVERRIDE
fix(sequencer): bounded sweep instead of event scan for governance
proposal check (#22989)
fix(sequencer): bounded sweep instead of event scan for governance
proposal check (#22989) (#23001)
chore: route backport CI failure notifications to #backports channel
(#21779)
fix: (A-589) epochs l1 reorgs test (#20999)
chore: Accumulated backports to v4 (#23065)
fix(bb-prover): use temp directory for avm_verify (#23138)
chore: notify on v4-next sync (#23139)
refactor(pxe): use findLeavesIndexes for read request verification
(#23123)
refactor(pxe): skip storage reads for never-updated contracts (#23131)
fix(pxe): skip registerContractFunctionSignatures when no public fns
(#23134)
chore: Update Noir to nightly-2026-04-15 (#22572)
chore: Update Noir to nightly-2026-04-16 (#22594)
chore: Update Noir to nightly-2026-04-17 (#22633)
chore: Update Noir to nightly-2026-04-23 (#22653)
chore: Update Noir to nightly-2026-04-28 (#22755)
chore: Update Noir to nightly-2026-05-01 (#22836)
chore: Update Noir to nightly-2026-05-05 (#22911)
chore: Update Noir to nightly-2026-05-11 (#23023)
chore: backport noir sync PRs to backport-to-v4-next-staging (#23148)
refactor(pxe): prefetch updated class id hints per unique contract
(#23130)
chore(aztec-nr): Public self constructor function to prevent static byte
code size blow up (#23062)
chore: merge v4 into backport-to-v4-next-staging (#23140)
chore(aztec-nr): Public self constructor function (backport #23062)
(#23156)
refactor(pxe): avoid expensive toTx() call when computing tx hash
(#23136)
END_COMMIT_OVERRIDE
AztecBot added a commit that referenced this pull request May 12, 2026
Accept either 'not_true == true' (older nargo) or
'assert(not_true == true, "This assertion should fail!")' (post-#22911)
in the public-error enrichment test. Drops the avm_simulator exclusion
from compat_test_cmds added in the prior commit; only event_logs remains
excluded (legacy artifacts don't have deliver_squashed_and_surviving_notes).
benesjan added a commit that referenced this pull request May 12, 2026
…ertion regex (#23193)

## Summary

Compat-e2e regressed on `v4.3.0-nightly.20260512-1`
(https://github.com/AztecProtocol/aztec-packages/actions/runs/25731562906).
After review with Jan and David, the two failing tests need different
treatments — the PXE error enrichment itself is *not* broken; this is
purely test-vs-old-artifact text drift.

## What this PR does

- **`e2e_event_logs.test.ts`**: drop from the compat-e2e matrix. The new
`tagging cache reconciliation against kernel squashing` test added in PR
#23044 calls `TestLog::deliver_squashed_and_surviving_notes`, a method
that does not exist in legacy 4.2.x artifacts. There is no reasonable
backwards-compat coverage here without backporting the contract method
itself.
- **`e2e_avm_simulator.test.ts`**: keep it in the compat-e2e matrix and
loosen the assertion-message regex to accept either the older or the
newer assertion-span form:
  - old (pre-#22911 nargo): `'not_true == true'`
- new (post-#22911 nargo): `'assert(not_true == true, "This assertion
should fail!")'`

The regex becomes `/Assertion failed: This assertion should
fail!.*not_true == true/`, which matches both shapes and still rejects
unrelated assertions. The test continues to validate the PXE's
public-error enrichment pipeline (assertion decode + opcode→source
resolution) against legacy artifacts — which is the actually-valuable
coverage David flagged in the team-fairies thread.

## Why not exclude `avm_simulator` too?

David pointed out that this case is the only public-error-enrichment
test we have, and the enrichment code path is genuinely worth keeping
under compat watch. Verified manually that enrichment runs correctly
against legacy 4.2.x artifacts (paths, line/col, function names,
assertion message all resolve); the only thing that differed was the
locationText span granularity that nargo bakes into the artifact at
compile time. Loosening the regex preserves the coverage without
breaking on the legacy span shape.

## Test plan

- `node -e '/Assertion failed: This assertion should fail!.*not_true ==
true/.test(…)'` matches both old and new forms, rejects unrelated
assertions.
- `bash -c 'shopt -s extglob; ls
src/e2e_!(block_building|prover_*|kernelless_simulation|event_logs).test.ts'`
from `yarn-project/end-to-end` resolves to 49 files (was 48 when
`avm_simulator` was also excluded), `event_logs` correctly absent.
- Compat-e2e is `continue-on-error` for nightlies — next nightly should
be green on `ci-compat-e2e` once this lands.

A forward-port of the regex loosening to `next` is also worthwhile (same
file, identical strict regex there today), but mainline `next` doesn't
run compat-e2e so it isn't blocking; can ship as a follow-up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants