Skip to content

feat: allow third-party submitter staking - #1039

Merged
SegueII merged 1 commit into
mainfrom
codex/submitter-third-party-stake
Aug 24, 2026
Merged

feat: allow third-party submitter staking#1039
SegueII merged 1 commit into
mainfrom
codex/submitter-third-party-stake

Conversation

@SegueII

@SegueII SegueII commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Staking now accepts a designated submitter address, allowing another account to provide the funds.
    • Submitter registration and staking can be completed using configured addresses without requiring submitter private keys.
    • Added validation for configured submitter addresses and support for staking on behalf of registered submitters.
  • Bug Fixes

    • Improved handling of staking eligibility, activation, withdrawal, and exit-related scenarios.
  • Documentation

    • Updated deployment guidance for address-based submitter registration and staking.

@SegueII
SegueII requested a review from a team as a code owner August 24, 2026 07:08
@SegueII
SegueII requested review from dylanCai9 and removed request for a team August 24, 2026 07:08
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6611a60f-3504-4e03-97a9-6848d2441203

📥 Commits

Reviewing files that changed from the base of the PR and between 2519cf1 and 16ed354.

📒 Files selected for processing (11)
  • bindings/bin/submitter_deployed.hex
  • bindings/bindings/centralization_cleanup_test.go
  • bindings/bindings/submitter.go
  • bindings/bindings/submitter_more.go
  • contracts/contracts/l1/rollup/Submitter.sol
  • contracts/contracts/test/Submitter.t.sol
  • contracts/contracts/test/base/L1MessageBase.t.sol
  • contracts/deploy/021-SubmitterRegister.ts
  • contracts/integration-test/upgrade_rollup_proxy.spec.ts
  • contracts/tasks/README.md
  • contracts/tasks/deploy.ts

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The Submitter staking API now accepts an explicit submitter address. Contract bindings, bytecode artifacts, tests, deployment scripts, and documentation were updated to support owner-funded staking for configured submitters.

Changes

Submitter-directed staking

Layer / File(s) Summary
Submitter staking contract and bindings
contracts/contracts/l1/rollup/Submitter.sol, bindings/bindings/submitter.go, bindings/bin/submitter_deployed.hex, bindings/bindings/submitter_more.go, bindings/bindings/centralization_cleanup_test.go
stake now accepts a submitter address. Generated bindings, ABI checks, and deployed bytecode use the updated method.
Staking and integration validation
contracts/contracts/test/Submitter.t.sol, contracts/contracts/test/base/L1MessageBase.t.sol, contracts/integration-test/upgrade_rollup_proxy.spec.ts
Tests cover third-party staking, stake attribution, activation, withdrawal, slashability, and explicit-address staking calls.
Address-based registration flow
contracts/deploy/021-SubmitterRegister.ts, contracts/tasks/deploy.ts, contracts/tasks/README.md
Registration now uses configured submitter addresses. The owner registers and stakes each address without loading operator private keys.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 16ed3

This PR enables third-party submitter staking without any supplied evidence of a concrete correctness, security, availability, or deployment risk; no actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: dylancai9, twcctop

Sequence Diagram(s)

sequenceDiagram
  participant Owner
  participant SubmitterRegister
  participant Submitter
  Owner->>SubmitterRegister: register(submitter address)
  SubmitterRegister->>Submitter: authorize and register submitter
  SubmitterRegister->>Submitter: stake(submitter)
  Submitter-->>SubmitterRegister: activation and stake state
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: allowing accounts other than the submitter to provide staking funds.
Docstring Coverage ✅ Passed Docstring check was indeterminate for this PR — some files could not be analyzed in time. Not blocking.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/submitter-third-party-stake

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SegueII
SegueII merged commit 2cf2d41 into main Aug 24, 2026
17 of 19 checks passed
@SegueII
SegueII deleted the codex/submitter-third-party-stake branch August 24, 2026 07:26
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.

2 participants