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

OP Stack Manager architecture to support interop #60

Merged
merged 5 commits into from
Aug 12, 2024
Merged

Conversation

mds1
Copy link
Contributor

@mds1 mds1 commented Aug 5, 2024

This design doc details an architecture for OP Stack Manager that ideally fits the modular interop use case expressed in #52 that we move towards in ethereum-optimism/optimism#11189. It focuses on L1 contracts only. Our current deploy config and deploy script is a monolith, so here we break it up into 3 discrete steps, each with their own distinct inputs and outputs.

@mds1 mds1 requested review from tynes, protolambda and maurelian August 5, 2024 22:42
protocol/op-stack-manager-arch.md Outdated Show resolved Hide resolved
protocol/op-stack-manager-arch.md Outdated Show resolved Hide resolved
protocol/op-stack-manager-arch.md Show resolved Hide resolved
protocol/op-stack-manager-arch.md Outdated Show resolved Hide resolved
protocol/op-stack-manager-arch.md Outdated Show resolved Hide resolved
protocol/op-stack-manager-arch.md Show resolved Hide resolved
protocol/op-stack-manager-arch.md Show resolved Hide resolved
protocol/op-stack-manager-arch.md Show resolved Hide resolved
@tynes tynes mentioned this pull request Aug 7, 2024
@tynes
Copy link
Contributor

tynes commented Aug 7, 2024

A thought here is to have the ability to generate a rollup.json from a view function on the OPSM, not literally returning the json file but something that returns the required values that end up in the json file, it could be an update to the op-node command for generating config. This would create a cohesive story for OPSM tx -> operating L2

@tynes
Copy link
Contributor

tynes commented Aug 7, 2024

The usage of toml makes sense to easily operate with the superchain registry

mds1 and others added 3 commits August 7, 2024 12:18
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A thought here is to have the ability to generate a rollup.json from a view function on the OPSM, not literally returning the json file but something that returns the required values that end up in the json file, it could be an update to the op-node command for generating config. This would create a cohesive story for OPSM tx -> operating L2

@tynes I like this idea, though I'm not sure we can return 100% of the required data, for example the genesis key

@mds1
Copy link
Contributor Author

mds1 commented Aug 8, 2024

Summary of design review call is we have general agreement on the design proposed. The following points and comments will be incorporated into the document:

  • All forge scripts should have 2 ways of interacting with them: One way that takes a config filepath (this is what chains will use), another that takes the config object directly with file IO (this is what go e2e will use).
  • Similarly, we should enable the same flexibility for outputs, both output file based and return data based
  • When talking about how frequently a step occurs, clarify that in dev/testing the steps occur every time vs. in production where some steps are rare
  • The paused variable must be part of the interface for dev/testing, but we should have it default to false so it can be hidden from users
  • It's TBD whether M0.5 elegantly handles nonstandard features like CGT and Alt-DA
  • Consider mocking the FP system as a way to reduce scope for M0.5. It still needs to be implemented in M1, but this may help ship something usable for interop sooner

@mds1
Copy link
Contributor Author

mds1 commented Aug 9, 2024

All feedback incorporated in 117da12, @tynes this is now ready for final review + merge

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

Successfully merging this pull request may close these issues.

4 participants