Skip to content

feat(docs): apply FPC docs to developer versioned docs#22541

Merged
critesjosh merged 3 commits into
nextfrom
jc/docs-versioned-fpc-updates
Apr 28, 2026
Merged

feat(docs): apply FPC docs to developer versioned docs#22541
critesjosh merged 3 commits into
nextfrom
jc/docs-versioned-fpc-updates

Conversation

@critesjosh

Copy link
Copy Markdown
Contributor

Summary

  • Ports changes from feat(docs): nethermind fpc docs #22496 (Nethermind FPC docs) and feat(docs): private fpc guide #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)

Test plan

  • 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

@critesjosh critesjosh marked this pull request as ready for review April 14, 2026 20:51
2. On L2, call `FeeJuice.claim(...)` to emit the Fee Juice nullifier.
3. Call `PrivateFPC.mint(amount, salt, leaf_index)` to convert the bridge claim into private Fee Juice balance inside the FPC, credited to the claimer.
4. From that point on, every transaction can call `PrivateFPC.pay_fee()` to deduct `max_gas_cost` from the internal balance and have the FPC set itself as the transaction's fee payer.
2. **Cold-start:** First call `FeeJuice.claim(...)` so the Fee Juice nullifier lands onchain, then in a follow-up transaction call `PrivateFPC.mint_and_pay_fee(amount, salt, leaf_index)`. The contract verifies the nullifier exists, credits `amount - max_gas_cost` to the claimer, and pays the fee — useful when the user has no prior balance with the FPC.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

i don't really know what you mea by "cold start"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't get the second part at all? who is paying the initial fees? im lost sorry

Ports changes from #22496 (Nethermind FPC docs) and #22497 (private FPC
guide) to the v4.2.0 developer versioned docs, plus related updates to
source docs (docs-developers), transaction phases explanation, and
runnable TypeScript examples.

Files:
- developer_versioned_docs/version-v4.2.0: how_to_pay_fees.md,
  how_to_use_private_fee_juice.md, foundational-topics/fees.md,
  foundational-topics/transactions.md
- docs-developers: how_to_pay_fees.md, how_to_use_private_fee_juice.md,
  foundational-topics/fees.md, foundational-topics/transactions.md
- examples/ts: aztecjs_advanced/index.ts, aztecjs_connection/index.ts
@critesjosh critesjosh removed the request for review from jeanmon April 22, 2026 15:32

@ciaranightingale ciaranightingale left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

some m-dashes been added but otherwise lgtm


### Two flows

1. **Bridge + mint + pay** (used the first time to seed a private balance, and then once per top-up):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

wdym once per top up?

Comment thread docs/docs-developers/docs/aztec-js/how_to_use_private_fee_juice.md Outdated
@critesjosh critesjosh enabled auto-merge April 28, 2026 00:36
@critesjosh critesjosh added this pull request to the merge queue Apr 28, 2026
Merged via the queue into next with commit 8b748b9 Apr 28, 2026
19 of 20 checks passed
@critesjosh critesjosh deleted the jc/docs-versioned-fpc-updates branch April 28, 2026 01:17
@AztecBot

Copy link
Copy Markdown
Collaborator

❌ Failed to cherry-pick to v4-next due to conflicts. (🤖) View backport run.

critesjosh added a commit that referenced this pull request Apr 28, 2026
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
AztecBot added a commit that referenced this pull request Apr 29, 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants