I have multiple versions of solc
installed
❯ asdf list solidity
0.4.24
*0.8.23
latest solc
includes the default evm version in the help
output:
❯ solc --version && solc --help|grep evm
solc, the solidity compiler commandline interface
Version: 0.8.23+commit.f704f362.Linux.g++
--evm-version version (=shanghai)
--machine evm Target machine in assembly or Yul mode.
--yul-dialect evm Input dialect to use in assembly or yul mode.
but older versions of solc don't have this information
❯ asdf shell solidity 0.4.24
❯ solc --version && solc --help|grep evm
solc, the solidity compiler commandline interface
Version: 0.4.24+commit.e67f0147.Linux.g++
--evm-version version
--machine evm,evm15,ewasm
The problem is when I use foundry's chisel
, I have to tell it the correct evm version otherwise it would fail
❯ chisel --use 0.4.24
Error:
solc 0.4.24 is not supported by the set evm version: paris. Please install and use a version of solc higher or equal to 0.8.18.
You can also set the solc version in your foundry.toml.
however this works (note that petersburg
is just a random guess)
❯ chisel --use 0.4.24 --evm-version petersburg
Installing solidity version 0.4.24...
Welcome to Chisel! Type `!help` to show available commands.
➜