Skip to content

chore: Accumulated backports to v4-next#22817

Merged
AztecBot merged 11 commits intov4-nextfrom
backport-to-v4-next-staging
Apr 29, 2026
Merged

chore: Accumulated backports to v4-next#22817
AztecBot merged 11 commits intov4-nextfrom
backport-to-v4-next-staging

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Apr 28, 2026

BEGIN_COMMIT_OVERRIDE
feat(docs): apply FPC docs to developer versioned docs (#22541)
docs: apply FPC docs to versioned docs (backport #22541) (#22810)
test(aztec-up): add full-dev-path e2e test for installed toolchain (#22801)
fix: pass send message as (#22820)
fix(aztec-up): handle CI=true in timeout function (#22827)
refactor(sequencer): sign last block before archiver sync (#22117)
END_COMMIT_OVERRIDE

critesjosh and others added 6 commits April 28, 2026 01:22
- Ports changes from #22496 (Nethermind FPC docs) and #22497 (private
FPC guide) to the `v4.2.0-aztecnr-rc.2` developer versioned docs
- Updates `how_to_pay_fees.md` with new payment methods table,
deprecation notice, third-party FPC section (Nethermind example), and
private fee payment section
- Updates `fees.md` (foundational topics) with expanded FPC payment
methods description, new "How FPCs work" section, and teardown phase
clarification
- Updates `how_to_create_account.md` anchor links to match renamed
heading
- Adds new `how_to_use_private_fee_juice.md` guide (DeFi Wonderland's
PrivateFPC)

- [ ] `yarn start` in `docs/` — verify versioned pages render correctly
- [ ] Confirm internal links resolve (anchors to
`#sponsored-fpc-devnet-and-local-only`,
`#third-party-fpcs-on-testnet-and-mainnet`, `#how-fpcs-work`, and the
new private FPC guide)
- [ ] Verify external links to Nethermind and Wonderland repos are valid
Adapts cherry-picked changes to v4.2.0-aztecnr-rc.2 layout:
- Remove an orphaned ```typescript opener and unused GasSettings import
  left between the resolved conflict blocks in how_to_pay_fees.md.
- Add the new how_to_use_private_fee_juice.md guide (the PR added it
  under version-v4.2.0/aztec-js/, which doesn't exist in v4-next; the
  closest analog here is version-v4.2.0-aztecnr-rc.2/aztec-js/).
- Repoint the v4.2.0 source-code link in the new guide to v4.2.0-aztecnr-rc.2.
Backport of #22541
to `backport-to-v4-next-staging`.

Cherry-picked merge commit `8b748b9c52` and resolved conflicts. The
three-commit structure is preserved: cherry-pick with markers, conflict
resolution, and one adaptation commit.

Per-file analysis and resolution notes:
https://gist.github.com/AztecBot/a68baa18840f313a136985d096d6be79

## Path mapping

The source PR modified
`docs/developer_versioned_docs/version-v4.2.0/...`, but
`version-v4.2.0/` does not exist in v4-next; the versioned docs there
are split into `version-v4.1.0-rc.2` (testnet) and
`version-v4.2.0-aztecnr-rc.2` (mainnet). Git's rename detection routed
the changes:

- Source `version-v4.2.0/foundational-topics/...` →
`version-v4.1.0-rc.2/foundational-topics/...`
- Source `version-v4.2.0/aztec-js/how_to_pay_fees.md` →
`version-v4.2.0-aztecnr-rc.2/aztec-js/how_to_pay_fees.md`
- Source `version-v4.2.0/aztec-js/how_to_use_private_fee_juice.md` (new
file) → added under `version-v4.2.0-aztecnr-rc.2/aztec-js/`
- Source `docs-developers/...` → same path

I left the split as git produced it, matching the precedent in #22762.

## Reviewer notes

- The split above is asymmetric (foundational-topics in `v4.1.0-rc.2`,
aztec-js in `v4.2.0-aztecnr-rc.2`). Happy to propagate to both versioned
trees for symmetric coverage.
- `version-v4.2.0-aztecnr-rc.2/aztec-js/how_to_pay_fees.md` still
contains older `Private FPCs enable…` / `Public FPCs can be used…`
snippets that are now redundant with the new sections the PR introduced;
left in place since the PR did not touch them.
- `version-v4.1.0-rc.2/foundational-topics/fees.md` ended up with a
duplicate `gas_settings.ts` source link (one v4.1.0-rc.2, one v4.2.0)
from auto-merge; the duplicate is outside the conflict region so I did
not touch it in the conflict-resolution commit.

## Test plan

- [x] No conflict markers remain
- [x] Code-block fences balanced in modified files
- [ ] Docs build passes CI

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

ClaudeBox log: https://claudebox.work/s/f04540a46c506217?run=1
Copy link
Copy Markdown
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot AztecBot enabled auto-merge April 29, 2026 05:03
@AztecBot
Copy link
Copy Markdown
Collaborator Author

🤖 Auto-merge enabled after 8 hours of inactivity. This PR will be merged automatically once all checks pass.

spalladino and others added 3 commits April 29, 2026 09:43
The last block in a checkpoint was being synced to the archiver _before_
passing through the HA signing gate. If HA signing failed afterwards,
the archiver would be polluted with a block that never made it on-chain.

Reorder the block-building loop so that block proposal signing and
archiver sync happen in the same order for all blocks (sign first, sync
second), not just for non-last blocks. Pass the already-signed
`BlockProposal` through to `CheckpointProposal.createProposalFromSigner`
instead of raw block data.

Unrelated to the above, we replaced `undefined` returns from
`buildSingleBlock` with typed `{ failure: 'insufficient-txs' |
'insufficient-valid-txs' }` objects, so the failure reason is made
explicit.

- **sequencer-client**: Reorder block-building loop so signing happens
before archiver sync for all blocks (including last). Simplify
`blockPendingBroadcast` to just `BlockProposal | undefined`. Return
typed failure objects from `buildSingleBlock` instead of `undefined`.
Update caller to check `'failure' in buildResult`.
- **stdlib**: `CheckpointProposal.createProposalFromSigner` accepts
`BlockProposal | undefined` instead of `CheckpointLastBlockData`. Remove
`CreateCheckpointProposalLastBlockData` type. Update
`makeCheckpointProposal` test helper to create a real `BlockProposal`
via `makeBlockProposal`.
- **validator-client**: Update `Validator` interface, `ValidatorClient`,
and `ValidationService` to pass `BlockProposal` instead of raw block
data for checkpoint proposal creation.
- **tests**: Update assertions from `toBeUndefined()` to `toEqual({
failure: ... })`, update signing-context test to reflect that only
checkpoint signing happens in `createCheckpointProposal`.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v4-next AztecNode has no getPredictedMinFees; BaseWallet still uses
getCurrentMinFees for fee completion. Unbreaks tsgo on backport branch.
@AztecBot AztecBot merged commit 33b306e into v4-next Apr 29, 2026
9 checks passed
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.

6 participants