Skip to content

chore: backport #20512 (docs: add delayedpublicmutable apiref, fix misc docs) to v4-next#21738

Closed
AztecBot wants to merge 5 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-20512-v4-next
Closed

chore: backport #20512 (docs: add delayedpublicmutable apiref, fix misc docs) to v4-next#21738
AztecBot wants to merge 5 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-20512-v4-next

Conversation

@AztecBot
Copy link
Collaborator

Summary

Backport of #20512 to v4-next.

Cherry-pick of merge commit 1382d2b4 with conflict resolution:

  • delayed_public_mutable.nr: Took incoming comprehensive docs for get_current_value() (the main purpose of this PR)
  • public_immutable.nr: Kept v4-next's ContractSelfPrivate::enqueue reference (correct for v4), used PR's formatting
  • auth_contract/main.nr: Kept v4-next delay value (360s = 5 slots at 72s/slot) instead of next's 180s
  • traits.nr: Deleted re-created file — traits.nr was split into a traits/ directory on v4-next, and the only change was a minor doc tweak already present in traits/packable.nr

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

benesjan and others added 5 commits March 17, 2026 12:26
## 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

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>
## 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>
…0512)

Cherry-pick of merge commit 1382d2b with conflicts.
Conflicts in:
- noir-projects/aztec-nr/aztec/src/state_vars/delayed_public_mutable.nr
- noir-projects/aztec-nr/aztec/src/state_vars/public_immutable.nr
- noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr
- noir-projects/noir-protocol-circuits/crates/types/src/traits.nr (modify/delete)
- delayed_public_mutable.nr: take incoming comprehensive docs for get_current_value()
- public_immutable.nr: keep v4-next ContractSelfPrivate::enqueue reference, use PR formatting
- auth_contract/main.nr: keep v4-next delay value (360s = 5 slots at 72s)
- traits.nr: delete re-created file (split into traits/ directory on v4-next)
@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Mar 18, 2026
@nventuro nventuro closed this Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants