@@ -247,7 +247,7 @@ pub extern "C" fn cairoVMExecute(
247
247
err_stack : c_uchar ,
248
248
) {
249
249
let block_info = unsafe { * block_info_ptr } ;
250
- let reader = JunoStateReader :: new ( reader_handle, block_info. block_number ) ;
250
+ let mut reader = JunoStateReader :: new ( reader_handle, block_info. block_number ) ;
251
251
let chain_id_str = unsafe { CStr :: from_ptr ( chain_id) } . to_str ( ) . unwrap ( ) ;
252
252
let txn_json_str = unsafe { CStr :: from_ptr ( txns_json) } . to_str ( ) . unwrap ( ) ;
253
253
let txns_and_query_bits: Result < Vec < TxnAndQueryBit > , serde_json:: Error > =
@@ -278,7 +278,7 @@ pub extern "C" fn cairoVMExecute(
278
278
}
279
279
} ;
280
280
281
- let mut state = CachedState :: new ( reader) ;
281
+ let mut state = CachedState :: create_transactional ( & mut reader) ;
282
282
let txns_and_query_bits = txns_and_query_bits. unwrap ( ) ;
283
283
let mut classes = classes. unwrap ( ) ;
284
284
let concurrency_mode = concurrency_mode == 1 ;
@@ -350,7 +350,6 @@ pub extern "C" fn cairoVMExecute(
350
350
return ;
351
351
}
352
352
353
- let mut txn_state = CachedState :: create_transactional ( & mut state) ;
354
353
let mut txn = txn. unwrap ( ) ;
355
354
let gas_vector_computation_mode = determine_gas_vector_mode ( & txn) ;
356
355
@@ -366,7 +365,7 @@ pub extern "C" fn cairoVMExecute(
366
365
Transaction :: L1Handler ( t) => ( None , t. fee_type ( ) ) ,
367
366
} ;
368
367
369
- match process_transaction ( & mut txn, & mut txn_state , & block_context, err_on_revert) {
368
+ match process_transaction ( & mut txn, & mut state , & block_context, err_on_revert) {
370
369
Err ( e) => match e {
371
370
ExecutionError :: ExecutionError { error, error_stack } => {
372
371
let err_string = if err_stack {
@@ -434,7 +433,7 @@ pub extern "C" fn cairoVMExecute(
434
433
let trace = jsonrpc:: new_transaction_trace (
435
434
& txn_and_query_bit. txn ,
436
435
tx_execution_info,
437
- & mut txn_state ,
436
+ & mut state ,
438
437
) ;
439
438
if let Err ( e) = trace {
440
439
report_error (
@@ -464,8 +463,8 @@ pub extern "C" fn cairoVMExecute(
464
463
append_trace ( reader_handle, trace. as_ref ( ) . unwrap ( ) , & mut trace_buffer) ;
465
464
}
466
465
}
467
- txn_state. commit ( ) ;
468
466
}
467
+ state. abort ( ) ;
469
468
}
470
469
471
470
fn determine_gas_vector_mode ( transaction : & Transaction ) -> GasVectorComputationMode {
0 commit comments