aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/Instruction.h
diff options
context:
space:
mode:
authorDimitry <winsvega@mail.ru>2017-06-08 22:44:03 +0800
committerchriseth <chris@ethereum.org>2017-06-15 00:18:12 +0800
commitc20cdd0a0574c350b5cde7b38e87321479cecab3 (patch)
tree5e7bc76cba1ec47124eb3bba453a2c994c0d766a /libevmasm/Instruction.h
parentd693822a6fce5d1c853e50f4c7758bc003542644 (diff)
downloaddexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.tar
dexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.tar.gz
dexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.tar.bz2
dexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.tar.lz
dexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.tar.xz
dexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.tar.zst
dexon-solidity-c20cdd0a0574c350b5cde7b38e87321479cecab3.zip
add new opcode instructions to the parser
STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4)
Diffstat (limited to 'libevmasm/Instruction.h')
-rw-r--r--libevmasm/Instruction.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/libevmasm/Instruction.h b/libevmasm/Instruction.h
index 37cdccdb..89a25fb7 100644
--- a/libevmasm/Instruction.h
+++ b/libevmasm/Instruction.h
@@ -77,8 +77,8 @@ enum class Instruction: uint8_t
GASPRICE, ///< get price of gas in current environment
EXTCODESIZE, ///< get external code size (from another contract)
EXTCODECOPY, ///< copy external code (from another contract)
- RETURNDATASIZE, ///< get size of the last return data
- RETURNDATACOPY, ///< copy last return data to memory
+ RETURNDATASIZE = 0x3d, ///< get size of return data buffer
+ RETURNDATACOPY = 0x3e, ///< copy return data in current environment to memory
BLOCKHASH = 0x40, ///< get hash of most recent complete block
COINBASE, ///< get the block's coinbase address
@@ -187,7 +187,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 = 0xfb, ///< create new account with associated code
+ 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)