ethereum-optimism / ethereum-optimism/optimism
contracts-bedrock: remove the legacy SystemConfig batch inbox slot and overhead write after U20
- 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
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