-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
OPSM: Refactor to better support features with different inputs #11783
Comments
We have agreed that structs for inputs are going to be messy, and not scale well as feature develop continues changing inputs. Therefore, we should remove input structs and move to a setter approach like what we do with the output contracts. (The output contracts do also contain structs that we should consider removing as well, in case this simplifies cases where outputs change). That refactor will take a bit of time, however. Therefore to avoid blocking interop we will first support the interop contracts using the current struct-based input approach. Instead of doing it the "proper" (messy) way with new input structs, we just assume the dependency manager role is the same as the proxyAdminOwner and therefore the inputs don't need to change. For example, see: optimism/packages/contracts-bedrock/src/L1/OPStackManagerInterop.sol Lines 37 to 53 in 76ade4d
Afterwards, we'll refactor the deploy scripts and their corresponding IO contracts to remove structs and use a setter based approach |
I've updated the title here, since interop is now unblocked by our workaround. A good way to verify this refactor is successful is to enable the interop |
#11833 did not full resolve this, so reopening |
Support the
initialize
call of theSystemConfigInterop
that is deployed inDeployImplementationsInterop
, by introducing anOPStackManagerInterop
and figuring out how to approach an input-struct that is compatible between interop and the inherited stack-manager (e.g. through composition, or dropping the struct pattern).The text was updated successfully, but these errors were encountered: