diff --git a/libevmasm/Assembly.cpp b/libevmasm/Assembly.cpp index a402be300d84..652ccb28cc3b 100644 --- a/libevmasm/Assembly.cpp +++ b/libevmasm/Assembly.cpp @@ -1410,7 +1410,11 @@ LinkerObject const& Assembly::assembleEOF() const switch (item.type()) { case Operation: - solAssert(item.instruction() != Instruction::DATALOADN); + solAssert( + item.instruction() != Instruction::DATALOADN && + item.instruction() != Instruction::RETURNCONTRACT && + item.instruction() != Instruction::EOFCREATE + ); solAssert(!(item.instruction() >= Instruction::PUSH0 && item.instruction() <= Instruction::PUSH32)); ret.bytecode += assembleOperation(item); break; diff --git a/libevmasm/AssemblyItem.h b/libevmasm/AssemblyItem.h index b613d07a5a9d..5513ad67e127 100644 --- a/libevmasm/AssemblyItem.h +++ b/libevmasm/AssemblyItem.h @@ -55,7 +55,7 @@ enum AssemblyItemType /// Loads 32 bytes from static auxiliary data of EOF data section. The offset does *not* have to be always from the beginning /// of the data EOF section. More details here: https://github.com/ipsilon/eof/blob/main/spec/eof.md#data-section-lifecycle AuxDataLoadN, - EofCreate, /// Creates new contract using subcointainer as initcode + EofCreate, /// Creates new contract using subcontainer as initcode ReturnContract, /// Returns new container along (with auxiliary data section) to be deployed VerbatimBytecode ///< Contains data that is inserted into the bytecode code section without modification. };