Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

superchain: make chain configs fully explicit #763

Open
bitwiseguy opened this issue Dec 10, 2024 · 0 comments
Open

superchain: make chain configs fully explicit #763

bitwiseguy opened this issue Dec 10, 2024 · 0 comments
Assignees

Comments

@bitwiseguy
Copy link
Collaborator

bitwiseguy commented Dec 10, 2024

Overview

Currently ChainConfig .toml files do not contain the complete set of config values. Rather, there is logic within the superchain package to inherit/populate some values (namely hardfork activation timestamps and some superchain-wide contract addresses) from the appropriate superchain.toml file. This creates some confusion about how a chain is configured when looking at any given ChainConfig file. We would like to get rid of the inheritance so that the ChainConfig is a fully, self-contained set of information about the chain.

Tradeoffs

  1. Duplicated data across chain configs - worth this tradeoff to be explicit and avoid confusion
  2. Difficult to tell how a chain diverges from default values if default values are not excluded - could alleviate this concern by adding a simple command to the superchain-registry/ops module which could print out the diff?
./ops default-diffs <chain_id>

Acceptance criteria

  1. All current chain configs contain all hardfork timestamp activations for their chain
  2. All current chain configs contain all contract addresses for their chain
  3. ops command exists to propagate new superchain hardfork timestamps to chains who want to inherit them (i.e. superchain_time is set)
  4. ops command exists to show diff between chain config and defaults: ./ops default-diffs <chain_id>
@bitwiseguy bitwiseguy self-assigned this Dec 10, 2024
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

No branches or pull requests

1 participant