Skip to content

fix(pxe): backport anchor header threading from #22679 to v4-next#22705

Draft
AztecBot wants to merge 4 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-22679-pxe-to-v4-next
Draft

fix(pxe): backport anchor header threading from #22679 to v4-next#22705
AztecBot wants to merge 4 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-22679-pxe-to-v4-next

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Backports the PXE-only portion of #22679 to v4-next.

The full fix in #22679 spans barretenberg world-state, the aztec-node and PXE; only the PXE refactor is portable to v4-next without dragging the C++ / world-state changes.

What this changes

In yarn-project/pxe/src/pxe.ts, capture the anchor header once per proveTx / simulateTx / profileTx (right after blockStateSynchronizer.sync()) and thread it through to both #executePrivate and #prove, instead of re-reading anchorBlockStore independently inside each call.

This is a defensive refactor — the anchor cannot drift today because both callees live inside the same job-queue slot — but it makes the invariant explicit and type-checked going forward.

What this does not include from #22679

  • C++ WorldStateRevision::LATEST sentinel and is_historical() migration (barretenberg/cpp/src/barretenberg/world_state/*, avm_fuzzer/.../dbs.cpp)
  • Matching TS sentinel in yarn-project/stdlib/src/world-state/world_state_revision.ts and yarn-project/world-state/src/native/native_world_state.ts
  • AztecNodeService.getWorldState initial-header path change in yarn-project/aztec-node/src/aztec-node/server.ts (+ test)

These are intentionally omitted per the request to backport only the PXE changes.

Notes

Original PR: #22679

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

Thunkar and others added 4 commits April 17, 2026 21:10
BEGIN_COMMIT_OVERRIDE
fix(pxe): cap event filter toBlock to last synced block (#22573)
fix(pxe): round tx expiration timestamp to reduce precision (#22577)
fix: eliminate anvil watcher warp race and false success logs (#22584)
refactor: aztec new and init creating 2 crates (#20681)
test: aztec new scaffold works (#20711)
feat(cli): warning if contract crate has tests (#20723)
feat(cli): auto-recompiling when aztec test is run (#20729)
feat: aztec new supporting multiple contract crates (#21007)
feat: asserts that aztec dep version matches cli (#21245)
chore: backport aztec CLI improvements to v4-next (#22587)
feat: check noir release has nargo binaries before releasing (#22551)
chore: cache chainInfo in embeddedwallet (#22592)
fix: wrap external getCapsule in transactionAsync (#22595)
fix(pxe): throw clear error for invalid comparator in pick_notes
(#22585)
refactor(aztec-nr): rename conversion fns to encode_/decode_ naming
(#22576)
feat: infrastructure for testing `[new_contract_artfiacts,
old_aztec_stack]` (#22593)
chore: fix unnecessary and inconsistent side-effect counter increments
(#22245)
fix: update FaceID wallet redirects and strip anchors in redirect
validation (#22505)
docs: add getting started on testnet guide (#22366)
docs: add getting started on testnet guide (backport #22366) (#22619)
feat(aztec-nr): new BoundedVec emit private log APIs (#22064)
END_COMMIT_OVERRIDE
BEGIN_COMMIT_OVERRIDE
fix(docs): correct execution delay to 30 days and governance withdrawal
to ~38 days (#22647)
END_COMMIT_OVERRIDE
BEGIN_COMMIT_OVERRIDE
fix(abi): add missing ABI validation in argument encoder (backport
#22529) (#22608)
fix(pxe): verify private event commitment matches content (#22638)
feat!: kv-store on SQLite-wasm over OPFS (backport #22666)
END_COMMIT_OVERRIDE
@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Apr 21, 2026
@AztecBot
Copy link
Copy Markdown
Collaborator Author

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/f773f2daae5932c4�f773f2daae5932c48;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_epochs/epochs_l1_reorgs.parallel.test.ts "updates L1 to L2 messages changed due to an L1 reorg" (66s) (code: 0) group:e2e-p2p-epoch-flakes

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.

2 participants