Rizin
unix-like reverse engineering framework and cli tools
evm.h File Reference
#include "platform.h"

Go to the source code of this file.

Classes

struct  cs_evm
 Instruction structure. More...
 

Typedefs

typedef struct cs_evm cs_evm
 Instruction structure. More...
 
typedef enum evm_insn evm_insn
 EVM instruction. More...
 
typedef enum evm_insn_group evm_insn_group
 Group of EVM instructions. More...
 

Enumerations

enum  evm_insn {
  EVM_INS_STOP = 0 , EVM_INS_ADD = 1 , EVM_INS_MUL = 2 , EVM_INS_SUB = 3 ,
  EVM_INS_DIV = 4 , EVM_INS_SDIV = 5 , EVM_INS_MOD = 6 , EVM_INS_SMOD = 7 ,
  EVM_INS_ADDMOD = 8 , EVM_INS_MULMOD = 9 , EVM_INS_EXP = 10 , EVM_INS_SIGNEXTEND = 11 ,
  EVM_INS_LT = 16 , EVM_INS_GT = 17 , EVM_INS_SLT = 18 , EVM_INS_SGT = 19 ,
  EVM_INS_EQ = 20 , EVM_INS_ISZERO = 21 , EVM_INS_AND = 22 , EVM_INS_OR = 23 ,
  EVM_INS_XOR = 24 , EVM_INS_NOT = 25 , EVM_INS_BYTE = 26 , EVM_INS_SHA3 = 32 ,
  EVM_INS_ADDRESS = 48 , EVM_INS_BALANCE = 49 , EVM_INS_ORIGIN = 50 , EVM_INS_CALLER = 51 ,
  EVM_INS_CALLVALUE = 52 , EVM_INS_CALLDATALOAD = 53 , EVM_INS_CALLDATASIZE = 54 , EVM_INS_CALLDATACOPY = 55 ,
  EVM_INS_CODESIZE = 56 , EVM_INS_CODECOPY = 57 , EVM_INS_GASPRICE = 58 , EVM_INS_EXTCODESIZE = 59 ,
  EVM_INS_EXTCODECOPY = 60 , EVM_INS_RETURNDATASIZE = 61 , EVM_INS_RETURNDATACOPY = 62 , EVM_INS_BLOCKHASH = 64 ,
  EVM_INS_COINBASE = 65 , EVM_INS_TIMESTAMP = 66 , EVM_INS_NUMBER = 67 , EVM_INS_DIFFICULTY = 68 ,
  EVM_INS_GASLIMIT = 69 , EVM_INS_POP = 80 , EVM_INS_MLOAD = 81 , EVM_INS_MSTORE = 82 ,
  EVM_INS_MSTORE8 = 83 , EVM_INS_SLOAD = 84 , EVM_INS_SSTORE = 85 , EVM_INS_JUMP = 86 ,
  EVM_INS_JUMPI = 87 , EVM_INS_PC = 88 , EVM_INS_MSIZE = 89 , EVM_INS_GAS = 90 ,
  EVM_INS_JUMPDEST = 91 , EVM_INS_PUSH1 = 96 , EVM_INS_PUSH2 = 97 , EVM_INS_PUSH3 = 98 ,
  EVM_INS_PUSH4 = 99 , EVM_INS_PUSH5 = 100 , EVM_INS_PUSH6 = 101 , EVM_INS_PUSH7 = 102 ,
  EVM_INS_PUSH8 = 103 , EVM_INS_PUSH9 = 104 , EVM_INS_PUSH10 = 105 , EVM_INS_PUSH11 = 106 ,
  EVM_INS_PUSH12 = 107 , EVM_INS_PUSH13 = 108 , EVM_INS_PUSH14 = 109 , EVM_INS_PUSH15 = 110 ,
  EVM_INS_PUSH16 = 111 , EVM_INS_PUSH17 = 112 , EVM_INS_PUSH18 = 113 , EVM_INS_PUSH19 = 114 ,
  EVM_INS_PUSH20 = 115 , EVM_INS_PUSH21 = 116 , EVM_INS_PUSH22 = 117 , EVM_INS_PUSH23 = 118 ,
  EVM_INS_PUSH24 = 119 , EVM_INS_PUSH25 = 120 , EVM_INS_PUSH26 = 121 , EVM_INS_PUSH27 = 122 ,
  EVM_INS_PUSH28 = 123 , EVM_INS_PUSH29 = 124 , EVM_INS_PUSH30 = 125 , EVM_INS_PUSH31 = 126 ,
  EVM_INS_PUSH32 = 127 , EVM_INS_DUP1 = 128 , EVM_INS_DUP2 = 129 , EVM_INS_DUP3 = 130 ,
  EVM_INS_DUP4 = 131 , EVM_INS_DUP5 = 132 , EVM_INS_DUP6 = 133 , EVM_INS_DUP7 = 134 ,
  EVM_INS_DUP8 = 135 , EVM_INS_DUP9 = 136 , EVM_INS_DUP10 = 137 , EVM_INS_DUP11 = 138 ,
  EVM_INS_DUP12 = 139 , EVM_INS_DUP13 = 140 , EVM_INS_DUP14 = 141 , EVM_INS_DUP15 = 142 ,
  EVM_INS_DUP16 = 143 , EVM_INS_SWAP1 = 144 , EVM_INS_SWAP2 = 145 , EVM_INS_SWAP3 = 146 ,
  EVM_INS_SWAP4 = 147 , EVM_INS_SWAP5 = 148 , EVM_INS_SWAP6 = 149 , EVM_INS_SWAP7 = 150 ,
  EVM_INS_SWAP8 = 151 , EVM_INS_SWAP9 = 152 , EVM_INS_SWAP10 = 153 , EVM_INS_SWAP11 = 154 ,
  EVM_INS_SWAP12 = 155 , EVM_INS_SWAP13 = 156 , EVM_INS_SWAP14 = 157 , EVM_INS_SWAP15 = 158 ,
  EVM_INS_SWAP16 = 159 , EVM_INS_LOG0 = 160 , EVM_INS_LOG1 = 161 , EVM_INS_LOG2 = 162 ,
  EVM_INS_LOG3 = 163 , EVM_INS_LOG4 = 164 , EVM_INS_CREATE = 240 , EVM_INS_CALL = 241 ,
  EVM_INS_CALLCODE = 242 , EVM_INS_RETURN = 243 , EVM_INS_DELEGATECALL = 244 , EVM_INS_CALLBLACKBOX = 245 ,
  EVM_INS_STATICCALL = 250 , EVM_INS_REVERT = 253 , EVM_INS_SUICIDE = 255 , EVM_INS_INVALID = 512 ,
  EVM_INS_ENDING
}
 EVM instruction. More...
 
enum  evm_insn_group {
  EVM_GRP_INVALID = 0 , EVM_GRP_JUMP , EVM_GRP_MATH = 8 , EVM_GRP_STACK_WRITE ,
  EVM_GRP_STACK_READ , EVM_GRP_MEM_WRITE , EVM_GRP_MEM_READ , EVM_GRP_STORE_WRITE ,
  EVM_GRP_STORE_READ , EVM_GRP_HALT , EVM_GRP_ENDING
}
 Group of EVM instructions. More...
 

Typedef Documentation

◆ cs_evm

typedef struct cs_evm cs_evm

Instruction structure.

◆ evm_insn

typedef enum evm_insn evm_insn

EVM instruction.

◆ evm_insn_group

Group of EVM instructions.

Enumeration Type Documentation

◆ evm_insn

enum evm_insn

EVM instruction.

Enumerator
EVM_INS_STOP 
EVM_INS_ADD 
EVM_INS_MUL 
EVM_INS_SUB 
EVM_INS_DIV 
EVM_INS_SDIV 
EVM_INS_MOD 
EVM_INS_SMOD 
EVM_INS_ADDMOD 
EVM_INS_MULMOD 
EVM_INS_EXP 
EVM_INS_SIGNEXTEND 
EVM_INS_LT 
EVM_INS_GT 
EVM_INS_SLT 
EVM_INS_SGT 
EVM_INS_EQ 
EVM_INS_ISZERO 
EVM_INS_AND 
EVM_INS_OR 
EVM_INS_XOR 
EVM_INS_NOT 
EVM_INS_BYTE 
EVM_INS_SHA3 
EVM_INS_ADDRESS 
EVM_INS_BALANCE 
EVM_INS_ORIGIN 
EVM_INS_CALLER 
EVM_INS_CALLVALUE 
EVM_INS_CALLDATALOAD 
EVM_INS_CALLDATASIZE 
EVM_INS_CALLDATACOPY 
EVM_INS_CODESIZE 
EVM_INS_CODECOPY 
EVM_INS_GASPRICE 
EVM_INS_EXTCODESIZE 
EVM_INS_EXTCODECOPY 
EVM_INS_RETURNDATASIZE 
EVM_INS_RETURNDATACOPY 
EVM_INS_BLOCKHASH 
EVM_INS_COINBASE 
EVM_INS_TIMESTAMP 
EVM_INS_NUMBER 
EVM_INS_DIFFICULTY 
EVM_INS_GASLIMIT 
EVM_INS_POP 
EVM_INS_MLOAD 
EVM_INS_MSTORE 
EVM_INS_MSTORE8 
EVM_INS_SLOAD 
EVM_INS_SSTORE 
EVM_INS_JUMP 
EVM_INS_JUMPI 
EVM_INS_PC 
EVM_INS_MSIZE 
EVM_INS_GAS 
EVM_INS_JUMPDEST 
EVM_INS_PUSH1 
EVM_INS_PUSH2 
EVM_INS_PUSH3 
EVM_INS_PUSH4 
EVM_INS_PUSH5 
EVM_INS_PUSH6 
EVM_INS_PUSH7 
EVM_INS_PUSH8 
EVM_INS_PUSH9 
EVM_INS_PUSH10 
EVM_INS_PUSH11 
EVM_INS_PUSH12 
EVM_INS_PUSH13 
EVM_INS_PUSH14 
EVM_INS_PUSH15 
EVM_INS_PUSH16 
EVM_INS_PUSH17 
EVM_INS_PUSH18 
EVM_INS_PUSH19 
EVM_INS_PUSH20 
EVM_INS_PUSH21 
EVM_INS_PUSH22 
EVM_INS_PUSH23 
EVM_INS_PUSH24 
EVM_INS_PUSH25 
EVM_INS_PUSH26 
EVM_INS_PUSH27 
EVM_INS_PUSH28 
EVM_INS_PUSH29 
EVM_INS_PUSH30 
EVM_INS_PUSH31 
EVM_INS_PUSH32 
EVM_INS_DUP1 
EVM_INS_DUP2 
EVM_INS_DUP3 
EVM_INS_DUP4 
EVM_INS_DUP5 
EVM_INS_DUP6 
EVM_INS_DUP7 
EVM_INS_DUP8 
EVM_INS_DUP9 
EVM_INS_DUP10 
EVM_INS_DUP11 
EVM_INS_DUP12 
EVM_INS_DUP13 
EVM_INS_DUP14 
EVM_INS_DUP15 
EVM_INS_DUP16 
EVM_INS_SWAP1 
EVM_INS_SWAP2 
EVM_INS_SWAP3 
EVM_INS_SWAP4 
EVM_INS_SWAP5 
EVM_INS_SWAP6 
EVM_INS_SWAP7 
EVM_INS_SWAP8 
EVM_INS_SWAP9 
EVM_INS_SWAP10 
EVM_INS_SWAP11 
EVM_INS_SWAP12 
EVM_INS_SWAP13 
EVM_INS_SWAP14 
EVM_INS_SWAP15 
EVM_INS_SWAP16 
EVM_INS_LOG0 
EVM_INS_LOG1 
EVM_INS_LOG2 
EVM_INS_LOG3 
EVM_INS_LOG4 
EVM_INS_CREATE 
EVM_INS_CALL 
EVM_INS_CALLCODE 
EVM_INS_RETURN 
EVM_INS_DELEGATECALL 
EVM_INS_CALLBLACKBOX 
EVM_INS_STATICCALL 
EVM_INS_REVERT 
EVM_INS_SUICIDE 
EVM_INS_INVALID 
EVM_INS_ENDING 

Definition at line 25 of file evm.h.

25  {
26  EVM_INS_STOP = 0,
27  EVM_INS_ADD = 1,
28  EVM_INS_MUL = 2,
29  EVM_INS_SUB = 3,
30  EVM_INS_DIV = 4,
31  EVM_INS_SDIV = 5,
32  EVM_INS_MOD = 6,
33  EVM_INS_SMOD = 7,
34  EVM_INS_ADDMOD = 8,
35  EVM_INS_MULMOD = 9,
36  EVM_INS_EXP = 10,
37  EVM_INS_SIGNEXTEND = 11,
38  EVM_INS_LT = 16,
39  EVM_INS_GT = 17,
40  EVM_INS_SLT = 18,
41  EVM_INS_SGT = 19,
42  EVM_INS_EQ = 20,
43  EVM_INS_ISZERO = 21,
44  EVM_INS_AND = 22,
45  EVM_INS_OR = 23,
46  EVM_INS_XOR = 24,
47  EVM_INS_NOT = 25,
48  EVM_INS_BYTE = 26,
49  EVM_INS_SHA3 = 32,
50  EVM_INS_ADDRESS = 48,
51  EVM_INS_BALANCE = 49,
52  EVM_INS_ORIGIN = 50,
53  EVM_INS_CALLER = 51,
54  EVM_INS_CALLVALUE = 52,
58  EVM_INS_CODESIZE = 56,
59  EVM_INS_CODECOPY = 57,
60  EVM_INS_GASPRICE = 58,
65  EVM_INS_BLOCKHASH = 64,
66  EVM_INS_COINBASE = 65,
67  EVM_INS_TIMESTAMP = 66,
68  EVM_INS_NUMBER = 67,
69  EVM_INS_DIFFICULTY = 68,
70  EVM_INS_GASLIMIT = 69,
71  EVM_INS_POP = 80,
72  EVM_INS_MLOAD = 81,
73  EVM_INS_MSTORE = 82,
74  EVM_INS_MSTORE8 = 83,
75  EVM_INS_SLOAD = 84,
76  EVM_INS_SSTORE = 85,
77  EVM_INS_JUMP = 86,
78  EVM_INS_JUMPI = 87,
79  EVM_INS_PC = 88,
80  EVM_INS_MSIZE = 89,
81  EVM_INS_GAS = 90,
82  EVM_INS_JUMPDEST = 91,
83  EVM_INS_PUSH1 = 96,
84  EVM_INS_PUSH2 = 97,
85  EVM_INS_PUSH3 = 98,
86  EVM_INS_PUSH4 = 99,
87  EVM_INS_PUSH5 = 100,
88  EVM_INS_PUSH6 = 101,
89  EVM_INS_PUSH7 = 102,
90  EVM_INS_PUSH8 = 103,
91  EVM_INS_PUSH9 = 104,
92  EVM_INS_PUSH10 = 105,
93  EVM_INS_PUSH11 = 106,
94  EVM_INS_PUSH12 = 107,
95  EVM_INS_PUSH13 = 108,
96  EVM_INS_PUSH14 = 109,
97  EVM_INS_PUSH15 = 110,
98  EVM_INS_PUSH16 = 111,
99  EVM_INS_PUSH17 = 112,
100  EVM_INS_PUSH18 = 113,
101  EVM_INS_PUSH19 = 114,
102  EVM_INS_PUSH20 = 115,
103  EVM_INS_PUSH21 = 116,
104  EVM_INS_PUSH22 = 117,
105  EVM_INS_PUSH23 = 118,
106  EVM_INS_PUSH24 = 119,
107  EVM_INS_PUSH25 = 120,
108  EVM_INS_PUSH26 = 121,
109  EVM_INS_PUSH27 = 122,
110  EVM_INS_PUSH28 = 123,
111  EVM_INS_PUSH29 = 124,
112  EVM_INS_PUSH30 = 125,
113  EVM_INS_PUSH31 = 126,
114  EVM_INS_PUSH32 = 127,
115  EVM_INS_DUP1 = 128,
116  EVM_INS_DUP2 = 129,
117  EVM_INS_DUP3 = 130,
118  EVM_INS_DUP4 = 131,
119  EVM_INS_DUP5 = 132,
120  EVM_INS_DUP6 = 133,
121  EVM_INS_DUP7 = 134,
122  EVM_INS_DUP8 = 135,
123  EVM_INS_DUP9 = 136,
124  EVM_INS_DUP10 = 137,
125  EVM_INS_DUP11 = 138,
126  EVM_INS_DUP12 = 139,
127  EVM_INS_DUP13 = 140,
128  EVM_INS_DUP14 = 141,
129  EVM_INS_DUP15 = 142,
130  EVM_INS_DUP16 = 143,
131  EVM_INS_SWAP1 = 144,
132  EVM_INS_SWAP2 = 145,
133  EVM_INS_SWAP3 = 146,
134  EVM_INS_SWAP4 = 147,
135  EVM_INS_SWAP5 = 148,
136  EVM_INS_SWAP6 = 149,
137  EVM_INS_SWAP7 = 150,
138  EVM_INS_SWAP8 = 151,
139  EVM_INS_SWAP9 = 152,
140  EVM_INS_SWAP10 = 153,
141  EVM_INS_SWAP11 = 154,
142  EVM_INS_SWAP12 = 155,
143  EVM_INS_SWAP13 = 156,
144  EVM_INS_SWAP14 = 157,
145  EVM_INS_SWAP15 = 158,
146  EVM_INS_SWAP16 = 159,
147  EVM_INS_LOG0 = 160,
148  EVM_INS_LOG1 = 161,
149  EVM_INS_LOG2 = 162,
150  EVM_INS_LOG3 = 163,
151  EVM_INS_LOG4 = 164,
152  EVM_INS_CREATE = 240,
153  EVM_INS_CALL = 241,
154  EVM_INS_CALLCODE = 242,
155  EVM_INS_RETURN = 243,
156  EVM_INS_DELEGATECALL = 244,
157  EVM_INS_CALLBLACKBOX = 245,
158  EVM_INS_STATICCALL = 250,
159  EVM_INS_REVERT = 253,
160  EVM_INS_SUICIDE = 255,
161 
162  EVM_INS_INVALID = 512,
163  EVM_INS_ENDING, // <-- mark the end of the list of instructions
164 } evm_insn;
evm_insn
EVM instruction.
Definition: evm.h:25
@ EVM_INS_DUP12
Definition: evm.h:126
@ EVM_INS_AND
Definition: evm.h:44
@ EVM_INS_DUP14
Definition: evm.h:128
@ EVM_INS_CALLDATASIZE
Definition: evm.h:56
@ EVM_INS_PUSH11
Definition: evm.h:93
@ EVM_INS_PUSH12
Definition: evm.h:94
@ EVM_INS_PUSH15
Definition: evm.h:97
@ EVM_INS_DIV
Definition: evm.h:30
@ EVM_INS_CODECOPY
Definition: evm.h:59
@ EVM_INS_SLOAD
Definition: evm.h:75
@ EVM_INS_DUP11
Definition: evm.h:125
@ EVM_INS_RETURNDATACOPY
Definition: evm.h:64
@ EVM_INS_CALLDATALOAD
Definition: evm.h:55
@ EVM_INS_PUSH7
Definition: evm.h:89
@ EVM_INS_CALL
Definition: evm.h:153
@ EVM_INS_PUSH21
Definition: evm.h:103
@ EVM_INS_CALLBLACKBOX
Definition: evm.h:157
@ EVM_INS_MLOAD
Definition: evm.h:72
@ EVM_INS_SMOD
Definition: evm.h:33
@ EVM_INS_DUP1
Definition: evm.h:115
@ EVM_INS_MUL
Definition: evm.h:28
@ EVM_INS_PUSH13
Definition: evm.h:95
@ EVM_INS_PUSH9
Definition: evm.h:91
@ EVM_INS_PUSH5
Definition: evm.h:87
@ EVM_INS_DUP5
Definition: evm.h:119
@ EVM_INS_GT
Definition: evm.h:39
@ EVM_INS_COINBASE
Definition: evm.h:66
@ EVM_INS_GASPRICE
Definition: evm.h:60
@ EVM_INS_DELEGATECALL
Definition: evm.h:156
@ EVM_INS_LOG2
Definition: evm.h:149
@ EVM_INS_SWAP12
Definition: evm.h:142
@ EVM_INS_PUSH30
Definition: evm.h:112
@ EVM_INS_SWAP3
Definition: evm.h:133
@ EVM_INS_PUSH17
Definition: evm.h:99
@ EVM_INS_INVALID
Definition: evm.h:162
@ EVM_INS_RETURN
Definition: evm.h:155
@ EVM_INS_ADDMOD
Definition: evm.h:34
@ EVM_INS_ISZERO
Definition: evm.h:43
@ EVM_INS_STATICCALL
Definition: evm.h:158
@ EVM_INS_MSIZE
Definition: evm.h:80
@ EVM_INS_SWAP7
Definition: evm.h:137
@ EVM_INS_SWAP11
Definition: evm.h:141
@ EVM_INS_PUSH16
Definition: evm.h:98
@ EVM_INS_SSTORE
Definition: evm.h:76
@ EVM_INS_PUSH25
Definition: evm.h:107
@ EVM_INS_PUSH20
Definition: evm.h:102
@ EVM_INS_ADDRESS
Definition: evm.h:50
@ EVM_INS_CALLDATACOPY
Definition: evm.h:57
@ EVM_INS_GAS
Definition: evm.h:81
@ EVM_INS_DUP3
Definition: evm.h:117
@ EVM_INS_ADD
Definition: evm.h:27
@ EVM_INS_PUSH1
Definition: evm.h:83
@ EVM_INS_CALLVALUE
Definition: evm.h:54
@ EVM_INS_DUP9
Definition: evm.h:123
@ EVM_INS_PUSH3
Definition: evm.h:85
@ EVM_INS_PUSH18
Definition: evm.h:100
@ EVM_INS_PUSH24
Definition: evm.h:106
@ EVM_INS_TIMESTAMP
Definition: evm.h:67
@ EVM_INS_ENDING
Definition: evm.h:163
@ EVM_INS_DUP15
Definition: evm.h:129
@ EVM_INS_DUP13
Definition: evm.h:127
@ EVM_INS_SWAP8
Definition: evm.h:138
@ EVM_INS_PUSH19
Definition: evm.h:101
@ EVM_INS_POP
Definition: evm.h:71
@ EVM_INS_MSTORE8
Definition: evm.h:74
@ EVM_INS_ORIGIN
Definition: evm.h:52
@ EVM_INS_DUP4
Definition: evm.h:118
@ EVM_INS_SLT
Definition: evm.h:40
@ EVM_INS_EXP
Definition: evm.h:36
@ EVM_INS_RETURNDATASIZE
Definition: evm.h:63
@ EVM_INS_GASLIMIT
Definition: evm.h:70
@ EVM_INS_SUB
Definition: evm.h:29
@ EVM_INS_SWAP4
Definition: evm.h:134
@ EVM_INS_NOT
Definition: evm.h:47
@ EVM_INS_SWAP10
Definition: evm.h:140
@ EVM_INS_SWAP13
Definition: evm.h:143
@ EVM_INS_CALLER
Definition: evm.h:53
@ EVM_INS_DUP10
Definition: evm.h:124
@ EVM_INS_PUSH4
Definition: evm.h:86
@ EVM_INS_PUSH31
Definition: evm.h:113
@ EVM_INS_PUSH26
Definition: evm.h:108
@ EVM_INS_MULMOD
Definition: evm.h:35
@ EVM_INS_SWAP6
Definition: evm.h:136
@ EVM_INS_DUP7
Definition: evm.h:121
@ EVM_INS_PUSH2
Definition: evm.h:84
@ EVM_INS_OR
Definition: evm.h:45
@ EVM_INS_PUSH32
Definition: evm.h:114
@ EVM_INS_LOG0
Definition: evm.h:147
@ EVM_INS_PUSH29
Definition: evm.h:111
@ EVM_INS_DIFFICULTY
Definition: evm.h:69
@ EVM_INS_BYTE
Definition: evm.h:48
@ EVM_INS_EQ
Definition: evm.h:42
@ EVM_INS_EXTCODECOPY
Definition: evm.h:62
@ EVM_INS_PUSH23
Definition: evm.h:105
@ EVM_INS_STOP
Definition: evm.h:26
@ EVM_INS_SWAP9
Definition: evm.h:139
@ EVM_INS_PUSH22
Definition: evm.h:104
@ EVM_INS_CREATE
Definition: evm.h:152
@ EVM_INS_REVERT
Definition: evm.h:159
@ EVM_INS_MSTORE
Definition: evm.h:73
@ EVM_INS_PUSH10
Definition: evm.h:92
@ EVM_INS_SGT
Definition: evm.h:41
@ EVM_INS_LOG1
Definition: evm.h:148
@ EVM_INS_LOG4
Definition: evm.h:151
@ EVM_INS_CALLCODE
Definition: evm.h:154
@ EVM_INS_JUMP
Definition: evm.h:77
@ EVM_INS_EXTCODESIZE
Definition: evm.h:61
@ EVM_INS_SWAP5
Definition: evm.h:135
@ EVM_INS_DUP8
Definition: evm.h:122
@ EVM_INS_DUP6
Definition: evm.h:120
@ EVM_INS_SDIV
Definition: evm.h:31
@ EVM_INS_SIGNEXTEND
Definition: evm.h:37
@ EVM_INS_DUP16
Definition: evm.h:130
@ EVM_INS_SHA3
Definition: evm.h:49
@ EVM_INS_PUSH6
Definition: evm.h:88
@ EVM_INS_BLOCKHASH
Definition: evm.h:65
@ EVM_INS_NUMBER
Definition: evm.h:68
@ EVM_INS_MOD
Definition: evm.h:32
@ EVM_INS_XOR
Definition: evm.h:46
@ EVM_INS_JUMPI
Definition: evm.h:78
@ EVM_INS_DUP2
Definition: evm.h:116
@ EVM_INS_SWAP1
Definition: evm.h:131
@ EVM_INS_JUMPDEST
Definition: evm.h:82
@ EVM_INS_PC
Definition: evm.h:79
@ EVM_INS_SWAP14
Definition: evm.h:144
@ EVM_INS_SUICIDE
Definition: evm.h:160
@ EVM_INS_PUSH28
Definition: evm.h:110
@ EVM_INS_SWAP2
Definition: evm.h:132
@ EVM_INS_PUSH14
Definition: evm.h:96
@ EVM_INS_SWAP15
Definition: evm.h:145
@ EVM_INS_LT
Definition: evm.h:38
@ EVM_INS_BALANCE
Definition: evm.h:51
@ EVM_INS_CODESIZE
Definition: evm.h:58
@ EVM_INS_PUSH27
Definition: evm.h:109
@ EVM_INS_LOG3
Definition: evm.h:150
@ EVM_INS_PUSH8
Definition: evm.h:90
@ EVM_INS_SWAP16
Definition: evm.h:146

◆ evm_insn_group

Group of EVM instructions.

Enumerator
EVM_GRP_INVALID 

= CS_GRP_INVALID

EVM_GRP_JUMP 

all jump instructions

EVM_GRP_MATH 

math instructions

EVM_GRP_STACK_WRITE 

instructions write to stack

EVM_GRP_STACK_READ 

instructions read from stack

EVM_GRP_MEM_WRITE 

instructions write to memory

EVM_GRP_MEM_READ 

instructions read from memory

EVM_GRP_STORE_WRITE 

instructions write to storage

EVM_GRP_STORE_READ 

instructions read from storage

EVM_GRP_HALT 

instructions halt execution

EVM_GRP_ENDING 

<– mark the end of the list of groups

Definition at line 167 of file evm.h.

167  {
168  EVM_GRP_INVALID = 0,
169 
170  EVM_GRP_JUMP,
171 
172  EVM_GRP_MATH = 8,
179  EVM_GRP_HALT,
180 
evm_insn_group
Group of EVM instructions.
Definition: evm.h:167
@ EVM_GRP_MATH
math instructions
Definition: evm.h:172
@ EVM_GRP_STORE_READ
instructions read from storage
Definition: evm.h:178
@ EVM_GRP_STACK_WRITE
instructions write to stack
Definition: evm.h:173
@ EVM_GRP_JUMP
all jump instructions
Definition: evm.h:170
@ EVM_GRP_MEM_WRITE
instructions write to memory
Definition: evm.h:175
@ EVM_GRP_MEM_READ
instructions read from memory
Definition: evm.h:176
@ EVM_GRP_ENDING
<– mark the end of the list of groups
Definition: evm.h:181
@ EVM_GRP_INVALID
= CS_GRP_INVALID
Definition: evm.h:168
@ EVM_GRP_STACK_READ
instructions read from stack
Definition: evm.h:174
@ EVM_GRP_HALT
instructions halt execution
Definition: evm.h:179
@ EVM_GRP_STORE_WRITE
instructions write to storage
Definition: evm.h:177