ethereum-optimism / optimism

Optimism is Ethereum, scaled.
https://optimism.io
MIT License
5.65k stars 3.28k forks source link

Change how standard-versions.toml is used in op-deployer #12067

Open blmalone opened 1 month ago

blmalone commented 1 month ago

op-deployer should avoid any patterns that use file IO. For standard-versions.toml in particular, this isn't a user defined file and it should be included as part of the op-deployer compilation step.

One possible solution which is cleaner would be to use a codegen tool to create a static Solidity contract from the standard-versions.toml file.

Some tech debt was introduced to op-deployer in this PR: https://github.com/ethereum-optimism/optimism/pull/12035

Summary comment from Slipper: https://github.com/ethereum-optimism/optimism/pull/12035#discussion_r1772258525

mds1 commented 1 month ago

Moving my comment from https://github.com/ethereum-optimism/optimism/pull/12035#discussion_r1772286368 here:

What exactly would this solidity contract or structs look like? I don't fully follow the longer-term plan described in this issue