@@ -7,7 +7,9 @@ use foundry_evm::{
7
7
decode:: decode_console_logs,
8
8
inspectors:: { LogCollector , TracingInspector } ,
9
9
revm:: {
10
- interpreter:: { CallInputs , CallOutcome , CreateInputs , CreateOutcome , Interpreter } ,
10
+ interpreter:: {
11
+ CallInputs , CallOutcome , CreateInputs , CreateOutcome , EOFCreateInputs , Interpreter ,
12
+ } ,
11
13
primitives:: U256 ,
12
14
EvmContext ,
13
15
} ,
@@ -117,6 +119,35 @@ impl<DB: Database> revm::Inspector<DB> for Inspector {
117
119
outcome
118
120
}
119
121
122
+ #[ inline]
123
+ fn eofcreate (
124
+ & mut self ,
125
+ ecx : & mut EvmContext < DB > ,
126
+ inputs : & mut EOFCreateInputs ,
127
+ ) -> Option < CreateOutcome > {
128
+ if let Some ( tracer) = & mut self . tracer {
129
+ if let Some ( out) = tracer. eofcreate ( ecx, inputs) {
130
+ return Some ( out) ;
131
+ }
132
+ }
133
+ None
134
+ }
135
+
136
+ #[ inline]
137
+ fn eofcreate_end (
138
+ & mut self ,
139
+ ecx : & mut EvmContext < DB > ,
140
+ inputs : & EOFCreateInputs ,
141
+ outcome : CreateOutcome ,
142
+ ) -> CreateOutcome {
143
+ if let Some ( tracer) = & mut self . tracer {
144
+ return tracer. eofcreate_end ( ecx, inputs, outcome) ;
145
+ }
146
+
147
+ outcome
148
+ }
149
+
150
+ #[ inline]
120
151
fn selfdestruct ( & mut self , contract : Address , target : Address , value : U256 ) {
121
152
if let Some ( tracer) = & mut self . tracer {
122
153
revm:: Inspector :: < DB > :: selfdestruct ( tracer, contract, target, value) ;
0 commit comments