Skip to content

Create the batch collector account during bootstrap - #2566

Closed
Mirko-von-Leipzig wants to merge 14 commits into
mirko/preserve-user-batch-proofsfrom
mirko/batch-fees-pass-through-account
Closed

Mirko-von-Leipzig wants to merge 14 commits into
mirko/preserve-user-batch-proofsfrom
mirko/batch-fees-pass-through-account

Conversation

@Mirko-von-Leipzig

@Mirko-von-Leipzig Mirko-von-Leipzig commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Node bootstrap creates the batch builder's collection account and saves it with its signing key in batch_builder_collection_account.mac in the node data directory. The file retains the account's creation seed for deployment. Genesis contains neither the collection account nor the wallet account.

The collector uses protocol's AuthTxFeeCollector to aggregate fee notes into a single P2ID note. Its state remains unchanged after deployment, so batch workers can use it concurrently. Authentication restricts use of the collector to the sequencer.

Part of #2501.

Changelog

[[entry]]
scope       = "node"
impact      = "added"
description = "Create the batch builder's collection account during node bootstrap."

@Mirko-von-Leipzig Mirko-von-Leipzig changed the title feat(genesis): add pass-through account feat(genesis): add an authenticated pass-through account Sep 16, 2026
@Mirko-von-Leipzig Mirko-von-Leipzig changed the title feat(genesis): add an authenticated pass-through account feat(genesis): add a batch builder collection account Sep 16, 2026
@Mirko-von-Leipzig Mirko-von-Leipzig changed the title feat(genesis): add a batch builder collection account Add a batch builder collection account to genesis Sep 16, 2026
@Mirko-von-Leipzig
Mirko-von-Leipzig marked this pull request as ready for review September 16, 2026 13:54

@kkovaacs kkovaacs left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good to me!

@Mirko-von-Leipzig

Copy link
Copy Markdown
Collaborator Author

Discussed offline, but it turns out this isn't required.

The accounts can instead be generated outside of genesis, and given to the sequencer. Both accounts will self-deploy on the first transaction involving them. And the transaction fee for each will be paid by the tx fees collected.

I'll amend these PRs. This does mean that there is an additional step for the sequencer to generate these accounts. Perhaps this can be part of bootstrapping - but this needs to be communicated well so that the accounts aren't lost.

@Mirko-von-Leipzig
Mirko-von-Leipzig removed this pull request from stack #2569 September 17, 2026 11:59
@Mirko-von-Leipzig Mirko-von-Leipzig changed the title Add a batch builder collection account to genesis Create the batch collector account during bootstrap Sep 17, 2026
@Mirko-von-Leipzig
Mirko-von-Leipzig added this pull request to stack #2641 September 17, 2026 12:01
@Mirko-von-Leipzig
Mirko-von-Leipzig removed this pull request from stack #2641 September 18, 2026 09:45
@Mirko-von-Leipzig

Copy link
Copy Markdown
Collaborator Author

Superseded by #2568. Collector creation now uses the fee-collector create/deploy commands instead of node bootstrap. The remaining dependencies and account-file path helper are included in #2568.

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.

3 participants