mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Update default evm version to paris
This commit is contained in:
parent
939b916f4a
commit
d9d9ab30a2
@ -32,7 +32,7 @@ REPODIR="$(realpath "$(dirname "$0")"/..)"
|
||||
source "${REPODIR}/scripts/common.sh"
|
||||
|
||||
EVM_VALUES=(homestead byzantium constantinople petersburg istanbul berlin london paris)
|
||||
DEFAULT_EVM=london
|
||||
DEFAULT_EVM=paris
|
||||
[[ " ${EVM_VALUES[*]} " =~ $DEFAULT_EVM ]]
|
||||
OPTIMIZE_VALUES=(0 1)
|
||||
|
||||
|
@ -9,6 +9,7 @@ Compiler Features:
|
||||
* Commandline Interface: Add `--no-cbor-metadata` that skips CBOR metadata from getting appended at the end of the bytecode.
|
||||
* EVM: Deprecate ``block.difficulty`` and disallow ``difficulty()`` in inline assembly for EVM versions >= paris. The change is due to the renaming introduced by [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399).
|
||||
* EVM: Introduce ``block.prevrandao`` in Solidity and ``prevrandao()`` in inline assembly for EVM versions >= paris.
|
||||
* EVM: Set the default EVM version to "Paris".
|
||||
* EVM: Support for the EVM version "Paris".
|
||||
* Natspec: Add event Natspec inheritance for devdoc.
|
||||
* Standard JSON: Add a boolean field `settings.metadata.appendCBOR` that skips CBOR metadata from getting appended at the end of the bytecode.
|
||||
|
@ -170,10 +170,10 @@ at each version. Backward compatibility is not guaranteed between each version.
|
||||
- Gas costs for ``SLOAD``, ``*CALL``, ``BALANCE``, ``EXT*`` and ``SELFDESTRUCT`` increased. The
|
||||
compiler assumes cold gas costs for such operations. This is relevant for gas estimation and
|
||||
the optimizer.
|
||||
- ``london`` (**default**)
|
||||
- ``london``
|
||||
- The block's base fee (`EIP-3198 <https://eips.ethereum.org/EIPS/eip-3198>`_ and `EIP-1559 <https://eips.ethereum.org/EIPS/eip-1559>`_) can be accessed via the global ``block.basefee`` or ``basefee()`` in inline assembly.
|
||||
- ``paris``
|
||||
- No changes, however the semantics of the ``difficulty`` value have changed (see `EIP-4399 <https://eips.ethereum.org/EIPS/eip-4399>`_).
|
||||
- ``paris`` (**default**)
|
||||
- Introduces ``prevrandao()`` and ``block.prevrandao``, and changes the semantics of the ``block.difficulty``, disallowing ``difficulty()`` in inline assembly (see `EIP-4399 <https://eips.ethereum.org/EIPS/eip-4399>`_).
|
||||
|
||||
.. index:: ! standard JSON, ! --standard-json
|
||||
.. _compiler-api:
|
||||
|
@ -109,7 +109,7 @@ private:
|
||||
|
||||
EVMVersion(Version _version): m_version(_version) {}
|
||||
|
||||
Version m_version = Version::London;
|
||||
Version m_version = Version::Paris;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -115,9 +115,9 @@ do
|
||||
for vm in $EVM_VERSIONS
|
||||
do
|
||||
FORCE_ABIV1_RUNS="no"
|
||||
if [[ "$vm" == "london" ]]
|
||||
if [[ "$vm" == "paris" ]]
|
||||
then
|
||||
FORCE_ABIV1_RUNS="no yes" # run both in london
|
||||
FORCE_ABIV1_RUNS="no yes" # run both in paris
|
||||
fi
|
||||
for abiv1 in $FORCE_ABIV1_RUNS
|
||||
do
|
||||
|
@ -22,7 +22,7 @@ set -e
|
||||
|
||||
# Requires $REPO_ROOT to be defined and "${REPO_ROOT}/scripts/common.sh" to be included before.
|
||||
|
||||
CURRENT_EVM_VERSION=london
|
||||
CURRENT_EVM_VERSION=paris
|
||||
|
||||
AVAILABLE_PRESETS=(
|
||||
legacy-no-optimize
|
||||
|
@ -1086,7 +1086,7 @@ BOOST_AUTO_TEST_CASE(evm_version)
|
||||
BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"paris\"") != string::npos);
|
||||
// test default
|
||||
result = compile(inputForVersion(""));
|
||||
BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"london\"") != string::npos);
|
||||
BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"paris\"") != string::npos);
|
||||
// test invalid
|
||||
result = compile(inputForVersion("\"evmVersion\": \"invalid\","));
|
||||
BOOST_CHECK(result["errors"][0]["message"].asString() == "Invalid EVM version requested.");
|
||||
|
Loading…
Reference in New Issue
Block a user