LCOV - code coverage report
Current view: top level - discof/execle - fd_execle_err.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 46 0.0 %
Date: 2026-09-17 04:28:31 Functions: 0 8 0.0 %

          Line data    Source code
       1             : #ifndef HEADER_fd_src_discof_execle_fd_execle_err_h
       2             : #define HEADER_fd_src_discof_execle_fd_execle_err_h
       3             : 
       4             : #include "../../util/log/fd_log.h"
       5             : #include "../../flamenco/runtime/fd_runtime_err.h"
       6             : #include "../../disco/metrics/generated/fd_metrics_enums.h"
       7             : #include "../../ballet/txn/fd_txn.h"
       8             : 
       9             : static inline ulong
      10           0 : fd_execle_version_from_txn( fd_txn_t const * txn ) {
      11           0 :   switch( txn->transaction_version ) {
      12           0 :     case FD_TXN_VLEGACY: return FD_METRICS_ENUM_TXN_VERSION_V_LEGACY_IDX;
      13           0 :     case FD_TXN_V0:      return FD_METRICS_ENUM_TXN_VERSION_V_V0_IDX;
      14           0 :     case FD_TXN_V1:      return FD_METRICS_ENUM_TXN_VERSION_V_V1_IDX;
      15           0 :     default:             return FD_METRICS_ENUM_TXN_VERSION_V_LEGACY_IDX;
      16           0 :   }
      17           0 : }
      18             : 
      19             : static inline int
      20           0 : fd_execle_err_from_runtime_err( int err ) {
      21           0 :    switch( err ) {
      22           0 :       case FD_RUNTIME_EXECUTE_SUCCESS:                                 return FD_METRICS_ENUM_TRANSACTION_RESULT_V_SUCCESS_IDX;
      23             : 
      24           0 :       case FD_RUNTIME_TXN_ERR_INSTRUCTION_ERROR:                       return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INSTRUCTION_ERROR_IDX;
      25             : 
      26           0 :       case FD_RUNTIME_TXN_ERR_ACCOUNT_NOT_FOUND:                       return FD_METRICS_ENUM_TRANSACTION_RESULT_V_ACCOUNT_NOT_FOUND_IDX;
      27           0 :       case FD_RUNTIME_TXN_ERR_PROGRAM_ACCOUNT_NOT_FOUND:               return FD_METRICS_ENUM_TRANSACTION_RESULT_V_PROGRAM_ACCOUNT_NOT_FOUND_IDX;
      28           0 :       case FD_RUNTIME_TXN_ERR_INSUFFICIENT_FUNDS_FOR_FEE:              return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INSUFFICIENT_FUNDS_FOR_FEE_IDX;
      29           0 :       case FD_RUNTIME_TXN_ERR_INVALID_ACCOUNT_FOR_FEE:                 return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INVALID_ACCOUNT_FOR_FEE_IDX;
      30           0 :       case FD_RUNTIME_TXN_ERR_ALREADY_PROCESSED:                       return FD_METRICS_ENUM_TRANSACTION_RESULT_V_ALREADY_PROCESSED_IDX;
      31           0 :       case FD_RUNTIME_TXN_ERR_BLOCKHASH_NOT_FOUND:                     return FD_METRICS_ENUM_TRANSACTION_RESULT_V_BLOCKHASH_NOT_FOUND_IDX;
      32           0 :       case FD_RUNTIME_TXN_ERR_BLOCKHASH_FAIL_ADVANCE_NONCE_INSTR:      return FD_METRICS_ENUM_TRANSACTION_RESULT_V_NONCE_ADVANCE_FAILED_IDX;
      33           0 :       case FD_RUNTIME_TXN_ERR_BLOCKHASH_FAIL_WRONG_NONCE:              return FD_METRICS_ENUM_TRANSACTION_RESULT_V_NONCE_WRONG_BLOCKHASH_IDX;
      34           0 :       case FD_RUNTIME_TXN_ERR_BLOCKHASH_NONCE_ALREADY_ADVANCED:        return FD_METRICS_ENUM_TRANSACTION_RESULT_V_NONCE_ALREADY_ADVANCED_IDX;
      35           0 :       case FD_RUNTIME_TXN_ERR_INVALID_PROGRAM_FOR_EXECUTION:           return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INVALID_PROGRAM_FOR_EXECUTION_IDX;
      36           0 :       case FD_RUNTIME_TXN_ERR_ADDRESS_LOOKUP_TABLE_NOT_FOUND:          return FD_METRICS_ENUM_TRANSACTION_RESULT_V_ADDRESS_LOOKUP_TABLE_NOT_FOUND_IDX;
      37           0 :       case FD_RUNTIME_TXN_ERR_INVALID_ADDRESS_LOOKUP_TABLE_OWNER:      return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INVALID_ADDRESS_LOOKUP_TABLE_OWNER_IDX;
      38           0 :       case FD_RUNTIME_TXN_ERR_INVALID_ADDRESS_LOOKUP_TABLE_DATA:       return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INVALID_ADDRESS_LOOKUP_TABLE_DATA_IDX;
      39           0 :       case FD_RUNTIME_TXN_ERR_INVALID_ADDRESS_LOOKUP_TABLE_INDEX:      return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INVALID_ADDRESS_LOOKUP_TABLE_INDEX_IDX;
      40           0 :       case FD_RUNTIME_TXN_ERR_MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED:  return FD_METRICS_ENUM_TRANSACTION_RESULT_V_MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED_IDX;
      41           0 :       case FD_RUNTIME_TXN_ERR_DUPLICATE_INSTRUCTION:                   return FD_METRICS_ENUM_TRANSACTION_RESULT_V_DUPLICATE_INSTRUCTION_IDX;
      42           0 :       case FD_RUNTIME_TXN_ERR_INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT: return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT_IDX;
      43           0 :       case FD_RUNTIME_TXN_ERR_SANITIZE_FAILURE:                        return FD_METRICS_ENUM_TRANSACTION_RESULT_V_SANITIZE_FAILURE_IDX;
      44           0 :       case FD_RUNTIME_TXN_ERR_UNSUPPORTED_VERSION:                     return FD_METRICS_ENUM_TRANSACTION_RESULT_V_UNSUPPORTED_VERSION_IDX;
      45             : 
      46           0 :       case FD_RUNTIME_TXN_ERR_ACCOUNT_LOADED_TWICE:                    return FD_METRICS_ENUM_TRANSACTION_RESULT_V_ACCOUNT_LOADED_TWICE_IDX;
      47           0 :       case FD_RUNTIME_TXN_ERR_SIGNATURE_FAILURE:                       return FD_METRICS_ENUM_TRANSACTION_RESULT_V_SIGNATURE_FAILURE_IDX;
      48           0 :       case FD_RUNTIME_TXN_ERR_TOO_MANY_ACCOUNT_LOCKS:                  return FD_METRICS_ENUM_TRANSACTION_RESULT_V_TOO_MANY_ACCOUNT_LOCKS_IDX;
      49             : 
      50           0 :       case FD_RUNTIME_TXN_ERR_INSUFFICIENT_FUNDS_FOR_RENT:             return FD_METRICS_ENUM_TRANSACTION_RESULT_V_INSUFFICIENT_FUNDS_FOR_RENT_IDX;
      51           0 :       case FD_RUNTIME_TXN_ERR_UNBALANCED_TRANSACTION:                  return FD_METRICS_ENUM_TRANSACTION_RESULT_V_UNBALANCED_TRANSACTION_IDX;
      52             : 
      53           0 :       case FD_RUNTIME_TXN_ERR_BUNDLE_PEER:                             return FD_METRICS_ENUM_TRANSACTION_RESULT_V_BUNDLE_PEER_IDX;
      54             : 
      55           0 :       case FD_RUNTIME_TXN_ERR_WOULD_EXCEED_MAX_BLOCK_COST_LIMIT:
      56           0 :       case FD_RUNTIME_TXN_ERR_WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT:
      57           0 :       case FD_RUNTIME_TXN_ERR_WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMIT:
      58           0 :       case FD_RUNTIME_TXN_ERR_WOULD_EXCEED_MAX_VOTE_COST_LIMIT:
      59           0 :       case FD_RUNTIME_TXN_ERR_WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMIT:
      60           0 :       default: FD_LOG_ERR(( "Unknown runtime error %d", err ));
      61           0 :     }
      62             : 
      63           0 :     return 0;
      64           0 : }
      65             : 
      66             : #endif /* HEADER_fd_src_discof_execle_fd_execle_err_h */

Generated by: LCOV version 1.14