Conversation
|
Current dependencies on/for this PR: This stack of pull requests is managed by Graphite. |
|
Semgrep found 2 When working with web applications that involve rendering user-generated content, it's important to properly escape any HTML content to prevent Cross-Site Scripting (XSS) attacks. In Go, the |
70b096a to
480415f
Compare
7579e32 to
3ef9fdd
Compare
6758a75 to
b8385d6
Compare
a6af78e to
f1d5643
Compare
625da98 to
bfbf4a4
Compare
f1d5643 to
14161a1
Compare
|
I would like to have #8269 merged before any modifications to the L2 genesis generation code are merged |
bfbf4a4 to
d1fdd2b
Compare
14161a1 to
1b26dd9
Compare
|
Warning Rate Limit Exceeded@spacesailor24 has exceeded the limit for the number of files or commits that can be reviewed per hour. Please wait 9 minutes and 18 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the @coderabbitai review command. Alternatively, push new commits to this PR. We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. WalkthroughThe recent updates involve expanding the set of predeployed contracts within an Ethereum-based blockchain framework, likely Optimism. New contracts and constants are introduced, and the deployment and testing infrastructure has been updated to accommodate these changes. The codebase now includes additional checks for contract bytecode, error handling for backend creation, and expanded test cases to ensure proper address generation and contract deployment. Changes
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 X ? TipsChat with CodeRabbit Bot (
|
d1fdd2b to
4c7f238
Compare
1b26dd9 to
c17c1d5
Compare
4c7f238 to
7699722
Compare
c17c1d5 to
ee3fa77
Compare
8301b59 to
613e08f
Compare
613e08f to
e2f2b2c
Compare
|
Semgrep found 1
Iteration over a possibly empty map |
3276fa8 to
b6428aa
Compare
e2f2b2c to
5a37ac8
Compare
b6428aa to
d7f7658
Compare
58c960d to
685aa4d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #8285 +/- ##
===========================================
- Coverage 34.57% 25.69% -8.88%
===========================================
Files 167 119 -48
Lines 7170 4888 -2282
Branches 1213 1062 -151
===========================================
- Hits 2479 1256 -1223
+ Misses 4539 3526 -1013
+ Partials 152 106 -46
Flags with carried forward coverage won't be shown. Click here to find out more. |
357b33a to
61af084
Compare
61af084 to
21dc425
Compare

This PR adds the following predeploys at the following addresses to the genesis of new L2s (context on why these contracts were chosen):
The bulk of the changes to the L2 genesis generation can be found in
op-chain-ops/genesis/layer_two.goSpecial treatment is given to
Permit2because it has twoimmutableSolidity variables that make use ofblock.chainid. In order to obtain the correct deployed bytecode to be used for the predeploy, a simulated Geth backend was created with the chain id sourced fromconfig.L2ChainID, andPermit2was deployed to it usingcreate2deployerto mimic ETH deployment as closely as possible. The deployed bytecode was then obtained by callingbackend.CodeAtand is what's used specifically for the new L2 chain. This code is responsible for creating the simulated backend with chain id, and this code deploys the contract usingcreate2deployerFor all other added predeploys, the used deployed bytecode was sourced for Etherscan/RPC node using BindGen CLI (#8281) and is added to the genesis without modification
These tests were added to check if the code at each predeploy address of a created L2 matches what's expected from BindGen's output metadata files
Additionally,
Permit2andEntryPointwere manually tested to work on our devnet with this PR's modified genesis. The other predeploys were not manually tested other than checking if the deployed bytecode matches what's expected