-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
refactor(protocol): restructure solidity code to match compilation targets #18059
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit 2547ba9.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
refactor(protocol): restructure solidity code to match compilation targets
🚨 Report Summary
For more details view the full report in OpenZeppelin Code Inspector |
davidtaikocha
previously approved these changes
Sep 11, 2024
YoGhurt111
approved these changes
Sep 11, 2024
davidtaikocha
approved these changes
Sep 11, 2024
dantaik
commented
Sep 11, 2024
davidtaikocha
approved these changes
Sep 12, 2024
This was referenced Dec 27, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Prior to this PR, both L1 and L2 code were compiled using the same Solidity compilation target (
cancun
), which worked for now but is incompatible with future Solidity versions.This PR reorganizes the Solidity codebase into three subdirectories:
shared
: Contains contracts used by both L1 and L2.layer1
: Contains L1-specific contracts.layer2
: Contains L2-specific contracts.For L1 compilation, the source directory is now
contracts/layer1
, withcontracts/shared
automatically included. The EVM target for L1 is specified ascancun
. Similarly, L2 usescontracts/layer2
as the source andout/layer2
as the destination with its EVM target set toshanghai
. The build directories for L1 and L2 are also separately defined.You can use commands to test contracts for layer1 and layer2 separately now:
pnpm compile:l1
,pnpm compile:l2
, orpnpm compile
to compile all files.pnpm test:l1
,pnpm test:l2
, , orpnpm test
to run all tests.Note that:
shared
directory remain compatible with both thelayer1
andlayer2
codebases.EssentialContract.sol
andBridge.sol
. Please focus on reviewing these specific changes.This is a large PR, but the majority of the changes involve the directory restructuring rather than the code itself.