Skip to content

Commit c94e98d

Browse files
yanghang8612CodeNinjaEvan
authored andcommitted
Disable experimental EOF support
1 parent e36ee18 commit c94e98d

18 files changed

Lines changed: 21 additions & 175 deletions

File tree

‎.circleci/soltest_all.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ IFS=" " read -ra EVM_VALUES <<< "${1:-${DEFAULT_EVM_VALUES[@]}}"
4040

4141
DEFAULT_EVM=cancun
4242
OPTIMIZE_VALUES=(0 1)
43-
EOF_VERSIONS=(0 1)
43+
EOF_VERSIONS=(0)
4444

4545
# Run for ABI encoder v1, without SMTChecker tests.
4646
EVM="${DEFAULT_EVM}" \

‎libsolidity/interface/CompilerStack.cpp‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ void CompilerStack::setEVMVersion(langutil::EVMVersion _version)
241241
void CompilerStack::setEOFVersion(std::optional<uint8_t> _version)
242242
{
243243
solAssert(m_stackState < CompilationSuccessful, "Must set EOF version before compiling.");
244+
solUnimplementedAssert(!_version.has_value(), "EOF is currently disabled for TRON solidity compiler.");
244245
solAssert(!_version || _version == 1, "Invalid EOF version.");
245246
m_eofVersion = _version;
246247
}

‎libsolidity/interface/StandardCompiler.cpp‎

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -838,14 +838,7 @@ std::variant<StandardCompiler::InputsAndSettings, Json> StandardCompiler::parseI
838838
}
839839

840840
if (settings.contains("eofVersion"))
841-
{
842-
if (!settings["eofVersion"].is_number_unsigned())
843-
return formatFatalError(Error::Type::JSONError, "eofVersion must be an unsigned integer.");
844-
auto eofVersion = settings["eofVersion"].get<uint8_t>();
845-
if (eofVersion != 1)
846-
return formatFatalError(Error::Type::JSONError, "Invalid EOF version requested.");
847-
ret.eofVersion = 1;
848-
}
841+
return formatFatalError(Error::Type::JSONError, "\"settings.eofVersion\" is currently disabled for TRON solidity compiler.");
849842

850843
if (ret.eofVersion.has_value() && !ret.evmVersion.supportsEOF())
851844
return formatFatalError(Error::Type::JSONError, "EOF is not supported by EVM versions earlier than " + EVMVersion::firstWithEOF().name() + ".");

‎solc/CommandLineParser.cpp‎

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1244,13 +1244,10 @@ void CommandLineParser::processArgs()
12441244
}
12451245

12461246
if (m_args.count(g_strEOFVersion))
1247-
{
1248-
// Request as uint64_t, since uint8_t will be parsed as character by boost.
1249-
uint64_t versionOption = m_args[g_strEOFVersion].as<uint64_t>();
1250-
if (versionOption != 1)
1251-
solThrow(CommandLineValidationError, "Invalid option for --" + g_strEOFVersion + ": " + std::to_string(versionOption));
1252-
m_options.output.eofVersion = 1;
1253-
}
1247+
solThrow(
1248+
CommandLineValidationError,
1249+
"The --" + g_strEOFVersion + " option is currently disabled for TRON solidity compiler."
1250+
);
12541251

12551252
if (m_options.output.eofVersion.has_value() && !m_options.output.evmVersion.supportsEOF())
12561253
solThrow(CommandLineValidationError, "EOF is not supported by EVM versions earlier than " + EVMVersion::firstWithEOF().name() + ".");

‎test/Common.cpp‎

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,7 @@ bool CommonOptions::parse(int argc, char const* const* argv)
182182
po::store(parsedOptions, arguments);
183183
po::notify(arguments);
184184
if (arguments.count("eof-version"))
185-
{
186-
// Request as uint64_t, since uint8_t will be parsed as character by boost.
187-
uint64_t eofVersion = arguments["eof-version"].as<uint64_t>();
188-
if (eofVersion != 1)
189-
BOOST_THROW_EXCEPTION(std::runtime_error("Invalid EOF version: " + std::to_string(eofVersion)));
190-
m_eofVersion = 1;
191-
}
185+
BOOST_THROW_EXCEPTION(std::runtime_error("The --eof-version option is currently disabled for TRON solidity compiler."));
192186

193187
for (auto const& parsedOption: parsedOptions.options)
194188
if (parsedOption.position_key >= 0)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Error: EOF is not supported by EVM versions earlier than osaka.
1+
Error: The --experimental-eof-version option is currently disabled for TRON solidity compiler.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Error: ethdebug does not yet support EOF.
1+
Error: The --experimental-eof-version option is currently disabled for TRON solidity compiler.

‎test/cmdlineTests/ethdebug_eof_container_osaka/output‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎test/cmdlineTests/standard_eof_unavailable_before_osaka/output.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"errors": [
33
{
44
"component": "general",
5-
"formattedMessage": "EOF is not supported by EVM versions earlier than osaka.",
6-
"message": "EOF is not supported by EVM versions earlier than osaka.",
5+
"formattedMessage": "\"settings.eofVersion\" is currently disabled for TRON solidity compiler.",
6+
"message": "\"settings.eofVersion\" is currently disabled for TRON solidity compiler.",
77
"severity": "error",
88
"type": "JSONError"
99
}

‎test/cmdlineTests/standard_import_asm_json_eof_unavailable_before_osaka/output.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"errors": [
33
{
44
"component": "general",
5-
"formattedMessage": "EOF is not supported by EVM versions earlier than osaka.",
6-
"message": "EOF is not supported by EVM versions earlier than osaka.",
5+
"formattedMessage": "\"settings.eofVersion\" is currently disabled for TRON solidity compiler.",
6+
"message": "\"settings.eofVersion\" is currently disabled for TRON solidity compiler.",
77
"severity": "error",
88
"type": "JSONError"
99
}

0 commit comments

Comments
 (0)