-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
L2 genesis - refactor to use solidity script #10106
Conversation
WalkthroughWalkthroughThe updates encompass significant improvements across blockchain contract deployment, configuration, and testing processes. These enhancements include refined L2 genesis allocations, streamlined proxy setups, enhanced predeploy management, and advancements in the testing framework. The changes aim to enhance operational transparency, deployment efficiency, and overall system robustness. Changes
These changes collectively aim to refine the system's efficiency and clarity in operations, particularly focusing on L2 functionalities and testing rigor. Recent Review DetailsConfiguration used: .coderabbit.yml Files ignored due to path filters (2)
Files selected for processing (29)
Files not reviewed due to errors (1)
Files skipped from review as they are similar to previous changes (24)
Additional Context UsedRuff (6)
Learnings (1)
Additional comments not posted (8)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Semgrep found 2 Named return arguments to functions must be appended with an underscore ( |
rebased on develop, fixed an ugly few solidity test integration issues, devnet should work (will watch for CI) and going to work on op-e2e now |
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.
Actionable comments posted: 3
Commits: - Tmp change for Graphite - Add Missing Predeploys to L2 Genesis Script - contracts-bedrock: refactor L2 genesis generation - wip - temp - l2 genesis generation wip - updates Co-authored-by: Mark Tyneway <[email protected]> Co-authored-by: Wyatt Barnes <[email protected]>
Squashed commits: todo add ProxyAdmin predeploy, clean up test assertions order predeploy setters split Predeploys and Preinstalls L2 genesis script: bytes32(0) style suggestion move predeploy utils to predeploy library preinstalls bytecode fix typos permit2 bytecode immutable patching activate ecotone cleanup tests, fixes, ecotone work in progress GenesisL2 addition to Setup() fixes devnet allocs fix go lint more fixes fix predeploys proxy impl checking test fix solady continue Go integration l2 genesis Go integration stuff fix lint fix go lint lint fixes fixes for some PR review comments Predeploys test clean up go test superseded by solidity testing fix lint cleanup and review fixes minor fixes test fixes op-e2e l2 allocs filepath fix more devnet test funds improve logging fix devnet allocs-l2 path naming and output file moving to .devnet devnet allocs CI fixes circle ci workspace allocs-l2 fixes op-e2e: fix alloc npe fix enforce genesis allocs copy op-e2e fix go test fixes, 4788 nonce edge case, dev accounts fix, misc fixes fix test, fix flake fix tests Proxy artifact workaround update gas snapshot undo workaround, apply config change to fix undo failed workarounds
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.
Actionable comments posted: 1
Out of diff range and nitpick comments (3)
bedrock-devnet/devnet/__init__.py (3)
Line range hint
7-7
: Thecalendar
module is imported but not used in the file. Consider removing it to clean up the imports.- import calendar
Line range hint
12-12
: Thegzip
module is imported but not used in the file. Consider removing it to clean up the imports.- import gzip
Line range hint
18-18
: Thedevnet.log_setup
module is imported but not used in the file. Consider removing it to clean up the imports.- import devnet.log_setup
Now that #10106 has been merged, this script is dead code and can be deleted. It was previously the cause of many race conditions and flakes in CI. Now all genesis generation is done directly in solidity, simplifying the process as a whole.
This commit includes the deletion of a bunch of dead code after #10106 has been merged. There is no need to maintain a bunch of custom go code to generate the L2 genesis anymore, all of that is handled directly in solidity.
Now that #10106 has been merged, this script is dead code and can be deleted. It was previously the cause of many race conditions and flakes in CI. Now all genesis generation is done directly in solidity, simplifying the process as a whole.
* op-chain-ops: delete dead code This commit includes the deletion of a bunch of dead code after #10106 has been merged. There is no need to maintain a bunch of custom go code to generate the L2 genesis anymore, all of that is handled directly in solidity. * op-chain-ops: delete more dead code * op-chain-ops: more cleanup * cleanup: remove old references * op-chain-ops: cleanup abstractions Co-authored-by: refcell <[email protected]> --------- Co-authored-by: refcell <[email protected]>
Description
Rebased version of #9792
Taking ownership over this PR to add ProxyAdmin, Preinstalls, and integrate into op-e2e / devnet testing.
TODO:
ProxyAdmin
into L2 predeploysPermit2
Create2Deployer
DeterministicDeploymentProxy
EntryPoint (4337)
Safe_v130
SenderCreator
SafeSingletonFactory
MultiSend_v130
MultiCall3
SafeL2_v130
MultiSendCallOnly_v130
Setup
solidity contract to use this, rather than Go FFIRe-use superchain-registry code path to build fullMinimized op-chain-ops a lot already, reusing registry requires more diff, probably better for a different PR.genesis.json
and `rollup.json``Metadata
Fix https://github.com/ethereum-optimism/protocol-quest/issues/151