ethereum-optimism / ethereum-optimism/optimism

contracts-bedrock: remove the legacy SystemConfig batch inbox slot and overhead write after U20

Open
#22,141 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.5k
Forks
4k
Avg merge
2d 15h
Merged PRs (30d)
145

Description

PR #21641 removes `SystemConfig.batchInbox()` and clears `LEGACY_BATCH_INBOX_SLOT` during `initialize`, and zeroes the `overhead` value. The write must remain through U20 so existing proxies clear the obsolete value during upgrade.

After U20 is deployed:

- Remove `LEGACY_BATCH_INBOX_SLOT`.
- Remove the initializer write that clears the slot.
- Remove or update tests that only cover this migration write.
- Remove the `overhead = 0` write
- Consider removing the `overhead` variable altogether by replacing it with a spacer (this may have downstream impacts in other repos)
- Regenerate `semver-lock.json`.

Context: #21614 and #21641.

Contributor guide

Open the contributing guide

Research direction

Locate the contracts-bedrock SystemConfig contract and its initialize function, then inspect tests covering the legacy batch inbox and overhead migration writes. After U20, remove the obsolete slot and writes, assess whether overhead can become a spacer without downstream impact, update affected tests, and regenerate semver-lock.json.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
blockchain
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.