diff options
author | obscuren <geffobscura@gmail.com> | 2014-06-12 17:19:32 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-06-12 17:19:32 +0800 |
commit | b855e5f7df194c84651d7cc7ee32d307a2fa0a2e (patch) | |
tree | e4a87b6d81fb7c01963713cb1cc647d1327eca16 /ethchain/types.go | |
parent | 6593c6942454233f61d7d74f030a9075a84807cd (diff) | |
download | go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.tar go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.tar.gz go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.tar.bz2 go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.tar.lz go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.tar.xz go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.tar.zst go-tangerine-b855e5f7df194c84651d7cc7ee32d307a2fa0a2e.zip |
Changed opcode numbers and added missing opcodes
Diffstat (limited to 'ethchain/types.go')
-rw-r--r-- | ethchain/types.go | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/ethchain/types.go b/ethchain/types.go index 293871143..fdfd5792b 100644 --- a/ethchain/types.go +++ b/ethchain/types.go @@ -1,5 +1,9 @@ package ethchain +import ( + "fmt" +) + type OpCode int // Op codes @@ -37,7 +41,10 @@ const ( CALLVALUE = 0x34 CALLDATALOAD = 0x35 CALLDATASIZE = 0x36 - GASPRICE = 0x37 + CALLDATACOPY = 0x37 + CODESIZE = 0x38 + CODECOPY = 0x39 + GASPRICE = 0x3a // 0x40 range - block operations PREVHASH = 0x40 @@ -48,18 +55,19 @@ const ( GASLIMIT = 0x45 // 0x50 range - 'storage' and execution - POP = 0x51 - DUP = 0x52 - SWAP = 0x53 - MLOAD = 0x54 - MSTORE = 0x55 - MSTORE8 = 0x56 - SLOAD = 0x57 - SSTORE = 0x58 - JUMP = 0x59 - JUMPI = 0x5a - PC = 0x5b - MSIZE = 0x5c + POP = 0x50 + DUP = 0x51 + SWAP = 0x52 + MLOAD = 0x53 + MSTORE = 0x54 + MSTORE8 = 0x55 + SLOAD = 0x56 + SSTORE = 0x57 + JUMP = 0x58 + JUMPI = 0x59 + PC = 0x5a + MSIZE = 0x5b + GAS = 0x5c // 0x60 range PUSH1 = 0x60 @@ -140,6 +148,9 @@ var opCodeToString = map[OpCode]string{ CALLVALUE: "CALLVALUE", CALLDATALOAD: "CALLDATALOAD", CALLDATASIZE: "CALLDATASIZE", + CALLDATACOPY: "CALLDATACOPY", + CODESIZE: "CODESIZE", + CODECOPY: "CODECOPY", GASPRICE: "TXGASPRICE", // 0x40 range - block operations @@ -162,6 +173,7 @@ var opCodeToString = map[OpCode]string{ JUMPI: "JUMPI", PC: "PC", MSIZE: "MSIZE", + GAS: "GAS", // 0x60 range - push PUSH1: "PUSH1", @@ -208,7 +220,12 @@ var opCodeToString = map[OpCode]string{ } func (o OpCode) String() string { - return opCodeToString[o] + str := opCodeToString[o] + if len(str) == 0 { + return fmt.Sprintf("Missing opcode 0x%x", int(o)) + } + + return str } // Op codes for assembling |