Skip to content

chore: backport #21075 to v4 (decouple proposal validators via composition)#21120

Merged
spalladino merged 1 commit intov4from
claudebox/backport-cherry-pick-analysis
Mar 4, 2026
Merged

chore: backport #21075 to v4 (decouple proposal validators via composition)#21120
spalladino merged 1 commit intov4from
claudebox/backport-cherry-pick-analysis

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Mar 4, 2026

Summary

Backport of #21075 to v4.

  • Remove pass-through getters (blockNumber, txHashes, txs) from CheckpointProposal that just delegated to lastBlock
  • Split ProposalValidator into header validation (validate) and tx validation (validateTxs)
  • BlockProposalValidator and CheckpointProposalValidator now use ProposalValidator by composition instead of inheritance
  • Consolidate test suite into a single proposal_validator.test.ts that tests ProposalValidator directly with both proposal types

Conflict resolution

The automatic cherry-pick failed due to modify/delete conflicts on two test files:

  • checkpoint_proposal_validator.test.ts — modified on v4, deleted in PR
  • proposal_validator_test_suite.ts — modified on v4, deleted in PR

Resolution: accepted the deletions since the PR replaces both files with a new consolidated proposal_validator.test.ts that covers all test cases from both files.

Test plan

  • CI will validate the build and tests pass on v4

ClaudeBox log: http://ci.aztec-labs.com/5e44af188aafe7dc-1

@AztecBot AztecBot added the claudebox Owned by claudebox. it can push to this PR. label Mar 4, 2026
…sition

Remove pass-through getters (blockNumber, txHashes, txs) from CheckpointProposal
that just delegated to lastBlock. Split ProposalValidator into header validation
(validate) and tx validation (validateTxs). BlockProposalValidator and
CheckpointProposalValidator now use ProposalValidator by composition instead of
inheritance, calling validate() for header checks and validateTxs() for tx checks
(on the block proposal directly or via getBlockProposal()).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@AztecBot AztecBot force-pushed the claudebox/backport-cherry-pick-analysis branch from 4aa5498 to 1d5ed19 Compare March 4, 2026 18:07
@spalladino spalladino marked this pull request as ready for review March 4, 2026 18:11
@spalladino spalladino enabled auto-merge (squash) March 4, 2026 18:11
@AztecBot
Copy link
Collaborator Author

AztecBot commented Mar 4, 2026

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/8acba850278955d8�8acba850278955d88;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_p2p/multiple_validators_sentinel.parallel.test.ts "collects attestations for validators in proposer node when block is not published" (305s) (code: 0) group:e2e-p2p-epoch-flakes

@spalladino spalladino merged commit 05369fe into v4 Mar 4, 2026
13 checks passed
@spalladino spalladino deleted the claudebox/backport-cherry-pick-analysis branch March 4, 2026 18:35
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