aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-09-19 04:53:10 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2018-09-19 06:04:57 +0800
commit0db76a01dadf17c45dc9a6749ba7213cd9b324a5 (patch)
tree96b57b981b5fb0ccf094ef1261ae33ab4a4de0d2
parent37fa0c85ecfb459d5cdef5309ca2327e8a8d00c4 (diff)
downloaddexon-solidity-0db76a01dadf17c45dc9a6749ba7213cd9b324a5.tar.gz
dexon-solidity-0db76a01dadf17c45dc9a6749ba7213cd9b324a5.tar.zst
dexon-solidity-0db76a01dadf17c45dc9a6749ba7213cd9b324a5.zip
CREATE2 opcode has been moved from 0xfb to 0xf5
-rw-r--r--Changelog.md1
-rw-r--r--libevmasm/Instruction.h2
2 files changed, 2 insertions, 1 deletions
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)