chore: activate prague hardfork and Solidity version 0.8.30 as default#10565
Merged
zerosnacks merged 25 commits intomasterfrom Jun 3, 2025
Merged
chore: activate prague hardfork and Solidity version 0.8.30 as default#10565zerosnacks merged 25 commits intomasterfrom
prague hardfork and Solidity version 0.8.30 as default#10565zerosnacks merged 25 commits intomasterfrom
Conversation
zerosnacks
commented
May 20, 2025
prague hardfork by defaultprague hardfork by default and use 0.8.30 for tests
zerosnacks
commented
May 28, 2025
zerosnacks
commented
May 28, 2025
| function test_Increment_In_Counter_With_Salt() public { | ||
| CounterWithSalt counter = new CounterWithSalt{value: 111, salt: bytes32("preprocess_counter_with_salt")}(1); | ||
| assertEq(address(counter), 0x3Efe9ecFc73fB3baB7ECafBB40D3e134260Be6AB); | ||
| assertEq(address(counter), 0x223e63BE3BF01DD04f852d70f1bE217017055f49); |
Member
Author
There was a problem hiding this comment.
These can be explained by differences in bytecode (like evm version) - we should make this test more robust instead of changing the address but can be done as a follow-up imo. The places where the strict assertions against the addresses are done largely make sense.
zerosnacks
added a commit
to foundry-rs/compilers
that referenced
this pull request
May 28, 2025
zerosnacks
commented
May 28, 2025
prague hardfork by default and use 0.8.30 for testsprague hardfork and Solidity version 0.8.30 as default
zerosnacks
commented
Jun 2, 2025
grandizzy
approved these changes
Jun 2, 2025
| .normalize_version_solc(version) | ||
| .unwrap_or_default(), | ||
| ) | ||
| let evm = EvmVersion::default() |
Collaborator
There was a problem hiding this comment.
maybe can be simplified, or for future have a normalize_evm_version(version, language) in foundry compilers?
let mut evm = EvmVersion::default()
.normalize_version_solc(version)
.unwrap_or_default();
// Vyper does not yet support Prague, so we normalize it to Cancun.
if language.is_vyper() {
evm = normalize_evm_version_vyper(evm);
}
Some(evm)
Member
Author
There was a problem hiding this comment.
Good point, opened a follow-up ticket for me here: foundry-rs/compilers#278
We should either upstream this Vyper exception as is or create a unified helper as proposed
alexandergrey33
added a commit
to alexandergrey33/compilers
that referenced
this pull request
Sep 17, 2025
bug-knightxmiu70
added a commit
to bug-knightxmiu70/compilers
that referenced
this pull request
Sep 28, 2025
This file contains hidden or 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
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.
Motivation
Closes: #10564
Considering 0.8.30+ ships with
pragueenabled we should pro-actively move to using it by default.Solution
Adds Prague activation timestamp, fix
blob_feeandblob_paramsto be hardfork compatibleAnvil already has
pragueactivated per #10653Breaking changes
Users targeting older versions (< 0.8.30) will likely experience a breaking change similar to how we've had this when we introduced
cancunas a default if they don't have anevm_versionspecified infoundry.toml.Follow up
pragueby default book#1535cargo update#10680normalize_evm_version_vyperhelperPR Checklist