Skip to content

chore: merge v4 into v4-next (resolve conflicts)#21702

Merged
nventuro merged 2 commits intov4-nextfrom
claudebox/fix-v4-v4next-merge-conflicts
Mar 17, 2026
Merged

chore: merge v4 into v4-next (resolve conflicts)#21702
nventuro merged 2 commits intov4-nextfrom
claudebox/fix-v4-v4next-merge-conflicts

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Summary

Merges v4 into v4-next, resolving the conflict in getBlockHashMembershipWitness in server.ts.

The conflict was between v4-next's simple passthrough to getWorldState(referenceBlock) and v4's off-by-one bugfix that uses getWorldState(BlockNumber(referenceBlockNumber - 1)). The v4 fix is correct: the Noir circuit checks the archive membership proof against anchor_block_header.last_archive.root, which is the archive tree root BEFORE the anchor block was added, so we need the world state at block N-1.

Resolution: took the v4 bugfix, adapted to use v4-next's getWorldState (protected) instead of v4's #getWorldState (private).

Replaces #21493 which had stale conflict markers.

ClaudeBox log: https://claudebox.work/s/d4b96d5b355d7fba?run=1

AztecBot and others added 2 commits March 17, 2026 15:26
BEGIN_COMMIT_OVERRIDE
fix(aztec-nr): return Option from decode functions and fix event
commitment capacity (backport #21264) (#21360)
fix: backport #21271 — handle bad note lengths on
compute_note_hash_and_nullifier (#21364)
fix: not reusing tags of partially reverted txs (#20817)
chore: revert accidental backport of #20817 (#21583)
feat: Implement commit all and revert all for world state checkpoints
(#21532)
cherry-pick: fix: dependabot alerts (#21531)
fix: dependabot alerts (backport #21531 to v4) (#21592)
fix: backport #21443 — Don't update state if we failed to execute
sufficient transactions (v4) (#21610)
chore: Fix msgpack serialisation (#21612)
fix(p2p): fall back to maxTxsPerCheckpoint for per-block tx validation
(#21605)
chore: merge v4 into backport-to-v4-staging (#21618)
fix(revert): avm sim uses event loop again (#21138) (#21630)
fix(e2e): remove historic/finalized block checks from epochs_multiple
test (#21642)
fix: clamp finalized block to oldest available in world-state (#21643)
fix: skip handleChainFinalized when block is behind oldest available
(#21656)
chore: demote finalized block skip log to trace (#21661)
fix: off-by-1 in getBlockHashMembershipWitness archive snapshot
(backport #21648) (#21663)
fix: capture txs not available error reason in proposal handler (#21670)
chore: add L1 inclusion time to stg public (#21665)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Co-authored-by: PhilWindle <60546371+PhilWindle@users.noreply.github.com>
Co-authored-by: Phil Windle <philip.windle@gmail.com>
Co-authored-by: Santiago Palladino <santiago@aztecprotocol.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: ludamad <adam.domurad@gmail.com>
Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com>
@AztecBot AztecBot added the claudebox Owned by claudebox. it can push to this PR. label Mar 17, 2026
@nventuro nventuro changed the base branch from backport-to-v4-next-staging to v4-next March 17, 2026 19:18
@nventuro nventuro marked this pull request as ready for review March 17, 2026 19:31
@nventuro nventuro merged commit d23ae01 into v4-next Mar 17, 2026
21 checks passed
@nventuro nventuro deleted the claudebox/fix-v4-v4next-merge-conflicts branch March 17, 2026 19:31
nventuro pushed a commit that referenced this pull request Mar 17, 2026
## Summary

Merges latest `v4` (`bb3ea6f1`) into `v4-next` with a proper **merge
commit** to preserve the merge topology. This fixes the issue where PR
#21702 was squash-merged, causing git to lose track of which v4 commits
were already in v4-next.

## Commits

1. **Merge commit with conflict markers** — raw `git merge origin/v4`
showing the conflicts
2. **Fix server.ts** — resolve `getWorldState` vs `#getWorldState`
conflict (use protected version), remove duplicate `resolveBlockNumber`
method
3. **Fix deploy_network.sh** — resolve pre-existing conflict from old
merge (keep default multiplier of 2)

## Important

**This PR must be merged with a merge commit (not squashed)** to
preserve the v4→v4-next merge topology. Add the `ci-no-squash` label.
Without the merge commit, future auto-merges will re-encounter the same
conflicts.

ClaudeBox log: https://claudebox.work/s/3402fef75fe1ebde?run=4

---------

Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Co-authored-by: PhilWindle <60546371+PhilWindle@users.noreply.github.com>
Co-authored-by: Phil Windle <philip.windle@gmail.com>
Co-authored-by: Santiago Palladino <santiago@aztecprotocol.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: ludamad <adam.domurad@gmail.com>
Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com>
Co-authored-by: spypsy <spypsy@users.noreply.github.com>
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