-
Notifications
You must be signed in to change notification settings - Fork 3.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
Bump solc from 0.8.15 & 0.8.19 to 0.8.25 #12356
base: develop
Are you sure you want to change the base?
Conversation
Semgrep found 13
"challenge period too large" Malformed require statement style. Ignore this finding from sol-style-malformed-require. |
@@ -550,7 +550,7 @@ contract DeployImplementations is Script { | |||
vm.broadcast(msg.sender); | |||
IProxy proxy = IProxy( | |||
DeployUtils.create1({ | |||
_name: "Proxy", | |||
_name: "forge-artifacts/Proxy.sol/Proxy.json", |
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 implies that the proxy is still being compiled with the older version of solc?
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.
Wondering if there is a way around this somehow
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.
Nope, everything uses 0.8.25. But using Proxy.sol:Proxy
like before, the test fails saying it's not unique... Is there a better solution to this?
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.
I suspect that some other file is also defining something called Proxy
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.
Perhaps forge clean
fixes this?
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.
It's coming from lib/openzeppelin-contracts-v5/contracts/proxy/Proxy.sol
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.
Which itself is coming from lib/openzeppelin-contracts-v5/contracts/proxy/beacon/BeaconProxy.sol
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.
rip, good catch. This is an example as to why reducing external deps makes things a bit harder. I could be ok with it as is although I do not love it. I would prefer to have our own beacon proxy impl that doesn't use the crazy inheritance of oz
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.
Perhaps the following syntax will work:
bytes memory code = vm.getDeployedCode("universal/Proxy.sol:Proxy");
taken from #12321
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.
That's how it was used in some places which i had to change to forge-artifacts/Proxy.sol/Proxy.json
because it was not working
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #12356 +/- ##
===========================================
- Coverage 64.10% 63.91% -0.19%
===========================================
Files 52 52
Lines 4312 4312
===========================================
- Hits 2764 2756 -8
- Misses 1374 1383 +9
+ Partials 174 173 -1
Flags with carried forward coverage won't be shown. Click here to find out more. |
Looks like this needs a rebase |
e5411ca
to
8d275b7
Compare
Description
Bump the SOLC version of all OP stack contracts from 0.8.15 and 0.8.19 to 0.8.25.
Also involves updating the lib-keccak dependency to the latest that has a loose pragma version of ^0.8.0 and not a strict 0.8.15.
Metadata
0.8.15
code to0.8.25
#11527