Open
Description
Description
Our CBOR metadata includes an experimental
flag. Currently we set it when compiling Generic Solidity code (pragma experimental solidity
) and when using the EOF backend:
solidity/libsolidity/interface/CompilerStack.cpp
Lines 1932 to 1933 in 03ad799
However, those are not the only cases where the output of the compiler is experimental though. Most notably, compilation to yet unreleased EVM versions like Prague, Osaka or Amsterdam is always considered experimental. The flag should be set in such cases as well.
Note that just like for EOF, the functionality should be covered with a test (#15663).
Environment
- Compiler version: 0.8.28
Steps to Reproduce
echo 'contract C {}' | solc/solc - --evm-version prague --bin
Then inspect the CBOR data included at the end of the binary.