Skip to content

Commit ce000a6

Browse files
Return opcode_known_name to original place
1 parent 3af03cb commit ce000a6

File tree

2 files changed

+167
-165
lines changed

2 files changed

+167
-165
lines changed

crates/evm-tracing-events/src/marshalled_opcode.rs

Lines changed: 2 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ use codec::{Decode, Encode};
66
use smallvec::SmallVec;
77
use sp_core::sp_std::vec::Vec;
88

9+
use crate::runtime::opcode_known_name;
10+
911
/// Marshalled opcode.
1012
///
1113
/// 8 cause the longest is 13 and the epmeric estimate of max length
@@ -53,171 +55,6 @@ impl core::fmt::Display for MarshalledOpcode {
5355
}
5456
}
5557

56-
/// Check whether it's a known opcode or not. In case it's a known one,
57-
/// return the name of the opcode then.
58-
fn opcode_known_name(opcode: &evm::Opcode) -> Option<&'static str> {
59-
Some(match opcode.as_u8() {
60-
0 => "Stop",
61-
1 => "Add",
62-
2 => "Mul",
63-
3 => "Sub",
64-
4 => "Div",
65-
5 => "SDiv",
66-
6 => "Mod",
67-
7 => "SMod",
68-
8 => "AddMod",
69-
9 => "MulMod",
70-
10 => "Exp",
71-
11 => "SignExtend",
72-
16 => "Lt",
73-
17 => "Gt",
74-
18 => "Slt",
75-
19 => "Sgt",
76-
20 => "Eq",
77-
21 => "IsZero",
78-
22 => "And",
79-
23 => "Or",
80-
24 => "Xor",
81-
25 => "Not",
82-
26 => "Byte",
83-
27 => "Shl",
84-
28 => "Shr",
85-
29 => "Sar",
86-
32 => "Keccak256",
87-
48 => "Address",
88-
49 => "Balance",
89-
50 => "Origin",
90-
51 => "Caller",
91-
52 => "CallValue",
92-
53 => "CallDataLoad",
93-
54 => "CallDataSize",
94-
55 => "CallDataCopy",
95-
56 => "CodeSize",
96-
57 => "CodeCopy",
97-
58 => "GasPrice",
98-
59 => "ExtCodeSize",
99-
60 => "ExtCodeCopy",
100-
61 => "ReturnDataSize",
101-
62 => "ReturnDataCopy",
102-
63 => "ExtCodeHash",
103-
64 => "BlockHash",
104-
65 => "Coinbase",
105-
66 => "Timestamp",
106-
67 => "Number",
107-
68 => "Difficulty",
108-
69 => "GasLimit",
109-
70 => "ChainId",
110-
80 => "Pop",
111-
81 => "MLoad",
112-
82 => "MStore",
113-
83 => "MStore8",
114-
84 => "SLoad",
115-
85 => "SStore",
116-
86 => "Jump",
117-
87 => "JumpI",
118-
88 => "GetPc",
119-
89 => "MSize",
120-
90 => "Gas",
121-
91 => "JumpDest",
122-
92 => "TLoad",
123-
93 => "TStore",
124-
94 => "MCopy",
125-
96 => "Push1",
126-
97 => "Push2",
127-
98 => "Push3",
128-
99 => "Push4",
129-
100 => "Push5",
130-
101 => "Push6",
131-
102 => "Push7",
132-
103 => "Push8",
133-
104 => "Push9",
134-
105 => "Push10",
135-
106 => "Push11",
136-
107 => "Push12",
137-
108 => "Push13",
138-
109 => "Push14",
139-
110 => "Push15",
140-
111 => "Push16",
141-
112 => "Push17",
142-
113 => "Push18",
143-
114 => "Push19",
144-
115 => "Push20",
145-
116 => "Push21",
146-
117 => "Push22",
147-
118 => "Push23",
148-
119 => "Push24",
149-
120 => "Push25",
150-
121 => "Push26",
151-
122 => "Push27",
152-
123 => "Push28",
153-
124 => "Push29",
154-
125 => "Push30",
155-
126 => "Push31",
156-
127 => "Push32",
157-
128 => "Dup1",
158-
129 => "Dup2",
159-
130 => "Dup3",
160-
131 => "Dup4",
161-
132 => "Dup5",
162-
133 => "Dup6",
163-
134 => "Dup7",
164-
135 => "Dup8",
165-
136 => "Dup9",
166-
137 => "Dup10",
167-
138 => "Dup11",
168-
139 => "Dup12",
169-
140 => "Dup13",
170-
141 => "Dup14",
171-
142 => "Dup15",
172-
143 => "Dup16",
173-
144 => "Swap1",
174-
145 => "Swap2",
175-
146 => "Swap3",
176-
147 => "Swap4",
177-
148 => "Swap5",
178-
149 => "Swap6",
179-
150 => "Swap7",
180-
151 => "Swap8",
181-
152 => "Swap9",
182-
153 => "Swap10",
183-
154 => "Swap11",
184-
155 => "Swap12",
185-
156 => "Swap13",
186-
157 => "Swap14",
187-
158 => "Swap15",
188-
159 => "Swap16",
189-
160 => "Log0",
190-
161 => "Log1",
191-
162 => "Log2",
192-
163 => "Log3",
193-
164 => "Log4",
194-
176 => "JumpTo",
195-
177 => "JumpIf",
196-
178 => "JumpSub",
197-
180 => "JumpSubv",
198-
181 => "BeginSub",
199-
182 => "BeginData",
200-
184 => "ReturnSub",
201-
185 => "PutLocal",
202-
186 => "GetLocal",
203-
225 => "SLoadBytes",
204-
226 => "SStoreBytes",
205-
227 => "SSize",
206-
240 => "Create",
207-
241 => "Call",
208-
242 => "CallCode",
209-
243 => "Return",
210-
244 => "DelegateCall",
211-
245 => "Create2",
212-
250 => "StaticCall",
213-
252 => "TxExecGas",
214-
253 => "Revert",
215-
254 => "Invalid",
216-
255 => "SelfDestruct",
217-
_ => return None,
218-
})
219-
}
220-
22158
#[cfg(test)]
22259
mod tests {
22360
use smallvec::smallvec;

crates/evm-tracing-events/src/runtime.rs

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,168 @@ impl RuntimeEvent {
167167
}
168168
}
169169
}
170+
171+
/// Check whether it's a known opcode or not. In case it's a known one,
172+
/// return the name of the opcode then.
173+
pub fn opcode_known_name(opcode: &evm::Opcode) -> Option<&'static str> {
174+
Some(match opcode.as_u8() {
175+
0 => "Stop",
176+
1 => "Add",
177+
2 => "Mul",
178+
3 => "Sub",
179+
4 => "Div",
180+
5 => "SDiv",
181+
6 => "Mod",
182+
7 => "SMod",
183+
8 => "AddMod",
184+
9 => "MulMod",
185+
10 => "Exp",
186+
11 => "SignExtend",
187+
16 => "Lt",
188+
17 => "Gt",
189+
18 => "Slt",
190+
19 => "Sgt",
191+
20 => "Eq",
192+
21 => "IsZero",
193+
22 => "And",
194+
23 => "Or",
195+
24 => "Xor",
196+
25 => "Not",
197+
26 => "Byte",
198+
27 => "Shl",
199+
28 => "Shr",
200+
29 => "Sar",
201+
32 => "Keccak256",
202+
48 => "Address",
203+
49 => "Balance",
204+
50 => "Origin",
205+
51 => "Caller",
206+
52 => "CallValue",
207+
53 => "CallDataLoad",
208+
54 => "CallDataSize",
209+
55 => "CallDataCopy",
210+
56 => "CodeSize",
211+
57 => "CodeCopy",
212+
58 => "GasPrice",
213+
59 => "ExtCodeSize",
214+
60 => "ExtCodeCopy",
215+
61 => "ReturnDataSize",
216+
62 => "ReturnDataCopy",
217+
63 => "ExtCodeHash",
218+
64 => "BlockHash",
219+
65 => "Coinbase",
220+
66 => "Timestamp",
221+
67 => "Number",
222+
68 => "Difficulty",
223+
69 => "GasLimit",
224+
70 => "ChainId",
225+
80 => "Pop",
226+
81 => "MLoad",
227+
82 => "MStore",
228+
83 => "MStore8",
229+
84 => "SLoad",
230+
85 => "SStore",
231+
86 => "Jump",
232+
87 => "JumpI",
233+
88 => "GetPc",
234+
89 => "MSize",
235+
90 => "Gas",
236+
91 => "JumpDest",
237+
92 => "TLoad",
238+
93 => "TStore",
239+
94 => "MCopy",
240+
96 => "Push1",
241+
97 => "Push2",
242+
98 => "Push3",
243+
99 => "Push4",
244+
100 => "Push5",
245+
101 => "Push6",
246+
102 => "Push7",
247+
103 => "Push8",
248+
104 => "Push9",
249+
105 => "Push10",
250+
106 => "Push11",
251+
107 => "Push12",
252+
108 => "Push13",
253+
109 => "Push14",
254+
110 => "Push15",
255+
111 => "Push16",
256+
112 => "Push17",
257+
113 => "Push18",
258+
114 => "Push19",
259+
115 => "Push20",
260+
116 => "Push21",
261+
117 => "Push22",
262+
118 => "Push23",
263+
119 => "Push24",
264+
120 => "Push25",
265+
121 => "Push26",
266+
122 => "Push27",
267+
123 => "Push28",
268+
124 => "Push29",
269+
125 => "Push30",
270+
126 => "Push31",
271+
127 => "Push32",
272+
128 => "Dup1",
273+
129 => "Dup2",
274+
130 => "Dup3",
275+
131 => "Dup4",
276+
132 => "Dup5",
277+
133 => "Dup6",
278+
134 => "Dup7",
279+
135 => "Dup8",
280+
136 => "Dup9",
281+
137 => "Dup10",
282+
138 => "Dup11",
283+
139 => "Dup12",
284+
140 => "Dup13",
285+
141 => "Dup14",
286+
142 => "Dup15",
287+
143 => "Dup16",
288+
144 => "Swap1",
289+
145 => "Swap2",
290+
146 => "Swap3",
291+
147 => "Swap4",
292+
148 => "Swap5",
293+
149 => "Swap6",
294+
150 => "Swap7",
295+
151 => "Swap8",
296+
152 => "Swap9",
297+
153 => "Swap10",
298+
154 => "Swap11",
299+
155 => "Swap12",
300+
156 => "Swap13",
301+
157 => "Swap14",
302+
158 => "Swap15",
303+
159 => "Swap16",
304+
160 => "Log0",
305+
161 => "Log1",
306+
162 => "Log2",
307+
163 => "Log3",
308+
164 => "Log4",
309+
176 => "JumpTo",
310+
177 => "JumpIf",
311+
178 => "JumpSub",
312+
180 => "JumpSubv",
313+
181 => "BeginSub",
314+
182 => "BeginData",
315+
184 => "ReturnSub",
316+
185 => "PutLocal",
317+
186 => "GetLocal",
318+
225 => "SLoadBytes",
319+
226 => "SStoreBytes",
320+
227 => "SSize",
321+
240 => "Create",
322+
241 => "Call",
323+
242 => "CallCode",
324+
243 => "Return",
325+
244 => "DelegateCall",
326+
245 => "Create2",
327+
250 => "StaticCall",
328+
252 => "TxExecGas",
329+
253 => "Revert",
330+
254 => "Invalid",
331+
255 => "SelfDestruct",
332+
_ => return None,
333+
})
334+
}

0 commit comments

Comments
 (0)