Skip to content

fix: only create releases in barretenberg repo by default#22287

Draft
AztecBot wants to merge 19 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-bb-only-releases-v4-next
Draft

fix: only create releases in barretenberg repo by default#22287
AztecBot wants to merge 19 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-bb-only-releases-v4-next

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Apr 2, 2026

Summary

  • Backports the release change from next to v4-next
  • Replaces release_github (which created releases in aztec-packages) with release_bb_github (which creates releases only in AztecProtocol/barretenberg)
  • Users can still create aztec-packages releases manually via the GitHub UI if needed

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

AztecBot and others added 19 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>
…e-please version (#21984)

## Summary
Since we've stopped using release-please, the `deploy-staging-public`
workflow was broken — it read the version from
`.release-please-manifest.json` and waited for a tag matching that exact
version.

This PR removes the release-please manifest dependency and instead:
- Polls for **any valid semver tag** at HEAD using `ci3/semver check`
- If multiple semver tags exist, picks the highest using `ci3/semver
sort`

## Changes
The updated workflow is in
`.github-new/workflows/deploy-staging-public.yml` and needs to be moved
to `.github/workflows/deploy-staging-public.yml` before merging.

- Removed the "Read version from manifest" step entirely
- Replaced the tag-matching grep with `ci3/semver check` validation
- Uses `ci3/semver sort` to pick the highest tag when multiple exist

ClaudeBox log: https://claudebox.work/s/43c486478ab3e16b?run=1
BEGIN_COMMIT_OVERRIDE
fix: deploy-staging-public waits for any semver tag instead of
release-please version (#21984)
fix: Fix blob encoding when uploaded from proposals (#22045)
END_COMMIT_OVERRIDE
Merging compilation fix already present on `backport-to-v4-next-staging`
## Summary

The `testnet_compatibility` and `mainnet_compatibility` tests were only
running on PRs targeting branches matching `^v[0-9]+$` (e.g. `v4`). This
missed three other critical branches:

- `backport-to-v4-staging`
- `v4-next`
- `backport-to-v4-next`

This caused a compatibility break on staging-public (4.2.0-aztecnr.2
bricking nodes due to block header shape changes between 4.1 and 4.2) to
go undetected.

## Fix

Expanded the regex in `yarn-project/bootstrap.sh` to:
```
^(v[0-9]+(-next)?|backport-to-v[0-9]+-(staging|next))$
```

This matches all four required branch patterns while still excluding
`next`, `master`, and other non-release branches.

ClaudeBox log: https://claudebox.work/s/dd9d82043dbc175f?run=1
BEGIN_COMMIT_OVERRIDE
chore: backport - drop dead legacy oracle mappings (#22035)
fix: backport timestamp and anvil fixes (#22110)
fix(archiver): swallow error when rollup contract not yet finalized on
L1 (#22156)
END_COMMIT_OVERRIDE
BEGIN_COMMIT_OVERRIDE
fix(aztec-nr): use registered accounts as capsule test scopes (#22171)
END_COMMIT_OVERRIDE
BEGIN_COMMIT_OVERRIDE
cherry-pick: feat: move event size check from declaration to private
emission (#22168)
fix: prevent oracle failure on tag computation for invalid recipient
(#22163)
feat: move event size check from declaration to private emission
(#22168) [v4-next backport] (#22182)
fix(cli-wallet): peek claim stack instead of popping for
estimate-gas-only (#22196)
fix: use Fr.fromString for CLI wallet claim params to handle decimal
values (#22197)
fix: indefinite retry for prover node and agent broker communication
(#22202)
END_COMMIT_OVERRIDE
Adapted block_store.ts for v4 branch structure:
- Kept v4's inline previous-checkpoint-block extraction (no getPreviousCheckpointBlock helper)
- Used checkpoints[0] reference instead of firstCheckpointNumber for post-skip correctness
- Only included skipOrUpdateAlreadyStoredCheckpoints method (the actual fix)
- Dropped getPreviousCheckpointBlock and validateCheckpointBlocks refactors from next
…2252) (#22257)

## Summary

Backport of #22252
to v4.

Fixes a mainnet issue where an L1 reorg moved a checkpoint to a
different L1 block, causing the archiver to re-discover it and crash
with `InitialCheckpointNumberNotSequentialError` in an infinite loop.

When `addCheckpoints` receives a checkpoint that's already stored, it
now:
- **Accepts it** if the archive root matches (same content, just
different L1 block)
- **Updates the L1 metadata** (block number, timestamp, hash) and
attestations
- **Throws** if the archive root doesn't match (content mismatch —
genuine conflict)

## Conflict Resolution

Cherry-pick had one conflict in `block_store.ts`:
- v4 uses inline code for extracting previous checkpoint block data;
`next` refactored this into a `getPreviousCheckpointBlock()` helper.
Kept v4's inline approach but updated to use `checkpoints[0]` reference
(correct after potential skip of already-stored checkpoints).
- Only ported `skipOrUpdateAlreadyStoredCheckpoints` method (the fix).
Dropped `getPreviousCheckpointBlock` and `validateCheckpointBlocks`
refactors that exist on `next` but not v4.

## Test Results

- 176 passed in `kv_archiver_store.test.ts`
- 33 passed in `archiver-sync.test.ts` (includes new `handles L1 reorg
that moves a checkpoint to a later L1 block` test)
- Build, format pass

ClaudeBox log: https://claudebox.work/s/21a4c138364df1ef?run=1
BEGIN_COMMIT_OVERRIDE
fix: run compatibility tests on all v4-related branches (#22149)
END_COMMIT_OVERRIDE
## Summary
Resolves merge conflicts in `sync/v4-into-v4-next-20260402-121022`
branch (merge from v4 into v4-next).

Three conflicts resolved:
- **`yarn-project/p2p/src/client/factory.ts`**: Import conflict —
combined both sides to include `createCheckAllowedSetupCalls`,
`createTxValidatorForReqResponseReceivedTxs`,
`createTxValidatorForTransactionsEnteringPendingTxPool`, and
`getDefaultAllowedSetupFunctions`
- **`yarn-project/validator-client/src/validator.test.ts`** (type): Used
v4's `ReturnType<typeof generatePrivateKey>[]` over inline
`0x${string}[]` for consistency with the imported `generatePrivateKey`
- **`yarn-project/validator-client/src/validator.test.ts`** (method
name): Used `getProposalHandler()` which matches the actual method
defined in `validator.ts`

ClaudeBox log: https://claudebox.work/s/24854bae46b9a696?run=2
Match next branch behavior — create GitHub releases only in
AztecProtocol/barretenberg for bb artifacts. Users can create
aztec-packages releases manually via the GitHub UI if needed.
@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Apr 2, 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.

4 participants