Skip to content

Conversation

@0xDiscotech
Copy link
Contributor

@0xDiscotech 0xDiscotech commented Sep 19, 2025

Description

Introduce the FeeSplitter predeploy as part of a new revenue-sharing feature. The goal is to make revenue sharing simpler and more modular, with configurable values and automated handling where possible.

Includes supporting contracts like SuperchainRevSharesCalculator, L1Withdrawer, and FeesDepositor, which act as periphery components of the system and cover the first expected use case.

This is opt-in, but will be enabled by default on fresh chains at genesis. Operators must set a chain fees recipient address on L2 for splits to work.

FeeVaults were updated to be more flexible with setters, while keeping backwards compatibility.

Tests

  • All new contracts are fully unit tested.
  • Genesis logic has dedicated tests, and there ar integration tests covering the full main flow.
  • Invariant tests added using Foundry as fuzzer.

Additional context

Metadata

When the FeesDepositor contract for OP’s L1 fees is deployed, it should be linked here

⚠️ Disclaimer: We made minimal changes to the Go files to get the checks passing and did so carefully. Go isn’t our primary expertise, so we’d appreciate extra attention from Go reviewers on these edits.

@0xDiscotech 0xDiscotech requested review from a team as code owners September 19, 2025 15:56
@0xDiscotech
Copy link
Contributor Author

/ci authorize 5e22355

@0xDiscotech
Copy link
Contributor Author

/ci authorize 4551449

maurelian
maurelian previously approved these changes Nov 4, 2025
@maurelian maurelian self-requested a review November 4, 2025 21:17
@maurelian maurelian dismissed their stale review November 4, 2025 21:18

wondering about L1 Withdrawer predeploy

@maurelian
Copy link
Contributor

/ci authorize 6b0ac03

@0xDiscotech
Copy link
Contributor Author

/ci authorize 9bf285c

@maurelian maurelian added this pull request to the merge queue Nov 5, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 5, 2025
@maurelian maurelian added this pull request to the merge queue Nov 6, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 6, 2025
@maurelian maurelian added this pull request to the merge queue Nov 6, 2025
Merged via the queue into ethereum-optimism:develop with commit 0f21af9 Nov 6, 2025
72 of 73 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.

8 participants