1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7#[repr(u8)]
8#[allow(non_camel_case_types)]
9pub enum OpCode {
10 PUSHINT8 = 0x00,
12 PUSHINT16 = 0x01,
13 PUSHINT32 = 0x02,
14 PUSHINT64 = 0x03,
15 PUSHINT128 = 0x04,
16 PUSHINT256 = 0x05,
17 PUSHA = 0x0A,
18 PUSHNULL = 0x0B,
19 PUSHDATA1 = 0x0C,
20 PUSHDATA2 = 0x0D,
21 PUSHDATA4 = 0x0E,
22 PUSHM1 = 0x0F,
23 PUSH0 = 0x10,
24 PUSH1 = 0x11,
25 PUSH2 = 0x12,
26 PUSH3 = 0x13,
27 PUSH4 = 0x14,
28 PUSH5 = 0x15,
29 PUSH6 = 0x16,
30 PUSH7 = 0x17,
31 PUSH8 = 0x18,
32 PUSH9 = 0x19,
33 PUSH10 = 0x1A,
34 PUSH11 = 0x1B,
35 PUSH12 = 0x1C,
36 PUSH13 = 0x1D,
37 PUSH14 = 0x1E,
38 PUSH15 = 0x1F,
39 PUSH16 = 0x20,
40
41 NOP = 0x21,
43 JMP = 0x22,
44 JMP_L = 0x23,
45 JMPIF = 0x24,
46 JMPIF_L = 0x25,
47 JMPIFNOT = 0x26,
48 JMPIFNOT_L = 0x27,
49 JMPEQ = 0x28,
50 JMPEQ_L = 0x29,
51 JMPNE = 0x2A,
52 JMPNE_L = 0x2B,
53 JMPGT = 0x2C,
54 JMPGT_L = 0x2D,
55 JMPGE = 0x2E,
56 JMPGE_L = 0x2F,
57 JMPLT = 0x30,
58 JMPLT_L = 0x31,
59 JMPLE = 0x32,
60 JMPLE_L = 0x33,
61 CALL = 0x34,
62 CALL_L = 0x35,
63 CALLA = 0x36,
64 CALLT = 0x37,
65 ABORT = 0x38,
66 ASSERT = 0x39,
67 THROW = 0x3A,
68 TRY = 0x3B,
69 TRY_L = 0x3C,
70 ENDTRY = 0x3D,
71 ENDTRY_L = 0x3E,
72 ENDFINALLY = 0x3F,
73 RET = 0x40,
74 SYSCALL = 0x41,
75
76 DEPTH = 0x43,
78 DROP = 0x45,
79 NIP = 0x46,
80 XDROP = 0x48,
81 CLEAR = 0x49,
82 DUP = 0x4A,
83 OVER = 0x4B,
84 PICK = 0x4D,
85 TUCK = 0x4E,
86 SWAP = 0x50,
87 ROT = 0x51,
88 ROLL = 0x52,
89 REVERSE3 = 0x53,
90 REVERSE4 = 0x54,
91 REVERSEN = 0x55,
92
93 INITSSLOT = 0x56,
95 INITSLOT = 0x57,
96 LDSFLD0 = 0x58,
97 LDSFLD = 0x5E,
98 STSFLD0 = 0x5F,
99 STSFLD = 0x65,
100 LDLOC0 = 0x66,
101 LDLOC = 0x6C,
102 STLOC0 = 0x6D,
103 STLOC = 0x73,
104 LDARG0 = 0x74,
105 LDARG = 0x7A,
106 STARG0 = 0x7B,
107 STARG = 0x81,
108
109 NEWBUFFER = 0x88,
111 MEMCPY = 0x89,
112 CAT = 0x8B,
113 SUBSTR = 0x8C,
114 LEFT = 0x8D,
115 RIGHT = 0x8E,
116
117 INVERT = 0x90,
119 AND = 0x91,
120 OR = 0x92,
121 XOR = 0x93,
122 EQUAL = 0x97,
123 NOTEQUAL = 0x98,
124
125 SIGN = 0x99,
127 ABS = 0x9A,
128 NEGATE = 0x9B,
129 INC = 0x9C,
130 DEC = 0x9D,
131 ADD = 0x9E,
132 SUB = 0x9F,
133 MUL = 0xA0,
134 DIV = 0xA1,
135 MOD = 0xA2,
136 POW = 0xA3,
137 SQRT = 0xA4,
138 MODMUL = 0xA5,
139 MODPOW = 0xA6,
140 SHL = 0xA8,
141 SHR = 0xA9,
142 NOT = 0xAA,
143 BOOLAND = 0xAB,
144 BOOLOR = 0xAC,
145 NZ = 0xB1,
146 NUMEQUAL = 0xB3,
147 NUMNOTEQUAL = 0xB4,
148 LT = 0xB5,
149 LE = 0xB6,
150 GT = 0xB7,
151 GE = 0xB8,
152 MIN = 0xB9,
153 MAX = 0xBA,
154 WITHIN = 0xBB,
155
156 PACKMAP = 0xBE,
158 PACKSTRUCT = 0xBF,
159 PACK = 0xC0,
160 UNPACK = 0xC1,
161 NEWARRAY0 = 0xC2,
162 NEWARRAY = 0xC3,
163 NEWARRAY_T = 0xC4,
164 NEWSTRUCT0 = 0xC5,
165 NEWSTRUCT = 0xC6,
166 NEWMAP = 0xC8,
167 SIZE = 0xCA,
168 HASKEY = 0xCB,
169 KEYS = 0xCC,
170 VALUES = 0xCD,
171 PICKITEM = 0xCE,
172 APPEND = 0xCF,
173 SETITEM = 0xD0,
174 REVERSEITEMS = 0xD1,
175 REMOVE = 0xD2,
176 CLEARITEMS = 0xD3,
177 POPITEM = 0xD4,
178
179 ISNULL = 0xD8,
181 ISTYPE = 0xD9,
182 CONVERT = 0xDB,
183 ABORTMSG = 0xE0,
184 ASSERTMSG = 0xE1,
185}