@@ -175,9 +175,9 @@ handle_microblock( fd_bank_ctx_t * ctx,
175175
176176 FD_SPAD_FRAME_BEGIN ( ctx -> exec_spad ) {
177177
178- int err = fd_runtime_prepare_and_execute_txn ( ctx -> banks , ctx -> _bank_idx , txn_ctx , txn , NULL );
178+ txn_ctx -> exec_err = fd_runtime_prepare_and_execute_txn ( ctx -> banks , ctx -> _bank_idx , txn_ctx , txn , NULL );
179179 if ( FD_UNLIKELY ( !(txn_ctx -> flags & FD_TXN_P_FLAGS_SANITIZE_SUCCESS ) ) ) {
180- ctx -> metrics .txn_result [ fd_bank_err_from_runtime_err ( err ) ]++ ;
180+ ctx -> metrics .txn_result [ fd_bank_err_from_runtime_err ( txn_ctx -> exec_err ) ]++ ;
181181 continue ;
182182 }
183183
@@ -192,9 +192,9 @@ handle_microblock( fd_bank_ctx_t * ctx,
192192 /* Stash the result in the flags value so that pack can inspect it. */
193193 /* TODO: Need to translate the err to a hacky Frankendancer style err
194194 that pack and GUI expect ... */
195- txn -> flags = (txn -> flags & 0x00FFFFFFU ) | ((uint )(- err )<<24 );
195+ txn -> flags = (txn -> flags & 0x00FFFFFFU ) | ((uint )(- txn_ctx -> exec_err )<<24 );
196196
197- ctx -> metrics .txn_result [ fd_bank_err_from_runtime_err ( err ) ]++ ;
197+ ctx -> metrics .txn_result [ fd_bank_err_from_runtime_err ( txn_ctx -> exec_err ) ]++ ;
198198
199199 uint actual_execution_cus = (uint )(txn_ctx -> compute_budget_details .compute_unit_limit - txn_ctx -> compute_budget_details .compute_meter );
200200 uint actual_acct_data_cus = (uint )(txn_ctx -> loaded_accounts_data_size_cost );
@@ -230,7 +230,7 @@ handle_microblock( fd_bank_ctx_t * ctx,
230230 FD_LOG_ERR (( "Actual CUs unexpectedly exceeded requested amount. actual_execution_cus (%u) actual_acct_data_cus "
231231 "(%u) requested_exec_plus_acct_data_cus (%u) is_simple_vote (%i) exec_failed (%i)" ,
232232 actual_execution_cus , actual_acct_data_cus , requested_exec_plus_acct_data_cus , is_simple_vote ,
233- err ));
233+ txn_ctx -> exec_err ));
234234 }
235235
236236 /* Commit must succeed so no failure path. Once commit is called,
0 commit comments