aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-09-19 16:01:34 +0800
committerGitHub <noreply@github.com>2018-09-19 16:01:34 +0800
commit24ecf20209e881077363fdfbabf6fc74eae003b0 (patch)
tree3f322a4ff2849c64d32bc5ed44adbbfa069231a3
parent7c15f6b1d4e6aae11f10c2d2737e2a852370ac79 (diff)
parent0db76a01dadf17c45dc9a6749ba7213cd9b324a5 (diff)
downloaddexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.tar
dexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.tar.gz
dexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.tar.bz2
dexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.tar.lz
dexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.tar.xz
dexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.tar.zst
dexon-solidity-24ecf20209e881077363fdfbabf6fc74eae003b0.zip
Merge pull request #5013 from ethereum/create2
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)