Skip to content

chore: accumulated backports#22015

Merged
alexghr merged 2 commits into
v4from
backport-to-v4-staging
Mar 25, 2026
Merged

chore: accumulated backports#22015
alexghr merged 2 commits into
v4from
backport-to-v4-staging

Conversation

@alexghr

@alexghr alexghr commented Mar 25, 2026

Copy link
Copy Markdown
Contributor

.

@alexghr alexghr requested a review from a team March 25, 2026 17:55
@alexghr alexghr enabled auto-merge March 25, 2026 18:04
@alexghr alexghr disabled auto-merge March 25, 2026 18:04
@PhilWindle PhilWindle enabled auto-merge March 25, 2026 18:04
@alexghr alexghr disabled auto-merge March 25, 2026 18:10
AztecBot and others added 2 commits March 25, 2026 18:11
#21998)

## Summary
Backport of #21988
to v4.

Adds full transaction validation (via `TxValidator`) to txs retrieved
from the tx file store and node RPC sources, replacing the previous
hash-only validation. This ensures downloaded txs are validated with the
same rigor as txs received via p2p.

## Cherry-pick details
- **Commit 1**: Raw cherry-pick with conflict markers in
`yarn-project/p2p/src/client/factory.ts`
- **Commit 2**: Conflict resolution — simplified import to only include
functions used in this file

The conflict was minor: the v4 branch had a single-line import while
`next` had a multi-line import block with additional unused imports
(`createCheckAllowedSetupCalls`, `getDefaultAllowedSetupFunctions`).
Resolved by importing only the two functions actually used.

## Verification
- Build passes (`yarn build`)
- All related tests pass:
  - `p2p/src/services/tx_collection/tx_source.test.ts` (3/3)
  - `p2p/src/services/tx_file_store/tx_file_store.test.ts` (17/17)
  - `foundation/src/collection/array.test.ts` (61/61)

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

---------

Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com>
…ckport #21999) (#22005)

## Summary

Backport of #21999
to v4.

Renames `BlockProposalHandler` to `ProposalHandler` and adds checkpoint
proposal handling, so non-validator nodes with blob upload capability
can validate checkpoint proposals and upload blobs to the filestore. The
validator client now delegates checkpoint validation and blob upload to
the `ProposalHandler` instead of doing it inline.

## Conflicts Resolved

- **proposal_handler.ts**: Import conflict — added new imports
(`accumulateCheckpointOutHashes`, `CheckpointProposalCore`,
`MerkleTreeId`) needed for checkpoint handling.
- **validator.ts**: Two conflicts around signature validation and fee
modifier checks that were moved to `ProposalHandler`. Used v4's
`slotNumber` variable name instead of `proposalSlotNumber` from next.
- **validator.test.ts**: Added new HA peer test from the PR.

## Build Fix

- Hoisted `validatorPrivateKeys` from `beforeEach` scope to `describe`
scope in `validator.test.ts` so the new test can access it.

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

---------

Co-authored-by: Santiago Palladino <santiago@aztec-labs.com>
@alexghr alexghr force-pushed the backport-to-v4-staging branch from 78d5dc4 to 9ab6032 Compare March 25, 2026 18:11
@alexghr alexghr enabled auto-merge March 25, 2026 18:12
@alexghr alexghr merged commit 1294089 into v4 Mar 25, 2026
9 checks passed
@alexghr alexghr deleted the backport-to-v4-staging branch March 25, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants