Line data Source code
1 : #ifndef HEADER_fd_src_flamenco_runtime_context_fd_exec_slot_ctx_h 2 : #define HEADER_fd_src_flamenco_runtime_context_fd_exec_slot_ctx_h 3 : 4 : #include "../../../funk/fd_funk.h" 5 : #include "../../../util/rng/fd_rng.h" 6 : #include "../../../util/wksp/fd_wksp.h" 7 : 8 : #include "../../types/fd_types.h" 9 : #include "../fd_txncache.h" 10 : #include "../fd_bank.h" 11 : #include "../../types/fd_types.h" 12 : #include "../../../funk/fd_funk_txn.h" 13 : 14 : /* fd_exec_slot_ctx_t is the context that stays constant during all 15 : transactions in a block. */ 16 : 17 : /* TODO: The slot ctx should be removed entirely. Pointers to 18 : funk, funk_txn, status_cache should be passed in 19 : seperately.*/ 20 : 21 : struct fd_exec_slot_ctx { 22 : ulong magic; /* ==FD_EXEC_SLOT_CTX_MAGIC */ 23 : 24 : fd_banks_t * banks; /* TODO: Remove fd_banks_t when fd_ledger is removed*/ 25 : fd_bank_t * bank; 26 : 27 : fd_funk_t * funk; 28 : fd_funk_txn_t * funk_txn; 29 : 30 : fd_txncache_t * status_cache; 31 : 32 : fd_capture_ctx_t * capture_ctx; 33 : 34 : uint silent : 1; 35 : }; 36 : 37 3 : #define FD_EXEC_SLOT_CTX_ALIGN (alignof(fd_exec_slot_ctx_t)) 38 3 : #define FD_EXEC_SLOT_CTX_FOOTPRINT (sizeof (fd_exec_slot_ctx_t)) 39 12 : #define FD_EXEC_SLOT_CTX_MAGIC (0xC2287BA2A5E6FC3DUL) /* random */ 40 : 41 : FD_PROTOTYPES_BEGIN 42 : 43 : void * 44 : fd_exec_slot_ctx_new( void * mem ); 45 : 46 : fd_exec_slot_ctx_t * 47 : fd_exec_slot_ctx_join( void * mem ); 48 : 49 : FD_PROTOTYPES_END 50 : 51 : #endif /* HEADER_fd_src_flamenco_runtime_context_fd_exec_slot_ctx_h */