-
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
op-e2e: Nuke allocs #13364
op-e2e: Nuke allocs #13364
Conversation
e20282f
to
f798a03
Compare
This PR integrates op-deployer with op-e2e for the purposes of generating L1/L2 allocs on-the-fly. As a result, there is no longer any need to run `make devnet-allocs` or otherwise continue maintaining the legacy Python devnet. The generated allocs are at parity with those generated by the Python devnet - i.e., they contain the Alphabet VM, the fast fault game, and the deploy config customizations in `devnetL1.json`. One notable change here is that the ability to generate new allocs files for L2OO chains will no longer be possible post-Holocene. To continue supporting the L2OO tests for the time being, the L2OO allocs files have been archived at the Holocene fork. Cleaning up the old devnet will be handled separately.
a80a9fd
to
18b1bf6
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.
Mainly reviewed the op-e2e init and setup code, which lgtm. A couple non-blocking comments and suggestions.
An alternative pattern to creating the allocs in init()
could be to use lazy-initialization for each alloc type, so that they are created on demand the first time they are used, e.g. using sync.Once
or sync.OnceValue
.
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.
This is a great step forward! Would be amazing if in the future we can decouple from the idea of allocs type and instead just run op-deployer
in an EVM backend that can be cloned and handed off to different tests. This would let us skip needing to generate all of the allocs and write them to disk which would reduce a ton of boilerplate with setting up a hardfork, since there is 1 alloc file written to disk per hardfork
* op-e2e: Nuke allocs This PR integrates op-deployer with op-e2e for the purposes of generating L1/L2 allocs on-the-fly. As a result, there is no longer any need to run `make devnet-allocs` or otherwise continue maintaining the legacy Python devnet. The generated allocs are at parity with those generated by the Python devnet - i.e., they contain the Alphabet VM, the fast fault game, and the deploy config customizations in `devnetL1.json`. One notable change here is that the ability to generate new allocs files for L2OO chains will no longer be possible post-Holocene. To continue supporting the L2OO tests for the time being, the L2OO allocs files have been archived at the Holocene fork. Cleaning up the old devnet will be handled separately. * fix broken tests * bring back l2oo test * swap more keys * more keys * swap prestates * remove dead code * fix prestate proof * Code review updates * toml fields
This PR integrates op-deployer with op-e2e for the purposes of generating L1/L2 allocs on-the-fly. As a result, there is no longer any need to run
make devnet-allocs
or otherwise continue maintaining the legacy Python devnet. The generated allocs are at parity with those generated by the Python devnet - i.e., they contain the Alphabet VM, the fast fault game, and the deploy config customizations indevnetL1.json
.One notable change here is that the ability to generate new allocs files for L2OO chains will no longer be possible post-Holocene. To continue supporting the L2OO tests for the time being, the L2OO allocs files have been archived at the Holocene fork.
Cleaning up the old devnet will be handled separately.