From 0db76a01dadf17c45dc9a6749ba7213cd9b324a5 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Tue, 18 Sep 2018 21:53:10 +0100 Subject: CREATE2 opcode has been moved from 0xfb to 0xf5 --- Changelog.md | 1 + libevmasm/Instruction.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index 8b72c6f1..7443a0c6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -87,6 +87,7 @@ Language Features: Compiler Features: * C API (``libsolc``): Export the ``solidity_license``, ``solidity_version`` and ``solidity_compile`` methods. + * Code Generator: ``CREATE2`` instruction has been updated to match EIP1014 (aka "Skinny CREATE2"). * Type Checker: Nicer error message when trying to reference overloaded identifiers in inline assembly. * Type Checker: Show named argument in case of error. * Type System: IntegerType is split into IntegerType and AddressType internally. diff --git a/libevmasm/Instruction.h b/libevmasm/Instruction.h index dc116f88..e2e2b63e 100644 --- a/libevmasm/Instruction.h +++ b/libevmasm/Instruction.h @@ -192,8 +192,8 @@ enum class Instruction: uint8_t CALLCODE, ///< message-call with another account's code only RETURN, ///< halt execution returning output data DELEGATECALL, ///< like CALLCODE but keeps caller's value and sender + CREATE2 = 0xf5, ///< create new account with associated code at address `sha3(0xff + sender + salt + init code) % 2**160` STATICCALL = 0xfa, ///< like CALL but disallow state modifications - CREATE2 = 0xfb, ///< create new account with associated code at address `sha3(sender + salt + sha3(init code)) % 2**160` REVERT = 0xfd, ///< halt execution, revert state and return output data INVALID = 0xfe, ///< invalid instruction for expressing runtime errors (e.g., division-by-zero) -- cgit v1.2.3