aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/types.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-06-12 17:19:32 +0800
committerobscuren <geffobscura@gmail.com>2014-06-12 17:19:32 +0800
commitb855e5f7df194c84651d7cc7ee32d307a2fa0a2e (patch)
treee4a87b6d81fb7c01963713cb1cc647d1327eca16 /ethchain/types.go
parent6593c6942454233f61d7d74f030a9075a84807cd (diff)
downloadgo-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.go45
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