@@ -156,8 +156,9 @@ impl Interpreter {
156
156
/// - Updates gas costs and records refunds in the interpreter's `gas` field.
157
157
/// - May alter `instruction_result` in case of external errors.
158
158
pub fn insert_create_outcome ( & mut self , create_outcome : CreateOutcome ) {
159
- let instruction_result = create_outcome . instruction_result ( ) ;
159
+ self . instruction_result = InstructionResult :: Continue ;
160
160
161
+ let instruction_result = create_outcome. instruction_result ( ) ;
161
162
self . return_data_buffer = if instruction_result. is_revert ( ) {
162
163
// Save data to return data buffer if the create reverted
163
164
create_outcome. output ( ) . to_owned ( )
@@ -213,6 +214,7 @@ impl Interpreter {
213
214
shared_memory : & mut SharedMemory ,
214
215
call_outcome : CallOutcome ,
215
216
) {
217
+ self . instruction_result = InstructionResult :: Continue ;
216
218
let out_offset = call_outcome. memory_start ( ) ;
217
219
let out_len = call_outcome. memory_length ( ) ;
218
220
@@ -314,7 +316,6 @@ impl Interpreter {
314
316
FN : Fn ( & mut Interpreter , & mut H ) ,
315
317
{
316
318
self . next_action = InterpreterAction :: None ;
317
- self . instruction_result = InstructionResult :: Continue ;
318
319
self . shared_memory = shared_memory;
319
320
// main loop
320
321
while self . instruction_result == InstructionResult :: Continue {
0 commit comments