From a59d6d2e5303e714a6e66a5d11bd6a9c2e904e4e Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Mon, 12 Mar 2018 18:11:08 +0100 Subject: [PATCH] Support constantinople in evm-version --- Changelog.md | 5 ++--- libsolidity/interface/EVMVersion.h | 2 +- test/libsolidity/StandardCompiler.cpp | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Changelog.md b/Changelog.md index 6a25569fa..648af66c6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,11 +2,10 @@ Features: - Bugfixes: * Code Generator: Properly skip unneeded storgae array cleanup when not reducing length. - - + * Commandline interface: Support ``--evm-version constantinople`` properly. + * Standard JSON: Support ``constantinople`` as ``evmVersion`` properly. ### 0.4.21 (2018-03-07) diff --git a/libsolidity/interface/EVMVersion.h b/libsolidity/interface/EVMVersion.h index 13c4ec94d..b68e1f4eb 100644 --- a/libsolidity/interface/EVMVersion.h +++ b/libsolidity/interface/EVMVersion.h @@ -49,7 +49,7 @@ public: static boost::optional fromString(std::string const& _version) { - for (auto const& v: {homestead(), tangerineWhistle(), spuriousDragon(), byzantium()}) + for (auto const& v: {homestead(), tangerineWhistle(), spuriousDragon(), byzantium(), constantinople()}) if (_version == v.name()) return v; return {}; diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp index 4c8918be8..dd6eb7c40 100644 --- a/test/libsolidity/StandardCompiler.cpp +++ b/test/libsolidity/StandardCompiler.cpp @@ -752,6 +752,8 @@ BOOST_AUTO_TEST_CASE(evm_version) BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"spuriousDragon\"") != string::npos); result = compile(inputForVersion("\"evmVersion\": \"byzantium\",")); BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"byzantium\"") != string::npos); + result = compile(inputForVersion("\"evmVersion\": \"constantinople\",")); + BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"constantinople\"") != string::npos); // test default result = compile(inputForVersion("")); BOOST_CHECK(result["contracts"]["fileA"]["A"]["metadata"].asString().find("\"evmVersion\":\"byzantium\"") != string::npos);