Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
9b60cf26
Commit
9b60cf26
authored
Oct 08, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed POST & moved CALLCODE
parent
11ace543
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
185 deletions
+30
-185
types.go
ethvm/types.go
+30
-185
No files found.
ethvm/types.go
View file @
9b60cf26
...
...
@@ -64,16 +64,17 @@ const (
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
MLOAD
=
0x53
MSTORE
=
0x54
MSTORE8
=
0x55
SLOAD
=
0x56
SSTORE
=
0x57
JUMP
=
0x58
JUMPI
=
0x59
PC
=
0x5a
MSIZE
=
0x5b
GAS
=
0x5c
JUMPDEST
=
0x5d
// 0x60 range
PUSH1
=
0x60
...
...
@@ -144,11 +145,10 @@ const (
SWAP16
=
0x9f
// 0xf0 range - closures
CREATE
=
0xf0
CALL
=
0xf1
RETURN
=
0xf2
POST
=
0xf3
CALLSTATELESS
=
0xf4
CREATE
=
0xf0
CALL
=
0xf1
RETURN
=
0xf2
CALLCODE
=
0xf3
// 0x70 range - other
LOG
=
0xfe
// XXX Unofficial
...
...
@@ -213,16 +213,17 @@ var opCodeToString = map[OpCode]string{
POP
:
"POP"
,
//DUP: "DUP",
//SWAP: "SWAP",
MLOAD
:
"MLOAD"
,
MSTORE
:
"MSTORE"
,
MSTORE8
:
"MSTORE8"
,
SLOAD
:
"SLOAD"
,
SSTORE
:
"SSTORE"
,
JUMP
:
"JUMP"
,
JUMPI
:
"JUMPI"
,
PC
:
"PC"
,
MSIZE
:
"MSIZE"
,
GAS
:
"GAS"
,
MLOAD
:
"MLOAD"
,
MSTORE
:
"MSTORE"
,
MSTORE8
:
"MSTORE8"
,
SLOAD
:
"SLOAD"
,
SSTORE
:
"SSTORE"
,
JUMP
:
"JUMP"
,
JUMPI
:
"JUMPI"
,
PC
:
"PC"
,
MSIZE
:
"MSIZE"
,
GAS
:
"GAS"
,
JUMPDEST
:
"JUMPDEST"
,
// 0x60 range - push
PUSH1
:
"PUSH1"
,
...
...
@@ -293,11 +294,10 @@ var opCodeToString = map[OpCode]string{
SWAP16
:
"SWAP16"
,
// 0xf0 range
CREATE
:
"CREATE"
,
CALL
:
"CALL"
,
RETURN
:
"RETURN"
,
POST
:
"POST"
,
CALLSTATELESS
:
"CALLSTATELESS"
,
CREATE
:
"CREATE"
,
CALL
:
"CALL"
,
RETURN
:
"RETURN"
,
CALLCODE
:
"CALLCODE"
,
// 0x70 range - other
LOG
:
"LOG"
,
...
...
@@ -312,158 +312,3 @@ func (o OpCode) String() string {
return
str
}
// Op codes for assembling
var
OpCodes
=
map
[
string
]
byte
{
// 0x0 range - arithmetic ops
"STOP"
:
0x00
,
"ADD"
:
0x01
,
"MUL"
:
0x02
,
"SUB"
:
0x03
,
"DIV"
:
0x04
,
"SDIV"
:
0x05
,
"MOD"
:
0x06
,
"SMOD"
:
0x07
,
"EXP"
:
0x08
,
"NEG"
:
0x09
,
"LT"
:
0x0a
,
"GT"
:
0x0b
,
"EQ"
:
0x0c
,
"NOT"
:
0x0d
,
// 0x10 range - bit ops
"AND"
:
0x10
,
"OR"
:
0x11
,
"XOR"
:
0x12
,
"BYTE"
:
0x13
,
"ADDMOD"
:
0x14
,
"MULMOD"
:
0x15
,
// 0x20 range - crypto
"SHA3"
:
0x20
,
// 0x30 range - closure state
"ADDRESS"
:
0x30
,
"BALANCE"
:
0x31
,
"ORIGIN"
:
0x32
,
"CALLER"
:
0x33
,
"CALLVALUE"
:
0x34
,
"CALLDATALOAD"
:
0x35
,
"CALLDATASIZE"
:
0x36
,
"CALLDATACOPY"
:
0x37
,
"CODESIZE"
:
0x38
,
"CODECOPY"
:
0x39
,
"GASPRICE"
:
0x3a
,
"EXTCODECOPY"
:
0x3b
,
"EXTCODESIZE"
:
0x3c
,
// 0x40 range - block operations
"PREVHASH"
:
0x40
,
"COINBASE"
:
0x41
,
"TIMESTAMP"
:
0x42
,
"NUMBER"
:
0x43
,
"DIFFICULTY"
:
0x44
,
"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
,
// 0x70 range - 'push'
"PUSH1"
:
0x60
,
"PUSH2"
:
0x61
,
"PUSH3"
:
0x62
,
"PUSH4"
:
0x63
,
"PUSH5"
:
0x64
,
"PUSH6"
:
0x65
,
"PUSH7"
:
0x66
,
"PUSH8"
:
0x67
,
"PUSH9"
:
0x68
,
"PUSH10"
:
0x69
,
"PUSH11"
:
0x6a
,
"PUSH12"
:
0x6b
,
"PUSH13"
:
0x6c
,
"PUSH14"
:
0x6d
,
"PUSH15"
:
0x6e
,
"PUSH16"
:
0x6f
,
"PUSH17"
:
0x70
,
"PUSH18"
:
0x71
,
"PUSH19"
:
0x72
,
"PUSH20"
:
0x73
,
"PUSH21"
:
0x74
,
"PUSH22"
:
0x75
,
"PUSH23"
:
0x76
,
"PUSH24"
:
0x77
,
"PUSH25"
:
0x78
,
"PUSH26"
:
0x70
,
"PUSH27"
:
0x7a
,
"PUSH28"
:
0x7b
,
"PUSH29"
:
0x7c
,
"PUSH30"
:
0x7d
,
"PUSH31"
:
0x7e
,
"PUSH32"
:
0x7f
,
"DUP1"
:
0x80
,
"DUP2"
:
0x81
,
"DUP3"
:
0x82
,
"DUP4"
:
0x83
,
"DUP5"
:
0x84
,
"DUP6"
:
0x85
,
"DUP7"
:
0x86
,
"DUP8"
:
0x87
,
"DUP9"
:
0x88
,
"DUP10"
:
0x89
,
"DUP11"
:
0x8a
,
"DUP12"
:
0x8b
,
"DUP13"
:
0x8c
,
"DUP14"
:
0x8d
,
"DUP15"
:
0x8e
,
"DUP16"
:
0x8f
,
"SWAP1"
:
0x90
,
"SWAP2"
:
0x91
,
"SWAP3"
:
0x92
,
"SWAP4"
:
0x93
,
"SWAP5"
:
0x94
,
"SWAP6"
:
0x95
,
"SWAP7"
:
0x96
,
"SWAP8"
:
0x97
,
"SWAP9"
:
0x98
,
"SWAP10"
:
0x99
,
"SWAP11"
:
0x9a
,
"SWAP12"
:
0x9b
,
"SWAP13"
:
0x9c
,
"SWAP14"
:
0x9d
,
"SWAP15"
:
0x9e
,
"SWAP16"
:
0x9f
,
// 0xf0 range - closures
"CREATE"
:
0xf0
,
"CALL"
:
0xf1
,
"RETURN"
:
0xf2
,
"POST"
:
0xf3
,
"CALLSTATELESS"
:
0xf4
,
// 0x70 range - other
"LOG"
:
0xfe
,
"SUICIDE"
:
0x7f
,
}
func
IsOpCode
(
s
string
)
bool
{
for
key
,
_
:=
range
OpCodes
{
if
key
==
s
{
return
true
}
}
return
false
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment