From 5ed7600130a2a64a21c6e69df5376883828ff7f3 Mon Sep 17 00:00:00 2001 From: "Rodrigo Q. Saramago" Date: Tue, 6 Dec 2022 20:26:43 +0100 Subject: [PATCH] Add notes about temporary changes --- libevmasm/Assembly.cpp | 1 + test/libsolidity/SolidityExecutionFramework.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libevmasm/Assembly.cpp b/libevmasm/Assembly.cpp index 7c2752af4..a9fda6c10 100644 --- a/libevmasm/Assembly.cpp +++ b/libevmasm/Assembly.cpp @@ -777,6 +777,7 @@ LinkerObject const& Assembly::assemble() const auto dataLength = ret.bytecode.size() - dataStart; if (m_eofVersion.has_value()) { + // Note: Temporary solution to current evmone requirement of non-empty data section. if (dataLength == 0) { ret.bytecode.push_back(0); diff --git a/test/libsolidity/SolidityExecutionFramework.h b/test/libsolidity/SolidityExecutionFramework.h index bae52c917..8a83da230 100644 --- a/test/libsolidity/SolidityExecutionFramework.h +++ b/test/libsolidity/SolidityExecutionFramework.h @@ -63,7 +63,9 @@ public: { bytes bytecode = multiSourceCompileContract(_sourceCode, _sourceName, _contractName, _libraryAddresses); - if (bytecode.size() > 0) + // Note: Temporary solution that adds arguments size in the EOF data_section_size header to validate evmone implementation. + // TODO: Validate header and version. + if (bytecode.size() > 3) { if (bytecode[0] == uint8_t(0xef) && bytecode[1] == uint8_t(00)) // is EOF {