Skip to content

chore: backport PR #21836 (fix: explicitly handle initial block case for getBlockHashMembershipWitness) to v4-next#21891

Merged
mverzilli merged 4 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-21836-v4-next
Mar 23, 2026
Merged

chore: backport PR #21836 (fix: explicitly handle initial block case for getBlockHashMembershipWitness) to v4-next#21891
mverzilli merged 4 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-21836-v4-next

Conversation

@AztecBot

@AztecBot AztecBot commented Mar 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Backport of #21836 to v4-next.

Cherry-pick of f8b6239 onto backport-to-v4-next-staging with conflict resolution.

Conflict: server.ts had a conflict because v4-next doesn't have the resolveBlockNumber method or the N-1 world state lookup refactor from next. Adapted the fix to check for block 0 using both BlockNumber.ZERO and initial block hash comparison, keeping the v4-next getWorldState(referenceBlock) pattern.

Original PR description: Explicitly handles the initial block (block 0) case in getBlockHashMembershipWitness. Block 0 has an empty archive, so no membership witness can exist.

Changes

  • yarn-project/aztec-node/src/aztec-node/server.ts: Early return undefined when reference block is block 0 (by number or hash)
  • yarn-project/aztec-node/src/aztec-node/server.test.ts: Added test for the initial block case

Commits (3-commit backport structure)

  1. Cherry-pick with conflict markers
  2. Conflict resolution (adapted for v4-next)
  3. Test comment adaptation

@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Mar 23, 2026
mverzilli and others added 3 commits March 23, 2026 11:31
…shMembershipWitness (#21836)

Cherry-pick of f8b6239 with conflicts.
Adapted for v4-next which doesn't have resolveBlockNumber or the N-1 logic.
Added block 0 check for both BlockNumber.ZERO and initial block hash cases.
@AztecBot AztecBot force-pushed the claudebox/backport-21836-v4-next branch from f8b6239 to 806eb36 Compare March 23, 2026 11:33
@AztecBot

AztecBot commented Mar 23, 2026

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/8721fb4c28e300e4�8721fb4c28e300e48;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_epochs/epochs_proof_fails.parallel.test.ts "does not allow submitting proof after epoch end" (237s) (code: 0) group:e2e-p2p-epoch-flakes

@mverzilli mverzilli marked this pull request as ready for review March 23, 2026 16:55
@mverzilli mverzilli merged commit a0682ea into backport-to-v4-next-staging Mar 23, 2026
10 of 13 checks passed
@mverzilli mverzilli deleted the claudebox/backport-21836-v4-next branch March 23, 2026 18:00
AztecBot added a commit that referenced this pull request Mar 24, 2026
…for getBlockHashMembershipWitness) to v4-next (#21891)

Backport of #21836
to v4-next.

Cherry-pick of f8b6239 onto `backport-to-v4-next-staging` with
conflict resolution.

**Conflict:** `server.ts` had a conflict because v4-next doesn't have
the `resolveBlockNumber` method or the `N-1` world state lookup refactor
from `next`. Adapted the fix to check for block 0 using both
`BlockNumber.ZERO` and initial block hash comparison, keeping the
v4-next `getWorldState(referenceBlock)` pattern.

**Original PR description:** Explicitly handles the initial block (block
0) case in `getBlockHashMembershipWitness`. Block 0 has an empty
archive, so no membership witness can exist.

- `yarn-project/aztec-node/src/aztec-node/server.ts`: Early return
`undefined` when reference block is block 0 (by number or hash)
- `yarn-project/aztec-node/src/aztec-node/server.test.ts`: Added test
for the initial block case

1. Cherry-pick with conflict markers
2. Conflict resolution (adapted for v4-next)
3. Test comment adaptation

---------

Co-authored-by: Martin Verzilli <martin@aztec-labs.com>
Thunkar pushed a commit that referenced this pull request Mar 24, 2026
…for getBlockHashMembershipWitness) to v4-next (#21891)

Backport of #21836
to v4-next.

Cherry-pick of f8b6239 onto `backport-to-v4-next-staging` with
conflict resolution.

**Conflict:** `server.ts` had a conflict because v4-next doesn't have
the `resolveBlockNumber` method or the `N-1` world state lookup refactor
from `next`. Adapted the fix to check for block 0 using both
`BlockNumber.ZERO` and initial block hash comparison, keeping the
v4-next `getWorldState(referenceBlock)` pattern.

**Original PR description:** Explicitly handles the initial block (block
0) case in `getBlockHashMembershipWitness`. Block 0 has an empty
archive, so no membership witness can exist.

- `yarn-project/aztec-node/src/aztec-node/server.ts`: Early return
`undefined` when reference block is block 0 (by number or hash)
- `yarn-project/aztec-node/src/aztec-node/server.test.ts`: Added test
for the initial block case

1. Cherry-pick with conflict markers
2. Conflict resolution (adapted for v4-next)
3. Test comment adaptation

---------

Co-authored-by: Martin Verzilli <martin@aztec-labs.com>
AztecBot added a commit that referenced this pull request Mar 25, 2026
BEGIN_COMMIT_OVERRIDE
fix(aztec-up): narrow PATH cleanup regex to avoid removing user PATH
entries (#21828)
fix: consolidate blob source test into single summary log with supernode
detection (#21719)
fix: use anchor block on getL1ToL2MsgWitness (#21872)
fix: make sure queries are not made ahead of the anchor block (#21874)
chore(docs): backport docs infrastructure changes to v4 (#21437)
chore: backport PR #21836 (fix: explicitly handle initial block case for
getBlockHashMembershipWitness) to v4-next (#21891)
chore: backport PR #21813 (fix(aztec-up): strip leading v prefix from
version strings) to v4-next (#21912)
docs: document defi-wonderland immutable macro (#21764)
fix: pin typescript and harden lockfile check in docs examples CI (v4
backport) (#21914)
docs: expand circuit profiling guide and document kernel gate cost
overhead (#21770)
feat: cli-wallet (#21757)
chore: sync backport staging with v4-next HEAD (#21931)
fix: bot gas estimations (backport #21945) (#21947)
refactor(aztec-nr): use logging wrappers in
compute_note_hash_and_nullifier (#21897)
fix: backport v4 next staging (#21934)
fix: make PXE#getSyncedBlockHeader a concurrency=1 job to prevent IDB tx
liveness issues (#21944)
feat: add error page mapping for incompatible oracles (#21943)
fix(aztec-up): validate semver in uninstall to prevent path traversal
(#21892)
chore: merge v4-next into backport staging (fix ancestry) (#21954)
fix(aztec-up): add truncation protection to install scripts (#21896)
fix: noir format in compute_note_hash_and_nullifier.nr (#21956)
fix(stdlib): decode `EthAddress`, `FunctionSelector` and wrapped field
structs in `AbiDecoder` (#21926)
chore: update noir to nightly-2026-02-12-patch.1 (#21960)
fix: ensure empty docs examples does not populate yarn lock backport
(#21963)
fix: docs examples does not build on simple bootstrap backport (#21964)
fix: add rc/testnet version detection to API reference pages (#21966)
docs: document EmbeddedWallet automatic gas estimation and private
authwits (#21790)
fix(pxe): robust error handling in message processing (backport #21093)
(#21981)
chore: manually recreate backport (#21969)
chore: (A-779) load all accounts before calling
LogService.#getSecretsForSenders (#21923)
END_COMMIT_OVERRIDE
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