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

Generic DGF implementation update validation script #377

Open
sebastianst opened this issue Nov 25, 2024 · 2 comments
Open

Generic DGF implementation update validation script #377

sebastianst opened this issue Nov 25, 2024 · 2 comments

Comments

@sebastianst
Copy link
Member

The pre- and post checks of DGF implementation updates are identical, just with slightly different parameters. We could save a lot of boilerplate, copy-pasting and repetition of the same review discussions if there was a generic abstract DGFImplementationUpdate contract that could just be instantiated with a few parameters (chain id, new FDG and PDG implementations) and then everything else is read from the superchain-registry or queried on-chain. It would also incrementally increase the quality of the checks and save work for the Security reviewers.

The same could probably be done for encapsulating the generic storage access allowances and code exceptions for nested Safe multi-sig tasks. This is all currently just always copy-pasted.

This recently became apparent again when we were executing the DGF updates for Sepolia OP and Base.

@mds1
Copy link
Contributor

mds1 commented Nov 25, 2024

As part of superchain-ops improvements that are going to kick off soon, we are planning to support "template" tasks. Opening a PR to execute a template task will use existing solidity code from the template that is parameterized via an input TOML file. This essentially is what you describe here, as no new solidity will be needed for these tasks :)

@sebastianst
Copy link
Member Author

Sounds good, great to hear this is coming and already on your radar!

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

2 participants