Skip to content
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

Add support for Solidity 0.8.18 #4199

Closed
pcaversaccio opened this issue Jan 27, 2023 · 15 comments · Fixed by #4260
Closed

Add support for Solidity 0.8.18 #4199

pcaversaccio opened this issue Jan 27, 2023 · 15 comments · Fixed by #4260

Comments

@pcaversaccio
Copy link
Contributor

pcaversaccio commented Jan 27, 2023

The new Solidity release 0.8.18 should be released this or next week (see here). I already opened an issue to track the support status in Foundry in one place.

@mattsse
Copy link
Member

mattsse commented Jan 27, 2023

@roynalnaruto heads up

@roynalnaruto
Copy link
Contributor

roynalnaruto commented Feb 1, 2023

PR open here: alloy-rs/svm-rs#73

Edit:
We need https://github.com/nikitastupin/solc to be updated @nikitastupin would you be able to manually trigger the build and publish workflow?

@pcaversaccio
Copy link
Contributor Author

FYI for anyone that is interested in the release notes: https://github.com/ethereum/solidity/releases/tag/v0.8.18

@nikitastupin
Copy link

nikitastupin commented Feb 2, 2023

Hey everyone! I've uploaded v0.8.18 at nikitastupin/solc@01a11ef cc @roynalnaruto

@roynalnaruto
Copy link
Contributor

Related PR: gakonst/ethers-rs#2110

@pcaversaccio
Copy link
Contributor Author

Not sure whether this impacts this issue, but I discovered yesterday an issue with the Linux binary builds of solc 0.8.18: ethereum/solidity#13921. The binary has been rebuilt and now has another hash.

@nikitastupin
Copy link

I tried solc --version with linux aarch64 build and it didn't have this problem so I assume no need to recompile

@mattsse
Copy link
Member

mattsse commented Feb 3, 2023

@roynalnaruto this could be the root cause for the headers mismatch?

@roynalnaruto
Copy link
Contributor

@mattsse I don't think so. The SHA256 checksum for the Linux AARCH64 architecture was built by @nikitastupin and I got the checksum locally. Could you also try if that binary's SHA256 checksum is the same as what we have here:

https://github.com/roynalnaruto/svm-rs/blob/master/list/linux-aarch64.json ?

@roynalnaruto
Copy link
Contributor

The binaries will be fetched from @nikitastupin 's solc repository, so as long as that binary hasn't been updated, the checksum can't fail?

@mattsse
Copy link
Member

mattsse commented Feb 3, 2023

CI errors could be related to ethereum/solidity#13921

in any case we should improve the svm ChecksumMismatch error so it includes the expected and actual, otherwise this isn't very helpful

@pcaversaccio
Copy link
Contributor Author

as a quick input, I like how solc-select verifies the checksums: https://github.com/crytic/solc-select/blob/dev/solc_select/solc_select.py#L121. Like that we could easily detect the cache problem re the binaries (see my solc issue for more info on that).

@leekt
Copy link

leekt commented Feb 5, 2023

Seems there are still issues with parsing the 0.8.18 and this issue exists on solang-parser
cannot do forge fmt and forge doc for something like this

pragma solidity ^0.8.18;

contract C {
    mapping(address user => uint256) public balances;
}

@mattsse
Copy link
Member

mattsse commented Feb 5, 2023

yeh since this is a new language feature, I don't think this is supported yet by https://github.com/hyperledger/solang
please consider opening an issue there

@leekt
Copy link

leekt commented Feb 5, 2023

done hyperledger/solang#1159

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants