LCOV - code coverage report
Current view: top level - discof/replay - fd_execrp.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 5 0.0 %
Date: 2026-02-13 06:06:24 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef HEADER_fd_src_discof_replay_fd_exec_h
       2             : #define HEADER_fd_src_discof_replay_fd_exec_h
       3             : 
       4             : #include "../../disco/fd_txn_p.h"
       5             : #include "../../flamenco/types/fd_types_custom.h"
       6             : 
       7             : /* FIXME: SIMD-0180 - set the correct epochs */
       8           0 : #define FD_SIMD0180_ACTIVE_EPOCH_TESTNET (829)
       9           0 : #define FD_SIMD0180_ACTIVE_EPOCH_MAINNET (841)
      10             : 
      11             : /* Exec tile task types. */
      12           0 : #define FD_EXECRP_TT_TXN_EXEC      (1UL) /* Transaction execution. */
      13           0 : #define FD_EXECRP_TT_TXN_SIGVERIFY (2UL) /* Transaction sigverify. */
      14             : #define FD_EXECRP_TT_LTHASH        (3UL) /* Account lthash. */
      15           0 : #define FD_EXECRP_TT_POH_HASH      (4UL) /* PoH hashing. */
      16             : 
      17             : /* Sent from the replay tile to the exec tiles.  These describe one of
      18             :    several types of tasks for an exec tile.  An idx to the bank in the
      19             :    bank pool must be sent over because the key of the bank will change
      20             :    as FEC sets are processed. */
      21             : 
      22             : struct fd_execrp_txn_exec_msg {
      23             :   ulong      bank_idx;
      24             :   ulong      txn_idx;
      25             :   fd_txn_p_t txn[ 1 ];
      26             : 
      27             :   /* Used currently by solcap to maintain ordering of messages
      28             :      this will change to using txn sigs eventually */
      29             :   ulong      capture_txn_idx;
      30             : };
      31             : typedef struct fd_execrp_txn_exec_msg fd_execrp_txn_exec_msg_t;
      32             : 
      33             : struct fd_execrp_txn_sigverify_msg {
      34             :   ulong      bank_idx;
      35             :   ulong      txn_idx;
      36             :   fd_txn_p_t txn[ 1 ];
      37             : };
      38             : typedef struct fd_execrp_txn_sigverify_msg fd_execrp_txn_sigverify_msg_t;
      39             : 
      40             : struct fd_execrp_poh_hash_msg {
      41             :   ulong     bank_idx;
      42             :   ulong     mblk_idx;
      43             :   ulong     hashcnt;
      44             :   fd_hash_t hash[ 1 ];
      45             : };
      46             : typedef struct fd_execrp_poh_hash_msg fd_execrp_poh_hash_msg_t;
      47             : 
      48             : union fd_execrp_task_msg {
      49             :   fd_execrp_txn_exec_msg_t      txn_exec;
      50             :   fd_execrp_txn_sigverify_msg_t txn_sigverify;
      51             :   fd_execrp_poh_hash_msg_t      poh_hash;
      52             : };
      53             : 
      54             : typedef union fd_execrp_task_msg fd_execrp_task_msg_t;
      55             : 
      56             : /* Sent from exec tiles to the replay tile, notifying the replay tile
      57             :    that a task has been completed.  That is, if the task has any
      58             :    observable side effects, such as updates to accounts, then those side
      59             :    effects are fully visible on any other exec tile. */
      60             : 
      61             : struct fd_execrp_txn_exec_done_msg {
      62             :   ulong txn_idx;
      63             :   int   err;
      64             : 
      65             :   /* used by monitoring tools */
      66             :   ulong slot;
      67             :   ushort start_shred_idx;
      68             :   ushort end_shred_idx;
      69             : };
      70             : typedef struct fd_execrp_txn_exec_done_msg fd_execrp_txn_exec_done_msg_t;
      71             : 
      72             : struct fd_execrp_txn_sigverify_done_msg {
      73             :   ulong txn_idx;
      74             :   int   err;
      75             : };
      76             : typedef struct fd_execrp_txn_sigverify_done_msg fd_execrp_txn_sigverify_done_msg_t;
      77             : 
      78             : struct fd_execrp_poh_hash_done_msg {
      79             :   ulong     mblk_idx;
      80             :   ulong     hashcnt;
      81             :   fd_hash_t hash[ 1 ];
      82             : };
      83             : typedef struct fd_execrp_poh_hash_done_msg fd_execrp_poh_hash_done_msg_t;
      84             : 
      85             : struct fd_execrp_task_done_msg {
      86             :   ulong bank_idx;
      87             :   union {
      88             :     fd_execrp_txn_exec_done_msg_t      txn_exec[ 1 ];
      89             :     fd_execrp_txn_sigverify_done_msg_t txn_sigverify[ 1 ];
      90             :     fd_execrp_poh_hash_done_msg_t      poh_hash[ 1 ];
      91             :   };
      92             : };
      93             : typedef struct fd_execrp_task_done_msg fd_execrp_task_done_msg_t;
      94             : 
      95             : #endif /* HEADER_fd_src_discof_replay_fd_execrp_h */

Generated by: LCOV version 1.14