-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Add entrypoint to deploy against existing Superchain #11791
Conversation
c58cd62
to
cb5191d
Compare
41ea87e
to
caa913d
Compare
Creates a separate entrypoint in the deploy script to allow an L2 to be deployed against an existing set of Superchain contracts. The deployment assumes that the Superchain contracts have been deployed correctly. The L2 still gets its own ProxyAdmin, AddressManager, and Safe. The API is additive and backwards-compatible.
caa913d
to
87c90ae
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH I had some trouble following the logic, with all the various run functions, but I'm starting to see how it makes sense and minimizes actual diffs.
I think it's tech debt that the same proxy admin is used for OP Mainnet and the Superchain contracts, but I don't think we should fix that here/now.
If you're good with the suggestion, I'll finalize my reviewing by comparing before and after state dumps.
Co-authored-by: Maurelian <[email protected]>
Suggestions accepted - let me know if you need anything else! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I ran the script and generated the state dump on the base commit and this one, then compared both:
- the logs: the only difference was that
Setting up Superchain
is emitted later in the process - the state dumps: there was no diff whatsoever.
So this LGTM.
Creates a separate entrypoint in the deploy script to allow an L2 to be deployed against an existing set of Superchain contracts. The deployment assumes that the Superchain contracts have been deployed correctly. The L2 still gets its own ProxyAdmin, AddressManager, and Safe. The API is additive and backwards-compatible.