LCOV - code coverage report
Current view: top level - flamenco/types - fd_types.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 92 626 14.7 %
Date: 2025-03-20 12:08:36 Functions: 9 3560 0.3 %

          Line data    Source code
       1             : // This is an auto-generated file. To add entries, edit fd_types.json
       2             : #ifndef HEADER_FD_RUNTIME_TYPES
       3             : #define HEADER_FD_RUNTIME_TYPES
       4             : 
       5             : #include "fd_bincode.h"
       6             : #include "../../ballet/utf8/fd_utf8.h"
       7             : #include "fd_types_custom.h"
       8          39 : #define FD_ACCOUNT_META_MAGIC 9823
       9             : 
      10             : /* sdk/program/src/feature.rs#L22 */
      11             : /* Encoded Size: Dynamic */
      12             : struct __attribute__((aligned(8UL))) fd_feature {
      13             :   ulong activated_at;
      14             :   uchar has_activated_at;
      15             : };
      16             : typedef struct fd_feature fd_feature_t;
      17           0 : #define FD_FEATURE_FOOTPRINT sizeof(fd_feature_t)
      18           0 : #define FD_FEATURE_ALIGN (8UL)
      19             : 
      20             : struct __attribute__((aligned(8UL))) fd_feature_global {
      21             :   ulong activated_at;
      22             :   uchar has_activated_at;
      23             : };
      24             : typedef struct fd_feature_global fd_feature_global_t;
      25             : #define FD_FEATURE_GLOBAL_FOOTPRINT sizeof(fd_feature_global_t)
      26             : #define FD_FEATURE_GLOBAL_ALIGN (8UL)
      27             : 
      28             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/fee_calculator.rs#L9 */
      29             : /* Encoded Size: Fixed (8 bytes) */
      30             : struct __attribute__((aligned(8UL))) fd_fee_calculator {
      31             :   ulong lamports_per_signature;
      32             : };
      33             : typedef struct fd_fee_calculator fd_fee_calculator_t;
      34           0 : #define FD_FEE_CALCULATOR_FOOTPRINT sizeof(fd_fee_calculator_t)
      35           0 : #define FD_FEE_CALCULATOR_ALIGN (8UL)
      36             : 
      37             : struct __attribute__((aligned(8UL))) fd_fee_calculator_global {
      38             :   ulong lamports_per_signature;
      39             : };
      40             : typedef struct fd_fee_calculator_global fd_fee_calculator_global_t;
      41             : #define FD_FEE_CALCULATOR_GLOBAL_FOOTPRINT sizeof(fd_fee_calculator_global_t)
      42             : #define FD_FEE_CALCULATOR_GLOBAL_ALIGN (8UL)
      43             : 
      44             : /* Encoded Size: Fixed (24 bytes) */
      45             : struct __attribute__((aligned(8UL))) fd_hash_age {
      46             :   fd_fee_calculator_t fee_calculator;
      47             :   ulong hash_index;
      48             :   ulong timestamp;
      49             : };
      50             : typedef struct fd_hash_age fd_hash_age_t;
      51           0 : #define FD_HASH_AGE_FOOTPRINT sizeof(fd_hash_age_t)
      52           0 : #define FD_HASH_AGE_ALIGN (8UL)
      53             : 
      54             : struct __attribute__((aligned(8UL))) fd_hash_age_global {
      55             :   fd_fee_calculator_t fee_calculator;
      56             :   ulong hash_index;
      57             :   ulong timestamp;
      58             : };
      59             : typedef struct fd_hash_age_global fd_hash_age_global_t;
      60             : #define FD_HASH_AGE_GLOBAL_FOOTPRINT sizeof(fd_hash_age_global_t)
      61             : #define FD_HASH_AGE_GLOBAL_ALIGN (8UL)
      62             : 
      63             : /* Encoded Size: Fixed (56 bytes) */
      64             : struct __attribute__((aligned(8UL))) fd_hash_hash_age_pair {
      65             :   fd_hash_t key;
      66             :   fd_hash_age_t val;
      67             : };
      68             : typedef struct fd_hash_hash_age_pair fd_hash_hash_age_pair_t;
      69           0 : #define FD_HASH_HASH_AGE_PAIR_FOOTPRINT sizeof(fd_hash_hash_age_pair_t)
      70           0 : #define FD_HASH_HASH_AGE_PAIR_ALIGN (8UL)
      71             : 
      72             : struct __attribute__((aligned(8UL))) fd_hash_hash_age_pair_global {
      73             :   fd_hash_t key;
      74             :   fd_hash_age_t val;
      75             : };
      76             : typedef struct fd_hash_hash_age_pair_global fd_hash_hash_age_pair_global_t;
      77             : #define FD_HASH_HASH_AGE_PAIR_GLOBAL_FOOTPRINT sizeof(fd_hash_hash_age_pair_global_t)
      78             : #define FD_HASH_HASH_AGE_PAIR_GLOBAL_ALIGN (8UL)
      79             : 
      80             : /* Encoded Size: Dynamic */
      81             : struct __attribute__((aligned(8UL))) fd_block_hash_vec {
      82             :   ulong last_hash_index;
      83             :   fd_hash_t * last_hash;
      84             :   ulong ages_len;
      85             :   fd_hash_hash_age_pair_t * ages;
      86             :   ulong max_age;
      87             : };
      88             : typedef struct fd_block_hash_vec fd_block_hash_vec_t;
      89           0 : #define FD_BLOCK_HASH_VEC_FOOTPRINT sizeof(fd_block_hash_vec_t)
      90           0 : #define FD_BLOCK_HASH_VEC_ALIGN (8UL)
      91             : 
      92             : struct __attribute__((aligned(8UL))) fd_block_hash_vec_global {
      93             :   ulong last_hash_index;
      94             :   ulong last_hash_gaddr;
      95             :   ulong ages_len;
      96             :   ulong ages_gaddr;
      97             :   ulong max_age;
      98             : };
      99             : typedef struct fd_block_hash_vec_global fd_block_hash_vec_global_t;
     100             : #define FD_BLOCK_HASH_VEC_GLOBAL_FOOTPRINT sizeof(fd_block_hash_vec_global_t)
     101             : #define FD_BLOCK_HASH_VEC_GLOBAL_ALIGN (8UL)
     102             : 
     103             : typedef struct fd_hash_hash_age_pair_t_mapnode fd_hash_hash_age_pair_t_mapnode_t;
     104             : #define REDBLK_T fd_hash_hash_age_pair_t_mapnode_t
     105             : #define REDBLK_NAME fd_hash_hash_age_pair_t_map
     106             : #define REDBLK_IMPL_STYLE 1
     107             : #include "../../util/tmpl/fd_redblack.c"
     108             : struct fd_hash_hash_age_pair_t_mapnode {
     109             :     fd_hash_hash_age_pair_t elem;
     110             :     ulong redblack_parent;
     111             :     ulong redblack_left;
     112             :     ulong redblack_right;
     113             :     int redblack_color;
     114             : };
     115             : static inline fd_hash_hash_age_pair_t_mapnode_t *
     116           9 : fd_hash_hash_age_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
     117           9 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     118           9 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_hash_hash_age_pair_t_map_align() );
     119           9 :   void * map_mem = *alloc_mem;
     120           9 :   *alloc_mem = (uchar *)*alloc_mem + fd_hash_hash_age_pair_t_map_footprint( len );
     121           9 :   return fd_hash_hash_age_pair_t_map_join( fd_hash_hash_age_pair_t_map_new( map_mem, len ) );
     122           9 : }
     123             : /* Encoded Size: Dynamic */
     124             : struct __attribute__((aligned(8UL))) fd_block_hash_queue {
     125             :   ulong last_hash_index;
     126             :   fd_hash_t * last_hash;
     127             :   fd_hash_hash_age_pair_t_mapnode_t * ages_pool;
     128             :   fd_hash_hash_age_pair_t_mapnode_t * ages_root;
     129             :   ulong max_age;
     130             : };
     131             : typedef struct fd_block_hash_queue fd_block_hash_queue_t;
     132           0 : #define FD_BLOCK_HASH_QUEUE_FOOTPRINT sizeof(fd_block_hash_queue_t)
     133           0 : #define FD_BLOCK_HASH_QUEUE_ALIGN (8UL)
     134             : 
     135             : struct __attribute__((aligned(8UL))) fd_block_hash_queue_global {
     136             :   ulong last_hash_index;
     137             :   ulong last_hash_gaddr;
     138             :   ulong ages_pool_gaddr;
     139             :   ulong ages_root_gaddr;
     140             :   ulong max_age;
     141             : };
     142             : typedef struct fd_block_hash_queue_global fd_block_hash_queue_global_t;
     143             : #define FD_BLOCK_HASH_QUEUE_GLOBAL_FOOTPRINT sizeof(fd_block_hash_queue_global_t)
     144             : #define FD_BLOCK_HASH_QUEUE_GLOBAL_ALIGN (8UL)
     145             : 
     146             : /* Encoded Size: Fixed (33 bytes) */
     147             : struct __attribute__((aligned(8UL))) fd_fee_rate_governor {
     148             :   ulong target_lamports_per_signature;
     149             :   ulong target_signatures_per_slot;
     150             :   ulong min_lamports_per_signature;
     151             :   ulong max_lamports_per_signature;
     152             :   uchar burn_percent;
     153             : };
     154             : typedef struct fd_fee_rate_governor fd_fee_rate_governor_t;
     155           0 : #define FD_FEE_RATE_GOVERNOR_FOOTPRINT sizeof(fd_fee_rate_governor_t)
     156           0 : #define FD_FEE_RATE_GOVERNOR_ALIGN (8UL)
     157             : 
     158             : struct __attribute__((aligned(8UL))) fd_fee_rate_governor_global {
     159             :   ulong target_lamports_per_signature;
     160             :   ulong target_signatures_per_slot;
     161             :   ulong min_lamports_per_signature;
     162             :   ulong max_lamports_per_signature;
     163             :   uchar burn_percent;
     164             : };
     165             : typedef struct fd_fee_rate_governor_global fd_fee_rate_governor_global_t;
     166             : #define FD_FEE_RATE_GOVERNOR_GLOBAL_FOOTPRINT sizeof(fd_fee_rate_governor_global_t)
     167             : #define FD_FEE_RATE_GOVERNOR_GLOBAL_ALIGN (8UL)
     168             : 
     169             : /* Encoded Size: Fixed (16 bytes) */
     170             : struct __attribute__((aligned(8UL))) fd_slot_pair {
     171             :   ulong slot;
     172             :   ulong val;
     173             : };
     174             : typedef struct fd_slot_pair fd_slot_pair_t;
     175          69 : #define FD_SLOT_PAIR_FOOTPRINT sizeof(fd_slot_pair_t)
     176          15 : #define FD_SLOT_PAIR_ALIGN (8UL)
     177             : 
     178             : struct __attribute__((aligned(8UL))) fd_slot_pair_global {
     179             :   ulong slot;
     180             :   ulong val;
     181             : };
     182             : typedef struct fd_slot_pair_global fd_slot_pair_global_t;
     183             : #define FD_SLOT_PAIR_GLOBAL_FOOTPRINT sizeof(fd_slot_pair_global_t)
     184             : #define FD_SLOT_PAIR_GLOBAL_ALIGN (8UL)
     185             : 
     186             : /* Encoded Size: Dynamic */
     187             : struct __attribute__((aligned(8UL))) fd_hard_forks {
     188             :   ulong hard_forks_len;
     189             :   fd_slot_pair_t * hard_forks;
     190             : };
     191             : typedef struct fd_hard_forks fd_hard_forks_t;
     192           0 : #define FD_HARD_FORKS_FOOTPRINT sizeof(fd_hard_forks_t)
     193           0 : #define FD_HARD_FORKS_ALIGN (8UL)
     194             : 
     195             : struct __attribute__((aligned(8UL))) fd_hard_forks_global {
     196             :   ulong hard_forks_len;
     197             :   ulong hard_forks_gaddr;
     198             : };
     199             : typedef struct fd_hard_forks_global fd_hard_forks_global_t;
     200             : #define FD_HARD_FORKS_GLOBAL_FOOTPRINT sizeof(fd_hard_forks_global_t)
     201             : #define FD_HARD_FORKS_GLOBAL_ALIGN (8UL)
     202             : 
     203             : /* Encoded Size: Fixed (48 bytes) */
     204             : struct __attribute__((aligned(8UL))) fd_inflation {
     205             :   double initial;
     206             :   double terminal;
     207             :   double taper;
     208             :   double foundation;
     209             :   double foundation_term;
     210             :   double unused;
     211             : };
     212             : typedef struct fd_inflation fd_inflation_t;
     213           0 : #define FD_INFLATION_FOOTPRINT sizeof(fd_inflation_t)
     214           0 : #define FD_INFLATION_ALIGN (8UL)
     215             : 
     216             : struct __attribute__((aligned(8UL))) fd_inflation_global {
     217             :   double initial;
     218             :   double terminal;
     219             :   double taper;
     220             :   double foundation;
     221             :   double foundation_term;
     222             :   double unused;
     223             : };
     224             : typedef struct fd_inflation_global fd_inflation_global_t;
     225             : #define FD_INFLATION_GLOBAL_FOOTPRINT sizeof(fd_inflation_global_t)
     226             : #define FD_INFLATION_GLOBAL_ALIGN (8UL)
     227             : 
     228             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/rent.rs#L11 */
     229             : /* Encoded Size: Fixed (17 bytes) */
     230             : struct __attribute__((aligned(8UL))) fd_rent {
     231             :   ulong lamports_per_uint8_year;
     232             :   double exemption_threshold;
     233             :   uchar burn_percent;
     234             : };
     235             : typedef struct fd_rent fd_rent_t;
     236           0 : #define FD_RENT_FOOTPRINT sizeof(fd_rent_t)
     237           0 : #define FD_RENT_ALIGN (8UL)
     238             : 
     239             : struct __attribute__((aligned(8UL))) fd_rent_global {
     240             :   ulong lamports_per_uint8_year;
     241             :   double exemption_threshold;
     242             :   uchar burn_percent;
     243             : };
     244             : typedef struct fd_rent_global fd_rent_global_t;
     245             : #define FD_RENT_GLOBAL_FOOTPRINT sizeof(fd_rent_global_t)
     246             : #define FD_RENT_GLOBAL_ALIGN (8UL)
     247             : 
     248             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/epoch_schedule.rs#L26 */
     249             : /* Encoded Size: Fixed (33 bytes) */
     250             : struct __attribute__((aligned(1UL))) fd_epoch_schedule {
     251             :   ulong slots_per_epoch;
     252             :   ulong leader_schedule_slot_offset;
     253             :   uchar warmup;
     254             :   ulong first_normal_epoch;
     255             :   ulong first_normal_slot;
     256             : };
     257             : typedef struct fd_epoch_schedule fd_epoch_schedule_t;
     258           0 : #define FD_EPOCH_SCHEDULE_FOOTPRINT sizeof(fd_epoch_schedule_t)
     259           0 : #define FD_EPOCH_SCHEDULE_ALIGN (1UL)
     260             : 
     261             : struct __attribute__((aligned(1UL))) fd_epoch_schedule_global {
     262             :   ulong slots_per_epoch;
     263             :   ulong leader_schedule_slot_offset;
     264             :   uchar warmup;
     265             :   ulong first_normal_epoch;
     266             :   ulong first_normal_slot;
     267             : };
     268             : typedef struct fd_epoch_schedule_global fd_epoch_schedule_global_t;
     269             : #define FD_EPOCH_SCHEDULE_GLOBAL_FOOTPRINT sizeof(fd_epoch_schedule_global_t)
     270             : #define FD_EPOCH_SCHEDULE_GLOBAL_ALIGN (1UL)
     271             : 
     272             : /* Encoded Size: Fixed (66 bytes) */
     273             : struct __attribute__((aligned(8UL))) fd_rent_collector {
     274             :   ulong epoch;
     275             :   fd_epoch_schedule_t epoch_schedule;
     276             :   double slots_per_year;
     277             :   fd_rent_t rent;
     278             : };
     279             : typedef struct fd_rent_collector fd_rent_collector_t;
     280           0 : #define FD_RENT_COLLECTOR_FOOTPRINT sizeof(fd_rent_collector_t)
     281           0 : #define FD_RENT_COLLECTOR_ALIGN (8UL)
     282             : 
     283             : struct __attribute__((aligned(8UL))) fd_rent_collector_global {
     284             :   ulong epoch;
     285             :   fd_epoch_schedule_t epoch_schedule;
     286             :   double slots_per_year;
     287             :   fd_rent_t rent;
     288             : };
     289             : typedef struct fd_rent_collector_global fd_rent_collector_global_t;
     290             : #define FD_RENT_COLLECTOR_GLOBAL_FOOTPRINT sizeof(fd_rent_collector_global_t)
     291             : #define FD_RENT_COLLECTOR_GLOBAL_ALIGN (8UL)
     292             : 
     293             : /* Encoded Size: Fixed (32 bytes) */
     294             : struct __attribute__((aligned(8UL))) fd_stake_history_entry {
     295             :   ulong epoch;
     296             :   ulong effective;
     297             :   ulong activating;
     298             :   ulong deactivating;
     299             : };
     300             : typedef struct fd_stake_history_entry fd_stake_history_entry_t;
     301           0 : #define FD_STAKE_HISTORY_ENTRY_FOOTPRINT sizeof(fd_stake_history_entry_t)
     302           0 : #define FD_STAKE_HISTORY_ENTRY_ALIGN (8UL)
     303             : 
     304             : struct __attribute__((aligned(8UL))) fd_stake_history_entry_global {
     305             :   ulong epoch;
     306             :   ulong effective;
     307             :   ulong activating;
     308             :   ulong deactivating;
     309             : };
     310             : typedef struct fd_stake_history_entry_global fd_stake_history_entry_global_t;
     311             : #define FD_STAKE_HISTORY_ENTRY_GLOBAL_FOOTPRINT sizeof(fd_stake_history_entry_global_t)
     312             : #define FD_STAKE_HISTORY_ENTRY_GLOBAL_ALIGN (8UL)
     313             : 
     314             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake_history.rs#L12-L75 */
     315             : /* Encoded Size: Dynamic */
     316             : struct __attribute__((aligned(8UL))) fd_stake_history {
     317             :   ulong fd_stake_history_len;
     318             :   ulong fd_stake_history_size;
     319             :   ulong fd_stake_history_offset;
     320             :   fd_stake_history_entry_t fd_stake_history[512];
     321             : };
     322             : typedef struct fd_stake_history fd_stake_history_t;
     323           0 : #define FD_STAKE_HISTORY_FOOTPRINT sizeof(fd_stake_history_t)
     324           0 : #define FD_STAKE_HISTORY_ALIGN (8UL)
     325             : 
     326             : struct __attribute__((aligned(8UL))) fd_stake_history_global {
     327             :   ulong fd_stake_history_len;
     328             :   ulong fd_stake_history_size;
     329             :   ulong fd_stake_history_offset;
     330             :   fd_stake_history_entry_global_t fd_stake_history[512];
     331             : };
     332             : typedef struct fd_stake_history_global fd_stake_history_global_t;
     333             : #define FD_STAKE_HISTORY_GLOBAL_FOOTPRINT sizeof(fd_stake_history_global_t)
     334             : #define FD_STAKE_HISTORY_GLOBAL_ALIGN (8UL)
     335             : 
     336             : /* https://github.com/anza-xyz/agave/blob/6ac4fe32e28d8ceb4085072b61fa0c6cb09baac1/sdk/src/account.rs#L37 */
     337             : /* Encoded Size: Dynamic */
     338             : struct __attribute__((aligned(8UL))) fd_solana_account {
     339             :   ulong lamports;
     340             :   ulong data_len;
     341             :   uchar* data;
     342             :   fd_pubkey_t owner;
     343             :   uchar executable;
     344             :   ulong rent_epoch;
     345             : };
     346             : typedef struct fd_solana_account fd_solana_account_t;
     347           0 : #define FD_SOLANA_ACCOUNT_FOOTPRINT sizeof(fd_solana_account_t)
     348           0 : #define FD_SOLANA_ACCOUNT_ALIGN (8UL)
     349             : 
     350             : struct __attribute__((aligned(8UL))) fd_solana_account_global {
     351             :   ulong lamports;
     352             :   ulong data_len;
     353             :   ulong data_gaddr;
     354             :   fd_pubkey_t owner;
     355             :   uchar executable;
     356             :   ulong rent_epoch;
     357             : };
     358             : typedef struct fd_solana_account_global fd_solana_account_global_t;
     359             : #define FD_SOLANA_ACCOUNT_GLOBAL_FOOTPRINT sizeof(fd_solana_account_global_t)
     360             : #define FD_SOLANA_ACCOUNT_GLOBAL_ALIGN (8UL)
     361             : 
     362             : /* Encoded Size: Fixed (48 bytes) */
     363             : struct __attribute__((packed)) fd_solana_account_stored_meta {
     364             :   ulong write_version_obsolete;
     365             :   ulong data_len;
     366             :   uchar pubkey[32];
     367             : };
     368             : typedef struct fd_solana_account_stored_meta fd_solana_account_stored_meta_t;
     369             : #define FD_SOLANA_ACCOUNT_STORED_META_FOOTPRINT sizeof(fd_solana_account_stored_meta_t)
     370             : #define FD_SOLANA_ACCOUNT_STORED_META_ALIGN (8UL)
     371             : 
     372             : struct __attribute__((packed)) fd_solana_account_stored_meta_global {
     373             :   ulong write_version_obsolete;
     374             :   ulong data_len;
     375             :   uchar pubkey[32];
     376             : };
     377             : typedef struct fd_solana_account_stored_meta_global fd_solana_account_stored_meta_global_t;
     378             : #define FD_SOLANA_ACCOUNT_STORED_META_GLOBAL_FOOTPRINT sizeof(fd_solana_account_stored_meta_global_t)
     379             : #define FD_SOLANA_ACCOUNT_STORED_META_GLOBAL_ALIGN (8UL)
     380             : 
     381             : /* Encoded Size: Fixed (52 bytes) */
     382             : struct __attribute__((packed)) fd_solana_account_meta {
     383             :   ulong lamports;
     384             :   ulong rent_epoch;
     385             :   uchar owner[32];
     386             :   uchar executable;
     387             :   uchar padding[3];
     388             : };
     389             : typedef struct fd_solana_account_meta fd_solana_account_meta_t;
     390             : #define FD_SOLANA_ACCOUNT_META_FOOTPRINT sizeof(fd_solana_account_meta_t)
     391             : #define FD_SOLANA_ACCOUNT_META_ALIGN (8UL)
     392             : 
     393             : struct __attribute__((packed)) fd_solana_account_meta_global {
     394             :   ulong lamports;
     395             :   ulong rent_epoch;
     396             :   uchar owner[32];
     397             :   uchar executable;
     398             :   uchar padding[3];
     399             : };
     400             : typedef struct fd_solana_account_meta_global fd_solana_account_meta_global_t;
     401             : #define FD_SOLANA_ACCOUNT_META_GLOBAL_FOOTPRINT sizeof(fd_solana_account_meta_global_t)
     402             : #define FD_SOLANA_ACCOUNT_META_GLOBAL_ALIGN (8UL)
     403             : 
     404             : /* Encoded Size: Fixed (136 bytes) */
     405             : struct __attribute__((packed)) fd_solana_account_hdr {
     406             :   fd_solana_account_stored_meta_t meta;
     407             :   fd_solana_account_meta_t info;
     408             :   uchar padding[4];
     409             :   fd_hash_t hash;
     410             : };
     411             : typedef struct fd_solana_account_hdr fd_solana_account_hdr_t;
     412             : #define FD_SOLANA_ACCOUNT_HDR_FOOTPRINT sizeof(fd_solana_account_hdr_t)
     413             : #define FD_SOLANA_ACCOUNT_HDR_ALIGN (8UL)
     414             : 
     415             : struct __attribute__((packed)) fd_solana_account_hdr_global {
     416             :   fd_solana_account_stored_meta_t meta;
     417             :   fd_solana_account_meta_t info;
     418             :   uchar padding[4];
     419             :   fd_hash_t hash;
     420             : };
     421             : typedef struct fd_solana_account_hdr_global fd_solana_account_hdr_global_t;
     422             : #define FD_SOLANA_ACCOUNT_HDR_GLOBAL_FOOTPRINT sizeof(fd_solana_account_hdr_global_t)
     423             : #define FD_SOLANA_ACCOUNT_HDR_GLOBAL_ALIGN (8UL)
     424             : 
     425             : /* Encoded Size: Fixed (104 bytes) */
     426             : struct __attribute__((packed)) fd_account_meta {
     427             :   ushort magic;
     428             :   ushort hlen;
     429             :   ulong dlen;
     430             :   uchar hash[32];
     431             :   ulong slot;
     432             :   fd_solana_account_meta_t info;
     433             : };
     434             : typedef struct fd_account_meta fd_account_meta_t;
     435           0 : #define FD_ACCOUNT_META_FOOTPRINT sizeof(fd_account_meta_t)
     436             : #define FD_ACCOUNT_META_ALIGN (8UL)
     437             : 
     438             : struct __attribute__((packed)) fd_account_meta_global {
     439             :   ushort magic;
     440             :   ushort hlen;
     441             :   ulong dlen;
     442             :   uchar hash[32];
     443             :   ulong slot;
     444             :   fd_solana_account_meta_t info;
     445             : };
     446             : typedef struct fd_account_meta_global fd_account_meta_global_t;
     447             : #define FD_ACCOUNT_META_GLOBAL_FOOTPRINT sizeof(fd_account_meta_global_t)
     448             : #define FD_ACCOUNT_META_GLOBAL_ALIGN (8UL)
     449             : 
     450             : /* Encoded Size: Dynamic */
     451             : struct __attribute__((aligned(8UL))) fd_vote_accounts_pair {
     452             :   fd_pubkey_t key;
     453             :   ulong stake;
     454             :   fd_solana_account_t value;
     455             : };
     456             : typedef struct fd_vote_accounts_pair fd_vote_accounts_pair_t;
     457           0 : #define FD_VOTE_ACCOUNTS_PAIR_FOOTPRINT sizeof(fd_vote_accounts_pair_t)
     458           0 : #define FD_VOTE_ACCOUNTS_PAIR_ALIGN (8UL)
     459             : 
     460             : struct __attribute__((aligned(8UL))) fd_vote_accounts_pair_global {
     461             :   fd_pubkey_t key;
     462             :   ulong stake;
     463             :   fd_solana_account_global_t value;
     464             : };
     465             : typedef struct fd_vote_accounts_pair_global fd_vote_accounts_pair_global_t;
     466             : #define FD_VOTE_ACCOUNTS_PAIR_GLOBAL_FOOTPRINT sizeof(fd_vote_accounts_pair_global_t)
     467             : #define FD_VOTE_ACCOUNTS_PAIR_GLOBAL_ALIGN (8UL)
     468             : 
     469             : typedef struct fd_vote_accounts_pair_t_mapnode fd_vote_accounts_pair_t_mapnode_t;
     470             : #define REDBLK_T fd_vote_accounts_pair_t_mapnode_t
     471             : #define REDBLK_NAME fd_vote_accounts_pair_t_map
     472             : #define REDBLK_IMPL_STYLE 1
     473             : #include "../../util/tmpl/fd_redblack.c"
     474             : struct fd_vote_accounts_pair_t_mapnode {
     475             :     fd_vote_accounts_pair_t elem;
     476             :     ulong redblack_parent;
     477             :     ulong redblack_left;
     478             :     ulong redblack_right;
     479             :     int redblack_color;
     480             : };
     481             : static inline fd_vote_accounts_pair_t_mapnode_t *
     482          15 : fd_vote_accounts_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
     483          15 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     484          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_accounts_pair_t_map_align() );
     485          15 :   void * map_mem = *alloc_mem;
     486          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_accounts_pair_t_map_footprint( len );
     487          15 :   return fd_vote_accounts_pair_t_map_join( fd_vote_accounts_pair_t_map_new( map_mem, len ) );
     488          15 : }
     489             : /* Encoded Size: Dynamic */
     490             : struct __attribute__((aligned(8UL))) fd_vote_accounts {
     491             :   fd_vote_accounts_pair_t_mapnode_t * vote_accounts_pool;
     492             :   fd_vote_accounts_pair_t_mapnode_t * vote_accounts_root;
     493             : };
     494             : typedef struct fd_vote_accounts fd_vote_accounts_t;
     495           0 : #define FD_VOTE_ACCOUNTS_FOOTPRINT sizeof(fd_vote_accounts_t)
     496           0 : #define FD_VOTE_ACCOUNTS_ALIGN (8UL)
     497             : 
     498             : struct __attribute__((aligned(8UL))) fd_vote_accounts_global {
     499             :   ulong vote_accounts_pool_gaddr;
     500             :   ulong vote_accounts_root_gaddr;
     501             : };
     502             : typedef struct fd_vote_accounts_global fd_vote_accounts_global_t;
     503             : #define FD_VOTE_ACCOUNTS_GLOBAL_FOOTPRINT sizeof(fd_vote_accounts_global_t)
     504             : #define FD_VOTE_ACCOUNTS_GLOBAL_ALIGN (8UL)
     505             : 
     506             : /* Encoded Size: Fixed (33 bytes) */
     507             : struct __attribute__((aligned(8UL))) fd_account_keys_pair {
     508             :   fd_pubkey_t key;
     509             :   uchar exists;
     510             : };
     511             : typedef struct fd_account_keys_pair fd_account_keys_pair_t;
     512           0 : #define FD_ACCOUNT_KEYS_PAIR_FOOTPRINT sizeof(fd_account_keys_pair_t)
     513           0 : #define FD_ACCOUNT_KEYS_PAIR_ALIGN (8UL)
     514             : 
     515             : struct __attribute__((aligned(8UL))) fd_account_keys_pair_global {
     516             :   fd_pubkey_t key;
     517             :   uchar exists;
     518             : };
     519             : typedef struct fd_account_keys_pair_global fd_account_keys_pair_global_t;
     520             : #define FD_ACCOUNT_KEYS_PAIR_GLOBAL_FOOTPRINT sizeof(fd_account_keys_pair_global_t)
     521             : #define FD_ACCOUNT_KEYS_PAIR_GLOBAL_ALIGN (8UL)
     522             : 
     523             : typedef struct fd_account_keys_pair_t_mapnode fd_account_keys_pair_t_mapnode_t;
     524             : #define REDBLK_T fd_account_keys_pair_t_mapnode_t
     525             : #define REDBLK_NAME fd_account_keys_pair_t_map
     526             : #define REDBLK_IMPL_STYLE 1
     527             : #include "../../util/tmpl/fd_redblack.c"
     528             : struct fd_account_keys_pair_t_mapnode {
     529             :     fd_account_keys_pair_t elem;
     530             :     ulong redblack_parent;
     531             :     ulong redblack_left;
     532             :     ulong redblack_right;
     533             :     int redblack_color;
     534             : };
     535             : static inline fd_account_keys_pair_t_mapnode_t *
     536          18 : fd_account_keys_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
     537          18 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     538          18 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_account_keys_pair_t_map_align() );
     539          18 :   void * map_mem = *alloc_mem;
     540          18 :   *alloc_mem = (uchar *)*alloc_mem + fd_account_keys_pair_t_map_footprint( len );
     541          18 :   return fd_account_keys_pair_t_map_join( fd_account_keys_pair_t_map_new( map_mem, len ) );
     542          18 : }
     543             : /* Encoded Size: Dynamic */
     544             : struct __attribute__((aligned(8UL))) fd_account_keys {
     545             :   fd_account_keys_pair_t_mapnode_t * account_keys_pool;
     546             :   fd_account_keys_pair_t_mapnode_t * account_keys_root;
     547             : };
     548             : typedef struct fd_account_keys fd_account_keys_t;
     549           0 : #define FD_ACCOUNT_KEYS_FOOTPRINT sizeof(fd_account_keys_t)
     550           0 : #define FD_ACCOUNT_KEYS_ALIGN (8UL)
     551             : 
     552             : struct __attribute__((aligned(8UL))) fd_account_keys_global {
     553             :   ulong account_keys_pool_gaddr;
     554             :   ulong account_keys_root_gaddr;
     555             : };
     556             : typedef struct fd_account_keys_global fd_account_keys_global_t;
     557             : #define FD_ACCOUNT_KEYS_GLOBAL_FOOTPRINT sizeof(fd_account_keys_global_t)
     558             : #define FD_ACCOUNT_KEYS_GLOBAL_ALIGN (8UL)
     559             : 
     560             : /* fd_stake_weight_t assigns an Ed25519 public key (node identity) a stake weight number measured in lamports */
     561             : /* Encoded Size: Fixed (40 bytes) */
     562             : struct __attribute__((aligned(8UL))) fd_stake_weight {
     563             :   fd_pubkey_t key;
     564             :   ulong stake;
     565             : };
     566             : typedef struct fd_stake_weight fd_stake_weight_t;
     567           0 : #define FD_STAKE_WEIGHT_FOOTPRINT sizeof(fd_stake_weight_t)
     568           0 : #define FD_STAKE_WEIGHT_ALIGN (8UL)
     569             : 
     570             : struct __attribute__((aligned(8UL))) fd_stake_weight_global {
     571             :   fd_pubkey_t key;
     572             :   ulong stake;
     573             : };
     574             : typedef struct fd_stake_weight_global fd_stake_weight_global_t;
     575             : #define FD_STAKE_WEIGHT_GLOBAL_FOOTPRINT sizeof(fd_stake_weight_global_t)
     576             : #define FD_STAKE_WEIGHT_GLOBAL_ALIGN (8UL)
     577             : 
     578             : typedef struct fd_stake_weight_t_mapnode fd_stake_weight_t_mapnode_t;
     579             : #define REDBLK_T fd_stake_weight_t_mapnode_t
     580             : #define REDBLK_NAME fd_stake_weight_t_map
     581             : #define REDBLK_IMPL_STYLE 1
     582             : #include "../../util/tmpl/fd_redblack.c"
     583             : struct fd_stake_weight_t_mapnode {
     584             :     fd_stake_weight_t elem;
     585             :     ulong redblack_parent;
     586             :     ulong redblack_left;
     587             :     ulong redblack_right;
     588             :     int redblack_color;
     589             : };
     590             : static inline fd_stake_weight_t_mapnode_t *
     591           0 : fd_stake_weight_t_map_join_new( void * * alloc_mem, ulong len ) {
     592           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     593           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_stake_weight_t_map_align() );
     594           0 :   void * map_mem = *alloc_mem;
     595           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_stake_weight_t_map_footprint( len );
     596           0 :   return fd_stake_weight_t_map_join( fd_stake_weight_t_map_new( map_mem, len ) );
     597           0 : }
     598             : /* Encoded Size: Dynamic */
     599             : struct __attribute__((aligned(8UL))) fd_stake_weights {
     600             :   fd_stake_weight_t_mapnode_t * stake_weights_pool;
     601             :   fd_stake_weight_t_mapnode_t * stake_weights_root;
     602             : };
     603             : typedef struct fd_stake_weights fd_stake_weights_t;
     604           0 : #define FD_STAKE_WEIGHTS_FOOTPRINT sizeof(fd_stake_weights_t)
     605           0 : #define FD_STAKE_WEIGHTS_ALIGN (8UL)
     606             : 
     607             : struct __attribute__((aligned(8UL))) fd_stake_weights_global {
     608             :   ulong stake_weights_pool_gaddr;
     609             :   ulong stake_weights_root_gaddr;
     610             : };
     611             : typedef struct fd_stake_weights_global fd_stake_weights_global_t;
     612             : #define FD_STAKE_WEIGHTS_GLOBAL_FOOTPRINT sizeof(fd_stake_weights_global_t)
     613             : #define FD_STAKE_WEIGHTS_GLOBAL_ALIGN (8UL)
     614             : 
     615             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L303 */
     616             : /* Encoded Size: Fixed (64 bytes) */
     617             : struct __attribute__((aligned(8UL))) fd_delegation {
     618             :   fd_pubkey_t voter_pubkey;
     619             :   ulong stake;
     620             :   ulong activation_epoch;
     621             :   ulong deactivation_epoch;
     622             :   double warmup_cooldown_rate;
     623             : };
     624             : typedef struct fd_delegation fd_delegation_t;
     625           0 : #define FD_DELEGATION_FOOTPRINT sizeof(fd_delegation_t)
     626           0 : #define FD_DELEGATION_ALIGN (8UL)
     627             : 
     628             : struct __attribute__((aligned(8UL))) fd_delegation_global {
     629             :   fd_pubkey_t voter_pubkey;
     630             :   ulong stake;
     631             :   ulong activation_epoch;
     632             :   ulong deactivation_epoch;
     633             :   double warmup_cooldown_rate;
     634             : };
     635             : typedef struct fd_delegation_global fd_delegation_global_t;
     636             : #define FD_DELEGATION_GLOBAL_FOOTPRINT sizeof(fd_delegation_global_t)
     637             : #define FD_DELEGATION_GLOBAL_ALIGN (8UL)
     638             : 
     639             : /* Encoded Size: Fixed (96 bytes) */
     640             : struct __attribute__((aligned(8UL))) fd_delegation_pair {
     641             :   fd_pubkey_t account;
     642             :   fd_delegation_t delegation;
     643             : };
     644             : typedef struct fd_delegation_pair fd_delegation_pair_t;
     645           0 : #define FD_DELEGATION_PAIR_FOOTPRINT sizeof(fd_delegation_pair_t)
     646           0 : #define FD_DELEGATION_PAIR_ALIGN (8UL)
     647             : 
     648             : struct __attribute__((aligned(8UL))) fd_delegation_pair_global {
     649             :   fd_pubkey_t account;
     650             :   fd_delegation_t delegation;
     651             : };
     652             : typedef struct fd_delegation_pair_global fd_delegation_pair_global_t;
     653             : #define FD_DELEGATION_PAIR_GLOBAL_FOOTPRINT sizeof(fd_delegation_pair_global_t)
     654             : #define FD_DELEGATION_PAIR_GLOBAL_ALIGN (8UL)
     655             : 
     656             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L539 */
     657             : /* Encoded Size: Fixed (72 bytes) */
     658             : struct __attribute__((aligned(8UL))) fd_stake {
     659             :   fd_delegation_t delegation;
     660             :   ulong credits_observed;
     661             : };
     662             : typedef struct fd_stake fd_stake_t;
     663           0 : #define FD_STAKE_FOOTPRINT sizeof(fd_stake_t)
     664           0 : #define FD_STAKE_ALIGN (8UL)
     665             : 
     666             : struct __attribute__((aligned(8UL))) fd_stake_global {
     667             :   fd_delegation_t delegation;
     668             :   ulong credits_observed;
     669             : };
     670             : typedef struct fd_stake_global fd_stake_global_t;
     671             : #define FD_STAKE_GLOBAL_FOOTPRINT sizeof(fd_stake_global_t)
     672             : #define FD_STAKE_GLOBAL_ALIGN (8UL)
     673             : 
     674             : /* Encoded Size: Fixed (104 bytes) */
     675             : struct __attribute__((aligned(8UL))) fd_stake_pair {
     676             :   fd_pubkey_t account;
     677             :   fd_stake_t stake;
     678             : };
     679             : typedef struct fd_stake_pair fd_stake_pair_t;
     680           0 : #define FD_STAKE_PAIR_FOOTPRINT sizeof(fd_stake_pair_t)
     681           0 : #define FD_STAKE_PAIR_ALIGN (8UL)
     682             : 
     683             : struct __attribute__((aligned(8UL))) fd_stake_pair_global {
     684             :   fd_pubkey_t account;
     685             :   fd_stake_t stake;
     686             : };
     687             : typedef struct fd_stake_pair_global fd_stake_pair_global_t;
     688             : #define FD_STAKE_PAIR_GLOBAL_FOOTPRINT sizeof(fd_stake_pair_global_t)
     689             : #define FD_STAKE_PAIR_GLOBAL_ALIGN (8UL)
     690             : 
     691             : typedef struct fd_delegation_pair_t_mapnode fd_delegation_pair_t_mapnode_t;
     692             : #define REDBLK_T fd_delegation_pair_t_mapnode_t
     693             : #define REDBLK_NAME fd_delegation_pair_t_map
     694             : #define REDBLK_IMPL_STYLE 1
     695             : #include "../../util/tmpl/fd_redblack.c"
     696             : struct fd_delegation_pair_t_mapnode {
     697             :     fd_delegation_pair_t elem;
     698             :     ulong redblack_parent;
     699             :     ulong redblack_left;
     700             :     ulong redblack_right;
     701             :     int redblack_color;
     702             : };
     703             : static inline fd_delegation_pair_t_mapnode_t *
     704           6 : fd_delegation_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
     705           6 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     706           6 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_delegation_pair_t_map_align() );
     707           6 :   void * map_mem = *alloc_mem;
     708           6 :   *alloc_mem = (uchar *)*alloc_mem + fd_delegation_pair_t_map_footprint( len );
     709           6 :   return fd_delegation_pair_t_map_join( fd_delegation_pair_t_map_new( map_mem, len ) );
     710           6 : }
     711             : /* https://github.com/anza-xyz/agave/blob/beb3f582f784a96e59e06ef8f34e855258bcd98c/runtime/src/stakes.rs#L202 */
     712             : /* Encoded Size: Dynamic */
     713             : struct __attribute__((aligned(8UL))) fd_stakes {
     714             :   fd_vote_accounts_t vote_accounts;
     715             :   fd_delegation_pair_t_mapnode_t * stake_delegations_pool;
     716             :   fd_delegation_pair_t_mapnode_t * stake_delegations_root;
     717             :   ulong unused;
     718             :   ulong epoch;
     719             :   fd_stake_history_t stake_history;
     720             : };
     721             : typedef struct fd_stakes fd_stakes_t;
     722           0 : #define FD_STAKES_FOOTPRINT sizeof(fd_stakes_t)
     723           0 : #define FD_STAKES_ALIGN (8UL)
     724             : 
     725             : struct __attribute__((aligned(8UL))) fd_stakes_global {
     726             :   fd_vote_accounts_global_t vote_accounts;
     727             :   ulong stake_delegations_pool_gaddr;
     728             :   ulong stake_delegations_root_gaddr;
     729             :   ulong unused;
     730             :   ulong epoch;
     731             :   fd_stake_history_global_t stake_history;
     732             : };
     733             : typedef struct fd_stakes_global fd_stakes_global_t;
     734             : #define FD_STAKES_GLOBAL_FOOTPRINT sizeof(fd_stakes_global_t)
     735             : #define FD_STAKES_GLOBAL_ALIGN (8UL)
     736             : 
     737             : typedef struct fd_stake_pair_t_mapnode fd_stake_pair_t_mapnode_t;
     738             : #define REDBLK_T fd_stake_pair_t_mapnode_t
     739             : #define REDBLK_NAME fd_stake_pair_t_map
     740             : #define REDBLK_IMPL_STYLE 1
     741             : #include "../../util/tmpl/fd_redblack.c"
     742             : struct fd_stake_pair_t_mapnode {
     743             :     fd_stake_pair_t elem;
     744             :     ulong redblack_parent;
     745             :     ulong redblack_left;
     746             :     ulong redblack_right;
     747             :     int redblack_color;
     748             : };
     749             : static inline fd_stake_pair_t_mapnode_t *
     750           0 : fd_stake_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
     751           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     752           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_stake_pair_t_map_align() );
     753           0 :   void * map_mem = *alloc_mem;
     754           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_stake_pair_t_map_footprint( len );
     755           0 :   return fd_stake_pair_t_map_join( fd_stake_pair_t_map_new( map_mem, len ) );
     756           0 : }
     757             : /* https://github.com/anza-xyz/agave/blob/beb3f582f784a96e59e06ef8f34e855258bcd98c/runtime/src/stakes.rs#L202 */
     758             : /* Encoded Size: Dynamic */
     759             : struct __attribute__((aligned(8UL))) fd_stakes_stake {
     760             :   fd_vote_accounts_t vote_accounts;
     761             :   fd_stake_pair_t_mapnode_t * stake_delegations_pool;
     762             :   fd_stake_pair_t_mapnode_t * stake_delegations_root;
     763             :   ulong unused;
     764             :   ulong epoch;
     765             :   fd_stake_history_t stake_history;
     766             : };
     767             : typedef struct fd_stakes_stake fd_stakes_stake_t;
     768           0 : #define FD_STAKES_STAKE_FOOTPRINT sizeof(fd_stakes_stake_t)
     769           0 : #define FD_STAKES_STAKE_ALIGN (8UL)
     770             : 
     771             : struct __attribute__((aligned(8UL))) fd_stakes_stake_global {
     772             :   fd_vote_accounts_global_t vote_accounts;
     773             :   ulong stake_delegations_pool_gaddr;
     774             :   ulong stake_delegations_root_gaddr;
     775             :   ulong unused;
     776             :   ulong epoch;
     777             :   fd_stake_history_global_t stake_history;
     778             : };
     779             : typedef struct fd_stakes_stake_global fd_stakes_stake_global_t;
     780             : #define FD_STAKES_STAKE_GLOBAL_FOOTPRINT sizeof(fd_stakes_stake_global_t)
     781             : #define FD_STAKES_STAKE_GLOBAL_ALIGN (8UL)
     782             : 
     783             : /* Encoded Size: Fixed (88 bytes) */
     784             : struct __attribute__((aligned(8UL))) fd_bank_incremental_snapshot_persistence {
     785             :   ulong full_slot;
     786             :   fd_hash_t full_hash;
     787             :   ulong full_capitalization;
     788             :   fd_hash_t incremental_hash;
     789             :   ulong incremental_capitalization;
     790             : };
     791             : typedef struct fd_bank_incremental_snapshot_persistence fd_bank_incremental_snapshot_persistence_t;
     792           0 : #define FD_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_FOOTPRINT sizeof(fd_bank_incremental_snapshot_persistence_t)
     793           0 : #define FD_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_ALIGN (8UL)
     794             : 
     795             : struct __attribute__((aligned(8UL))) fd_bank_incremental_snapshot_persistence_global {
     796             :   ulong full_slot;
     797             :   fd_hash_t full_hash;
     798             :   ulong full_capitalization;
     799             :   fd_hash_t incremental_hash;
     800             :   ulong incremental_capitalization;
     801             : };
     802             : typedef struct fd_bank_incremental_snapshot_persistence_global fd_bank_incremental_snapshot_persistence_global_t;
     803             : #define FD_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_GLOBAL_FOOTPRINT sizeof(fd_bank_incremental_snapshot_persistence_global_t)
     804             : #define FD_BANK_INCREMENTAL_SNAPSHOT_PERSISTENCE_GLOBAL_ALIGN (8UL)
     805             : 
     806             : /* Encoded Size: Dynamic */
     807             : struct __attribute__((aligned(8UL))) fd_node_vote_accounts {
     808             :   ulong vote_accounts_len;
     809             :   fd_pubkey_t * vote_accounts;
     810             :   ulong total_stake;
     811             : };
     812             : typedef struct fd_node_vote_accounts fd_node_vote_accounts_t;
     813           0 : #define FD_NODE_VOTE_ACCOUNTS_FOOTPRINT sizeof(fd_node_vote_accounts_t)
     814           0 : #define FD_NODE_VOTE_ACCOUNTS_ALIGN (8UL)
     815             : 
     816             : struct __attribute__((aligned(8UL))) fd_node_vote_accounts_global {
     817             :   ulong vote_accounts_len;
     818             :   ulong vote_accounts_gaddr;
     819             :   ulong total_stake;
     820             : };
     821             : typedef struct fd_node_vote_accounts_global fd_node_vote_accounts_global_t;
     822             : #define FD_NODE_VOTE_ACCOUNTS_GLOBAL_FOOTPRINT sizeof(fd_node_vote_accounts_global_t)
     823             : #define FD_NODE_VOTE_ACCOUNTS_GLOBAL_ALIGN (8UL)
     824             : 
     825             : /* Encoded Size: Dynamic */
     826             : struct __attribute__((aligned(8UL))) fd_pubkey_node_vote_accounts_pair {
     827             :   fd_pubkey_t key;
     828             :   fd_node_vote_accounts_t value;
     829             : };
     830             : typedef struct fd_pubkey_node_vote_accounts_pair fd_pubkey_node_vote_accounts_pair_t;
     831           0 : #define FD_PUBKEY_NODE_VOTE_ACCOUNTS_PAIR_FOOTPRINT sizeof(fd_pubkey_node_vote_accounts_pair_t)
     832           0 : #define FD_PUBKEY_NODE_VOTE_ACCOUNTS_PAIR_ALIGN (8UL)
     833             : 
     834             : struct __attribute__((aligned(8UL))) fd_pubkey_node_vote_accounts_pair_global {
     835             :   fd_pubkey_t key;
     836             :   fd_node_vote_accounts_global_t value;
     837             : };
     838             : typedef struct fd_pubkey_node_vote_accounts_pair_global fd_pubkey_node_vote_accounts_pair_global_t;
     839             : #define FD_PUBKEY_NODE_VOTE_ACCOUNTS_PAIR_GLOBAL_FOOTPRINT sizeof(fd_pubkey_node_vote_accounts_pair_global_t)
     840             : #define FD_PUBKEY_NODE_VOTE_ACCOUNTS_PAIR_GLOBAL_ALIGN (8UL)
     841             : 
     842             : /* Encoded Size: Fixed (64 bytes) */
     843             : struct __attribute__((aligned(8UL))) fd_pubkey_pubkey_pair {
     844             :   fd_pubkey_t key;
     845             :   fd_pubkey_t value;
     846             : };
     847             : typedef struct fd_pubkey_pubkey_pair fd_pubkey_pubkey_pair_t;
     848           0 : #define FD_PUBKEY_PUBKEY_PAIR_FOOTPRINT sizeof(fd_pubkey_pubkey_pair_t)
     849           0 : #define FD_PUBKEY_PUBKEY_PAIR_ALIGN (8UL)
     850             : 
     851             : struct __attribute__((aligned(8UL))) fd_pubkey_pubkey_pair_global {
     852             :   fd_pubkey_t key;
     853             :   fd_pubkey_t value;
     854             : };
     855             : typedef struct fd_pubkey_pubkey_pair_global fd_pubkey_pubkey_pair_global_t;
     856             : #define FD_PUBKEY_PUBKEY_PAIR_GLOBAL_FOOTPRINT sizeof(fd_pubkey_pubkey_pair_global_t)
     857             : #define FD_PUBKEY_PUBKEY_PAIR_GLOBAL_ALIGN (8UL)
     858             : 
     859             : /* Encoded Size: Dynamic */
     860             : struct __attribute__((aligned(8UL))) fd_epoch_stakes {
     861             :   fd_stakes_t stakes;
     862             :   ulong total_stake;
     863             :   ulong node_id_to_vote_accounts_len;
     864             :   fd_pubkey_node_vote_accounts_pair_t * node_id_to_vote_accounts;
     865             :   ulong epoch_authorized_voters_len;
     866             :   fd_pubkey_pubkey_pair_t * epoch_authorized_voters;
     867             : };
     868             : typedef struct fd_epoch_stakes fd_epoch_stakes_t;
     869           0 : #define FD_EPOCH_STAKES_FOOTPRINT sizeof(fd_epoch_stakes_t)
     870           0 : #define FD_EPOCH_STAKES_ALIGN (8UL)
     871             : 
     872             : struct __attribute__((aligned(8UL))) fd_epoch_stakes_global {
     873             :   fd_stakes_global_t stakes;
     874             :   ulong total_stake;
     875             :   ulong node_id_to_vote_accounts_len;
     876             :   ulong node_id_to_vote_accounts_gaddr;
     877             :   ulong epoch_authorized_voters_len;
     878             :   ulong epoch_authorized_voters_gaddr;
     879             : };
     880             : typedef struct fd_epoch_stakes_global fd_epoch_stakes_global_t;
     881             : #define FD_EPOCH_STAKES_GLOBAL_FOOTPRINT sizeof(fd_epoch_stakes_global_t)
     882             : #define FD_EPOCH_STAKES_GLOBAL_ALIGN (8UL)
     883             : 
     884             : /* Encoded Size: Dynamic */
     885             : struct __attribute__((aligned(8UL))) fd_epoch_epoch_stakes_pair {
     886             :   ulong key;
     887             :   fd_epoch_stakes_t value;
     888             : };
     889             : typedef struct fd_epoch_epoch_stakes_pair fd_epoch_epoch_stakes_pair_t;
     890           0 : #define FD_EPOCH_EPOCH_STAKES_PAIR_FOOTPRINT sizeof(fd_epoch_epoch_stakes_pair_t)
     891           0 : #define FD_EPOCH_EPOCH_STAKES_PAIR_ALIGN (8UL)
     892             : 
     893             : struct __attribute__((aligned(8UL))) fd_epoch_epoch_stakes_pair_global {
     894             :   ulong key;
     895             :   fd_epoch_stakes_global_t value;
     896             : };
     897             : typedef struct fd_epoch_epoch_stakes_pair_global fd_epoch_epoch_stakes_pair_global_t;
     898             : #define FD_EPOCH_EPOCH_STAKES_PAIR_GLOBAL_FOOTPRINT sizeof(fd_epoch_epoch_stakes_pair_global_t)
     899             : #define FD_EPOCH_EPOCH_STAKES_PAIR_GLOBAL_ALIGN (8UL)
     900             : 
     901             : /* Encoded Size: Fixed (40 bytes) */
     902             : struct __attribute__((aligned(8UL))) fd_pubkey_u64_pair {
     903             :   fd_pubkey_t _0;
     904             :   ulong _1;
     905             : };
     906             : typedef struct fd_pubkey_u64_pair fd_pubkey_u64_pair_t;
     907           0 : #define FD_PUBKEY_U64_PAIR_FOOTPRINT sizeof(fd_pubkey_u64_pair_t)
     908           0 : #define FD_PUBKEY_U64_PAIR_ALIGN (8UL)
     909             : 
     910             : struct __attribute__((aligned(8UL))) fd_pubkey_u64_pair_global {
     911             :   fd_pubkey_t _0;
     912             :   ulong _1;
     913             : };
     914             : typedef struct fd_pubkey_u64_pair_global fd_pubkey_u64_pair_global_t;
     915             : #define FD_PUBKEY_U64_PAIR_GLOBAL_FOOTPRINT sizeof(fd_pubkey_u64_pair_global_t)
     916             : #define FD_PUBKEY_U64_PAIR_GLOBAL_ALIGN (8UL)
     917             : 
     918             : /* Encoded Size: Dynamic */
     919             : struct __attribute__((aligned(8UL))) fd_unused_accounts {
     920             :   ulong unused1_len;
     921             :   fd_pubkey_t * unused1;
     922             :   ulong unused2_len;
     923             :   fd_pubkey_t * unused2;
     924             :   ulong unused3_len;
     925             :   fd_pubkey_u64_pair_t * unused3;
     926             : };
     927             : typedef struct fd_unused_accounts fd_unused_accounts_t;
     928           0 : #define FD_UNUSED_ACCOUNTS_FOOTPRINT sizeof(fd_unused_accounts_t)
     929           0 : #define FD_UNUSED_ACCOUNTS_ALIGN (8UL)
     930             : 
     931             : struct __attribute__((aligned(8UL))) fd_unused_accounts_global {
     932             :   ulong unused1_len;
     933             :   ulong unused1_gaddr;
     934             :   ulong unused2_len;
     935             :   ulong unused2_gaddr;
     936             :   ulong unused3_len;
     937             :   ulong unused3_gaddr;
     938             : };
     939             : typedef struct fd_unused_accounts_global fd_unused_accounts_global_t;
     940             : #define FD_UNUSED_ACCOUNTS_GLOBAL_FOOTPRINT sizeof(fd_unused_accounts_global_t)
     941             : #define FD_UNUSED_ACCOUNTS_GLOBAL_ALIGN (8UL)
     942             : 
     943             : /* https://github.com/solana-labs/solana/blob/88aeaa82a856fc807234e7da0b31b89f2dc0e091/runtime/src/bank.rs#L967 */
     944             : /* Encoded Size: Dynamic */
     945             : struct __attribute__((aligned(16UL))) fd_versioned_bank {
     946             :   fd_block_hash_vec_t blockhash_queue;
     947             :   ulong ancestors_len;
     948             :   fd_slot_pair_t * ancestors;
     949             :   fd_hash_t hash;
     950             :   fd_hash_t parent_hash;
     951             :   ulong parent_slot;
     952             :   fd_hard_forks_t hard_forks;
     953             :   ulong transaction_count;
     954             :   ulong tick_height;
     955             :   ulong signature_count;
     956             :   ulong capitalization;
     957             :   ulong max_tick_height;
     958             :   ulong* hashes_per_tick;
     959             :   ulong ticks_per_slot;
     960             :   uint128 ns_per_slot;
     961             :   ulong genesis_creation_time;
     962             :   double slots_per_year;
     963             :   ulong accounts_data_len;
     964             :   ulong slot;
     965             :   ulong epoch;
     966             :   ulong block_height;
     967             :   fd_pubkey_t collector_id;
     968             :   ulong collector_fees;
     969             :   fd_fee_calculator_t fee_calculator;
     970             :   fd_fee_rate_governor_t fee_rate_governor;
     971             :   ulong collected_rent;
     972             :   fd_rent_collector_t rent_collector;
     973             :   fd_epoch_schedule_t epoch_schedule;
     974             :   fd_inflation_t inflation;
     975             :   fd_stakes_t stakes;
     976             :   fd_unused_accounts_t unused_accounts;
     977             :   ulong epoch_stakes_len;
     978             :   fd_epoch_epoch_stakes_pair_t * epoch_stakes;
     979             :   uchar is_delta;
     980             : };
     981             : typedef struct fd_versioned_bank fd_versioned_bank_t;
     982           0 : #define FD_VERSIONED_BANK_FOOTPRINT sizeof(fd_versioned_bank_t)
     983           0 : #define FD_VERSIONED_BANK_ALIGN (16UL)
     984             : 
     985             : struct __attribute__((aligned(16UL))) fd_versioned_bank_global {
     986             :   fd_block_hash_vec_global_t blockhash_queue;
     987             :   ulong ancestors_len;
     988             :   ulong ancestors_gaddr;
     989             :   fd_hash_t hash;
     990             :   fd_hash_t parent_hash;
     991             :   ulong parent_slot;
     992             :   fd_hard_forks_global_t hard_forks;
     993             :   ulong transaction_count;
     994             :   ulong tick_height;
     995             :   ulong signature_count;
     996             :   ulong capitalization;
     997             :   ulong max_tick_height;
     998             :   ulong hashes_per_tick_gaddr;
     999             :   ulong ticks_per_slot;
    1000             :   uint128 ns_per_slot;
    1001             :   ulong genesis_creation_time;
    1002             :   double slots_per_year;
    1003             :   ulong accounts_data_len;
    1004             :   ulong slot;
    1005             :   ulong epoch;
    1006             :   ulong block_height;
    1007             :   fd_pubkey_t collector_id;
    1008             :   ulong collector_fees;
    1009             :   fd_fee_calculator_t fee_calculator;
    1010             :   fd_fee_rate_governor_t fee_rate_governor;
    1011             :   ulong collected_rent;
    1012             :   fd_rent_collector_t rent_collector;
    1013             :   fd_epoch_schedule_t epoch_schedule;
    1014             :   fd_inflation_t inflation;
    1015             :   fd_stakes_global_t stakes;
    1016             :   fd_unused_accounts_global_t unused_accounts;
    1017             :   ulong epoch_stakes_len;
    1018             :   ulong epoch_stakes_gaddr;
    1019             :   uchar is_delta;
    1020             : };
    1021             : typedef struct fd_versioned_bank_global fd_versioned_bank_global_t;
    1022             : #define FD_VERSIONED_BANK_GLOBAL_FOOTPRINT sizeof(fd_versioned_bank_global_t)
    1023             : #define FD_VERSIONED_BANK_GLOBAL_ALIGN (16UL)
    1024             : 
    1025             : /* Encoded Size: Fixed (40 bytes) */
    1026             : struct __attribute__((aligned(8UL))) fd_bank_hash_stats {
    1027             :   ulong num_updated_accounts;
    1028             :   ulong num_removed_accounts;
    1029             :   ulong num_lamports_stored;
    1030             :   ulong total_data_len;
    1031             :   ulong num_executable_accounts;
    1032             : };
    1033             : typedef struct fd_bank_hash_stats fd_bank_hash_stats_t;
    1034           0 : #define FD_BANK_HASH_STATS_FOOTPRINT sizeof(fd_bank_hash_stats_t)
    1035           0 : #define FD_BANK_HASH_STATS_ALIGN (8UL)
    1036             : 
    1037             : struct __attribute__((aligned(8UL))) fd_bank_hash_stats_global {
    1038             :   ulong num_updated_accounts;
    1039             :   ulong num_removed_accounts;
    1040             :   ulong num_lamports_stored;
    1041             :   ulong total_data_len;
    1042             :   ulong num_executable_accounts;
    1043             : };
    1044             : typedef struct fd_bank_hash_stats_global fd_bank_hash_stats_global_t;
    1045             : #define FD_BANK_HASH_STATS_GLOBAL_FOOTPRINT sizeof(fd_bank_hash_stats_global_t)
    1046             : #define FD_BANK_HASH_STATS_GLOBAL_ALIGN (8UL)
    1047             : 
    1048             : /* Encoded Size: Fixed (104 bytes) */
    1049             : struct __attribute__((aligned(8UL))) fd_bank_hash_info {
    1050             :   fd_hash_t accounts_delta_hash;
    1051             :   fd_hash_t accounts_hash;
    1052             :   fd_bank_hash_stats_t stats;
    1053             : };
    1054             : typedef struct fd_bank_hash_info fd_bank_hash_info_t;
    1055           0 : #define FD_BANK_HASH_INFO_FOOTPRINT sizeof(fd_bank_hash_info_t)
    1056           0 : #define FD_BANK_HASH_INFO_ALIGN (8UL)
    1057             : 
    1058             : struct __attribute__((aligned(8UL))) fd_bank_hash_info_global {
    1059             :   fd_hash_t accounts_delta_hash;
    1060             :   fd_hash_t accounts_hash;
    1061             :   fd_bank_hash_stats_t stats;
    1062             : };
    1063             : typedef struct fd_bank_hash_info_global fd_bank_hash_info_global_t;
    1064             : #define FD_BANK_HASH_INFO_GLOBAL_FOOTPRINT sizeof(fd_bank_hash_info_global_t)
    1065             : #define FD_BANK_HASH_INFO_GLOBAL_ALIGN (8UL)
    1066             : 
    1067             : /* Encoded Size: Fixed (40 bytes) */
    1068             : struct __attribute__((aligned(8UL))) fd_slot_map_pair {
    1069             :   ulong slot;
    1070             :   fd_hash_t hash;
    1071             : };
    1072             : typedef struct fd_slot_map_pair fd_slot_map_pair_t;
    1073           0 : #define FD_SLOT_MAP_PAIR_FOOTPRINT sizeof(fd_slot_map_pair_t)
    1074           0 : #define FD_SLOT_MAP_PAIR_ALIGN (8UL)
    1075             : 
    1076             : struct __attribute__((aligned(8UL))) fd_slot_map_pair_global {
    1077             :   ulong slot;
    1078             :   fd_hash_t hash;
    1079             : };
    1080             : typedef struct fd_slot_map_pair_global fd_slot_map_pair_global_t;
    1081             : #define FD_SLOT_MAP_PAIR_GLOBAL_FOOTPRINT sizeof(fd_slot_map_pair_global_t)
    1082             : #define FD_SLOT_MAP_PAIR_GLOBAL_ALIGN (8UL)
    1083             : 
    1084             : /* Encoded Size: Fixed (16 bytes) */
    1085             : struct __attribute__((aligned(8UL))) fd_snapshot_acc_vec {
    1086             :   ulong id;
    1087             :   ulong file_sz;
    1088             : };
    1089             : typedef struct fd_snapshot_acc_vec fd_snapshot_acc_vec_t;
    1090           0 : #define FD_SNAPSHOT_ACC_VEC_FOOTPRINT sizeof(fd_snapshot_acc_vec_t)
    1091           0 : #define FD_SNAPSHOT_ACC_VEC_ALIGN (8UL)
    1092             : 
    1093             : struct __attribute__((aligned(8UL))) fd_snapshot_acc_vec_global {
    1094             :   ulong id;
    1095             :   ulong file_sz;
    1096             : };
    1097             : typedef struct fd_snapshot_acc_vec_global fd_snapshot_acc_vec_global_t;
    1098             : #define FD_SNAPSHOT_ACC_VEC_GLOBAL_FOOTPRINT sizeof(fd_snapshot_acc_vec_global_t)
    1099             : #define FD_SNAPSHOT_ACC_VEC_GLOBAL_ALIGN (8UL)
    1100             : 
    1101             : /* Encoded Size: Dynamic */
    1102             : struct __attribute__((aligned(8UL))) fd_snapshot_slot_acc_vecs {
    1103             :   ulong slot;
    1104             :   ulong account_vecs_len;
    1105             :   fd_snapshot_acc_vec_t * account_vecs;
    1106             : };
    1107             : typedef struct fd_snapshot_slot_acc_vecs fd_snapshot_slot_acc_vecs_t;
    1108           0 : #define FD_SNAPSHOT_SLOT_ACC_VECS_FOOTPRINT sizeof(fd_snapshot_slot_acc_vecs_t)
    1109           0 : #define FD_SNAPSHOT_SLOT_ACC_VECS_ALIGN (8UL)
    1110             : 
    1111             : struct __attribute__((aligned(8UL))) fd_snapshot_slot_acc_vecs_global {
    1112             :   ulong slot;
    1113             :   ulong account_vecs_len;
    1114             :   ulong account_vecs_gaddr;
    1115             : };
    1116             : typedef struct fd_snapshot_slot_acc_vecs_global fd_snapshot_slot_acc_vecs_global_t;
    1117             : #define FD_SNAPSHOT_SLOT_ACC_VECS_GLOBAL_FOOTPRINT sizeof(fd_snapshot_slot_acc_vecs_global_t)
    1118             : #define FD_SNAPSHOT_SLOT_ACC_VECS_GLOBAL_ALIGN (8UL)
    1119             : 
    1120             : union fd_reward_type_inner {
    1121             :   uchar nonempty; /* Hack to support enums with no inner structures */
    1122             : };
    1123             : typedef union fd_reward_type_inner fd_reward_type_inner_t;
    1124             : 
    1125             : union fd_reward_type_inner_global {
    1126             :   uchar nonempty; /* Hack to support enums with no inner structures */
    1127             : };
    1128             : typedef union fd_reward_type_inner_global fd_reward_type_inner_global_t;
    1129             : 
    1130             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/sdk/src/reward_type.rs#L7 */
    1131             : struct fd_reward_type {
    1132             :   uint discriminant;
    1133             :   fd_reward_type_inner_t inner;
    1134             : };
    1135             : typedef struct fd_reward_type fd_reward_type_t;
    1136           0 : #define FD_REWARD_TYPE_FOOTPRINT sizeof(fd_reward_type_t)
    1137           0 : #define FD_REWARD_TYPE_ALIGN (8UL)
    1138             : struct fd_reward_type_global {
    1139             :   uint discriminant;
    1140             :   fd_reward_type_inner_global_t inner;
    1141             : };
    1142             : typedef struct fd_reward_type_global fd_reward_type_global_t;
    1143             : #define FD_REWARD_TYPE_GLOBAL_FOOTPRINT sizeof(fd_reward_type_global_t)
    1144             : #define FD_REWARD_TYPE_GLOBAL_ALIGN (8UL)
    1145             : 
    1146             : /* Accounts DB related fields in a snapshot */
    1147             : /* Encoded Size: Dynamic */
    1148             : struct __attribute__((aligned(8UL))) fd_solana_accounts_db_fields {
    1149             :   ulong storages_len;
    1150             :   fd_snapshot_slot_acc_vecs_t * storages;
    1151             :   ulong version;
    1152             :   ulong slot;
    1153             :   fd_bank_hash_info_t bank_hash_info;
    1154             :   ulong historical_roots_len;
    1155             :   ulong* historical_roots;
    1156             :   ulong historical_roots_with_hash_len;
    1157             :   fd_slot_map_pair_t * historical_roots_with_hash;
    1158             : };
    1159             : typedef struct fd_solana_accounts_db_fields fd_solana_accounts_db_fields_t;
    1160           0 : #define FD_SOLANA_ACCOUNTS_DB_FIELDS_FOOTPRINT sizeof(fd_solana_accounts_db_fields_t)
    1161           0 : #define FD_SOLANA_ACCOUNTS_DB_FIELDS_ALIGN (8UL)
    1162             : 
    1163             : struct __attribute__((aligned(8UL))) fd_solana_accounts_db_fields_global {
    1164             :   ulong storages_len;
    1165             :   ulong storages_gaddr;
    1166             :   ulong version;
    1167             :   ulong slot;
    1168             :   fd_bank_hash_info_t bank_hash_info;
    1169             :   ulong historical_roots_len;
    1170             :   ulong historical_roots_gaddr;
    1171             :   ulong historical_roots_with_hash_len;
    1172             :   ulong historical_roots_with_hash_gaddr;
    1173             : };
    1174             : typedef struct fd_solana_accounts_db_fields_global fd_solana_accounts_db_fields_global_t;
    1175             : #define FD_SOLANA_ACCOUNTS_DB_FIELDS_GLOBAL_FOOTPRINT sizeof(fd_solana_accounts_db_fields_global_t)
    1176             : #define FD_SOLANA_ACCOUNTS_DB_FIELDS_GLOBAL_ALIGN (8UL)
    1177             : 
    1178             : /* Encoded Size: Dynamic */
    1179             : struct __attribute__((aligned(8UL))) fd_versioned_epoch_stakes_current {
    1180             :   fd_stakes_stake_t stakes;
    1181             :   ulong total_stake;
    1182             :   ulong node_id_to_vote_accounts_len;
    1183             :   fd_pubkey_node_vote_accounts_pair_t * node_id_to_vote_accounts;
    1184             :   ulong epoch_authorized_voters_len;
    1185             :   fd_pubkey_pubkey_pair_t * epoch_authorized_voters;
    1186             : };
    1187             : typedef struct fd_versioned_epoch_stakes_current fd_versioned_epoch_stakes_current_t;
    1188           0 : #define FD_VERSIONED_EPOCH_STAKES_CURRENT_FOOTPRINT sizeof(fd_versioned_epoch_stakes_current_t)
    1189           0 : #define FD_VERSIONED_EPOCH_STAKES_CURRENT_ALIGN (8UL)
    1190             : 
    1191             : struct __attribute__((aligned(8UL))) fd_versioned_epoch_stakes_current_global {
    1192             :   fd_stakes_stake_global_t stakes;
    1193             :   ulong total_stake;
    1194             :   ulong node_id_to_vote_accounts_len;
    1195             :   ulong node_id_to_vote_accounts_gaddr;
    1196             :   ulong epoch_authorized_voters_len;
    1197             :   ulong epoch_authorized_voters_gaddr;
    1198             : };
    1199             : typedef struct fd_versioned_epoch_stakes_current_global fd_versioned_epoch_stakes_current_global_t;
    1200             : #define FD_VERSIONED_EPOCH_STAKES_CURRENT_GLOBAL_FOOTPRINT sizeof(fd_versioned_epoch_stakes_current_global_t)
    1201             : #define FD_VERSIONED_EPOCH_STAKES_CURRENT_GLOBAL_ALIGN (8UL)
    1202             : 
    1203             : union fd_versioned_epoch_stakes_inner {
    1204             :   fd_versioned_epoch_stakes_current_t Current;
    1205             : };
    1206             : typedef union fd_versioned_epoch_stakes_inner fd_versioned_epoch_stakes_inner_t;
    1207             : 
    1208             : union fd_versioned_epoch_stakes_inner_global {
    1209             :   fd_versioned_epoch_stakes_current_global_t Current;
    1210             : };
    1211             : typedef union fd_versioned_epoch_stakes_inner_global fd_versioned_epoch_stakes_inner_global_t;
    1212             : 
    1213             : struct fd_versioned_epoch_stakes {
    1214             :   uint discriminant;
    1215             :   fd_versioned_epoch_stakes_inner_t inner;
    1216             : };
    1217             : typedef struct fd_versioned_epoch_stakes fd_versioned_epoch_stakes_t;
    1218           0 : #define FD_VERSIONED_EPOCH_STAKES_FOOTPRINT sizeof(fd_versioned_epoch_stakes_t)
    1219           0 : #define FD_VERSIONED_EPOCH_STAKES_ALIGN (8UL)
    1220             : struct fd_versioned_epoch_stakes_global {
    1221             :   uint discriminant;
    1222             :   fd_versioned_epoch_stakes_inner_global_t inner;
    1223             : };
    1224             : typedef struct fd_versioned_epoch_stakes_global fd_versioned_epoch_stakes_global_t;
    1225             : #define FD_VERSIONED_EPOCH_STAKES_GLOBAL_FOOTPRINT sizeof(fd_versioned_epoch_stakes_global_t)
    1226             : #define FD_VERSIONED_EPOCH_STAKES_GLOBAL_ALIGN (8UL)
    1227             : 
    1228             : /* Encoded Size: Dynamic */
    1229             : struct __attribute__((aligned(8UL))) fd_versioned_epoch_stakes_pair {
    1230             :   ulong epoch;
    1231             :   fd_versioned_epoch_stakes_t val;
    1232             : };
    1233             : typedef struct fd_versioned_epoch_stakes_pair fd_versioned_epoch_stakes_pair_t;
    1234           0 : #define FD_VERSIONED_EPOCH_STAKES_PAIR_FOOTPRINT sizeof(fd_versioned_epoch_stakes_pair_t)
    1235           0 : #define FD_VERSIONED_EPOCH_STAKES_PAIR_ALIGN (8UL)
    1236             : 
    1237             : struct __attribute__((aligned(8UL))) fd_versioned_epoch_stakes_pair_global {
    1238             :   ulong epoch;
    1239             :   fd_versioned_epoch_stakes_global_t val;
    1240             : };
    1241             : typedef struct fd_versioned_epoch_stakes_pair_global fd_versioned_epoch_stakes_pair_global_t;
    1242             : #define FD_VERSIONED_EPOCH_STAKES_PAIR_GLOBAL_FOOTPRINT sizeof(fd_versioned_epoch_stakes_pair_global_t)
    1243             : #define FD_VERSIONED_EPOCH_STAKES_PAIR_GLOBAL_ALIGN (8UL)
    1244             : 
    1245             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/sdk/src/reward_info.rs#L5 */
    1246             : /* Encoded Size: Fixed (28 bytes) */
    1247             : struct __attribute__((aligned(8UL))) fd_reward_info {
    1248             :   fd_reward_type_t reward_type;
    1249             :   ulong lamports;
    1250             :   ulong post_balance;
    1251             :   ulong commission;
    1252             : };
    1253             : typedef struct fd_reward_info fd_reward_info_t;
    1254           0 : #define FD_REWARD_INFO_FOOTPRINT sizeof(fd_reward_info_t)
    1255           0 : #define FD_REWARD_INFO_ALIGN (8UL)
    1256             : 
    1257             : struct __attribute__((aligned(8UL))) fd_reward_info_global {
    1258             :   fd_reward_type_t reward_type;
    1259             :   ulong lamports;
    1260             :   ulong post_balance;
    1261             :   ulong commission;
    1262             : };
    1263             : typedef struct fd_reward_info_global fd_reward_info_global_t;
    1264             : #define FD_REWARD_INFO_GLOBAL_FOOTPRINT sizeof(fd_reward_info_global_t)
    1265             : #define FD_REWARD_INFO_GLOBAL_ALIGN (8UL)
    1266             : 
    1267             : /* You can cast this to a (fd_lthash_value_t *) and use it directly since the alignment is preserved */
    1268             : /* Encoded Size: Fixed (2048 bytes) */
    1269             : struct __attribute__((aligned(128UL))) fd_slot_lthash {
    1270             :   uchar lthash[2048];
    1271             : };
    1272             : typedef struct fd_slot_lthash fd_slot_lthash_t;
    1273           0 : #define FD_SLOT_LTHASH_FOOTPRINT sizeof(fd_slot_lthash_t)
    1274           0 : #define FD_SLOT_LTHASH_ALIGN (128UL)
    1275             : 
    1276             : struct __attribute__((aligned(128UL))) fd_slot_lthash_global {
    1277             :   uchar lthash[2048];
    1278             : };
    1279             : typedef struct fd_slot_lthash_global fd_slot_lthash_global_t;
    1280             : #define FD_SLOT_LTHASH_GLOBAL_FOOTPRINT sizeof(fd_slot_lthash_global_t)
    1281             : #define FD_SLOT_LTHASH_GLOBAL_ALIGN (128UL)
    1282             : 
    1283             : /* Encoded Size: Dynamic */
    1284             : struct __attribute__((aligned(16UL))) fd_solana_manifest {
    1285             :   fd_versioned_bank_t bank;
    1286             :   fd_solana_accounts_db_fields_t accounts_db;
    1287             :   ulong lamports_per_signature;
    1288             :   fd_bank_incremental_snapshot_persistence_t * bank_incremental_snapshot_persistence;
    1289             :   fd_hash_t * epoch_account_hash;
    1290             :   ulong versioned_epoch_stakes_len;
    1291             :   fd_versioned_epoch_stakes_pair_t * versioned_epoch_stakes;
    1292             :   fd_slot_lthash_t * lthash;
    1293             : };
    1294             : typedef struct fd_solana_manifest fd_solana_manifest_t;
    1295           0 : #define FD_SOLANA_MANIFEST_FOOTPRINT sizeof(fd_solana_manifest_t)
    1296           6 : #define FD_SOLANA_MANIFEST_ALIGN (16UL)
    1297             : 
    1298             : struct __attribute__((aligned(16UL))) fd_solana_manifest_global {
    1299             :   fd_versioned_bank_global_t bank;
    1300             :   fd_solana_accounts_db_fields_global_t accounts_db;
    1301             :   ulong lamports_per_signature;
    1302             :   ulong bank_incremental_snapshot_persistence_gaddr;
    1303             :   ulong epoch_account_hash_gaddr;
    1304             :   ulong versioned_epoch_stakes_len;
    1305             :   ulong versioned_epoch_stakes_gaddr;
    1306             :   ulong lthash_gaddr;
    1307             : };
    1308             : typedef struct fd_solana_manifest_global fd_solana_manifest_global_t;
    1309             : #define FD_SOLANA_MANIFEST_GLOBAL_FOOTPRINT sizeof(fd_solana_manifest_global_t)
    1310             : #define FD_SOLANA_MANIFEST_GLOBAL_ALIGN (16UL)
    1311             : 
    1312             : /* Encoded Size: Fixed (12 bytes) */
    1313             : struct __attribute__((aligned(8UL))) fd_rust_duration {
    1314             :   ulong seconds;
    1315             :   uint nanoseconds;
    1316             : };
    1317             : typedef struct fd_rust_duration fd_rust_duration_t;
    1318           0 : #define FD_RUST_DURATION_FOOTPRINT sizeof(fd_rust_duration_t)
    1319           0 : #define FD_RUST_DURATION_ALIGN (8UL)
    1320             : 
    1321             : struct __attribute__((aligned(8UL))) fd_rust_duration_global {
    1322             :   ulong seconds;
    1323             :   uint nanoseconds;
    1324             : };
    1325             : typedef struct fd_rust_duration_global fd_rust_duration_global_t;
    1326             : #define FD_RUST_DURATION_GLOBAL_FOOTPRINT sizeof(fd_rust_duration_global_t)
    1327             : #define FD_RUST_DURATION_GLOBAL_ALIGN (8UL)
    1328             : 
    1329             : /* Encoded Size: Dynamic */
    1330             : struct __attribute__((aligned(8UL))) fd_poh_config {
    1331             :   fd_rust_duration_t target_tick_duration;
    1332             :   ulong* target_tick_count;
    1333             :   ulong hashes_per_tick;
    1334             :   uchar has_hashes_per_tick;
    1335             : };
    1336             : typedef struct fd_poh_config fd_poh_config_t;
    1337           0 : #define FD_POH_CONFIG_FOOTPRINT sizeof(fd_poh_config_t)
    1338           0 : #define FD_POH_CONFIG_ALIGN (8UL)
    1339             : 
    1340             : struct __attribute__((aligned(8UL))) fd_poh_config_global {
    1341             :   fd_rust_duration_t target_tick_duration;
    1342             :   ulong target_tick_count_gaddr;
    1343             :   ulong hashes_per_tick;
    1344             :   uchar has_hashes_per_tick;
    1345             : };
    1346             : typedef struct fd_poh_config_global fd_poh_config_global_t;
    1347             : #define FD_POH_CONFIG_GLOBAL_FOOTPRINT sizeof(fd_poh_config_global_t)
    1348             : #define FD_POH_CONFIG_GLOBAL_ALIGN (8UL)
    1349             : 
    1350             : /* Encoded Size: Dynamic */
    1351             : struct __attribute__((aligned(8UL))) fd_string_pubkey_pair {
    1352             :   ulong string_len;
    1353             :   uchar* string;
    1354             :   fd_pubkey_t pubkey;
    1355             : };
    1356             : typedef struct fd_string_pubkey_pair fd_string_pubkey_pair_t;
    1357           0 : #define FD_STRING_PUBKEY_PAIR_FOOTPRINT sizeof(fd_string_pubkey_pair_t)
    1358           0 : #define FD_STRING_PUBKEY_PAIR_ALIGN (8UL)
    1359             : 
    1360             : struct __attribute__((aligned(8UL))) fd_string_pubkey_pair_global {
    1361             :   ulong string_len;
    1362             :   ulong string_gaddr;
    1363             :   fd_pubkey_t pubkey;
    1364             : };
    1365             : typedef struct fd_string_pubkey_pair_global fd_string_pubkey_pair_global_t;
    1366             : #define FD_STRING_PUBKEY_PAIR_GLOBAL_FOOTPRINT sizeof(fd_string_pubkey_pair_global_t)
    1367             : #define FD_STRING_PUBKEY_PAIR_GLOBAL_ALIGN (8UL)
    1368             : 
    1369             : /* Encoded Size: Dynamic */
    1370             : struct __attribute__((aligned(8UL))) fd_pubkey_account_pair {
    1371             :   fd_pubkey_t key;
    1372             :   fd_solana_account_t account;
    1373             : };
    1374             : typedef struct fd_pubkey_account_pair fd_pubkey_account_pair_t;
    1375           0 : #define FD_PUBKEY_ACCOUNT_PAIR_FOOTPRINT sizeof(fd_pubkey_account_pair_t)
    1376           0 : #define FD_PUBKEY_ACCOUNT_PAIR_ALIGN (8UL)
    1377             : 
    1378             : struct __attribute__((aligned(8UL))) fd_pubkey_account_pair_global {
    1379             :   fd_pubkey_t key;
    1380             :   fd_solana_account_global_t account;
    1381             : };
    1382             : typedef struct fd_pubkey_account_pair_global fd_pubkey_account_pair_global_t;
    1383             : #define FD_PUBKEY_ACCOUNT_PAIR_GLOBAL_FOOTPRINT sizeof(fd_pubkey_account_pair_global_t)
    1384             : #define FD_PUBKEY_ACCOUNT_PAIR_GLOBAL_ALIGN (8UL)
    1385             : 
    1386             : /* Encoded Size: Dynamic */
    1387             : struct __attribute__((aligned(8UL))) fd_genesis_solana {
    1388             :   ulong creation_time;
    1389             :   ulong accounts_len;
    1390             :   fd_pubkey_account_pair_t * accounts;
    1391             :   ulong native_instruction_processors_len;
    1392             :   fd_string_pubkey_pair_t * native_instruction_processors;
    1393             :   ulong rewards_pools_len;
    1394             :   fd_pubkey_account_pair_t * rewards_pools;
    1395             :   ulong ticks_per_slot;
    1396             :   ulong unused;
    1397             :   fd_poh_config_t poh_config;
    1398             :   ulong __backwards_compat_with_v0_23;
    1399             :   fd_fee_rate_governor_t fee_rate_governor;
    1400             :   fd_rent_t rent;
    1401             :   fd_inflation_t inflation;
    1402             :   fd_epoch_schedule_t epoch_schedule;
    1403             :   uint cluster_type;
    1404             : };
    1405             : typedef struct fd_genesis_solana fd_genesis_solana_t;
    1406           0 : #define FD_GENESIS_SOLANA_FOOTPRINT sizeof(fd_genesis_solana_t)
    1407           0 : #define FD_GENESIS_SOLANA_ALIGN (8UL)
    1408             : 
    1409             : struct __attribute__((aligned(8UL))) fd_genesis_solana_global {
    1410             :   ulong creation_time;
    1411             :   ulong accounts_len;
    1412             :   ulong accounts_gaddr;
    1413             :   ulong native_instruction_processors_len;
    1414             :   ulong native_instruction_processors_gaddr;
    1415             :   ulong rewards_pools_len;
    1416             :   ulong rewards_pools_gaddr;
    1417             :   ulong ticks_per_slot;
    1418             :   ulong unused;
    1419             :   fd_poh_config_global_t poh_config;
    1420             :   ulong __backwards_compat_with_v0_23;
    1421             :   fd_fee_rate_governor_t fee_rate_governor;
    1422             :   fd_rent_t rent;
    1423             :   fd_inflation_t inflation;
    1424             :   fd_epoch_schedule_t epoch_schedule;
    1425             :   uint cluster_type;
    1426             : };
    1427             : typedef struct fd_genesis_solana_global fd_genesis_solana_global_t;
    1428             : #define FD_GENESIS_SOLANA_GLOBAL_FOOTPRINT sizeof(fd_genesis_solana_global_t)
    1429             : #define FD_GENESIS_SOLANA_GLOBAL_ALIGN (8UL)
    1430             : 
    1431             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/clock.rs#L114 */
    1432             : /* Encoded Size: Fixed (40 bytes) */
    1433             : struct __attribute__((aligned(8UL))) fd_sol_sysvar_clock {
    1434             :   ulong slot;
    1435             :   long epoch_start_timestamp;
    1436             :   ulong epoch;
    1437             :   ulong leader_schedule_epoch;
    1438             :   long unix_timestamp;
    1439             : };
    1440             : typedef struct fd_sol_sysvar_clock fd_sol_sysvar_clock_t;
    1441           0 : #define FD_SOL_SYSVAR_CLOCK_FOOTPRINT sizeof(fd_sol_sysvar_clock_t)
    1442           0 : #define FD_SOL_SYSVAR_CLOCK_ALIGN (8UL)
    1443             : 
    1444             : struct __attribute__((aligned(8UL))) fd_sol_sysvar_clock_global {
    1445             :   ulong slot;
    1446             :   long epoch_start_timestamp;
    1447             :   ulong epoch;
    1448             :   ulong leader_schedule_epoch;
    1449             :   long unix_timestamp;
    1450             : };
    1451             : typedef struct fd_sol_sysvar_clock_global fd_sol_sysvar_clock_global_t;
    1452             : #define FD_SOL_SYSVAR_CLOCK_GLOBAL_FOOTPRINT sizeof(fd_sol_sysvar_clock_global_t)
    1453             : #define FD_SOL_SYSVAR_CLOCK_GLOBAL_ALIGN (8UL)
    1454             : 
    1455             : /* https://github.com/solana-labs/solana/blob/30531d7a5b74f914dde53bfbb0bc2144f2ac92bb/sdk/program/src/last_restart_slot.rs#L7 */
    1456             : /* Encoded Size: Fixed (8 bytes) */
    1457             : struct __attribute__((aligned(8UL))) fd_sol_sysvar_last_restart_slot {
    1458             :   ulong slot;
    1459             : };
    1460             : typedef struct fd_sol_sysvar_last_restart_slot fd_sol_sysvar_last_restart_slot_t;
    1461           0 : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_FOOTPRINT sizeof(fd_sol_sysvar_last_restart_slot_t)
    1462           0 : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN (8UL)
    1463             : 
    1464             : struct __attribute__((aligned(8UL))) fd_sol_sysvar_last_restart_slot_global {
    1465             :   ulong slot;
    1466             : };
    1467             : typedef struct fd_sol_sysvar_last_restart_slot_global fd_sol_sysvar_last_restart_slot_global_t;
    1468             : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_GLOBAL_FOOTPRINT sizeof(fd_sol_sysvar_last_restart_slot_global_t)
    1469             : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_GLOBAL_ALIGN (8UL)
    1470             : 
    1471             : /* Encoded Size: Fixed (12 bytes) */
    1472             : struct __attribute__((aligned(8UL))) fd_vote_lockout {
    1473             :   ulong slot;
    1474             :   uint confirmation_count;
    1475             : };
    1476             : typedef struct fd_vote_lockout fd_vote_lockout_t;
    1477           0 : #define FD_VOTE_LOCKOUT_FOOTPRINT sizeof(fd_vote_lockout_t)
    1478           0 : #define FD_VOTE_LOCKOUT_ALIGN (8UL)
    1479             : 
    1480             : struct __attribute__((aligned(8UL))) fd_vote_lockout_global {
    1481             :   ulong slot;
    1482             :   uint confirmation_count;
    1483             : };
    1484             : typedef struct fd_vote_lockout_global fd_vote_lockout_global_t;
    1485             : #define FD_VOTE_LOCKOUT_GLOBAL_FOOTPRINT sizeof(fd_vote_lockout_global_t)
    1486             : #define FD_VOTE_LOCKOUT_GLOBAL_ALIGN (8UL)
    1487             : 
    1488             : /* Encoded Size: Dynamic */
    1489             : struct __attribute__((aligned(8UL))) fd_lockout_offset {
    1490             :   ulong offset;
    1491             :   uchar confirmation_count;
    1492             : };
    1493             : typedef struct fd_lockout_offset fd_lockout_offset_t;
    1494           0 : #define FD_LOCKOUT_OFFSET_FOOTPRINT sizeof(fd_lockout_offset_t)
    1495           0 : #define FD_LOCKOUT_OFFSET_ALIGN (8UL)
    1496             : 
    1497             : struct __attribute__((aligned(8UL))) fd_lockout_offset_global {
    1498             :   ulong offset;
    1499             :   uchar confirmation_count;
    1500             : };
    1501             : typedef struct fd_lockout_offset_global fd_lockout_offset_global_t;
    1502             : #define FD_LOCKOUT_OFFSET_GLOBAL_FOOTPRINT sizeof(fd_lockout_offset_global_t)
    1503             : #define FD_LOCKOUT_OFFSET_GLOBAL_ALIGN (8UL)
    1504             : 
    1505             : /* https://github.com/firedancer-io/solana/blob/da470eef4652b3b22598a1f379cacfe82bd5928d/sdk/program/src/vote/authorized_voters.rs#L9 */
    1506             : /* Encoded Size: Fixed (40 bytes) */
    1507             : struct __attribute__((aligned(8UL))) fd_vote_authorized_voter {
    1508             :   ulong epoch;
    1509             :   fd_pubkey_t pubkey;
    1510             :   ulong parent;
    1511             :   ulong left;
    1512             :   ulong right;
    1513             :   ulong prio;
    1514             : };
    1515             : typedef struct fd_vote_authorized_voter fd_vote_authorized_voter_t;
    1516           0 : #define FD_VOTE_AUTHORIZED_VOTER_FOOTPRINT sizeof(fd_vote_authorized_voter_t)
    1517           0 : #define FD_VOTE_AUTHORIZED_VOTER_ALIGN (8UL)
    1518             : 
    1519             : struct __attribute__((aligned(8UL))) fd_vote_authorized_voter_global {
    1520             :   ulong epoch;
    1521             :   fd_pubkey_t pubkey;
    1522             :   ulong parent;
    1523             :   ulong left;
    1524             :   ulong right;
    1525             :   ulong prio;
    1526             : };
    1527             : typedef struct fd_vote_authorized_voter_global fd_vote_authorized_voter_global_t;
    1528             : #define FD_VOTE_AUTHORIZED_VOTER_GLOBAL_FOOTPRINT sizeof(fd_vote_authorized_voter_global_t)
    1529             : #define FD_VOTE_AUTHORIZED_VOTER_GLOBAL_ALIGN (8UL)
    1530             : 
    1531             : /* Encoded Size: Fixed (48 bytes) */
    1532             : struct __attribute__((aligned(8UL))) fd_vote_prior_voter {
    1533             :   fd_pubkey_t pubkey;
    1534             :   ulong epoch_start;
    1535             :   ulong epoch_end;
    1536             : };
    1537             : typedef struct fd_vote_prior_voter fd_vote_prior_voter_t;
    1538           0 : #define FD_VOTE_PRIOR_VOTER_FOOTPRINT sizeof(fd_vote_prior_voter_t)
    1539           0 : #define FD_VOTE_PRIOR_VOTER_ALIGN (8UL)
    1540             : 
    1541             : struct __attribute__((aligned(8UL))) fd_vote_prior_voter_global {
    1542             :   fd_pubkey_t pubkey;
    1543             :   ulong epoch_start;
    1544             :   ulong epoch_end;
    1545             : };
    1546             : typedef struct fd_vote_prior_voter_global fd_vote_prior_voter_global_t;
    1547             : #define FD_VOTE_PRIOR_VOTER_GLOBAL_FOOTPRINT sizeof(fd_vote_prior_voter_global_t)
    1548             : #define FD_VOTE_PRIOR_VOTER_GLOBAL_ALIGN (8UL)
    1549             : 
    1550             : /* Encoded Size: Fixed (56 bytes) */
    1551             : struct __attribute__((aligned(8UL))) fd_vote_prior_voter_0_23_5 {
    1552             :   fd_pubkey_t pubkey;
    1553             :   ulong epoch_start;
    1554             :   ulong epoch_end;
    1555             :   ulong slot;
    1556             : };
    1557             : typedef struct fd_vote_prior_voter_0_23_5 fd_vote_prior_voter_0_23_5_t;
    1558           0 : #define FD_VOTE_PRIOR_VOTER_0_23_5_FOOTPRINT sizeof(fd_vote_prior_voter_0_23_5_t)
    1559           0 : #define FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN (8UL)
    1560             : 
    1561             : struct __attribute__((aligned(8UL))) fd_vote_prior_voter_0_23_5_global {
    1562             :   fd_pubkey_t pubkey;
    1563             :   ulong epoch_start;
    1564             :   ulong epoch_end;
    1565             :   ulong slot;
    1566             : };
    1567             : typedef struct fd_vote_prior_voter_0_23_5_global fd_vote_prior_voter_0_23_5_global_t;
    1568             : #define FD_VOTE_PRIOR_VOTER_0_23_5_GLOBAL_FOOTPRINT sizeof(fd_vote_prior_voter_0_23_5_global_t)
    1569             : #define FD_VOTE_PRIOR_VOTER_0_23_5_GLOBAL_ALIGN (8UL)
    1570             : 
    1571             : /* Encoded Size: Fixed (24 bytes) */
    1572             : struct __attribute__((aligned(8UL))) fd_vote_epoch_credits {
    1573             :   ulong epoch;
    1574             :   ulong credits;
    1575             :   ulong prev_credits;
    1576             : };
    1577             : typedef struct fd_vote_epoch_credits fd_vote_epoch_credits_t;
    1578           0 : #define FD_VOTE_EPOCH_CREDITS_FOOTPRINT sizeof(fd_vote_epoch_credits_t)
    1579           0 : #define FD_VOTE_EPOCH_CREDITS_ALIGN (8UL)
    1580             : 
    1581             : struct __attribute__((aligned(8UL))) fd_vote_epoch_credits_global {
    1582             :   ulong epoch;
    1583             :   ulong credits;
    1584             :   ulong prev_credits;
    1585             : };
    1586             : typedef struct fd_vote_epoch_credits_global fd_vote_epoch_credits_global_t;
    1587             : #define FD_VOTE_EPOCH_CREDITS_GLOBAL_FOOTPRINT sizeof(fd_vote_epoch_credits_global_t)
    1588             : #define FD_VOTE_EPOCH_CREDITS_GLOBAL_ALIGN (8UL)
    1589             : 
    1590             : /* Encoded Size: Fixed (16 bytes) */
    1591             : struct __attribute__((aligned(8UL))) fd_vote_block_timestamp {
    1592             :   ulong slot;
    1593             :   long timestamp;
    1594             : };
    1595             : typedef struct fd_vote_block_timestamp fd_vote_block_timestamp_t;
    1596           0 : #define FD_VOTE_BLOCK_TIMESTAMP_FOOTPRINT sizeof(fd_vote_block_timestamp_t)
    1597           0 : #define FD_VOTE_BLOCK_TIMESTAMP_ALIGN (8UL)
    1598             : 
    1599             : struct __attribute__((aligned(8UL))) fd_vote_block_timestamp_global {
    1600             :   ulong slot;
    1601             :   long timestamp;
    1602             : };
    1603             : typedef struct fd_vote_block_timestamp_global fd_vote_block_timestamp_global_t;
    1604             : #define FD_VOTE_BLOCK_TIMESTAMP_GLOBAL_FOOTPRINT sizeof(fd_vote_block_timestamp_global_t)
    1605             : #define FD_VOTE_BLOCK_TIMESTAMP_GLOBAL_ALIGN (8UL)
    1606             : 
    1607             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
    1608             : /* Encoded Size: Fixed (1545 bytes) */
    1609             : struct __attribute__((aligned(8UL))) fd_vote_prior_voters {
    1610             :   fd_vote_prior_voter_t buf[32];
    1611             :   ulong idx;
    1612             :   uchar is_empty;
    1613             : };
    1614             : typedef struct fd_vote_prior_voters fd_vote_prior_voters_t;
    1615           0 : #define FD_VOTE_PRIOR_VOTERS_FOOTPRINT sizeof(fd_vote_prior_voters_t)
    1616           0 : #define FD_VOTE_PRIOR_VOTERS_ALIGN (8UL)
    1617             : 
    1618             : struct __attribute__((aligned(8UL))) fd_vote_prior_voters_global {
    1619             :   fd_vote_prior_voter_t buf[32];
    1620             :   ulong idx;
    1621             :   uchar is_empty;
    1622             : };
    1623             : typedef struct fd_vote_prior_voters_global fd_vote_prior_voters_global_t;
    1624             : #define FD_VOTE_PRIOR_VOTERS_GLOBAL_FOOTPRINT sizeof(fd_vote_prior_voters_global_t)
    1625             : #define FD_VOTE_PRIOR_VOTERS_GLOBAL_ALIGN (8UL)
    1626             : 
    1627             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
    1628             : /* Encoded Size: Fixed (1800 bytes) */
    1629             : struct __attribute__((aligned(8UL))) fd_vote_prior_voters_0_23_5 {
    1630             :   fd_vote_prior_voter_0_23_5_t buf[32];
    1631             :   ulong idx;
    1632             : };
    1633             : typedef struct fd_vote_prior_voters_0_23_5 fd_vote_prior_voters_0_23_5_t;
    1634           0 : #define FD_VOTE_PRIOR_VOTERS_0_23_5_FOOTPRINT sizeof(fd_vote_prior_voters_0_23_5_t)
    1635           0 : #define FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN (8UL)
    1636             : 
    1637             : struct __attribute__((aligned(8UL))) fd_vote_prior_voters_0_23_5_global {
    1638             :   fd_vote_prior_voter_0_23_5_t buf[32];
    1639             :   ulong idx;
    1640             : };
    1641             : typedef struct fd_vote_prior_voters_0_23_5_global fd_vote_prior_voters_0_23_5_global_t;
    1642             : #define FD_VOTE_PRIOR_VOTERS_0_23_5_GLOBAL_FOOTPRINT sizeof(fd_vote_prior_voters_0_23_5_global_t)
    1643             : #define FD_VOTE_PRIOR_VOTERS_0_23_5_GLOBAL_ALIGN (8UL)
    1644             : 
    1645             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
    1646             : /* Encoded Size: Fixed (13 bytes) */
    1647             : struct __attribute__((aligned(8UL))) fd_landed_vote {
    1648             :   uchar latency;
    1649             :   fd_vote_lockout_t lockout;
    1650             : };
    1651             : typedef struct fd_landed_vote fd_landed_vote_t;
    1652           0 : #define FD_LANDED_VOTE_FOOTPRINT sizeof(fd_landed_vote_t)
    1653           0 : #define FD_LANDED_VOTE_ALIGN (8UL)
    1654             : 
    1655             : struct __attribute__((aligned(8UL))) fd_landed_vote_global {
    1656             :   uchar latency;
    1657             :   fd_vote_lockout_t lockout;
    1658             : };
    1659             : typedef struct fd_landed_vote_global fd_landed_vote_global_t;
    1660             : #define FD_LANDED_VOTE_GLOBAL_FOOTPRINT sizeof(fd_landed_vote_global_t)
    1661             : #define FD_LANDED_VOTE_GLOBAL_ALIGN (8UL)
    1662             : 
    1663             : #define DEQUE_NAME deq_fd_vote_lockout_t
    1664           0 : #define DEQUE_T fd_vote_lockout_t
    1665             : #include "../../util/tmpl/fd_deque_dynamic.c"
    1666             : #undef DEQUE_NAME
    1667             : #undef DEQUE_T
    1668             : #undef DEQUE_MAX
    1669             : static inline fd_vote_lockout_t *
    1670           0 : deq_fd_vote_lockout_t_join_new( void * * alloc_mem, ulong max ) {
    1671           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    1672           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_lockout_t_align() );
    1673           0 :   void * deque_mem = *alloc_mem;
    1674           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_lockout_t_footprint( max );
    1675           0 :   return deq_fd_vote_lockout_t_join( deq_fd_vote_lockout_t_new( deque_mem, max ) );
    1676           0 : }
    1677             : #define DEQUE_NAME deq_fd_vote_epoch_credits_t
    1678         585 : #define DEQUE_T fd_vote_epoch_credits_t
    1679             : #include "../../util/tmpl/fd_deque_dynamic.c"
    1680             : #undef DEQUE_NAME
    1681             : #undef DEQUE_T
    1682             : #undef DEQUE_MAX
    1683             : static inline fd_vote_epoch_credits_t *
    1684          18 : deq_fd_vote_epoch_credits_t_join_new( void * * alloc_mem, ulong max ) {
    1685          18 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    1686          18 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_epoch_credits_t_align() );
    1687          18 :   void * deque_mem = *alloc_mem;
    1688          18 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_epoch_credits_t_footprint( max );
    1689          18 :   return deq_fd_vote_epoch_credits_t_join( deq_fd_vote_epoch_credits_t_new( deque_mem, max ) );
    1690          18 : }
    1691             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_0_23_5.rs#L6 */
    1692             : /* Encoded Size: Dynamic */
    1693             : struct __attribute__((aligned(8UL))) fd_vote_state_0_23_5 {
    1694             :   fd_pubkey_t node_pubkey;
    1695             :   fd_pubkey_t authorized_voter;
    1696             :   ulong authorized_voter_epoch;
    1697             :   fd_vote_prior_voters_0_23_5_t prior_voters;
    1698             :   fd_pubkey_t authorized_withdrawer;
    1699             :   uchar commission;
    1700             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
    1701             :   ulong root_slot;
    1702             :   uchar has_root_slot;
    1703             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
    1704             :   fd_vote_block_timestamp_t last_timestamp;
    1705             : };
    1706             : typedef struct fd_vote_state_0_23_5 fd_vote_state_0_23_5_t;
    1707           0 : #define FD_VOTE_STATE_0_23_5_FOOTPRINT sizeof(fd_vote_state_0_23_5_t)
    1708           0 : #define FD_VOTE_STATE_0_23_5_ALIGN (8UL)
    1709             : 
    1710             : struct __attribute__((aligned(8UL))) fd_vote_state_0_23_5_global {
    1711             :   fd_pubkey_t node_pubkey;
    1712             :   fd_pubkey_t authorized_voter;
    1713             :   ulong authorized_voter_epoch;
    1714             :   fd_vote_prior_voters_0_23_5_t prior_voters;
    1715             :   fd_pubkey_t authorized_withdrawer;
    1716             :   uchar commission;
    1717             :   ulong votes_gaddr; /* fd_deque_dynamic (min cnt 32) */
    1718             :   ulong root_slot;
    1719             :   uchar has_root_slot;
    1720             :   ulong epoch_credits_gaddr; /* fd_deque_dynamic (min cnt 64) */
    1721             :   fd_vote_block_timestamp_t last_timestamp;
    1722             : };
    1723             : typedef struct fd_vote_state_0_23_5_global fd_vote_state_0_23_5_global_t;
    1724             : #define FD_VOTE_STATE_0_23_5_GLOBAL_FOOTPRINT sizeof(fd_vote_state_0_23_5_global_t)
    1725             : #define FD_VOTE_STATE_0_23_5_GLOBAL_ALIGN (8UL)
    1726             : 
    1727          30 : #define FD_VOTE_AUTHORIZED_VOTERS_MIN 64
    1728             : #define POOL_NAME fd_vote_authorized_voters_pool
    1729          66 : #define POOL_T fd_vote_authorized_voter_t
    1730        1194 : #define POOL_NEXT parent
    1731             : #include "../../util/tmpl/fd_pool.c"
    1732             : static inline fd_vote_authorized_voter_t *
    1733          18 : fd_vote_authorized_voters_pool_join_new( void * * alloc_mem, ulong num ) {
    1734          18 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
    1735          18 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_pool_align() );
    1736          18 :   void * pool_mem = *alloc_mem;
    1737          18 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_pool_footprint( num );
    1738          18 :   return fd_vote_authorized_voters_pool_join( fd_vote_authorized_voters_pool_new( pool_mem, num ) );
    1739          18 : }
    1740             : #define TREAP_NAME fd_vote_authorized_voters_treap
    1741             : #define TREAP_T fd_vote_authorized_voter_t
    1742             : #define TREAP_QUERY_T ulong
    1743           0 : #define TREAP_CMP(q,e) ( (q == (e)->epoch) ? 0 : ( (q < (e)->epoch) ? -1 : 1 ) )
    1744           0 : #define TREAP_LT(e0,e1) ((e0)->epoch<(e1)->epoch)
    1745             : #include "../../util/tmpl/fd_treap.c"
    1746             : static inline fd_vote_authorized_voters_treap_t *
    1747          18 : fd_vote_authorized_voters_treap_join_new( void * * alloc_mem, ulong num ) {
    1748          18 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
    1749          18 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_treap_align() );
    1750          18 :   void * treap_mem = *alloc_mem;
    1751          18 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_treap_footprint( num );
    1752          18 :   return fd_vote_authorized_voters_treap_join( fd_vote_authorized_voters_treap_new( treap_mem, num ) );
    1753          18 : }
    1754             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
    1755             : /* Encoded Size: Dynamic */
    1756             : struct __attribute__((aligned(8UL))) fd_vote_authorized_voters {
    1757             :   fd_vote_authorized_voter_t * pool;
    1758             :   fd_vote_authorized_voters_treap_t * treap;
    1759             : };
    1760             : typedef struct fd_vote_authorized_voters fd_vote_authorized_voters_t;
    1761           0 : #define FD_VOTE_AUTHORIZED_VOTERS_FOOTPRINT sizeof(fd_vote_authorized_voters_t)
    1762           0 : #define FD_VOTE_AUTHORIZED_VOTERS_ALIGN (8UL)
    1763             : 
    1764             : struct __attribute__((aligned(8UL))) fd_vote_authorized_voters_global {
    1765             :   ulong pool_gaddr;
    1766             :   ulong treap_gaddr;
    1767             : };
    1768             : typedef struct fd_vote_authorized_voters_global fd_vote_authorized_voters_global_t;
    1769             : #define FD_VOTE_AUTHORIZED_VOTERS_GLOBAL_FOOTPRINT sizeof(fd_vote_authorized_voters_global_t)
    1770             : #define FD_VOTE_AUTHORIZED_VOTERS_GLOBAL_ALIGN (8UL)
    1771             : 
    1772             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
    1773             : /* Encoded Size: Dynamic */
    1774             : struct __attribute__((aligned(8UL))) fd_vote_state_1_14_11 {
    1775             :   fd_pubkey_t node_pubkey;
    1776             :   fd_pubkey_t authorized_withdrawer;
    1777             :   uchar commission;
    1778             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
    1779             :   ulong root_slot;
    1780             :   uchar has_root_slot;
    1781             :   fd_vote_authorized_voters_t authorized_voters;
    1782             :   fd_vote_prior_voters_t prior_voters;
    1783             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
    1784             :   fd_vote_block_timestamp_t last_timestamp;
    1785             : };
    1786             : typedef struct fd_vote_state_1_14_11 fd_vote_state_1_14_11_t;
    1787           0 : #define FD_VOTE_STATE_1_14_11_FOOTPRINT sizeof(fd_vote_state_1_14_11_t)
    1788           0 : #define FD_VOTE_STATE_1_14_11_ALIGN (8UL)
    1789             : 
    1790             : struct __attribute__((aligned(8UL))) fd_vote_state_1_14_11_global {
    1791             :   fd_pubkey_t node_pubkey;
    1792             :   fd_pubkey_t authorized_withdrawer;
    1793             :   uchar commission;
    1794             :   ulong votes_gaddr; /* fd_deque_dynamic (min cnt 32) */
    1795             :   ulong root_slot;
    1796             :   uchar has_root_slot;
    1797             :   fd_vote_authorized_voters_global_t authorized_voters;
    1798             :   fd_vote_prior_voters_t prior_voters;
    1799             :   ulong epoch_credits_gaddr; /* fd_deque_dynamic (min cnt 64) */
    1800             :   fd_vote_block_timestamp_t last_timestamp;
    1801             : };
    1802             : typedef struct fd_vote_state_1_14_11_global fd_vote_state_1_14_11_global_t;
    1803             : #define FD_VOTE_STATE_1_14_11_GLOBAL_FOOTPRINT sizeof(fd_vote_state_1_14_11_global_t)
    1804             : #define FD_VOTE_STATE_1_14_11_GLOBAL_ALIGN (8UL)
    1805             : 
    1806             : #define DEQUE_NAME deq_fd_landed_vote_t
    1807         288 : #define DEQUE_T fd_landed_vote_t
    1808             : #include "../../util/tmpl/fd_deque_dynamic.c"
    1809             : #undef DEQUE_NAME
    1810             : #undef DEQUE_T
    1811             : #undef DEQUE_MAX
    1812             : static inline fd_landed_vote_t *
    1813          18 : deq_fd_landed_vote_t_join_new( void * * alloc_mem, ulong max ) {
    1814          18 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    1815          18 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_landed_vote_t_align() );
    1816          18 :   void * deque_mem = *alloc_mem;
    1817          18 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_landed_vote_t_footprint( max );
    1818          18 :   return deq_fd_landed_vote_t_join( deq_fd_landed_vote_t_new( deque_mem, max ) );
    1819          18 : }
    1820             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
    1821             : /* Encoded Size: Dynamic */
    1822             : struct __attribute__((aligned(8UL))) fd_vote_state {
    1823             :   fd_pubkey_t node_pubkey;
    1824             :   fd_pubkey_t authorized_withdrawer;
    1825             :   uchar commission;
    1826             :   fd_landed_vote_t * votes; /* fd_deque_dynamic (min cnt 32) */
    1827             :   ulong root_slot;
    1828             :   uchar has_root_slot;
    1829             :   fd_vote_authorized_voters_t authorized_voters;
    1830             :   fd_vote_prior_voters_t prior_voters;
    1831             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
    1832             :   fd_vote_block_timestamp_t last_timestamp;
    1833             : };
    1834             : typedef struct fd_vote_state fd_vote_state_t;
    1835           0 : #define FD_VOTE_STATE_FOOTPRINT sizeof(fd_vote_state_t)
    1836           0 : #define FD_VOTE_STATE_ALIGN (8UL)
    1837             : 
    1838             : struct __attribute__((aligned(8UL))) fd_vote_state_global {
    1839             :   fd_pubkey_t node_pubkey;
    1840             :   fd_pubkey_t authorized_withdrawer;
    1841             :   uchar commission;
    1842             :   ulong votes_gaddr; /* fd_deque_dynamic (min cnt 32) */
    1843             :   ulong root_slot;
    1844             :   uchar has_root_slot;
    1845             :   fd_vote_authorized_voters_global_t authorized_voters;
    1846             :   fd_vote_prior_voters_t prior_voters;
    1847             :   ulong epoch_credits_gaddr; /* fd_deque_dynamic (min cnt 64) */
    1848             :   fd_vote_block_timestamp_t last_timestamp;
    1849             : };
    1850             : typedef struct fd_vote_state_global fd_vote_state_global_t;
    1851             : #define FD_VOTE_STATE_GLOBAL_FOOTPRINT sizeof(fd_vote_state_global_t)
    1852             : #define FD_VOTE_STATE_GLOBAL_ALIGN (8UL)
    1853             : 
    1854             : union fd_vote_state_versioned_inner {
    1855             :   fd_vote_state_0_23_5_t v0_23_5;
    1856             :   fd_vote_state_1_14_11_t v1_14_11;
    1857             :   fd_vote_state_t current;
    1858             : };
    1859             : typedef union fd_vote_state_versioned_inner fd_vote_state_versioned_inner_t;
    1860             : 
    1861             : union fd_vote_state_versioned_inner_global {
    1862             :   fd_vote_state_0_23_5_global_t v0_23_5;
    1863             :   fd_vote_state_1_14_11_global_t v1_14_11;
    1864             :   fd_vote_state_global_t current;
    1865             : };
    1866             : typedef union fd_vote_state_versioned_inner_global fd_vote_state_versioned_inner_global_t;
    1867             : 
    1868             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_versions.rs#L4 */
    1869             : struct fd_vote_state_versioned {
    1870             :   uint discriminant;
    1871             :   fd_vote_state_versioned_inner_t inner;
    1872             : };
    1873             : typedef struct fd_vote_state_versioned fd_vote_state_versioned_t;
    1874           6 : #define FD_VOTE_STATE_VERSIONED_FOOTPRINT sizeof(fd_vote_state_versioned_t)
    1875          30 : #define FD_VOTE_STATE_VERSIONED_ALIGN (8UL)
    1876             : struct fd_vote_state_versioned_global {
    1877             :   uint discriminant;
    1878             :   fd_vote_state_versioned_inner_global_t inner;
    1879             : };
    1880             : typedef struct fd_vote_state_versioned_global fd_vote_state_versioned_global_t;
    1881             : #define FD_VOTE_STATE_VERSIONED_GLOBAL_FOOTPRINT sizeof(fd_vote_state_versioned_global_t)
    1882             : #define FD_VOTE_STATE_VERSIONED_GLOBAL_ALIGN (8UL)
    1883             : 
    1884             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
    1885             : /* Encoded Size: Dynamic */
    1886             : struct __attribute__((aligned(8UL))) fd_vote_state_update {
    1887             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic (min cnt 32) */
    1888             :   ulong root;
    1889             :   uchar has_root;
    1890             :   fd_hash_t hash;
    1891             :   long timestamp;
    1892             :   uchar has_timestamp;
    1893             : };
    1894             : typedef struct fd_vote_state_update fd_vote_state_update_t;
    1895           0 : #define FD_VOTE_STATE_UPDATE_FOOTPRINT sizeof(fd_vote_state_update_t)
    1896           0 : #define FD_VOTE_STATE_UPDATE_ALIGN (8UL)
    1897             : 
    1898             : struct __attribute__((aligned(8UL))) fd_vote_state_update_global {
    1899             :   ulong lockouts_gaddr; /* fd_deque_dynamic (min cnt 32) */
    1900             :   ulong root;
    1901             :   uchar has_root;
    1902             :   fd_hash_t hash;
    1903             :   long timestamp;
    1904             :   uchar has_timestamp;
    1905             : };
    1906             : typedef struct fd_vote_state_update_global fd_vote_state_update_global_t;
    1907             : #define FD_VOTE_STATE_UPDATE_GLOBAL_FOOTPRINT sizeof(fd_vote_state_update_global_t)
    1908             : #define FD_VOTE_STATE_UPDATE_GLOBAL_ALIGN (8UL)
    1909             : 
    1910             : /* Encoded Size: Dynamic */
    1911             : struct __attribute__((aligned(8UL))) fd_compact_vote_state_update {
    1912             :   ulong root;
    1913             :   ushort lockouts_len;
    1914             :   fd_lockout_offset_t * lockouts;
    1915             :   fd_hash_t hash;
    1916             :   long timestamp;
    1917             :   uchar has_timestamp;
    1918             : };
    1919             : typedef struct fd_compact_vote_state_update fd_compact_vote_state_update_t;
    1920           0 : #define FD_COMPACT_VOTE_STATE_UPDATE_FOOTPRINT sizeof(fd_compact_vote_state_update_t)
    1921           0 : #define FD_COMPACT_VOTE_STATE_UPDATE_ALIGN (8UL)
    1922             : 
    1923             : struct __attribute__((aligned(8UL))) fd_compact_vote_state_update_global {
    1924             :   ulong root;
    1925             :   ushort lockouts_len;
    1926             :   ulong lockouts_gaddr;
    1927             :   fd_hash_t hash;
    1928             :   long timestamp;
    1929             :   uchar has_timestamp;
    1930             : };
    1931             : typedef struct fd_compact_vote_state_update_global fd_compact_vote_state_update_global_t;
    1932             : #define FD_COMPACT_VOTE_STATE_UPDATE_GLOBAL_FOOTPRINT sizeof(fd_compact_vote_state_update_global_t)
    1933             : #define FD_COMPACT_VOTE_STATE_UPDATE_GLOBAL_ALIGN (8UL)
    1934             : 
    1935             : /* https://github.com/solana-labs/solana/blob/252438e28fbfb2c695fe1215171b83456e4b761c/programs/vote/src/vote_instruction.rs#L143 */
    1936             : /* Encoded Size: Dynamic */
    1937             : struct __attribute__((aligned(8UL))) fd_compact_vote_state_update_switch {
    1938             :   fd_compact_vote_state_update_t compact_vote_state_update;
    1939             :   fd_hash_t hash;
    1940             : };
    1941             : typedef struct fd_compact_vote_state_update_switch fd_compact_vote_state_update_switch_t;
    1942           0 : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_FOOTPRINT sizeof(fd_compact_vote_state_update_switch_t)
    1943           0 : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN (8UL)
    1944             : 
    1945             : struct __attribute__((aligned(8UL))) fd_compact_vote_state_update_switch_global {
    1946             :   fd_compact_vote_state_update_global_t compact_vote_state_update;
    1947             :   fd_hash_t hash;
    1948             : };
    1949             : typedef struct fd_compact_vote_state_update_switch_global fd_compact_vote_state_update_switch_global_t;
    1950             : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_GLOBAL_FOOTPRINT sizeof(fd_compact_vote_state_update_switch_global_t)
    1951             : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_GLOBAL_ALIGN (8UL)
    1952             : 
    1953             : #define DEQUE_NAME deq_fd_lockout_offset_t
    1954           0 : #define DEQUE_T fd_lockout_offset_t
    1955             : #include "../../util/tmpl/fd_deque_dynamic.c"
    1956             : #undef DEQUE_NAME
    1957             : #undef DEQUE_T
    1958             : #undef DEQUE_MAX
    1959             : static inline fd_lockout_offset_t *
    1960           0 : deq_fd_lockout_offset_t_join_new( void * * alloc_mem, ulong max ) {
    1961           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    1962           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_lockout_offset_t_align() );
    1963           0 :   void * deque_mem = *alloc_mem;
    1964           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_lockout_offset_t_footprint( max );
    1965           0 :   return deq_fd_lockout_offset_t_join( deq_fd_lockout_offset_t_new( deque_mem, max ) );
    1966           0 : }
    1967             : /* https://github.com/anza-xyz/agave/blob/20ee70cd1829cd414d09040460defecf9792a370/sdk/program/src/vote/state/mod.rs#L990 */
    1968             : /* Encoded Size: Dynamic */
    1969             : struct __attribute__((aligned(8UL))) fd_compact_tower_sync {
    1970             :   ulong root;
    1971             :   fd_lockout_offset_t * lockout_offsets; /* fd_deque_dynamic (min cnt 32) */
    1972             :   fd_hash_t hash;
    1973             :   long timestamp;
    1974             :   uchar has_timestamp;
    1975             :   fd_hash_t block_id;
    1976             : };
    1977             : typedef struct fd_compact_tower_sync fd_compact_tower_sync_t;
    1978           0 : #define FD_COMPACT_TOWER_SYNC_FOOTPRINT sizeof(fd_compact_tower_sync_t)
    1979           0 : #define FD_COMPACT_TOWER_SYNC_ALIGN (8UL)
    1980             : 
    1981             : struct __attribute__((aligned(8UL))) fd_compact_tower_sync_global {
    1982             :   ulong root;
    1983             :   ulong lockout_offsets_gaddr; /* fd_deque_dynamic (min cnt 32) */
    1984             :   fd_hash_t hash;
    1985             :   long timestamp;
    1986             :   uchar has_timestamp;
    1987             :   fd_hash_t block_id;
    1988             : };
    1989             : typedef struct fd_compact_tower_sync_global fd_compact_tower_sync_global_t;
    1990             : #define FD_COMPACT_TOWER_SYNC_GLOBAL_FOOTPRINT sizeof(fd_compact_tower_sync_global_t)
    1991             : #define FD_COMPACT_TOWER_SYNC_GLOBAL_ALIGN (8UL)
    1992             : 
    1993             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
    1994             : /* Encoded Size: Dynamic */
    1995             : struct __attribute__((aligned(8UL))) fd_tower_sync {
    1996             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic */
    1997             :   ulong lockouts_cnt;
    1998             :   ulong root;
    1999             :   uchar has_root;
    2000             :   fd_hash_t hash;
    2001             :   long timestamp;
    2002             :   uchar has_timestamp;
    2003             :   fd_hash_t block_id;
    2004             : };
    2005             : typedef struct fd_tower_sync fd_tower_sync_t;
    2006           0 : #define FD_TOWER_SYNC_FOOTPRINT sizeof(fd_tower_sync_t)
    2007           0 : #define FD_TOWER_SYNC_ALIGN (8UL)
    2008             : 
    2009             : struct __attribute__((aligned(8UL))) fd_tower_sync_global {
    2010             :   ulong lockouts_gaddr; /* fd_deque_dynamic */
    2011             :   ulong lockouts_cnt;
    2012             :   ulong root;
    2013             :   uchar has_root;
    2014             :   fd_hash_t hash;
    2015             :   long timestamp;
    2016             :   uchar has_timestamp;
    2017             :   fd_hash_t block_id;
    2018             : };
    2019             : typedef struct fd_tower_sync_global fd_tower_sync_global_t;
    2020             : #define FD_TOWER_SYNC_GLOBAL_FOOTPRINT sizeof(fd_tower_sync_global_t)
    2021             : #define FD_TOWER_SYNC_GLOBAL_ALIGN (8UL)
    2022             : 
    2023             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
    2024             : /* Encoded Size: Dynamic */
    2025             : struct __attribute__((aligned(8UL))) fd_tower_sync_switch {
    2026             :   fd_tower_sync_t tower_sync;
    2027             :   fd_hash_t hash;
    2028             : };
    2029             : typedef struct fd_tower_sync_switch fd_tower_sync_switch_t;
    2030           0 : #define FD_TOWER_SYNC_SWITCH_FOOTPRINT sizeof(fd_tower_sync_switch_t)
    2031           0 : #define FD_TOWER_SYNC_SWITCH_ALIGN (8UL)
    2032             : 
    2033             : struct __attribute__((aligned(8UL))) fd_tower_sync_switch_global {
    2034             :   fd_tower_sync_global_t tower_sync;
    2035             :   fd_hash_t hash;
    2036             : };
    2037             : typedef struct fd_tower_sync_switch_global fd_tower_sync_switch_global_t;
    2038             : #define FD_TOWER_SYNC_SWITCH_GLOBAL_FOOTPRINT sizeof(fd_tower_sync_switch_global_t)
    2039             : #define FD_TOWER_SYNC_SWITCH_GLOBAL_ALIGN (8UL)
    2040             : 
    2041             : /* Encoded Size: Dynamic */
    2042             : struct __attribute__((aligned(8UL))) fd_slot_history_inner {
    2043             :   ulong blocks_len;
    2044             :   ulong* blocks;
    2045             : };
    2046             : typedef struct fd_slot_history_inner fd_slot_history_inner_t;
    2047           0 : #define FD_SLOT_HISTORY_INNER_FOOTPRINT sizeof(fd_slot_history_inner_t)
    2048           0 : #define FD_SLOT_HISTORY_INNER_ALIGN (8UL)
    2049             : 
    2050             : struct __attribute__((aligned(8UL))) fd_slot_history_inner_global {
    2051             :   ulong blocks_len;
    2052             :   ulong blocks_gaddr;
    2053             : };
    2054             : typedef struct fd_slot_history_inner_global fd_slot_history_inner_global_t;
    2055             : #define FD_SLOT_HISTORY_INNER_GLOBAL_FOOTPRINT sizeof(fd_slot_history_inner_global_t)
    2056             : #define FD_SLOT_HISTORY_INNER_GLOBAL_ALIGN (8UL)
    2057             : 
    2058             : /* https://github.com/tov/bv-rs/blob/107be3e9c45324e55844befa4c4239d4d3d092c6/src/bit_vec/inner.rs#L8 */
    2059             : /* Encoded Size: Dynamic */
    2060             : struct __attribute__((aligned(8UL))) fd_slot_history_bitvec {
    2061             :   fd_slot_history_inner_t * bits;
    2062             :   ulong len;
    2063             : };
    2064             : typedef struct fd_slot_history_bitvec fd_slot_history_bitvec_t;
    2065           0 : #define FD_SLOT_HISTORY_BITVEC_FOOTPRINT sizeof(fd_slot_history_bitvec_t)
    2066           0 : #define FD_SLOT_HISTORY_BITVEC_ALIGN (8UL)
    2067             : 
    2068             : struct __attribute__((aligned(8UL))) fd_slot_history_bitvec_global {
    2069             :   ulong bits_gaddr;
    2070             :   ulong len;
    2071             : };
    2072             : typedef struct fd_slot_history_bitvec_global fd_slot_history_bitvec_global_t;
    2073             : #define FD_SLOT_HISTORY_BITVEC_GLOBAL_FOOTPRINT sizeof(fd_slot_history_bitvec_global_t)
    2074             : #define FD_SLOT_HISTORY_BITVEC_GLOBAL_ALIGN (8UL)
    2075             : 
    2076             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_history.rs#L11 */
    2077             : /* Encoded Size: Dynamic */
    2078             : struct __attribute__((aligned(8UL))) fd_slot_history {
    2079             :   fd_slot_history_bitvec_t bits;
    2080             :   ulong next_slot;
    2081             : };
    2082             : typedef struct fd_slot_history fd_slot_history_t;
    2083           0 : #define FD_SLOT_HISTORY_FOOTPRINT sizeof(fd_slot_history_t)
    2084           0 : #define FD_SLOT_HISTORY_ALIGN (8UL)
    2085             : 
    2086             : struct __attribute__((aligned(8UL))) fd_slot_history_global {
    2087             :   fd_slot_history_bitvec_global_t bits;
    2088             :   ulong next_slot;
    2089             : };
    2090             : typedef struct fd_slot_history_global fd_slot_history_global_t;
    2091             : #define FD_SLOT_HISTORY_GLOBAL_FOOTPRINT sizeof(fd_slot_history_global_t)
    2092             : #define FD_SLOT_HISTORY_GLOBAL_ALIGN (8UL)
    2093             : 
    2094             : /* Encoded Size: Fixed (40 bytes) */
    2095             : struct __attribute__((aligned(8UL))) fd_slot_hash {
    2096             :   ulong slot;
    2097             :   fd_hash_t hash;
    2098             : };
    2099             : typedef struct fd_slot_hash fd_slot_hash_t;
    2100           6 : #define FD_SLOT_HASH_FOOTPRINT sizeof(fd_slot_hash_t)
    2101           6 : #define FD_SLOT_HASH_ALIGN (8UL)
    2102             : 
    2103             : struct __attribute__((aligned(8UL))) fd_slot_hash_global {
    2104             :   ulong slot;
    2105             :   fd_hash_t hash;
    2106             : };
    2107             : typedef struct fd_slot_hash_global fd_slot_hash_global_t;
    2108             : #define FD_SLOT_HASH_GLOBAL_FOOTPRINT sizeof(fd_slot_hash_global_t)
    2109             : #define FD_SLOT_HASH_GLOBAL_ALIGN (8UL)
    2110             : 
    2111             : #define DEQUE_NAME deq_fd_slot_hash_t
    2112           0 : #define DEQUE_T fd_slot_hash_t
    2113             : #include "../../util/tmpl/fd_deque_dynamic.c"
    2114             : #undef DEQUE_NAME
    2115             : #undef DEQUE_T
    2116             : #undef DEQUE_MAX
    2117             : static inline fd_slot_hash_t *
    2118           0 : deq_fd_slot_hash_t_join_new( void * * alloc_mem, ulong max ) {
    2119           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    2120           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_slot_hash_t_align() );
    2121           0 :   void * deque_mem = *alloc_mem;
    2122           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_slot_hash_t_footprint( max );
    2123           0 :   return deq_fd_slot_hash_t_join( deq_fd_slot_hash_t_new( deque_mem, max ) );
    2124           0 : }
    2125             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_hashes.rs#L31 */
    2126             : /* Encoded Size: Dynamic */
    2127             : struct __attribute__((aligned(8UL))) fd_slot_hashes {
    2128             :   fd_slot_hash_t * hashes; /* fd_deque_dynamic (min cnt 512) */
    2129             : };
    2130             : typedef struct fd_slot_hashes fd_slot_hashes_t;
    2131           0 : #define FD_SLOT_HASHES_FOOTPRINT sizeof(fd_slot_hashes_t)
    2132           0 : #define FD_SLOT_HASHES_ALIGN (8UL)
    2133             : 
    2134             : struct __attribute__((aligned(8UL))) fd_slot_hashes_global {
    2135             :   ulong hashes_gaddr; /* fd_deque_dynamic (min cnt 512) */
    2136             : };
    2137             : typedef struct fd_slot_hashes_global fd_slot_hashes_global_t;
    2138             : #define FD_SLOT_HASHES_GLOBAL_FOOTPRINT sizeof(fd_slot_hashes_global_t)
    2139             : #define FD_SLOT_HASHES_GLOBAL_ALIGN (8UL)
    2140             : 
    2141             : /* Encoded Size: Fixed (40 bytes) */
    2142             : struct __attribute__((aligned(8UL))) fd_block_block_hash_entry {
    2143             :   fd_hash_t blockhash;
    2144             :   fd_fee_calculator_t fee_calculator;
    2145             : };
    2146             : typedef struct fd_block_block_hash_entry fd_block_block_hash_entry_t;
    2147           0 : #define FD_BLOCK_BLOCK_HASH_ENTRY_FOOTPRINT sizeof(fd_block_block_hash_entry_t)
    2148           0 : #define FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN (8UL)
    2149             : 
    2150             : struct __attribute__((aligned(8UL))) fd_block_block_hash_entry_global {
    2151             :   fd_hash_t blockhash;
    2152             :   fd_fee_calculator_t fee_calculator;
    2153             : };
    2154             : typedef struct fd_block_block_hash_entry_global fd_block_block_hash_entry_global_t;
    2155             : #define FD_BLOCK_BLOCK_HASH_ENTRY_GLOBAL_FOOTPRINT sizeof(fd_block_block_hash_entry_global_t)
    2156             : #define FD_BLOCK_BLOCK_HASH_ENTRY_GLOBAL_ALIGN (8UL)
    2157             : 
    2158             : #define DEQUE_NAME deq_fd_block_block_hash_entry_t
    2159           0 : #define DEQUE_T fd_block_block_hash_entry_t
    2160             : #include "../../util/tmpl/fd_deque_dynamic.c"
    2161             : #undef DEQUE_NAME
    2162             : #undef DEQUE_T
    2163             : #undef DEQUE_MAX
    2164             : static inline fd_block_block_hash_entry_t *
    2165           0 : deq_fd_block_block_hash_entry_t_join_new( void * * alloc_mem, ulong max ) {
    2166           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    2167           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_block_block_hash_entry_t_align() );
    2168           0 :   void * deque_mem = *alloc_mem;
    2169           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_block_block_hash_entry_t_footprint( max );
    2170           0 :   return deq_fd_block_block_hash_entry_t_join( deq_fd_block_block_hash_entry_t_new( deque_mem, max ) );
    2171           0 : }
    2172             : /* Encoded Size: Dynamic */
    2173             : struct __attribute__((aligned(8UL))) fd_recent_block_hashes {
    2174             :   fd_block_block_hash_entry_t * hashes; /* fd_deque_dynamic (min cnt 151) */
    2175             : };
    2176             : typedef struct fd_recent_block_hashes fd_recent_block_hashes_t;
    2177           0 : #define FD_RECENT_BLOCK_HASHES_FOOTPRINT sizeof(fd_recent_block_hashes_t)
    2178           0 : #define FD_RECENT_BLOCK_HASHES_ALIGN (8UL)
    2179             : 
    2180             : struct __attribute__((aligned(8UL))) fd_recent_block_hashes_global {
    2181             :   ulong hashes_gaddr; /* fd_deque_dynamic (min cnt 151) */
    2182             : };
    2183             : typedef struct fd_recent_block_hashes_global fd_recent_block_hashes_global_t;
    2184             : #define FD_RECENT_BLOCK_HASHES_GLOBAL_FOOTPRINT sizeof(fd_recent_block_hashes_global_t)
    2185             : #define FD_RECENT_BLOCK_HASHES_GLOBAL_ALIGN (8UL)
    2186             : 
    2187             : /* Encoded Size: Dynamic */
    2188             : struct __attribute__((aligned(8UL))) fd_slot_meta {
    2189             :   ulong slot;
    2190             :   ulong consumed;
    2191             :   ulong received;
    2192             :   long first_shred_timestamp;
    2193             :   ulong last_index;
    2194             :   ulong parent_slot;
    2195             :   ulong next_slot_len;
    2196             :   ulong* next_slot;
    2197             :   uchar is_connected;
    2198             :   ulong entry_end_indexes_len;
    2199             :   uint* entry_end_indexes;
    2200             : };
    2201             : typedef struct fd_slot_meta fd_slot_meta_t;
    2202           0 : #define FD_SLOT_META_FOOTPRINT sizeof(fd_slot_meta_t)
    2203           0 : #define FD_SLOT_META_ALIGN (8UL)
    2204             : 
    2205             : struct __attribute__((aligned(8UL))) fd_slot_meta_global {
    2206             :   ulong slot;
    2207             :   ulong consumed;
    2208             :   ulong received;
    2209             :   long first_shred_timestamp;
    2210             :   ulong last_index;
    2211             :   ulong parent_slot;
    2212             :   ulong next_slot_len;
    2213             :   ulong next_slot_gaddr;
    2214             :   uchar is_connected;
    2215             :   ulong entry_end_indexes_len;
    2216             :   ulong entry_end_indexes_gaddr;
    2217             : };
    2218             : typedef struct fd_slot_meta_global fd_slot_meta_global_t;
    2219             : #define FD_SLOT_META_GLOBAL_FOOTPRINT sizeof(fd_slot_meta_global_t)
    2220             : #define FD_SLOT_META_GLOBAL_ALIGN (8UL)
    2221             : 
    2222             : /* A validator timestamp oracle vote received from a voting node */
    2223             : /* Encoded Size: Fixed (48 bytes) */
    2224             : struct __attribute__((aligned(8UL))) fd_clock_timestamp_vote {
    2225             :   fd_pubkey_t pubkey;
    2226             :   long timestamp;
    2227             :   ulong slot;
    2228             : };
    2229             : typedef struct fd_clock_timestamp_vote fd_clock_timestamp_vote_t;
    2230           0 : #define FD_CLOCK_TIMESTAMP_VOTE_FOOTPRINT sizeof(fd_clock_timestamp_vote_t)
    2231           0 : #define FD_CLOCK_TIMESTAMP_VOTE_ALIGN (8UL)
    2232             : 
    2233             : struct __attribute__((aligned(8UL))) fd_clock_timestamp_vote_global {
    2234             :   fd_pubkey_t pubkey;
    2235             :   long timestamp;
    2236             :   ulong slot;
    2237             : };
    2238             : typedef struct fd_clock_timestamp_vote_global fd_clock_timestamp_vote_global_t;
    2239             : #define FD_CLOCK_TIMESTAMP_VOTE_GLOBAL_FOOTPRINT sizeof(fd_clock_timestamp_vote_global_t)
    2240             : #define FD_CLOCK_TIMESTAMP_VOTE_GLOBAL_ALIGN (8UL)
    2241             : 
    2242             : typedef struct fd_clock_timestamp_vote_t_mapnode fd_clock_timestamp_vote_t_mapnode_t;
    2243             : #define REDBLK_T fd_clock_timestamp_vote_t_mapnode_t
    2244             : #define REDBLK_NAME fd_clock_timestamp_vote_t_map
    2245             : #define REDBLK_IMPL_STYLE 1
    2246             : #include "../../util/tmpl/fd_redblack.c"
    2247             : struct fd_clock_timestamp_vote_t_mapnode {
    2248             :     fd_clock_timestamp_vote_t elem;
    2249             :     ulong redblack_parent;
    2250             :     ulong redblack_left;
    2251             :     ulong redblack_right;
    2252             :     int redblack_color;
    2253             : };
    2254             : static inline fd_clock_timestamp_vote_t_mapnode_t *
    2255           9 : fd_clock_timestamp_vote_t_map_join_new( void * * alloc_mem, ulong len ) {
    2256           9 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    2257           9 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_clock_timestamp_vote_t_map_align() );
    2258           9 :   void * map_mem = *alloc_mem;
    2259           9 :   *alloc_mem = (uchar *)*alloc_mem + fd_clock_timestamp_vote_t_map_footprint( len );
    2260           9 :   return fd_clock_timestamp_vote_t_map_join( fd_clock_timestamp_vote_t_map_new( map_mem, len ) );
    2261           9 : }
    2262             : /* Validator timestamp oracle votes received from voting nodes. TODO: make this a map */
    2263             : /* Encoded Size: Dynamic */
    2264             : struct __attribute__((aligned(8UL))) fd_clock_timestamp_votes {
    2265             :   fd_clock_timestamp_vote_t_mapnode_t * votes_pool;
    2266             :   fd_clock_timestamp_vote_t_mapnode_t * votes_root;
    2267             : };
    2268             : typedef struct fd_clock_timestamp_votes fd_clock_timestamp_votes_t;
    2269           0 : #define FD_CLOCK_TIMESTAMP_VOTES_FOOTPRINT sizeof(fd_clock_timestamp_votes_t)
    2270           0 : #define FD_CLOCK_TIMESTAMP_VOTES_ALIGN (8UL)
    2271             : 
    2272             : struct __attribute__((aligned(8UL))) fd_clock_timestamp_votes_global {
    2273             :   ulong votes_pool_gaddr;
    2274             :   ulong votes_root_gaddr;
    2275             : };
    2276             : typedef struct fd_clock_timestamp_votes_global fd_clock_timestamp_votes_global_t;
    2277             : #define FD_CLOCK_TIMESTAMP_VOTES_GLOBAL_FOOTPRINT sizeof(fd_clock_timestamp_votes_global_t)
    2278             : #define FD_CLOCK_TIMESTAMP_VOTES_GLOBAL_ALIGN (8UL)
    2279             : 
    2280             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/sysvar/fees.rs#L21 */
    2281             : /* Encoded Size: Fixed (8 bytes) */
    2282             : struct __attribute__((aligned(8UL))) fd_sysvar_fees {
    2283             :   fd_fee_calculator_t fee_calculator;
    2284             : };
    2285             : typedef struct fd_sysvar_fees fd_sysvar_fees_t;
    2286           0 : #define FD_SYSVAR_FEES_FOOTPRINT sizeof(fd_sysvar_fees_t)
    2287           0 : #define FD_SYSVAR_FEES_ALIGN (8UL)
    2288             : 
    2289             : struct __attribute__((aligned(8UL))) fd_sysvar_fees_global {
    2290             :   fd_fee_calculator_t fee_calculator;
    2291             : };
    2292             : typedef struct fd_sysvar_fees_global fd_sysvar_fees_global_t;
    2293             : #define FD_SYSVAR_FEES_GLOBAL_FOOTPRINT sizeof(fd_sysvar_fees_global_t)
    2294             : #define FD_SYSVAR_FEES_GLOBAL_ALIGN (8UL)
    2295             : 
    2296             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/sdk/program/src/epoch_rewards.rs#L14 */
    2297             : /* Encoded Size: Fixed (81 bytes) */
    2298             : struct __attribute__((aligned(16UL))) fd_sysvar_epoch_rewards {
    2299             :   ulong distribution_starting_block_height;
    2300             :   ulong num_partitions;
    2301             :   fd_hash_t parent_blockhash;
    2302             :   uint128 total_points;
    2303             :   ulong total_rewards;
    2304             :   ulong distributed_rewards;
    2305             :   uchar active;
    2306             : };
    2307             : typedef struct fd_sysvar_epoch_rewards fd_sysvar_epoch_rewards_t;
    2308           0 : #define FD_SYSVAR_EPOCH_REWARDS_FOOTPRINT sizeof(fd_sysvar_epoch_rewards_t)
    2309           0 : #define FD_SYSVAR_EPOCH_REWARDS_ALIGN (16UL)
    2310             : 
    2311             : struct __attribute__((aligned(16UL))) fd_sysvar_epoch_rewards_global {
    2312             :   ulong distribution_starting_block_height;
    2313             :   ulong num_partitions;
    2314             :   fd_hash_t parent_blockhash;
    2315             :   uint128 total_points;
    2316             :   ulong total_rewards;
    2317             :   ulong distributed_rewards;
    2318             :   uchar active;
    2319             : };
    2320             : typedef struct fd_sysvar_epoch_rewards_global fd_sysvar_epoch_rewards_global_t;
    2321             : #define FD_SYSVAR_EPOCH_REWARDS_GLOBAL_FOOTPRINT sizeof(fd_sysvar_epoch_rewards_global_t)
    2322             : #define FD_SYSVAR_EPOCH_REWARDS_GLOBAL_ALIGN (16UL)
    2323             : 
    2324             : /* Encoded Size: Fixed (33 bytes) */
    2325             : struct __attribute__((aligned(8UL))) fd_config_keys_pair {
    2326             :   fd_pubkey_t key;
    2327             :   uchar signer;
    2328             : };
    2329             : typedef struct fd_config_keys_pair fd_config_keys_pair_t;
    2330           0 : #define FD_CONFIG_KEYS_PAIR_FOOTPRINT sizeof(fd_config_keys_pair_t)
    2331           0 : #define FD_CONFIG_KEYS_PAIR_ALIGN (8UL)
    2332             : 
    2333             : struct __attribute__((aligned(8UL))) fd_config_keys_pair_global {
    2334             :   fd_pubkey_t key;
    2335             :   uchar signer;
    2336             : };
    2337             : typedef struct fd_config_keys_pair_global fd_config_keys_pair_global_t;
    2338             : #define FD_CONFIG_KEYS_PAIR_GLOBAL_FOOTPRINT sizeof(fd_config_keys_pair_global_t)
    2339             : #define FD_CONFIG_KEYS_PAIR_GLOBAL_ALIGN (8UL)
    2340             : 
    2341             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/config.rs#L14 */
    2342             : /* Encoded Size: Dynamic */
    2343             : struct __attribute__((aligned(8UL))) fd_stake_config {
    2344             :   ushort config_keys_len;
    2345             :   fd_config_keys_pair_t * config_keys;
    2346             :   double warmup_cooldown_rate;
    2347             :   uchar slash_penalty;
    2348             : };
    2349             : typedef struct fd_stake_config fd_stake_config_t;
    2350           0 : #define FD_STAKE_CONFIG_FOOTPRINT sizeof(fd_stake_config_t)
    2351           0 : #define FD_STAKE_CONFIG_ALIGN (8UL)
    2352             : 
    2353             : struct __attribute__((aligned(8UL))) fd_stake_config_global {
    2354             :   ushort config_keys_len;
    2355             :   ulong config_keys_gaddr;
    2356             :   double warmup_cooldown_rate;
    2357             :   uchar slash_penalty;
    2358             : };
    2359             : typedef struct fd_stake_config_global fd_stake_config_global_t;
    2360             : #define FD_STAKE_CONFIG_GLOBAL_FOOTPRINT sizeof(fd_stake_config_global_t)
    2361             : #define FD_STAKE_CONFIG_GLOBAL_ALIGN (8UL)
    2362             : 
    2363             : /* Encoded Size: Dynamic */
    2364             : struct __attribute__((aligned(8UL))) fd_feature_entry {
    2365             :   fd_pubkey_t pubkey;
    2366             :   ulong description_len;
    2367             :   uchar* description;
    2368             :   ulong since_slot;
    2369             : };
    2370             : typedef struct fd_feature_entry fd_feature_entry_t;
    2371           0 : #define FD_FEATURE_ENTRY_FOOTPRINT sizeof(fd_feature_entry_t)
    2372           0 : #define FD_FEATURE_ENTRY_ALIGN (8UL)
    2373             : 
    2374             : struct __attribute__((aligned(8UL))) fd_feature_entry_global {
    2375             :   fd_pubkey_t pubkey;
    2376             :   ulong description_len;
    2377             :   ulong description_gaddr;
    2378             :   ulong since_slot;
    2379             : };
    2380             : typedef struct fd_feature_entry_global fd_feature_entry_global_t;
    2381             : #define FD_FEATURE_ENTRY_GLOBAL_FOOTPRINT sizeof(fd_feature_entry_global_t)
    2382             : #define FD_FEATURE_ENTRY_GLOBAL_ALIGN (8UL)
    2383             : 
    2384             : /* Encoded Size: Dynamic */
    2385             : struct __attribute__((aligned(16UL))) fd_firedancer_bank {
    2386             :   fd_stakes_t stakes;
    2387             :   fd_recent_block_hashes_t recent_block_hashes;
    2388             :   fd_clock_timestamp_votes_t timestamp_votes;
    2389             :   ulong slot;
    2390             :   ulong prev_slot;
    2391             :   fd_hash_t poh;
    2392             :   fd_hash_t banks_hash;
    2393             :   fd_fee_rate_governor_t fee_rate_governor;
    2394             :   ulong capitalization;
    2395             :   ulong block_height;
    2396             :   ulong lamports_per_signature;
    2397             :   ulong hashes_per_tick;
    2398             :   ulong ticks_per_slot;
    2399             :   uint128 ns_per_slot;
    2400             :   ulong genesis_creation_time;
    2401             :   double slots_per_year;
    2402             :   ulong max_tick_height;
    2403             :   fd_inflation_t inflation;
    2404             :   fd_epoch_schedule_t epoch_schedule;
    2405             :   fd_rent_t rent;
    2406             :   ulong collected_fees;
    2407             :   ulong collected_rent;
    2408             :   fd_vote_accounts_t epoch_stakes;
    2409             :   fd_sol_sysvar_last_restart_slot_t last_restart_slot;
    2410             : };
    2411             : typedef struct fd_firedancer_bank fd_firedancer_bank_t;
    2412           0 : #define FD_FIREDANCER_BANK_FOOTPRINT sizeof(fd_firedancer_bank_t)
    2413           0 : #define FD_FIREDANCER_BANK_ALIGN (16UL)
    2414             : 
    2415             : struct __attribute__((aligned(16UL))) fd_firedancer_bank_global {
    2416             :   fd_stakes_global_t stakes;
    2417             :   fd_recent_block_hashes_global_t recent_block_hashes;
    2418             :   fd_clock_timestamp_votes_global_t timestamp_votes;
    2419             :   ulong slot;
    2420             :   ulong prev_slot;
    2421             :   fd_hash_t poh;
    2422             :   fd_hash_t banks_hash;
    2423             :   fd_fee_rate_governor_t fee_rate_governor;
    2424             :   ulong capitalization;
    2425             :   ulong block_height;
    2426             :   ulong lamports_per_signature;
    2427             :   ulong hashes_per_tick;
    2428             :   ulong ticks_per_slot;
    2429             :   uint128 ns_per_slot;
    2430             :   ulong genesis_creation_time;
    2431             :   double slots_per_year;
    2432             :   ulong max_tick_height;
    2433             :   fd_inflation_t inflation;
    2434             :   fd_epoch_schedule_t epoch_schedule;
    2435             :   fd_rent_t rent;
    2436             :   ulong collected_fees;
    2437             :   ulong collected_rent;
    2438             :   fd_vote_accounts_global_t epoch_stakes;
    2439             :   fd_sol_sysvar_last_restart_slot_t last_restart_slot;
    2440             : };
    2441             : typedef struct fd_firedancer_bank_global fd_firedancer_bank_global_t;
    2442             : #define FD_FIREDANCER_BANK_GLOBAL_FOOTPRINT sizeof(fd_firedancer_bank_global_t)
    2443             : #define FD_FIREDANCER_BANK_GLOBAL_ALIGN (16UL)
    2444             : 
    2445             : union fd_cluster_type_inner {
    2446             :   uchar nonempty; /* Hack to support enums with no inner structures */
    2447             : };
    2448             : typedef union fd_cluster_type_inner fd_cluster_type_inner_t;
    2449             : 
    2450             : union fd_cluster_type_inner_global {
    2451             :   uchar nonempty; /* Hack to support enums with no inner structures */
    2452             : };
    2453             : typedef union fd_cluster_type_inner_global fd_cluster_type_inner_global_t;
    2454             : 
    2455             : struct fd_cluster_type {
    2456             :   uint discriminant;
    2457             :   fd_cluster_type_inner_t inner;
    2458             : };
    2459             : typedef struct fd_cluster_type fd_cluster_type_t;
    2460           0 : #define FD_CLUSTER_TYPE_FOOTPRINT sizeof(fd_cluster_type_t)
    2461           0 : #define FD_CLUSTER_TYPE_ALIGN (8UL)
    2462             : struct fd_cluster_type_global {
    2463             :   uint discriminant;
    2464             :   fd_cluster_type_inner_global_t inner;
    2465             : };
    2466             : typedef struct fd_cluster_type_global fd_cluster_type_global_t;
    2467             : #define FD_CLUSTER_TYPE_GLOBAL_FOOTPRINT sizeof(fd_cluster_type_global_t)
    2468             : #define FD_CLUSTER_TYPE_GLOBAL_ALIGN (8UL)
    2469             : 
    2470             : /* Encoded Size: Dynamic */
    2471             : struct __attribute__((aligned(16UL)))  fd_epoch_bank {
    2472             :   fd_stakes_t stakes;
    2473             :   ulong hashes_per_tick;
    2474             :   ulong ticks_per_slot;
    2475             :   uint128 ns_per_slot;
    2476             :   ulong genesis_creation_time;
    2477             :   double slots_per_year;
    2478             :   ulong max_tick_height;
    2479             :   fd_inflation_t inflation;
    2480             :   fd_epoch_schedule_t epoch_schedule;
    2481             :   fd_rent_t rent;
    2482             :   ulong eah_start_slot;
    2483             :   ulong eah_stop_slot;
    2484             :   ulong eah_interval;
    2485             :   fd_hash_t genesis_hash;
    2486             :   uint cluster_type;
    2487             :   uint cluster_version[3];
    2488             :   fd_vote_accounts_t next_epoch_stakes;
    2489             :   fd_epoch_schedule_t rent_epoch_schedule;
    2490             : };
    2491             : typedef struct fd_epoch_bank fd_epoch_bank_t;
    2492           0 : #define FD_EPOCH_BANK_FOOTPRINT sizeof(fd_epoch_bank_t)
    2493           0 : #define FD_EPOCH_BANK_ALIGN (16UL)
    2494             : 
    2495             : struct __attribute__((aligned(16UL))) fd_epoch_bank_global {
    2496             :   fd_stakes_global_t stakes;
    2497             :   ulong hashes_per_tick;
    2498             :   ulong ticks_per_slot;
    2499             :   uint128 ns_per_slot;
    2500             :   ulong genesis_creation_time;
    2501             :   double slots_per_year;
    2502             :   ulong max_tick_height;
    2503             :   fd_inflation_t inflation;
    2504             :   fd_epoch_schedule_t epoch_schedule;
    2505             :   fd_rent_t rent;
    2506             :   ulong eah_start_slot;
    2507             :   ulong eah_stop_slot;
    2508             :   ulong eah_interval;
    2509             :   fd_hash_t genesis_hash;
    2510             :   uint cluster_type;
    2511             :   uint cluster_version[3];
    2512             :   fd_vote_accounts_global_t next_epoch_stakes;
    2513             :   fd_epoch_schedule_t rent_epoch_schedule;
    2514             : };
    2515             : typedef struct fd_epoch_bank_global fd_epoch_bank_global_t;
    2516             : #define FD_EPOCH_BANK_GLOBAL_FOOTPRINT sizeof(fd_epoch_bank_global_t)
    2517             : #define FD_EPOCH_BANK_GLOBAL_ALIGN (16UL)
    2518             : 
    2519             : /* Encoded Size: Dynamic */
    2520             : struct __attribute__((aligned(128UL))) fd_slot_bank {
    2521             :   fd_clock_timestamp_votes_t timestamp_votes;
    2522             :   ulong slot;
    2523             :   ulong prev_slot;
    2524             :   fd_hash_t poh;
    2525             :   fd_hash_t banks_hash;
    2526             :   fd_hash_t epoch_account_hash;
    2527             :   fd_fee_rate_governor_t fee_rate_governor;
    2528             :   ulong capitalization;
    2529             :   ulong block_height;
    2530             :   ulong max_tick_height;
    2531             :   ulong collected_execution_fees;
    2532             :   ulong collected_priority_fees;
    2533             :   ulong collected_rent;
    2534             :   fd_vote_accounts_t epoch_stakes;
    2535             :   fd_sol_sysvar_last_restart_slot_t last_restart_slot;
    2536             :   fd_account_keys_t stake_account_keys;
    2537             :   fd_account_keys_t vote_account_keys;
    2538             :   ulong lamports_per_signature;
    2539             :   ulong transaction_count;
    2540             :   fd_slot_lthash_t lthash;
    2541             :   fd_block_hash_queue_t block_hash_queue;
    2542             :   fd_hash_t prev_banks_hash;
    2543             :   ulong parent_signature_cnt;
    2544             :   ulong tick_height;
    2545             :   ulong use_preceeding_epoch_stakes;
    2546             :   uchar has_use_preceeding_epoch_stakes;
    2547             :   fd_hard_forks_t hard_forks;
    2548             : };
    2549             : typedef struct fd_slot_bank fd_slot_bank_t;
    2550           3 : #define FD_SLOT_BANK_FOOTPRINT sizeof(fd_slot_bank_t)
    2551          15 : #define FD_SLOT_BANK_ALIGN (128UL)
    2552             : 
    2553             : struct __attribute__((aligned(128UL))) fd_slot_bank_global {
    2554             :   fd_clock_timestamp_votes_global_t timestamp_votes;
    2555             :   ulong slot;
    2556             :   ulong prev_slot;
    2557             :   fd_hash_t poh;
    2558             :   fd_hash_t banks_hash;
    2559             :   fd_hash_t epoch_account_hash;
    2560             :   fd_fee_rate_governor_t fee_rate_governor;
    2561             :   ulong capitalization;
    2562             :   ulong block_height;
    2563             :   ulong max_tick_height;
    2564             :   ulong collected_execution_fees;
    2565             :   ulong collected_priority_fees;
    2566             :   ulong collected_rent;
    2567             :   fd_vote_accounts_global_t epoch_stakes;
    2568             :   fd_sol_sysvar_last_restart_slot_t last_restart_slot;
    2569             :   fd_account_keys_global_t stake_account_keys;
    2570             :   fd_account_keys_global_t vote_account_keys;
    2571             :   ulong lamports_per_signature;
    2572             :   ulong transaction_count;
    2573             :   fd_slot_lthash_t lthash;
    2574             :   fd_block_hash_queue_global_t block_hash_queue;
    2575             :   fd_hash_t prev_banks_hash;
    2576             :   ulong parent_signature_cnt;
    2577             :   ulong tick_height;
    2578             :   ulong use_preceeding_epoch_stakes;
    2579             :   uchar has_use_preceeding_epoch_stakes;
    2580             :   fd_hard_forks_global_t hard_forks;
    2581             : };
    2582             : typedef struct fd_slot_bank_global fd_slot_bank_global_t;
    2583             : #define FD_SLOT_BANK_GLOBAL_FOOTPRINT sizeof(fd_slot_bank_global_t)
    2584             : #define FD_SLOT_BANK_GLOBAL_ALIGN (128UL)
    2585             : 
    2586             : /* Encoded Size: Fixed (32 bytes) */
    2587             : struct __attribute__((aligned(8UL))) fd_prev_epoch_inflation_rewards {
    2588             :   ulong validator_rewards;
    2589             :   double prev_epoch_duration_in_years;
    2590             :   double validator_rate;
    2591             :   double foundation_rate;
    2592             : };
    2593             : typedef struct fd_prev_epoch_inflation_rewards fd_prev_epoch_inflation_rewards_t;
    2594           0 : #define FD_PREV_EPOCH_INFLATION_REWARDS_FOOTPRINT sizeof(fd_prev_epoch_inflation_rewards_t)
    2595           0 : #define FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN (8UL)
    2596             : 
    2597             : struct __attribute__((aligned(8UL))) fd_prev_epoch_inflation_rewards_global {
    2598             :   ulong validator_rewards;
    2599             :   double prev_epoch_duration_in_years;
    2600             :   double validator_rate;
    2601             :   double foundation_rate;
    2602             : };
    2603             : typedef struct fd_prev_epoch_inflation_rewards_global fd_prev_epoch_inflation_rewards_global_t;
    2604             : #define FD_PREV_EPOCH_INFLATION_REWARDS_GLOBAL_FOOTPRINT sizeof(fd_prev_epoch_inflation_rewards_global_t)
    2605             : #define FD_PREV_EPOCH_INFLATION_REWARDS_GLOBAL_ALIGN (8UL)
    2606             : 
    2607             : #define DEQUE_NAME deq_ulong
    2608           0 : #define DEQUE_T ulong
    2609             : #include "../../util/tmpl/fd_deque_dynamic.c"
    2610             : #undef DEQUE_NAME
    2611             : #undef DEQUE_T
    2612             : #undef DEQUE_MAX
    2613             : static inline ulong *
    2614           0 : deq_ulong_join_new( void * * alloc_mem, ulong max ) {
    2615           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    2616           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_ulong_align() );
    2617           0 :   void * deque_mem = *alloc_mem;
    2618           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_ulong_footprint( max );
    2619           0 :   return deq_ulong_join( deq_ulong_new( deque_mem, max ) );
    2620           0 : }
    2621             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L133 */
    2622             : /* Encoded Size: Dynamic */
    2623             : struct __attribute__((aligned(8UL))) fd_vote {
    2624             :   ulong * slots; /* fd_deque_dynamic */
    2625             :   fd_hash_t hash;
    2626             :   long* timestamp;
    2627             : };
    2628             : typedef struct fd_vote fd_vote_t;
    2629           0 : #define FD_VOTE_FOOTPRINT sizeof(fd_vote_t)
    2630           0 : #define FD_VOTE_ALIGN (8UL)
    2631             : 
    2632             : struct __attribute__((aligned(8UL))) fd_vote_global {
    2633             :   ulong slots_gaddr; /* fd_deque_dynamic */
    2634             :   fd_hash_t hash;
    2635             :   ulong timestamp_gaddr;
    2636             : };
    2637             : typedef struct fd_vote_global fd_vote_global_t;
    2638             : #define FD_VOTE_GLOBAL_FOOTPRINT sizeof(fd_vote_global_t)
    2639             : #define FD_VOTE_GLOBAL_ALIGN (8UL)
    2640             : 
    2641             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L230 */
    2642             : /* Encoded Size: Fixed (97 bytes) */
    2643             : struct __attribute__((aligned(8UL))) fd_vote_init {
    2644             :   fd_pubkey_t node_pubkey;
    2645             :   fd_pubkey_t authorized_voter;
    2646             :   fd_pubkey_t authorized_withdrawer;
    2647             :   uchar commission;
    2648             : };
    2649             : typedef struct fd_vote_init fd_vote_init_t;
    2650           0 : #define FD_VOTE_INIT_FOOTPRINT sizeof(fd_vote_init_t)
    2651           0 : #define FD_VOTE_INIT_ALIGN (8UL)
    2652             : 
    2653             : struct __attribute__((aligned(8UL))) fd_vote_init_global {
    2654             :   fd_pubkey_t node_pubkey;
    2655             :   fd_pubkey_t authorized_voter;
    2656             :   fd_pubkey_t authorized_withdrawer;
    2657             :   uchar commission;
    2658             : };
    2659             : typedef struct fd_vote_init_global fd_vote_init_global_t;
    2660             : #define FD_VOTE_INIT_GLOBAL_FOOTPRINT sizeof(fd_vote_init_global_t)
    2661             : #define FD_VOTE_INIT_GLOBAL_ALIGN (8UL)
    2662             : 
    2663             : union fd_vote_authorize_inner {
    2664             :   uchar nonempty; /* Hack to support enums with no inner structures */
    2665             : };
    2666             : typedef union fd_vote_authorize_inner fd_vote_authorize_inner_t;
    2667             : 
    2668             : union fd_vote_authorize_inner_global {
    2669             :   uchar nonempty; /* Hack to support enums with no inner structures */
    2670             : };
    2671             : typedef union fd_vote_authorize_inner_global fd_vote_authorize_inner_global_t;
    2672             : 
    2673             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L238 */
    2674             : struct fd_vote_authorize {
    2675             :   uint discriminant;
    2676             :   fd_vote_authorize_inner_t inner;
    2677             : };
    2678             : typedef struct fd_vote_authorize fd_vote_authorize_t;
    2679           0 : #define FD_VOTE_AUTHORIZE_FOOTPRINT sizeof(fd_vote_authorize_t)
    2680           0 : #define FD_VOTE_AUTHORIZE_ALIGN (8UL)
    2681             : struct fd_vote_authorize_global {
    2682             :   uint discriminant;
    2683             :   fd_vote_authorize_inner_global_t inner;
    2684             : };
    2685             : typedef struct fd_vote_authorize_global fd_vote_authorize_global_t;
    2686             : #define FD_VOTE_AUTHORIZE_GLOBAL_FOOTPRINT sizeof(fd_vote_authorize_global_t)
    2687             : #define FD_VOTE_AUTHORIZE_GLOBAL_ALIGN (8UL)
    2688             : 
    2689             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L37 */
    2690             : /* Encoded Size: Fixed (36 bytes) */
    2691             : struct __attribute__((aligned(8UL))) fd_vote_authorize_pubkey {
    2692             :   fd_pubkey_t pubkey;
    2693             :   fd_vote_authorize_t vote_authorize;
    2694             : };
    2695             : typedef struct fd_vote_authorize_pubkey fd_vote_authorize_pubkey_t;
    2696           0 : #define FD_VOTE_AUTHORIZE_PUBKEY_FOOTPRINT sizeof(fd_vote_authorize_pubkey_t)
    2697           0 : #define FD_VOTE_AUTHORIZE_PUBKEY_ALIGN (8UL)
    2698             : 
    2699             : struct __attribute__((aligned(8UL))) fd_vote_authorize_pubkey_global {
    2700             :   fd_pubkey_t pubkey;
    2701             :   fd_vote_authorize_t vote_authorize;
    2702             : };
    2703             : typedef struct fd_vote_authorize_pubkey_global fd_vote_authorize_pubkey_global_t;
    2704             : #define FD_VOTE_AUTHORIZE_PUBKEY_GLOBAL_FOOTPRINT sizeof(fd_vote_authorize_pubkey_global_t)
    2705             : #define FD_VOTE_AUTHORIZE_PUBKEY_GLOBAL_ALIGN (8UL)
    2706             : 
    2707             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L78 */
    2708             : /* Encoded Size: Dynamic */
    2709             : struct __attribute__((aligned(8UL))) fd_vote_switch {
    2710             :   fd_vote_t vote;
    2711             :   fd_hash_t hash;
    2712             : };
    2713             : typedef struct fd_vote_switch fd_vote_switch_t;
    2714           0 : #define FD_VOTE_SWITCH_FOOTPRINT sizeof(fd_vote_switch_t)
    2715           0 : #define FD_VOTE_SWITCH_ALIGN (8UL)
    2716             : 
    2717             : struct __attribute__((aligned(8UL))) fd_vote_switch_global {
    2718             :   fd_vote_global_t vote;
    2719             :   fd_hash_t hash;
    2720             : };
    2721             : typedef struct fd_vote_switch_global fd_vote_switch_global_t;
    2722             : #define FD_VOTE_SWITCH_GLOBAL_FOOTPRINT sizeof(fd_vote_switch_global_t)
    2723             : #define FD_VOTE_SWITCH_GLOBAL_ALIGN (8UL)
    2724             : 
    2725             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
    2726             : /* Encoded Size: Dynamic */
    2727             : struct __attribute__((aligned(8UL))) fd_update_vote_state_switch {
    2728             :   fd_vote_state_update_t vote_state_update;
    2729             :   fd_hash_t hash;
    2730             : };
    2731             : typedef struct fd_update_vote_state_switch fd_update_vote_state_switch_t;
    2732           0 : #define FD_UPDATE_VOTE_STATE_SWITCH_FOOTPRINT sizeof(fd_update_vote_state_switch_t)
    2733           0 : #define FD_UPDATE_VOTE_STATE_SWITCH_ALIGN (8UL)
    2734             : 
    2735             : struct __attribute__((aligned(8UL))) fd_update_vote_state_switch_global {
    2736             :   fd_vote_state_update_global_t vote_state_update;
    2737             :   fd_hash_t hash;
    2738             : };
    2739             : typedef struct fd_update_vote_state_switch_global fd_update_vote_state_switch_global_t;
    2740             : #define FD_UPDATE_VOTE_STATE_SWITCH_GLOBAL_FOOTPRINT sizeof(fd_update_vote_state_switch_global_t)
    2741             : #define FD_UPDATE_VOTE_STATE_SWITCH_GLOBAL_ALIGN (8UL)
    2742             : 
    2743             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L244 */
    2744             : /* Encoded Size: Dynamic */
    2745             : struct __attribute__((aligned(8UL))) fd_vote_authorize_with_seed_args {
    2746             :   fd_vote_authorize_t authorization_type;
    2747             :   fd_pubkey_t current_authority_derived_key_owner;
    2748             :   ulong current_authority_derived_key_seed_len;
    2749             :   uchar* current_authority_derived_key_seed;
    2750             :   fd_pubkey_t new_authority;
    2751             : };
    2752             : typedef struct fd_vote_authorize_with_seed_args fd_vote_authorize_with_seed_args_t;
    2753           0 : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_FOOTPRINT sizeof(fd_vote_authorize_with_seed_args_t)
    2754           0 : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN (8UL)
    2755             : 
    2756             : struct __attribute__((aligned(8UL))) fd_vote_authorize_with_seed_args_global {
    2757             :   fd_vote_authorize_t authorization_type;
    2758             :   fd_pubkey_t current_authority_derived_key_owner;
    2759             :   ulong current_authority_derived_key_seed_len;
    2760             :   ulong current_authority_derived_key_seed_gaddr;
    2761             :   fd_pubkey_t new_authority;
    2762             : };
    2763             : typedef struct fd_vote_authorize_with_seed_args_global fd_vote_authorize_with_seed_args_global_t;
    2764             : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_GLOBAL_FOOTPRINT sizeof(fd_vote_authorize_with_seed_args_global_t)
    2765             : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_GLOBAL_ALIGN (8UL)
    2766             : 
    2767             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L252 */
    2768             : /* Encoded Size: Dynamic */
    2769             : struct __attribute__((aligned(8UL))) fd_vote_authorize_checked_with_seed_args {
    2770             :   fd_vote_authorize_t authorization_type;
    2771             :   fd_pubkey_t current_authority_derived_key_owner;
    2772             :   ulong current_authority_derived_key_seed_len;
    2773             :   uchar* current_authority_derived_key_seed;
    2774             : };
    2775             : typedef struct fd_vote_authorize_checked_with_seed_args fd_vote_authorize_checked_with_seed_args_t;
    2776           0 : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_FOOTPRINT sizeof(fd_vote_authorize_checked_with_seed_args_t)
    2777           0 : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN (8UL)
    2778             : 
    2779             : struct __attribute__((aligned(8UL))) fd_vote_authorize_checked_with_seed_args_global {
    2780             :   fd_vote_authorize_t authorization_type;
    2781             :   fd_pubkey_t current_authority_derived_key_owner;
    2782             :   ulong current_authority_derived_key_seed_len;
    2783             :   ulong current_authority_derived_key_seed_gaddr;
    2784             : };
    2785             : typedef struct fd_vote_authorize_checked_with_seed_args_global fd_vote_authorize_checked_with_seed_args_global_t;
    2786             : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_GLOBAL_FOOTPRINT sizeof(fd_vote_authorize_checked_with_seed_args_global_t)
    2787             : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_GLOBAL_ALIGN (8UL)
    2788             : 
    2789             : union fd_vote_instruction_inner {
    2790             :   fd_vote_init_t initialize_account;
    2791             :   fd_vote_authorize_pubkey_t authorize;
    2792             :   fd_vote_t vote;
    2793             :   ulong withdraw;
    2794             :   uchar update_commission;
    2795             :   fd_vote_switch_t vote_switch;
    2796             :   fd_vote_authorize_t authorize_checked;
    2797             :   fd_vote_state_update_t update_vote_state;
    2798             :   fd_update_vote_state_switch_t update_vote_state_switch;
    2799             :   fd_vote_authorize_with_seed_args_t authorize_with_seed;
    2800             :   fd_vote_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    2801             :   fd_compact_vote_state_update_t compact_update_vote_state;
    2802             :   fd_compact_vote_state_update_switch_t compact_update_vote_state_switch;
    2803             :   fd_tower_sync_t tower_sync;
    2804             :   fd_tower_sync_switch_t tower_sync_switch;
    2805             : };
    2806             : typedef union fd_vote_instruction_inner fd_vote_instruction_inner_t;
    2807             : 
    2808             : union fd_vote_instruction_inner_global {
    2809             :   fd_vote_init_t initialize_account;
    2810             :   fd_vote_authorize_pubkey_t authorize;
    2811             :   fd_vote_global_t vote;
    2812             :   ulong withdraw;
    2813             :   uchar update_commission;
    2814             :   fd_vote_switch_global_t vote_switch;
    2815             :   fd_vote_authorize_t authorize_checked;
    2816             :   fd_vote_state_update_global_t update_vote_state;
    2817             :   fd_update_vote_state_switch_global_t update_vote_state_switch;
    2818             :   fd_vote_authorize_with_seed_args_global_t authorize_with_seed;
    2819             :   fd_vote_authorize_checked_with_seed_args_global_t authorize_checked_with_seed;
    2820             :   fd_compact_vote_state_update_global_t compact_update_vote_state;
    2821             :   fd_compact_vote_state_update_switch_global_t compact_update_vote_state_switch;
    2822             :   fd_tower_sync_global_t tower_sync;
    2823             :   fd_tower_sync_switch_global_t tower_sync_switch;
    2824             : };
    2825             : typedef union fd_vote_instruction_inner_global fd_vote_instruction_inner_global_t;
    2826             : 
    2827             : /* https://github.com/firedancer-io/solana/blob/53a4e5d6c58b2ffe89b09304e4437f8ca198dadd/programs/vote/src/vote_instruction.rs#L21 */
    2828             : struct fd_vote_instruction {
    2829             :   uint discriminant;
    2830             :   fd_vote_instruction_inner_t inner;
    2831             : };
    2832             : typedef struct fd_vote_instruction fd_vote_instruction_t;
    2833           0 : #define FD_VOTE_INSTRUCTION_FOOTPRINT sizeof(fd_vote_instruction_t)
    2834           0 : #define FD_VOTE_INSTRUCTION_ALIGN (8UL)
    2835             : struct fd_vote_instruction_global {
    2836             :   uint discriminant;
    2837             :   fd_vote_instruction_inner_global_t inner;
    2838             : };
    2839             : typedef struct fd_vote_instruction_global fd_vote_instruction_global_t;
    2840             : #define FD_VOTE_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_vote_instruction_global_t)
    2841             : #define FD_VOTE_INSTRUCTION_GLOBAL_ALIGN (8UL)
    2842             : 
    2843             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L158 */
    2844             : /* Encoded Size: Fixed (48 bytes) */
    2845             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_create_account {
    2846             :   ulong lamports;
    2847             :   ulong space;
    2848             :   fd_pubkey_t owner;
    2849             : };
    2850             : typedef struct fd_system_program_instruction_create_account fd_system_program_instruction_create_account_t;
    2851           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_FOOTPRINT sizeof(fd_system_program_instruction_create_account_t)
    2852           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN (8UL)
    2853             : 
    2854             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_create_account_global {
    2855             :   ulong lamports;
    2856             :   ulong space;
    2857             :   fd_pubkey_t owner;
    2858             : };
    2859             : typedef struct fd_system_program_instruction_create_account_global fd_system_program_instruction_create_account_global_t;
    2860             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_GLOBAL_FOOTPRINT sizeof(fd_system_program_instruction_create_account_global_t)
    2861             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_GLOBAL_ALIGN (8UL)
    2862             : 
    2863             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L193 */
    2864             : /* Encoded Size: Dynamic */
    2865             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_create_account_with_seed {
    2866             :   fd_pubkey_t base;
    2867             :   ulong seed_len;
    2868             :   uchar* seed;
    2869             :   ulong lamports;
    2870             :   ulong space;
    2871             :   fd_pubkey_t owner;
    2872             : };
    2873             : typedef struct fd_system_program_instruction_create_account_with_seed fd_system_program_instruction_create_account_with_seed_t;
    2874           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_FOOTPRINT sizeof(fd_system_program_instruction_create_account_with_seed_t)
    2875           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN (8UL)
    2876             : 
    2877             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_create_account_with_seed_global {
    2878             :   fd_pubkey_t base;
    2879             :   ulong seed_len;
    2880             :   ulong seed_gaddr;
    2881             :   ulong lamports;
    2882             :   ulong space;
    2883             :   fd_pubkey_t owner;
    2884             : };
    2885             : typedef struct fd_system_program_instruction_create_account_with_seed_global fd_system_program_instruction_create_account_with_seed_global_t;
    2886             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_GLOBAL_FOOTPRINT sizeof(fd_system_program_instruction_create_account_with_seed_global_t)
    2887             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_GLOBAL_ALIGN (8UL)
    2888             : 
    2889             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L269 */
    2890             : /* Encoded Size: Dynamic */
    2891             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_allocate_with_seed {
    2892             :   fd_pubkey_t base;
    2893             :   ulong seed_len;
    2894             :   uchar* seed;
    2895             :   ulong space;
    2896             :   fd_pubkey_t owner;
    2897             : };
    2898             : typedef struct fd_system_program_instruction_allocate_with_seed fd_system_program_instruction_allocate_with_seed_t;
    2899           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_FOOTPRINT sizeof(fd_system_program_instruction_allocate_with_seed_t)
    2900           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN (8UL)
    2901             : 
    2902             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_allocate_with_seed_global {
    2903             :   fd_pubkey_t base;
    2904             :   ulong seed_len;
    2905             :   ulong seed_gaddr;
    2906             :   ulong space;
    2907             :   fd_pubkey_t owner;
    2908             : };
    2909             : typedef struct fd_system_program_instruction_allocate_with_seed_global fd_system_program_instruction_allocate_with_seed_global_t;
    2910             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_GLOBAL_FOOTPRINT sizeof(fd_system_program_instruction_allocate_with_seed_global_t)
    2911             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_GLOBAL_ALIGN (8UL)
    2912             : 
    2913             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    2914             : /* Encoded Size: Dynamic */
    2915             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_assign_with_seed {
    2916             :   fd_pubkey_t base;
    2917             :   ulong seed_len;
    2918             :   uchar* seed;
    2919             :   fd_pubkey_t owner;
    2920             : };
    2921             : typedef struct fd_system_program_instruction_assign_with_seed fd_system_program_instruction_assign_with_seed_t;
    2922           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_FOOTPRINT sizeof(fd_system_program_instruction_assign_with_seed_t)
    2923           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN (8UL)
    2924             : 
    2925             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_assign_with_seed_global {
    2926             :   fd_pubkey_t base;
    2927             :   ulong seed_len;
    2928             :   ulong seed_gaddr;
    2929             :   fd_pubkey_t owner;
    2930             : };
    2931             : typedef struct fd_system_program_instruction_assign_with_seed_global fd_system_program_instruction_assign_with_seed_global_t;
    2932             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_GLOBAL_FOOTPRINT sizeof(fd_system_program_instruction_assign_with_seed_global_t)
    2933             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_GLOBAL_ALIGN (8UL)
    2934             : 
    2935             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    2936             : /* Encoded Size: Dynamic */
    2937             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_transfer_with_seed {
    2938             :   ulong lamports;
    2939             :   ulong from_seed_len;
    2940             :   uchar* from_seed;
    2941             :   fd_pubkey_t from_owner;
    2942             : };
    2943             : typedef struct fd_system_program_instruction_transfer_with_seed fd_system_program_instruction_transfer_with_seed_t;
    2944           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_FOOTPRINT sizeof(fd_system_program_instruction_transfer_with_seed_t)
    2945           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN (8UL)
    2946             : 
    2947             : struct __attribute__((aligned(8UL))) fd_system_program_instruction_transfer_with_seed_global {
    2948             :   ulong lamports;
    2949             :   ulong from_seed_len;
    2950             :   ulong from_seed_gaddr;
    2951             :   fd_pubkey_t from_owner;
    2952             : };
    2953             : typedef struct fd_system_program_instruction_transfer_with_seed_global fd_system_program_instruction_transfer_with_seed_global_t;
    2954             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_GLOBAL_FOOTPRINT sizeof(fd_system_program_instruction_transfer_with_seed_global_t)
    2955             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_GLOBAL_ALIGN (8UL)
    2956             : 
    2957             : union fd_system_program_instruction_inner {
    2958             :   fd_system_program_instruction_create_account_t create_account;
    2959             :   fd_pubkey_t assign;
    2960             :   ulong transfer;
    2961             :   fd_system_program_instruction_create_account_with_seed_t create_account_with_seed;
    2962             :   ulong withdraw_nonce_account;
    2963             :   fd_pubkey_t initialize_nonce_account;
    2964             :   fd_pubkey_t authorize_nonce_account;
    2965             :   ulong allocate;
    2966             :   fd_system_program_instruction_allocate_with_seed_t allocate_with_seed;
    2967             :   fd_system_program_instruction_assign_with_seed_t assign_with_seed;
    2968             :   fd_system_program_instruction_transfer_with_seed_t transfer_with_seed;
    2969             : };
    2970             : typedef union fd_system_program_instruction_inner fd_system_program_instruction_inner_t;
    2971             : 
    2972             : union fd_system_program_instruction_inner_global {
    2973             :   fd_system_program_instruction_create_account_t create_account;
    2974             :   fd_pubkey_t assign;
    2975             :   ulong transfer;
    2976             :   fd_system_program_instruction_create_account_with_seed_global_t create_account_with_seed;
    2977             :   ulong withdraw_nonce_account;
    2978             :   fd_pubkey_t initialize_nonce_account;
    2979             :   fd_pubkey_t authorize_nonce_account;
    2980             :   ulong allocate;
    2981             :   fd_system_program_instruction_allocate_with_seed_global_t allocate_with_seed;
    2982             :   fd_system_program_instruction_assign_with_seed_global_t assign_with_seed;
    2983             :   fd_system_program_instruction_transfer_with_seed_global_t transfer_with_seed;
    2984             : };
    2985             : typedef union fd_system_program_instruction_inner_global fd_system_program_instruction_inner_global_t;
    2986             : 
    2987             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L152 */
    2988             : struct fd_system_program_instruction {
    2989             :   uint discriminant;
    2990             :   fd_system_program_instruction_inner_t inner;
    2991             : };
    2992             : typedef struct fd_system_program_instruction fd_system_program_instruction_t;
    2993           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_FOOTPRINT sizeof(fd_system_program_instruction_t)
    2994           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN (8UL)
    2995             : struct fd_system_program_instruction_global {
    2996             :   uint discriminant;
    2997             :   fd_system_program_instruction_inner_global_t inner;
    2998             : };
    2999             : typedef struct fd_system_program_instruction_global fd_system_program_instruction_global_t;
    3000             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_system_program_instruction_global_t)
    3001             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_GLOBAL_ALIGN (8UL)
    3002             : 
    3003             : union fd_system_error_inner {
    3004             :   uchar nonempty; /* Hack to support enums with no inner structures */
    3005             : };
    3006             : typedef union fd_system_error_inner fd_system_error_inner_t;
    3007             : 
    3008             : union fd_system_error_inner_global {
    3009             :   uchar nonempty; /* Hack to support enums with no inner structures */
    3010             : };
    3011             : typedef union fd_system_error_inner_global fd_system_error_inner_global_t;
    3012             : 
    3013             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L16 */
    3014             : struct fd_system_error {
    3015             :   uint discriminant;
    3016             :   fd_system_error_inner_t inner;
    3017             : };
    3018             : typedef struct fd_system_error fd_system_error_t;
    3019           0 : #define FD_SYSTEM_ERROR_FOOTPRINT sizeof(fd_system_error_t)
    3020           0 : #define FD_SYSTEM_ERROR_ALIGN (8UL)
    3021             : struct fd_system_error_global {
    3022             :   uint discriminant;
    3023             :   fd_system_error_inner_global_t inner;
    3024             : };
    3025             : typedef struct fd_system_error_global fd_system_error_global_t;
    3026             : #define FD_SYSTEM_ERROR_GLOBAL_FOOTPRINT sizeof(fd_system_error_global_t)
    3027             : #define FD_SYSTEM_ERROR_GLOBAL_ALIGN (8UL)
    3028             : 
    3029             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L169 */
    3030             : /* Encoded Size: Fixed (64 bytes) */
    3031             : struct __attribute__((aligned(8UL))) fd_stake_authorized {
    3032             :   fd_pubkey_t staker;
    3033             :   fd_pubkey_t withdrawer;
    3034             : };
    3035             : typedef struct fd_stake_authorized fd_stake_authorized_t;
    3036           0 : #define FD_STAKE_AUTHORIZED_FOOTPRINT sizeof(fd_stake_authorized_t)
    3037           0 : #define FD_STAKE_AUTHORIZED_ALIGN (8UL)
    3038             : 
    3039             : struct __attribute__((aligned(8UL))) fd_stake_authorized_global {
    3040             :   fd_pubkey_t staker;
    3041             :   fd_pubkey_t withdrawer;
    3042             : };
    3043             : typedef struct fd_stake_authorized_global fd_stake_authorized_global_t;
    3044             : #define FD_STAKE_AUTHORIZED_GLOBAL_FOOTPRINT sizeof(fd_stake_authorized_global_t)
    3045             : #define FD_STAKE_AUTHORIZED_GLOBAL_ALIGN (8UL)
    3046             : 
    3047             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L135 */
    3048             : /* Encoded Size: Fixed (48 bytes) */
    3049             : struct __attribute__((aligned(8UL))) fd_stake_lockup {
    3050             :   long unix_timestamp;
    3051             :   ulong epoch;
    3052             :   fd_pubkey_t custodian;
    3053             : };
    3054             : typedef struct fd_stake_lockup fd_stake_lockup_t;
    3055           0 : #define FD_STAKE_LOCKUP_FOOTPRINT sizeof(fd_stake_lockup_t)
    3056           0 : #define FD_STAKE_LOCKUP_ALIGN (8UL)
    3057             : 
    3058             : struct __attribute__((aligned(8UL))) fd_stake_lockup_global {
    3059             :   long unix_timestamp;
    3060             :   ulong epoch;
    3061             :   fd_pubkey_t custodian;
    3062             : };
    3063             : typedef struct fd_stake_lockup_global fd_stake_lockup_global_t;
    3064             : #define FD_STAKE_LOCKUP_GLOBAL_FOOTPRINT sizeof(fd_stake_lockup_global_t)
    3065             : #define FD_STAKE_LOCKUP_GLOBAL_ALIGN (8UL)
    3066             : 
    3067             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L68 */
    3068             : /* Encoded Size: Fixed (112 bytes) */
    3069             : struct __attribute__((aligned(8UL))) fd_stake_instruction_initialize {
    3070             :   fd_stake_authorized_t authorized;
    3071             :   fd_stake_lockup_t lockup;
    3072             : };
    3073             : typedef struct fd_stake_instruction_initialize fd_stake_instruction_initialize_t;
    3074           0 : #define FD_STAKE_INSTRUCTION_INITIALIZE_FOOTPRINT sizeof(fd_stake_instruction_initialize_t)
    3075           0 : #define FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN (8UL)
    3076             : 
    3077             : struct __attribute__((aligned(8UL))) fd_stake_instruction_initialize_global {
    3078             :   fd_stake_authorized_t authorized;
    3079             :   fd_stake_lockup_t lockup;
    3080             : };
    3081             : typedef struct fd_stake_instruction_initialize_global fd_stake_instruction_initialize_global_t;
    3082             : #define FD_STAKE_INSTRUCTION_INITIALIZE_GLOBAL_FOOTPRINT sizeof(fd_stake_instruction_initialize_global_t)
    3083             : #define FD_STAKE_INSTRUCTION_INITIALIZE_GLOBAL_ALIGN (8UL)
    3084             : 
    3085             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    3086             : /* Encoded Size: Dynamic */
    3087             : struct __attribute__((aligned(8UL))) fd_stake_lockup_custodian_args {
    3088             :   fd_stake_lockup_t lockup;
    3089             :   fd_sol_sysvar_clock_t clock;
    3090             :   fd_pubkey_t * custodian;
    3091             : };
    3092             : typedef struct fd_stake_lockup_custodian_args fd_stake_lockup_custodian_args_t;
    3093           0 : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_FOOTPRINT sizeof(fd_stake_lockup_custodian_args_t)
    3094           0 : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN (8UL)
    3095             : 
    3096             : struct __attribute__((aligned(8UL))) fd_stake_lockup_custodian_args_global {
    3097             :   fd_stake_lockup_t lockup;
    3098             :   fd_sol_sysvar_clock_t clock;
    3099             :   ulong custodian_gaddr;
    3100             : };
    3101             : typedef struct fd_stake_lockup_custodian_args_global fd_stake_lockup_custodian_args_global_t;
    3102             : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_GLOBAL_FOOTPRINT sizeof(fd_stake_lockup_custodian_args_global_t)
    3103             : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_GLOBAL_ALIGN (8UL)
    3104             : 
    3105             : union fd_stake_authorize_inner {
    3106             :   uchar nonempty; /* Hack to support enums with no inner structures */
    3107             : };
    3108             : typedef union fd_stake_authorize_inner fd_stake_authorize_inner_t;
    3109             : 
    3110             : union fd_stake_authorize_inner_global {
    3111             :   uchar nonempty; /* Hack to support enums with no inner structures */
    3112             : };
    3113             : typedef union fd_stake_authorize_inner_global fd_stake_authorize_inner_global_t;
    3114             : 
    3115             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L117 */
    3116             : struct fd_stake_authorize {
    3117             :   uint discriminant;
    3118             :   fd_stake_authorize_inner_t inner;
    3119             : };
    3120             : typedef struct fd_stake_authorize fd_stake_authorize_t;
    3121           0 : #define FD_STAKE_AUTHORIZE_FOOTPRINT sizeof(fd_stake_authorize_t)
    3122           0 : #define FD_STAKE_AUTHORIZE_ALIGN (8UL)
    3123             : struct fd_stake_authorize_global {
    3124             :   uint discriminant;
    3125             :   fd_stake_authorize_inner_global_t inner;
    3126             : };
    3127             : typedef struct fd_stake_authorize_global fd_stake_authorize_global_t;
    3128             : #define FD_STAKE_AUTHORIZE_GLOBAL_FOOTPRINT sizeof(fd_stake_authorize_global_t)
    3129             : #define FD_STAKE_AUTHORIZE_GLOBAL_ALIGN (8UL)
    3130             : 
    3131             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    3132             : /* Encoded Size: Fixed (36 bytes) */
    3133             : struct __attribute__((aligned(8UL))) fd_stake_instruction_authorize {
    3134             :   fd_pubkey_t pubkey;
    3135             :   fd_stake_authorize_t stake_authorize;
    3136             : };
    3137             : typedef struct fd_stake_instruction_authorize fd_stake_instruction_authorize_t;
    3138           0 : #define FD_STAKE_INSTRUCTION_AUTHORIZE_FOOTPRINT sizeof(fd_stake_instruction_authorize_t)
    3139           0 : #define FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN (8UL)
    3140             : 
    3141             : struct __attribute__((aligned(8UL))) fd_stake_instruction_authorize_global {
    3142             :   fd_pubkey_t pubkey;
    3143             :   fd_stake_authorize_t stake_authorize;
    3144             : };
    3145             : typedef struct fd_stake_instruction_authorize_global fd_stake_instruction_authorize_global_t;
    3146             : #define FD_STAKE_INSTRUCTION_AUTHORIZE_GLOBAL_FOOTPRINT sizeof(fd_stake_instruction_authorize_global_t)
    3147             : #define FD_STAKE_INSTRUCTION_AUTHORIZE_GLOBAL_ALIGN (8UL)
    3148             : 
    3149             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L241 */
    3150             : /* Encoded Size: Dynamic */
    3151             : struct __attribute__((aligned(8UL))) fd_authorize_with_seed_args {
    3152             :   fd_pubkey_t new_authorized_pubkey;
    3153             :   fd_stake_authorize_t stake_authorize;
    3154             :   ulong authority_seed_len;
    3155             :   uchar* authority_seed;
    3156             :   fd_pubkey_t authority_owner;
    3157             : };
    3158             : typedef struct fd_authorize_with_seed_args fd_authorize_with_seed_args_t;
    3159           0 : #define FD_AUTHORIZE_WITH_SEED_ARGS_FOOTPRINT sizeof(fd_authorize_with_seed_args_t)
    3160           0 : #define FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN (8UL)
    3161             : 
    3162             : struct __attribute__((aligned(8UL))) fd_authorize_with_seed_args_global {
    3163             :   fd_pubkey_t new_authorized_pubkey;
    3164             :   fd_stake_authorize_t stake_authorize;
    3165             :   ulong authority_seed_len;
    3166             :   ulong authority_seed_gaddr;
    3167             :   fd_pubkey_t authority_owner;
    3168             : };
    3169             : typedef struct fd_authorize_with_seed_args_global fd_authorize_with_seed_args_global_t;
    3170             : #define FD_AUTHORIZE_WITH_SEED_ARGS_GLOBAL_FOOTPRINT sizeof(fd_authorize_with_seed_args_global_t)
    3171             : #define FD_AUTHORIZE_WITH_SEED_ARGS_GLOBAL_ALIGN (8UL)
    3172             : 
    3173             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L249 */
    3174             : /* Encoded Size: Dynamic */
    3175             : struct __attribute__((aligned(8UL))) fd_authorize_checked_with_seed_args {
    3176             :   fd_stake_authorize_t stake_authorize;
    3177             :   ulong authority_seed_len;
    3178             :   uchar* authority_seed;
    3179             :   fd_pubkey_t authority_owner;
    3180             : };
    3181             : typedef struct fd_authorize_checked_with_seed_args fd_authorize_checked_with_seed_args_t;
    3182           0 : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_FOOTPRINT sizeof(fd_authorize_checked_with_seed_args_t)
    3183           0 : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN (8UL)
    3184             : 
    3185             : struct __attribute__((aligned(8UL))) fd_authorize_checked_with_seed_args_global {
    3186             :   fd_stake_authorize_t stake_authorize;
    3187             :   ulong authority_seed_len;
    3188             :   ulong authority_seed_gaddr;
    3189             :   fd_pubkey_t authority_owner;
    3190             : };
    3191             : typedef struct fd_authorize_checked_with_seed_args_global fd_authorize_checked_with_seed_args_global_t;
    3192             : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_GLOBAL_FOOTPRINT sizeof(fd_authorize_checked_with_seed_args_global_t)
    3193             : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_GLOBAL_ALIGN (8UL)
    3194             : 
    3195             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L235 */
    3196             : /* Encoded Size: Dynamic */
    3197             : struct __attribute__((aligned(8UL))) fd_lockup_checked_args {
    3198             :   long* unix_timestamp;
    3199             :   ulong* epoch;
    3200             : };
    3201             : typedef struct fd_lockup_checked_args fd_lockup_checked_args_t;
    3202           0 : #define FD_LOCKUP_CHECKED_ARGS_FOOTPRINT sizeof(fd_lockup_checked_args_t)
    3203           0 : #define FD_LOCKUP_CHECKED_ARGS_ALIGN (8UL)
    3204             : 
    3205             : struct __attribute__((aligned(8UL))) fd_lockup_checked_args_global {
    3206             :   ulong unix_timestamp_gaddr;
    3207             :   ulong epoch_gaddr;
    3208             : };
    3209             : typedef struct fd_lockup_checked_args_global fd_lockup_checked_args_global_t;
    3210             : #define FD_LOCKUP_CHECKED_ARGS_GLOBAL_FOOTPRINT sizeof(fd_lockup_checked_args_global_t)
    3211             : #define FD_LOCKUP_CHECKED_ARGS_GLOBAL_ALIGN (8UL)
    3212             : 
    3213             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L228 */
    3214             : /* Encoded Size: Dynamic */
    3215             : struct __attribute__((aligned(8UL))) fd_lockup_args {
    3216             :   long* unix_timestamp;
    3217             :   ulong* epoch;
    3218             :   fd_pubkey_t * custodian;
    3219             : };
    3220             : typedef struct fd_lockup_args fd_lockup_args_t;
    3221           0 : #define FD_LOCKUP_ARGS_FOOTPRINT sizeof(fd_lockup_args_t)
    3222           0 : #define FD_LOCKUP_ARGS_ALIGN (8UL)
    3223             : 
    3224             : struct __attribute__((aligned(8UL))) fd_lockup_args_global {
    3225             :   ulong unix_timestamp_gaddr;
    3226             :   ulong epoch_gaddr;
    3227             :   ulong custodian_gaddr;
    3228             : };
    3229             : typedef struct fd_lockup_args_global fd_lockup_args_global_t;
    3230             : #define FD_LOCKUP_ARGS_GLOBAL_FOOTPRINT sizeof(fd_lockup_args_global_t)
    3231             : #define FD_LOCKUP_ARGS_GLOBAL_ALIGN (8UL)
    3232             : 
    3233             : union fd_stake_instruction_inner {
    3234             :   fd_stake_instruction_initialize_t initialize;
    3235             :   fd_stake_instruction_authorize_t authorize;
    3236             :   ulong split;
    3237             :   ulong withdraw;
    3238             :   fd_lockup_args_t set_lockup;
    3239             :   fd_authorize_with_seed_args_t authorize_with_seed;
    3240             :   fd_stake_authorize_t authorize_checked;
    3241             :   fd_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    3242             :   fd_lockup_checked_args_t set_lockup_checked;
    3243             :   ulong move_stake;
    3244             :   ulong move_lamports;
    3245             : };
    3246             : typedef union fd_stake_instruction_inner fd_stake_instruction_inner_t;
    3247             : 
    3248             : union fd_stake_instruction_inner_global {
    3249             :   fd_stake_instruction_initialize_t initialize;
    3250             :   fd_stake_instruction_authorize_t authorize;
    3251             :   ulong split;
    3252             :   ulong withdraw;
    3253             :   fd_lockup_args_global_t set_lockup;
    3254             :   fd_authorize_with_seed_args_global_t authorize_with_seed;
    3255             :   fd_stake_authorize_t authorize_checked;
    3256             :   fd_authorize_checked_with_seed_args_global_t authorize_checked_with_seed;
    3257             :   fd_lockup_checked_args_global_t set_lockup_checked;
    3258             :   ulong move_stake;
    3259             :   ulong move_lamports;
    3260             : };
    3261             : typedef union fd_stake_instruction_inner_global fd_stake_instruction_inner_global_t;
    3262             : 
    3263             : /* https://github.com/anza-xyz/agave/blob/cdff19c7807b006dd63429114fb1d9573bf74172/sdk/program/src/stake/instruction.rs#L96 */
    3264             : struct fd_stake_instruction {
    3265             :   uint discriminant;
    3266             :   fd_stake_instruction_inner_t inner;
    3267             : };
    3268             : typedef struct fd_stake_instruction fd_stake_instruction_t;
    3269           0 : #define FD_STAKE_INSTRUCTION_FOOTPRINT sizeof(fd_stake_instruction_t)
    3270           0 : #define FD_STAKE_INSTRUCTION_ALIGN (8UL)
    3271             : struct fd_stake_instruction_global {
    3272             :   uint discriminant;
    3273             :   fd_stake_instruction_inner_global_t inner;
    3274             : };
    3275             : typedef struct fd_stake_instruction_global fd_stake_instruction_global_t;
    3276             : #define FD_STAKE_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_stake_instruction_global_t)
    3277             : #define FD_STAKE_INSTRUCTION_GLOBAL_ALIGN (8UL)
    3278             : 
    3279             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L248 */
    3280             : /* Encoded Size: Fixed (120 bytes) */
    3281             : struct __attribute__((aligned(8UL))) fd_stake_meta {
    3282             :   ulong rent_exempt_reserve;
    3283             :   fd_stake_authorized_t authorized;
    3284             :   fd_stake_lockup_t lockup;
    3285             : };
    3286             : typedef struct fd_stake_meta fd_stake_meta_t;
    3287           0 : #define FD_STAKE_META_FOOTPRINT sizeof(fd_stake_meta_t)
    3288           0 : #define FD_STAKE_META_ALIGN (8UL)
    3289             : 
    3290             : struct __attribute__((aligned(8UL))) fd_stake_meta_global {
    3291             :   ulong rent_exempt_reserve;
    3292             :   fd_stake_authorized_t authorized;
    3293             :   fd_stake_lockup_t lockup;
    3294             : };
    3295             : typedef struct fd_stake_meta_global fd_stake_meta_global_t;
    3296             : #define FD_STAKE_META_GLOBAL_FOOTPRINT sizeof(fd_stake_meta_global_t)
    3297             : #define FD_STAKE_META_GLOBAL_ALIGN (8UL)
    3298             : 
    3299             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/stake_flags.rs#L21 */
    3300             : /* Encoded Size: Fixed (1 bytes) */
    3301             : struct __attribute__((aligned(8UL))) fd_stake_flags {
    3302             :   uchar bits;
    3303             : };
    3304             : typedef struct fd_stake_flags fd_stake_flags_t;
    3305           0 : #define FD_STAKE_FLAGS_FOOTPRINT sizeof(fd_stake_flags_t)
    3306           0 : #define FD_STAKE_FLAGS_ALIGN (8UL)
    3307             : 
    3308             : struct __attribute__((aligned(8UL))) fd_stake_flags_global {
    3309             :   uchar bits;
    3310             : };
    3311             : typedef struct fd_stake_flags_global fd_stake_flags_global_t;
    3312             : #define FD_STAKE_FLAGS_GLOBAL_FOOTPRINT sizeof(fd_stake_flags_global_t)
    3313             : #define FD_STAKE_FLAGS_GLOBAL_ALIGN (8UL)
    3314             : 
    3315             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L135 */
    3316             : /* Encoded Size: Fixed (120 bytes) */
    3317             : struct __attribute__((aligned(8UL))) fd_stake_state_v2_initialized {
    3318             :   fd_stake_meta_t meta;
    3319             : };
    3320             : typedef struct fd_stake_state_v2_initialized fd_stake_state_v2_initialized_t;
    3321           0 : #define FD_STAKE_STATE_V2_INITIALIZED_FOOTPRINT sizeof(fd_stake_state_v2_initialized_t)
    3322           0 : #define FD_STAKE_STATE_V2_INITIALIZED_ALIGN (8UL)
    3323             : 
    3324             : struct __attribute__((aligned(8UL))) fd_stake_state_v2_initialized_global {
    3325             :   fd_stake_meta_t meta;
    3326             : };
    3327             : typedef struct fd_stake_state_v2_initialized_global fd_stake_state_v2_initialized_global_t;
    3328             : #define FD_STAKE_STATE_V2_INITIALIZED_GLOBAL_FOOTPRINT sizeof(fd_stake_state_v2_initialized_global_t)
    3329             : #define FD_STAKE_STATE_V2_INITIALIZED_GLOBAL_ALIGN (8UL)
    3330             : 
    3331             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L136 */
    3332             : /* Encoded Size: Fixed (193 bytes) */
    3333             : struct __attribute__((aligned(8UL))) fd_stake_state_v2_stake {
    3334             :   fd_stake_meta_t meta;
    3335             :   fd_stake_t stake;
    3336             :   fd_stake_flags_t stake_flags;
    3337             : };
    3338             : typedef struct fd_stake_state_v2_stake fd_stake_state_v2_stake_t;
    3339           0 : #define FD_STAKE_STATE_V2_STAKE_FOOTPRINT sizeof(fd_stake_state_v2_stake_t)
    3340           0 : #define FD_STAKE_STATE_V2_STAKE_ALIGN (8UL)
    3341             : 
    3342             : struct __attribute__((aligned(8UL))) fd_stake_state_v2_stake_global {
    3343             :   fd_stake_meta_t meta;
    3344             :   fd_stake_t stake;
    3345             :   fd_stake_flags_t stake_flags;
    3346             : };
    3347             : typedef struct fd_stake_state_v2_stake_global fd_stake_state_v2_stake_global_t;
    3348             : #define FD_STAKE_STATE_V2_STAKE_GLOBAL_FOOTPRINT sizeof(fd_stake_state_v2_stake_global_t)
    3349             : #define FD_STAKE_STATE_V2_STAKE_GLOBAL_ALIGN (8UL)
    3350             : 
    3351             : union fd_stake_state_v2_inner {
    3352             :   fd_stake_state_v2_initialized_t initialized;
    3353             :   fd_stake_state_v2_stake_t stake;
    3354             : };
    3355             : typedef union fd_stake_state_v2_inner fd_stake_state_v2_inner_t;
    3356             : 
    3357             : union fd_stake_state_v2_inner_global {
    3358             :   fd_stake_state_v2_initialized_t initialized;
    3359             :   fd_stake_state_v2_stake_t stake;
    3360             : };
    3361             : typedef union fd_stake_state_v2_inner_global fd_stake_state_v2_inner_global_t;
    3362             : 
    3363             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L132 */
    3364             : struct fd_stake_state_v2 {
    3365             :   uint discriminant;
    3366             :   fd_stake_state_v2_inner_t inner;
    3367             : };
    3368             : typedef struct fd_stake_state_v2 fd_stake_state_v2_t;
    3369           0 : #define FD_STAKE_STATE_V2_FOOTPRINT sizeof(fd_stake_state_v2_t)
    3370           0 : #define FD_STAKE_STATE_V2_ALIGN (8UL)
    3371             : struct fd_stake_state_v2_global {
    3372             :   uint discriminant;
    3373             :   fd_stake_state_v2_inner_global_t inner;
    3374             : };
    3375             : typedef struct fd_stake_state_v2_global fd_stake_state_v2_global_t;
    3376             : #define FD_STAKE_STATE_V2_GLOBAL_FOOTPRINT sizeof(fd_stake_state_v2_global_t)
    3377             : #define FD_STAKE_STATE_V2_GLOBAL_ALIGN (8UL)
    3378             : 
    3379             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L17 */
    3380             : /* Encoded Size: Fixed (72 bytes) */
    3381             : struct __attribute__((aligned(8UL))) fd_nonce_data {
    3382             :   fd_pubkey_t authority;
    3383             :   fd_hash_t durable_nonce;
    3384             :   fd_fee_calculator_t fee_calculator;
    3385             : };
    3386             : typedef struct fd_nonce_data fd_nonce_data_t;
    3387           0 : #define FD_NONCE_DATA_FOOTPRINT sizeof(fd_nonce_data_t)
    3388           0 : #define FD_NONCE_DATA_ALIGN (8UL)
    3389             : 
    3390             : struct __attribute__((aligned(8UL))) fd_nonce_data_global {
    3391             :   fd_pubkey_t authority;
    3392             :   fd_hash_t durable_nonce;
    3393             :   fd_fee_calculator_t fee_calculator;
    3394             : };
    3395             : typedef struct fd_nonce_data_global fd_nonce_data_global_t;
    3396             : #define FD_NONCE_DATA_GLOBAL_FOOTPRINT sizeof(fd_nonce_data_global_t)
    3397             : #define FD_NONCE_DATA_GLOBAL_ALIGN (8UL)
    3398             : 
    3399             : union fd_nonce_state_inner {
    3400             :   fd_nonce_data_t initialized;
    3401             : };
    3402             : typedef union fd_nonce_state_inner fd_nonce_state_inner_t;
    3403             : 
    3404             : union fd_nonce_state_inner_global {
    3405             :   fd_nonce_data_t initialized;
    3406             : };
    3407             : typedef union fd_nonce_state_inner_global fd_nonce_state_inner_global_t;
    3408             : 
    3409             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L65 */
    3410             : struct fd_nonce_state {
    3411             :   uint discriminant;
    3412             :   fd_nonce_state_inner_t inner;
    3413             : };
    3414             : typedef struct fd_nonce_state fd_nonce_state_t;
    3415           0 : #define FD_NONCE_STATE_FOOTPRINT sizeof(fd_nonce_state_t)
    3416           0 : #define FD_NONCE_STATE_ALIGN (8UL)
    3417             : struct fd_nonce_state_global {
    3418             :   uint discriminant;
    3419             :   fd_nonce_state_inner_global_t inner;
    3420             : };
    3421             : typedef struct fd_nonce_state_global fd_nonce_state_global_t;
    3422             : #define FD_NONCE_STATE_GLOBAL_FOOTPRINT sizeof(fd_nonce_state_global_t)
    3423             : #define FD_NONCE_STATE_GLOBAL_ALIGN (8UL)
    3424             : 
    3425             : union fd_nonce_state_versions_inner {
    3426             :   fd_nonce_state_t legacy;
    3427             :   fd_nonce_state_t current;
    3428             : };
    3429             : typedef union fd_nonce_state_versions_inner fd_nonce_state_versions_inner_t;
    3430             : 
    3431             : union fd_nonce_state_versions_inner_global {
    3432             :   fd_nonce_state_global_t legacy;
    3433             :   fd_nonce_state_global_t current;
    3434             : };
    3435             : typedef union fd_nonce_state_versions_inner_global fd_nonce_state_versions_inner_global_t;
    3436             : 
    3437             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/mod.rs#L9 */
    3438             : struct fd_nonce_state_versions {
    3439             :   uint discriminant;
    3440             :   fd_nonce_state_versions_inner_t inner;
    3441             : };
    3442             : typedef struct fd_nonce_state_versions fd_nonce_state_versions_t;
    3443           0 : #define FD_NONCE_STATE_VERSIONS_FOOTPRINT sizeof(fd_nonce_state_versions_t)
    3444           0 : #define FD_NONCE_STATE_VERSIONS_ALIGN (8UL)
    3445             : struct fd_nonce_state_versions_global {
    3446             :   uint discriminant;
    3447             :   fd_nonce_state_versions_inner_global_t inner;
    3448             : };
    3449             : typedef struct fd_nonce_state_versions_global fd_nonce_state_versions_global_t;
    3450             : #define FD_NONCE_STATE_VERSIONS_GLOBAL_FOOTPRINT sizeof(fd_nonce_state_versions_global_t)
    3451             : #define FD_NONCE_STATE_VERSIONS_GLOBAL_ALIGN (8UL)
    3452             : 
    3453             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L28 */
    3454             : /* Encoded Size: Fixed (8 bytes) */
    3455             : struct __attribute__((aligned(8UL))) fd_compute_budget_program_instruction_request_units_deprecated {
    3456             :   uint units;
    3457             :   uint additional_fee;
    3458             : };
    3459             : typedef struct fd_compute_budget_program_instruction_request_units_deprecated fd_compute_budget_program_instruction_request_units_deprecated_t;
    3460           0 : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_FOOTPRINT sizeof(fd_compute_budget_program_instruction_request_units_deprecated_t)
    3461           0 : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN (8UL)
    3462             : 
    3463             : struct __attribute__((aligned(8UL))) fd_compute_budget_program_instruction_request_units_deprecated_global {
    3464             :   uint units;
    3465             :   uint additional_fee;
    3466             : };
    3467             : typedef struct fd_compute_budget_program_instruction_request_units_deprecated_global fd_compute_budget_program_instruction_request_units_deprecated_global_t;
    3468             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_GLOBAL_FOOTPRINT sizeof(fd_compute_budget_program_instruction_request_units_deprecated_global_t)
    3469             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_GLOBAL_ALIGN (8UL)
    3470             : 
    3471             : union fd_compute_budget_program_instruction_inner {
    3472             :   fd_compute_budget_program_instruction_request_units_deprecated_t request_units_deprecated;
    3473             :   uint request_heap_frame;
    3474             :   uint set_compute_unit_limit;
    3475             :   ulong set_compute_unit_price;
    3476             :   uint set_loaded_accounts_data_size_limit;
    3477             : };
    3478             : typedef union fd_compute_budget_program_instruction_inner fd_compute_budget_program_instruction_inner_t;
    3479             : 
    3480             : union fd_compute_budget_program_instruction_inner_global {
    3481             :   fd_compute_budget_program_instruction_request_units_deprecated_t request_units_deprecated;
    3482             :   uint request_heap_frame;
    3483             :   uint set_compute_unit_limit;
    3484             :   ulong set_compute_unit_price;
    3485             :   uint set_loaded_accounts_data_size_limit;
    3486             : };
    3487             : typedef union fd_compute_budget_program_instruction_inner_global fd_compute_budget_program_instruction_inner_global_t;
    3488             : 
    3489             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L25 */
    3490             : struct fd_compute_budget_program_instruction {
    3491             :   uint discriminant;
    3492             :   fd_compute_budget_program_instruction_inner_t inner;
    3493             : };
    3494             : typedef struct fd_compute_budget_program_instruction fd_compute_budget_program_instruction_t;
    3495           0 : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_FOOTPRINT sizeof(fd_compute_budget_program_instruction_t)
    3496           0 : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN (8UL)
    3497             : struct fd_compute_budget_program_instruction_global {
    3498             :   uint discriminant;
    3499             :   fd_compute_budget_program_instruction_inner_global_t inner;
    3500             : };
    3501             : typedef struct fd_compute_budget_program_instruction_global fd_compute_budget_program_instruction_global_t;
    3502             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_compute_budget_program_instruction_global_t)
    3503             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_GLOBAL_ALIGN (8UL)
    3504             : 
    3505             : /* https://github.com/solana-labs/solana/blob/a03ae63daff987912c48ee286eb8ee7e8a84bf01/programs/config/src/lib.rs#L32 */
    3506             : /* Encoded Size: Dynamic */
    3507             : struct __attribute__((aligned(8UL))) fd_config_keys {
    3508             :   ushort keys_len;
    3509             :   fd_config_keys_pair_t * keys;
    3510             : };
    3511             : typedef struct fd_config_keys fd_config_keys_t;
    3512           0 : #define FD_CONFIG_KEYS_FOOTPRINT sizeof(fd_config_keys_t)
    3513           0 : #define FD_CONFIG_KEYS_ALIGN (8UL)
    3514             : 
    3515             : struct __attribute__((aligned(8UL))) fd_config_keys_global {
    3516             :   ushort keys_len;
    3517             :   ulong keys_gaddr;
    3518             : };
    3519             : typedef struct fd_config_keys_global fd_config_keys_global_t;
    3520             : #define FD_CONFIG_KEYS_GLOBAL_FOOTPRINT sizeof(fd_config_keys_global_t)
    3521             : #define FD_CONFIG_KEYS_GLOBAL_ALIGN (8UL)
    3522             : 
    3523             : /*  */
    3524             : /* Encoded Size: Dynamic */
    3525             : struct __attribute__((aligned(8UL))) fd_bpf_loader_program_instruction_write {
    3526             :   uint offset;
    3527             :   ulong bytes_len;
    3528             :   uchar* bytes;
    3529             : };
    3530             : typedef struct fd_bpf_loader_program_instruction_write fd_bpf_loader_program_instruction_write_t;
    3531           0 : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_FOOTPRINT sizeof(fd_bpf_loader_program_instruction_write_t)
    3532           0 : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN (8UL)
    3533             : 
    3534             : struct __attribute__((aligned(8UL))) fd_bpf_loader_program_instruction_write_global {
    3535             :   uint offset;
    3536             :   ulong bytes_len;
    3537             :   ulong bytes_gaddr;
    3538             : };
    3539             : typedef struct fd_bpf_loader_program_instruction_write_global fd_bpf_loader_program_instruction_write_global_t;
    3540             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_GLOBAL_FOOTPRINT sizeof(fd_bpf_loader_program_instruction_write_global_t)
    3541             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_GLOBAL_ALIGN (8UL)
    3542             : 
    3543             : union fd_bpf_loader_program_instruction_inner {
    3544             :   fd_bpf_loader_program_instruction_write_t write;
    3545             : };
    3546             : typedef union fd_bpf_loader_program_instruction_inner fd_bpf_loader_program_instruction_inner_t;
    3547             : 
    3548             : union fd_bpf_loader_program_instruction_inner_global {
    3549             :   fd_bpf_loader_program_instruction_write_global_t write;
    3550             : };
    3551             : typedef union fd_bpf_loader_program_instruction_inner_global fd_bpf_loader_program_instruction_inner_global_t;
    3552             : 
    3553             : /*  */
    3554             : struct fd_bpf_loader_program_instruction {
    3555             :   uint discriminant;
    3556             :   fd_bpf_loader_program_instruction_inner_t inner;
    3557             : };
    3558             : typedef struct fd_bpf_loader_program_instruction fd_bpf_loader_program_instruction_t;
    3559           0 : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_FOOTPRINT sizeof(fd_bpf_loader_program_instruction_t)
    3560           0 : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN (8UL)
    3561             : struct fd_bpf_loader_program_instruction_global {
    3562             :   uint discriminant;
    3563             :   fd_bpf_loader_program_instruction_inner_global_t inner;
    3564             : };
    3565             : typedef struct fd_bpf_loader_program_instruction_global fd_bpf_loader_program_instruction_global_t;
    3566             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_bpf_loader_program_instruction_global_t)
    3567             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_GLOBAL_ALIGN (8UL)
    3568             : 
    3569             : /* https://github.com/anza-xyz/agave/blob/007194391ca8313b2854d523769d0bedf040ef92/sdk/program/src/loader_v4_instruction.rs#L11-L17 */
    3570             : /* Encoded Size: Dynamic */
    3571             : struct __attribute__((aligned(8UL))) fd_loader_v4_program_instruction_write {
    3572             :   uint offset;
    3573             :   ulong bytes_len;
    3574             :   uchar* bytes;
    3575             : };
    3576             : typedef struct fd_loader_v4_program_instruction_write fd_loader_v4_program_instruction_write_t;
    3577           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_FOOTPRINT sizeof(fd_loader_v4_program_instruction_write_t)
    3578           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN (8UL)
    3579             : 
    3580             : struct __attribute__((aligned(8UL))) fd_loader_v4_program_instruction_write_global {
    3581             :   uint offset;
    3582             :   ulong bytes_len;
    3583             :   ulong bytes_gaddr;
    3584             : };
    3585             : typedef struct fd_loader_v4_program_instruction_write_global fd_loader_v4_program_instruction_write_global_t;
    3586             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_GLOBAL_FOOTPRINT sizeof(fd_loader_v4_program_instruction_write_global_t)
    3587             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_GLOBAL_ALIGN (8UL)
    3588             : 
    3589             : /* https://github.com/anza-xyz/agave/blob/007194391ca8313b2854d523769d0bedf040ef92/sdk/program/src/loader_v4_instruction.rs#L33-L36 */
    3590             : /* Encoded Size: Fixed (4 bytes) */
    3591             : struct __attribute__((aligned(8UL))) fd_loader_v4_program_instruction_truncate {
    3592             :   uint new_size;
    3593             : };
    3594             : typedef struct fd_loader_v4_program_instruction_truncate fd_loader_v4_program_instruction_truncate_t;
    3595           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_TRUNCATE_FOOTPRINT sizeof(fd_loader_v4_program_instruction_truncate_t)
    3596           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_TRUNCATE_ALIGN (8UL)
    3597             : 
    3598             : struct __attribute__((aligned(8UL))) fd_loader_v4_program_instruction_truncate_global {
    3599             :   uint new_size;
    3600             : };
    3601             : typedef struct fd_loader_v4_program_instruction_truncate_global fd_loader_v4_program_instruction_truncate_global_t;
    3602             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_TRUNCATE_GLOBAL_FOOTPRINT sizeof(fd_loader_v4_program_instruction_truncate_global_t)
    3603             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_TRUNCATE_GLOBAL_ALIGN (8UL)
    3604             : 
    3605             : union fd_loader_v4_program_instruction_inner {
    3606             :   fd_loader_v4_program_instruction_write_t write;
    3607             :   fd_loader_v4_program_instruction_truncate_t truncate;
    3608             : };
    3609             : typedef union fd_loader_v4_program_instruction_inner fd_loader_v4_program_instruction_inner_t;
    3610             : 
    3611             : union fd_loader_v4_program_instruction_inner_global {
    3612             :   fd_loader_v4_program_instruction_write_global_t write;
    3613             :   fd_loader_v4_program_instruction_truncate_t truncate;
    3614             : };
    3615             : typedef union fd_loader_v4_program_instruction_inner_global fd_loader_v4_program_instruction_inner_global_t;
    3616             : 
    3617             : /* https://github.com/anza-xyz/agave/blob/007194391ca8313b2854d523769d0bedf040ef92/sdk/program/src/loader_v4_instruction.rs#L5 */
    3618             : struct fd_loader_v4_program_instruction {
    3619             :   uint discriminant;
    3620             :   fd_loader_v4_program_instruction_inner_t inner;
    3621             : };
    3622             : typedef struct fd_loader_v4_program_instruction fd_loader_v4_program_instruction_t;
    3623           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_FOOTPRINT sizeof(fd_loader_v4_program_instruction_t)
    3624           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN (8UL)
    3625             : struct fd_loader_v4_program_instruction_global {
    3626             :   uint discriminant;
    3627             :   fd_loader_v4_program_instruction_inner_global_t inner;
    3628             : };
    3629             : typedef struct fd_loader_v4_program_instruction_global fd_loader_v4_program_instruction_global_t;
    3630             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_loader_v4_program_instruction_global_t)
    3631             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_GLOBAL_ALIGN (8UL)
    3632             : 
    3633             : /*  */
    3634             : /* Encoded Size: Dynamic */
    3635             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_program_instruction_write {
    3636             :   uint offset;
    3637             :   ulong bytes_len;
    3638             :   uchar* bytes;
    3639             : };
    3640             : typedef struct fd_bpf_upgradeable_loader_program_instruction_write fd_bpf_upgradeable_loader_program_instruction_write_t;
    3641           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_write_t)
    3642           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN (8UL)
    3643             : 
    3644             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_program_instruction_write_global {
    3645             :   uint offset;
    3646             :   ulong bytes_len;
    3647             :   ulong bytes_gaddr;
    3648             : };
    3649             : typedef struct fd_bpf_upgradeable_loader_program_instruction_write_global fd_bpf_upgradeable_loader_program_instruction_write_global_t;
    3650             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_write_global_t)
    3651             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_GLOBAL_ALIGN (8UL)
    3652             : 
    3653             : /*  */
    3654             : /* Encoded Size: Fixed (8 bytes) */
    3655             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len {
    3656             :   ulong max_data_len;
    3657             : };
    3658             : typedef struct fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t;
    3659           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_DEPLOY_WITH_MAX_DATA_LEN_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t)
    3660           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_DEPLOY_WITH_MAX_DATA_LEN_ALIGN (8UL)
    3661             : 
    3662             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_global {
    3663             :   ulong max_data_len;
    3664             : };
    3665             : typedef struct fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_global fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_global_t;
    3666             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_DEPLOY_WITH_MAX_DATA_LEN_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_global_t)
    3667             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_DEPLOY_WITH_MAX_DATA_LEN_GLOBAL_ALIGN (8UL)
    3668             : 
    3669             : /*  */
    3670             : /* Encoded Size: Fixed (4 bytes) */
    3671             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_program_instruction_extend_program {
    3672             :   uint additional_bytes;
    3673             : };
    3674             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program fd_bpf_upgradeable_loader_program_instruction_extend_program_t;
    3675           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t)
    3676           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN (8UL)
    3677             : 
    3678             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_program_instruction_extend_program_global {
    3679             :   uint additional_bytes;
    3680             : };
    3681             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program_global fd_bpf_upgradeable_loader_program_instruction_extend_program_global_t;
    3682             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_global_t)
    3683             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_GLOBAL_ALIGN (8UL)
    3684             : 
    3685             : union fd_bpf_upgradeable_loader_program_instruction_inner {
    3686             :   fd_bpf_upgradeable_loader_program_instruction_write_t write;
    3687             :   fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t deploy_with_max_data_len;
    3688             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_t extend_program;
    3689             : };
    3690             : typedef union fd_bpf_upgradeable_loader_program_instruction_inner fd_bpf_upgradeable_loader_program_instruction_inner_t;
    3691             : 
    3692             : union fd_bpf_upgradeable_loader_program_instruction_inner_global {
    3693             :   fd_bpf_upgradeable_loader_program_instruction_write_global_t write;
    3694             :   fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t deploy_with_max_data_len;
    3695             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_t extend_program;
    3696             : };
    3697             : typedef union fd_bpf_upgradeable_loader_program_instruction_inner_global fd_bpf_upgradeable_loader_program_instruction_inner_global_t;
    3698             : 
    3699             : /*  */
    3700             : struct fd_bpf_upgradeable_loader_program_instruction {
    3701             :   uint discriminant;
    3702             :   fd_bpf_upgradeable_loader_program_instruction_inner_t inner;
    3703             : };
    3704             : typedef struct fd_bpf_upgradeable_loader_program_instruction fd_bpf_upgradeable_loader_program_instruction_t;
    3705           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_t)
    3706           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN (8UL)
    3707             : struct fd_bpf_upgradeable_loader_program_instruction_global {
    3708             :   uint discriminant;
    3709             :   fd_bpf_upgradeable_loader_program_instruction_inner_global_t inner;
    3710             : };
    3711             : typedef struct fd_bpf_upgradeable_loader_program_instruction_global fd_bpf_upgradeable_loader_program_instruction_global_t;
    3712             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_program_instruction_global_t)
    3713             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_GLOBAL_ALIGN (8UL)
    3714             : 
    3715             : /*  */
    3716             : /* Encoded Size: Dynamic */
    3717             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_state_buffer {
    3718             :   fd_pubkey_t * authority_address;
    3719             : };
    3720             : typedef struct fd_bpf_upgradeable_loader_state_buffer fd_bpf_upgradeable_loader_state_buffer_t;
    3721           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_buffer_t)
    3722           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN (8UL)
    3723             : 
    3724             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_state_buffer_global {
    3725             :   ulong authority_address_gaddr;
    3726             : };
    3727             : typedef struct fd_bpf_upgradeable_loader_state_buffer_global fd_bpf_upgradeable_loader_state_buffer_global_t;
    3728             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_buffer_global_t)
    3729             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_GLOBAL_ALIGN (8UL)
    3730             : 
    3731             : /*  */
    3732             : /* Encoded Size: Fixed (32 bytes) */
    3733             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_state_program {
    3734             :   fd_pubkey_t programdata_address;
    3735             : };
    3736             : typedef struct fd_bpf_upgradeable_loader_state_program fd_bpf_upgradeable_loader_state_program_t;
    3737           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_program_t)
    3738           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN (8UL)
    3739             : 
    3740             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_state_program_global {
    3741             :   fd_pubkey_t programdata_address;
    3742             : };
    3743             : typedef struct fd_bpf_upgradeable_loader_state_program_global fd_bpf_upgradeable_loader_state_program_global_t;
    3744             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_program_global_t)
    3745             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_GLOBAL_ALIGN (8UL)
    3746             : 
    3747             : /*  */
    3748             : /* Encoded Size: Dynamic */
    3749             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_state_program_data {
    3750             :   ulong slot;
    3751             :   fd_pubkey_t * upgrade_authority_address;
    3752             : };
    3753             : typedef struct fd_bpf_upgradeable_loader_state_program_data fd_bpf_upgradeable_loader_state_program_data_t;
    3754           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_program_data_t)
    3755           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN (8UL)
    3756             : 
    3757             : struct __attribute__((aligned(8UL))) fd_bpf_upgradeable_loader_state_program_data_global {
    3758             :   ulong slot;
    3759             :   ulong upgrade_authority_address_gaddr;
    3760             : };
    3761             : typedef struct fd_bpf_upgradeable_loader_state_program_data_global fd_bpf_upgradeable_loader_state_program_data_global_t;
    3762             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_program_data_global_t)
    3763             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_GLOBAL_ALIGN (8UL)
    3764             : 
    3765             : union fd_bpf_upgradeable_loader_state_inner {
    3766             :   fd_bpf_upgradeable_loader_state_buffer_t buffer;
    3767             :   fd_bpf_upgradeable_loader_state_program_t program;
    3768             :   fd_bpf_upgradeable_loader_state_program_data_t program_data;
    3769             : };
    3770             : typedef union fd_bpf_upgradeable_loader_state_inner fd_bpf_upgradeable_loader_state_inner_t;
    3771             : 
    3772             : union fd_bpf_upgradeable_loader_state_inner_global {
    3773             :   fd_bpf_upgradeable_loader_state_buffer_global_t buffer;
    3774             :   fd_bpf_upgradeable_loader_state_program_t program;
    3775             :   fd_bpf_upgradeable_loader_state_program_data_global_t program_data;
    3776             : };
    3777             : typedef union fd_bpf_upgradeable_loader_state_inner_global fd_bpf_upgradeable_loader_state_inner_global_t;
    3778             : 
    3779             : /*  */
    3780             : struct fd_bpf_upgradeable_loader_state {
    3781             :   uint discriminant;
    3782             :   fd_bpf_upgradeable_loader_state_inner_t inner;
    3783             : };
    3784             : typedef struct fd_bpf_upgradeable_loader_state fd_bpf_upgradeable_loader_state_t;
    3785           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_t)
    3786           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN (8UL)
    3787             : struct fd_bpf_upgradeable_loader_state_global {
    3788             :   uint discriminant;
    3789             :   fd_bpf_upgradeable_loader_state_inner_global_t inner;
    3790             : };
    3791             : typedef struct fd_bpf_upgradeable_loader_state_global fd_bpf_upgradeable_loader_state_global_t;
    3792             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_GLOBAL_FOOTPRINT sizeof(fd_bpf_upgradeable_loader_state_global_t)
    3793             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_GLOBAL_ALIGN (8UL)
    3794             : 
    3795             : /* https://github.com/anza-xyz/agave/blob/v2.1.4/sdk/program/src/loader_v4.rs#L33-L43 */
    3796             : /* Encoded Size: Fixed (48 bytes) */
    3797             : struct __attribute__((aligned(8UL))) fd_loader_v4_state {
    3798             :   ulong slot;
    3799             :   fd_pubkey_t authority_address_or_next_version;
    3800             :   ulong status;
    3801             : };
    3802             : typedef struct fd_loader_v4_state fd_loader_v4_state_t;
    3803           0 : #define FD_LOADER_V4_STATE_FOOTPRINT sizeof(fd_loader_v4_state_t)
    3804           0 : #define FD_LOADER_V4_STATE_ALIGN (8UL)
    3805             : 
    3806             : struct __attribute__((aligned(8UL))) fd_loader_v4_state_global {
    3807             :   ulong slot;
    3808             :   fd_pubkey_t authority_address_or_next_version;
    3809             :   ulong status;
    3810             : };
    3811             : typedef struct fd_loader_v4_state_global fd_loader_v4_state_global_t;
    3812             : #define FD_LOADER_V4_STATE_GLOBAL_FOOTPRINT sizeof(fd_loader_v4_state_global_t)
    3813             : #define FD_LOADER_V4_STATE_GLOBAL_ALIGN (8UL)
    3814             : 
    3815             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L178 */
    3816             : /* Encoded Size: Fixed (33 bytes) */
    3817             : struct __attribute__((aligned(8UL))) fd_frozen_hash_status {
    3818             :   fd_hash_t frozen_hash;
    3819             :   uchar is_duplicate_confirmed;
    3820             : };
    3821             : typedef struct fd_frozen_hash_status fd_frozen_hash_status_t;
    3822           0 : #define FD_FROZEN_HASH_STATUS_FOOTPRINT sizeof(fd_frozen_hash_status_t)
    3823           0 : #define FD_FROZEN_HASH_STATUS_ALIGN (8UL)
    3824             : 
    3825             : struct __attribute__((aligned(8UL))) fd_frozen_hash_status_global {
    3826             :   fd_hash_t frozen_hash;
    3827             :   uchar is_duplicate_confirmed;
    3828             : };
    3829             : typedef struct fd_frozen_hash_status_global fd_frozen_hash_status_global_t;
    3830             : #define FD_FROZEN_HASH_STATUS_GLOBAL_FOOTPRINT sizeof(fd_frozen_hash_status_global_t)
    3831             : #define FD_FROZEN_HASH_STATUS_GLOBAL_ALIGN (8UL)
    3832             : 
    3833             : union fd_frozen_hash_versioned_inner {
    3834             :   fd_frozen_hash_status_t current;
    3835             : };
    3836             : typedef union fd_frozen_hash_versioned_inner fd_frozen_hash_versioned_inner_t;
    3837             : 
    3838             : union fd_frozen_hash_versioned_inner_global {
    3839             :   fd_frozen_hash_status_t current;
    3840             : };
    3841             : typedef union fd_frozen_hash_versioned_inner_global fd_frozen_hash_versioned_inner_global_t;
    3842             : 
    3843             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L157 */
    3844             : struct fd_frozen_hash_versioned {
    3845             :   uint discriminant;
    3846             :   fd_frozen_hash_versioned_inner_t inner;
    3847             : };
    3848             : typedef struct fd_frozen_hash_versioned fd_frozen_hash_versioned_t;
    3849           0 : #define FD_FROZEN_HASH_VERSIONED_FOOTPRINT sizeof(fd_frozen_hash_versioned_t)
    3850           0 : #define FD_FROZEN_HASH_VERSIONED_ALIGN (8UL)
    3851             : struct fd_frozen_hash_versioned_global {
    3852             :   uint discriminant;
    3853             :   fd_frozen_hash_versioned_inner_global_t inner;
    3854             : };
    3855             : typedef struct fd_frozen_hash_versioned_global fd_frozen_hash_versioned_global_t;
    3856             : #define FD_FROZEN_HASH_VERSIONED_GLOBAL_FOOTPRINT sizeof(fd_frozen_hash_versioned_global_t)
    3857             : #define FD_FROZEN_HASH_VERSIONED_GLOBAL_ALIGN (8UL)
    3858             : 
    3859             : /*  */
    3860             : /* Encoded Size: Dynamic */
    3861             : struct __attribute__((aligned(8UL))) fd_lookup_table_meta {
    3862             :   ulong deactivation_slot;
    3863             :   ulong last_extended_slot;
    3864             :   uchar last_extended_slot_start_index;
    3865             :   fd_pubkey_t authority;
    3866             :   uchar has_authority;
    3867             :   ushort _padding;
    3868             : };
    3869             : typedef struct fd_lookup_table_meta fd_lookup_table_meta_t;
    3870           0 : #define FD_LOOKUP_TABLE_META_FOOTPRINT sizeof(fd_lookup_table_meta_t)
    3871           0 : #define FD_LOOKUP_TABLE_META_ALIGN (8UL)
    3872             : 
    3873             : struct __attribute__((aligned(8UL))) fd_lookup_table_meta_global {
    3874             :   ulong deactivation_slot;
    3875             :   ulong last_extended_slot;
    3876             :   uchar last_extended_slot_start_index;
    3877             :   fd_pubkey_t authority;
    3878             :   uchar has_authority;
    3879             :   ushort _padding;
    3880             : };
    3881             : typedef struct fd_lookup_table_meta_global fd_lookup_table_meta_global_t;
    3882             : #define FD_LOOKUP_TABLE_META_GLOBAL_FOOTPRINT sizeof(fd_lookup_table_meta_global_t)
    3883             : #define FD_LOOKUP_TABLE_META_GLOBAL_ALIGN (8UL)
    3884             : 
    3885             : /*  */
    3886             : /* Encoded Size: Dynamic */
    3887             : struct __attribute__((aligned(8UL))) fd_address_lookup_table {
    3888             :   fd_lookup_table_meta_t meta;
    3889             : };
    3890             : typedef struct fd_address_lookup_table fd_address_lookup_table_t;
    3891           0 : #define FD_ADDRESS_LOOKUP_TABLE_FOOTPRINT sizeof(fd_address_lookup_table_t)
    3892           0 : #define FD_ADDRESS_LOOKUP_TABLE_ALIGN (8UL)
    3893             : 
    3894             : struct __attribute__((aligned(8UL))) fd_address_lookup_table_global {
    3895             :   fd_lookup_table_meta_global_t meta;
    3896             : };
    3897             : typedef struct fd_address_lookup_table_global fd_address_lookup_table_global_t;
    3898             : #define FD_ADDRESS_LOOKUP_TABLE_GLOBAL_FOOTPRINT sizeof(fd_address_lookup_table_global_t)
    3899             : #define FD_ADDRESS_LOOKUP_TABLE_GLOBAL_ALIGN (8UL)
    3900             : 
    3901             : union fd_address_lookup_table_state_inner {
    3902             :   fd_address_lookup_table_t lookup_table;
    3903             : };
    3904             : typedef union fd_address_lookup_table_state_inner fd_address_lookup_table_state_inner_t;
    3905             : 
    3906             : union fd_address_lookup_table_state_inner_global {
    3907             :   fd_address_lookup_table_global_t lookup_table;
    3908             : };
    3909             : typedef union fd_address_lookup_table_state_inner_global fd_address_lookup_table_state_inner_global_t;
    3910             : 
    3911             : /*  */
    3912             : struct fd_address_lookup_table_state {
    3913             :   uint discriminant;
    3914             :   fd_address_lookup_table_state_inner_t inner;
    3915             : };
    3916             : typedef struct fd_address_lookup_table_state fd_address_lookup_table_state_t;
    3917           0 : #define FD_ADDRESS_LOOKUP_TABLE_STATE_FOOTPRINT sizeof(fd_address_lookup_table_state_t)
    3918           0 : #define FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN (8UL)
    3919             : struct fd_address_lookup_table_state_global {
    3920             :   uint discriminant;
    3921             :   fd_address_lookup_table_state_inner_global_t inner;
    3922             : };
    3923             : typedef struct fd_address_lookup_table_state_global fd_address_lookup_table_state_global_t;
    3924             : #define FD_ADDRESS_LOOKUP_TABLE_STATE_GLOBAL_FOOTPRINT sizeof(fd_address_lookup_table_state_global_t)
    3925             : #define FD_ADDRESS_LOOKUP_TABLE_STATE_GLOBAL_ALIGN (8UL)
    3926             : 
    3927             : /* Encoded Size: Dynamic */
    3928             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u8_inner {
    3929             :   ulong vec_len;
    3930             :   uchar* vec;
    3931             : };
    3932             : typedef struct fd_gossip_bitvec_u8_inner fd_gossip_bitvec_u8_inner_t;
    3933           0 : #define FD_GOSSIP_BITVEC_U8_INNER_FOOTPRINT sizeof(fd_gossip_bitvec_u8_inner_t)
    3934           0 : #define FD_GOSSIP_BITVEC_U8_INNER_ALIGN (8UL)
    3935             : 
    3936             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u8_inner_global {
    3937             :   ulong vec_len;
    3938             :   ulong vec_gaddr;
    3939             : };
    3940             : typedef struct fd_gossip_bitvec_u8_inner_global fd_gossip_bitvec_u8_inner_global_t;
    3941             : #define FD_GOSSIP_BITVEC_U8_INNER_GLOBAL_FOOTPRINT sizeof(fd_gossip_bitvec_u8_inner_global_t)
    3942             : #define FD_GOSSIP_BITVEC_U8_INNER_GLOBAL_ALIGN (8UL)
    3943             : 
    3944             : /* Encoded Size: Dynamic */
    3945             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u8 {
    3946             :   fd_gossip_bitvec_u8_inner_t bits;
    3947             :   uchar has_bits;
    3948             :   ulong len;
    3949             : };
    3950             : typedef struct fd_gossip_bitvec_u8 fd_gossip_bitvec_u8_t;
    3951           0 : #define FD_GOSSIP_BITVEC_U8_FOOTPRINT sizeof(fd_gossip_bitvec_u8_t)
    3952           0 : #define FD_GOSSIP_BITVEC_U8_ALIGN (8UL)
    3953             : 
    3954             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u8_global {
    3955             :   fd_gossip_bitvec_u8_inner_t bits;
    3956             :   uchar has_bits;
    3957             :   ulong len;
    3958             : };
    3959             : typedef struct fd_gossip_bitvec_u8_global fd_gossip_bitvec_u8_global_t;
    3960             : #define FD_GOSSIP_BITVEC_U8_GLOBAL_FOOTPRINT sizeof(fd_gossip_bitvec_u8_global_t)
    3961             : #define FD_GOSSIP_BITVEC_U8_GLOBAL_ALIGN (8UL)
    3962             : 
    3963             : /* Encoded Size: Dynamic */
    3964             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u64_inner {
    3965             :   ulong vec_len;
    3966             :   ulong* vec;
    3967             : };
    3968             : typedef struct fd_gossip_bitvec_u64_inner fd_gossip_bitvec_u64_inner_t;
    3969           0 : #define FD_GOSSIP_BITVEC_U64_INNER_FOOTPRINT sizeof(fd_gossip_bitvec_u64_inner_t)
    3970           0 : #define FD_GOSSIP_BITVEC_U64_INNER_ALIGN (8UL)
    3971             : 
    3972             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u64_inner_global {
    3973             :   ulong vec_len;
    3974             :   ulong vec_gaddr;
    3975             : };
    3976             : typedef struct fd_gossip_bitvec_u64_inner_global fd_gossip_bitvec_u64_inner_global_t;
    3977             : #define FD_GOSSIP_BITVEC_U64_INNER_GLOBAL_FOOTPRINT sizeof(fd_gossip_bitvec_u64_inner_global_t)
    3978             : #define FD_GOSSIP_BITVEC_U64_INNER_GLOBAL_ALIGN (8UL)
    3979             : 
    3980             : /* Encoded Size: Dynamic */
    3981             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u64 {
    3982             :   fd_gossip_bitvec_u64_inner_t bits;
    3983             :   uchar has_bits;
    3984             :   ulong len;
    3985             : };
    3986             : typedef struct fd_gossip_bitvec_u64 fd_gossip_bitvec_u64_t;
    3987           0 : #define FD_GOSSIP_BITVEC_U64_FOOTPRINT sizeof(fd_gossip_bitvec_u64_t)
    3988           0 : #define FD_GOSSIP_BITVEC_U64_ALIGN (8UL)
    3989             : 
    3990             : struct __attribute__((aligned(8UL))) fd_gossip_bitvec_u64_global {
    3991             :   fd_gossip_bitvec_u64_inner_t bits;
    3992             :   uchar has_bits;
    3993             :   ulong len;
    3994             : };
    3995             : typedef struct fd_gossip_bitvec_u64_global fd_gossip_bitvec_u64_global_t;
    3996             : #define FD_GOSSIP_BITVEC_U64_GLOBAL_FOOTPRINT sizeof(fd_gossip_bitvec_u64_global_t)
    3997             : #define FD_GOSSIP_BITVEC_U64_GLOBAL_ALIGN (8UL)
    3998             : 
    3999             : /* https://github.com/solana-labs/solana/blob/52616cf7aa424a80f770e5ec3f2cd49d1cfeb845/gossip/src/ping_pong.rs#L22 */
    4000             : /* Encoded Size: Fixed (128 bytes) */
    4001             : struct __attribute__((aligned(8UL))) fd_gossip_ping {
    4002             :   fd_pubkey_t from;
    4003             :   fd_hash_t token;
    4004             :   fd_signature_t signature;
    4005             : };
    4006             : typedef struct fd_gossip_ping fd_gossip_ping_t;
    4007           0 : #define FD_GOSSIP_PING_FOOTPRINT sizeof(fd_gossip_ping_t)
    4008           0 : #define FD_GOSSIP_PING_ALIGN (8UL)
    4009             : 
    4010             : struct __attribute__((aligned(8UL))) fd_gossip_ping_global {
    4011             :   fd_pubkey_t from;
    4012             :   fd_hash_t token;
    4013             :   fd_signature_t signature;
    4014             : };
    4015             : typedef struct fd_gossip_ping_global fd_gossip_ping_global_t;
    4016             : #define FD_GOSSIP_PING_GLOBAL_FOOTPRINT sizeof(fd_gossip_ping_global_t)
    4017             : #define FD_GOSSIP_PING_GLOBAL_ALIGN (8UL)
    4018             : 
    4019             : union fd_gossip_ip_addr_inner {
    4020             :   fd_gossip_ip4_addr_t ip4;
    4021             :   fd_gossip_ip6_addr_t ip6;
    4022             : };
    4023             : typedef union fd_gossip_ip_addr_inner fd_gossip_ip_addr_inner_t;
    4024             : 
    4025             : union fd_gossip_ip_addr_inner_global {
    4026             :   fd_gossip_ip4_addr_global_t ip4;
    4027             :   fd_gossip_ip6_addr_global_t ip6;
    4028             : };
    4029             : typedef union fd_gossip_ip_addr_inner_global fd_gossip_ip_addr_inner_global_t;
    4030             : 
    4031             : /* Unnecessary and sad wrapper type. IPv4 addresses could have been mapped to IPv6 */
    4032             : struct fd_gossip_ip_addr {
    4033             :   uint discriminant;
    4034             :   fd_gossip_ip_addr_inner_t inner;
    4035             : };
    4036             : typedef struct fd_gossip_ip_addr fd_gossip_ip_addr_t;
    4037           6 : #define FD_GOSSIP_IP_ADDR_FOOTPRINT sizeof(fd_gossip_ip_addr_t)
    4038           6 : #define FD_GOSSIP_IP_ADDR_ALIGN (8UL)
    4039             : struct fd_gossip_ip_addr_global {
    4040             :   uint discriminant;
    4041             :   fd_gossip_ip_addr_inner_global_t inner;
    4042             : };
    4043             : typedef struct fd_gossip_ip_addr_global fd_gossip_ip_addr_global_t;
    4044             : #define FD_GOSSIP_IP_ADDR_GLOBAL_FOOTPRINT sizeof(fd_gossip_ip_addr_global_t)
    4045             : #define FD_GOSSIP_IP_ADDR_GLOBAL_ALIGN (8UL)
    4046             : 
    4047             : /* Encoded Size: Dynamic */
    4048             : struct __attribute__((aligned(8UL))) fd_gossip_prune_data {
    4049             :   fd_pubkey_t pubkey;
    4050             :   ulong prunes_len;
    4051             :   fd_pubkey_t * prunes;
    4052             :   fd_signature_t signature;
    4053             :   fd_pubkey_t destination;
    4054             :   ulong wallclock;
    4055             : };
    4056             : typedef struct fd_gossip_prune_data fd_gossip_prune_data_t;
    4057           0 : #define FD_GOSSIP_PRUNE_DATA_FOOTPRINT sizeof(fd_gossip_prune_data_t)
    4058           0 : #define FD_GOSSIP_PRUNE_DATA_ALIGN (8UL)
    4059             : 
    4060             : struct __attribute__((aligned(8UL))) fd_gossip_prune_data_global {
    4061             :   fd_pubkey_t pubkey;
    4062             :   ulong prunes_len;
    4063             :   ulong prunes_gaddr;
    4064             :   fd_signature_t signature;
    4065             :   fd_pubkey_t destination;
    4066             :   ulong wallclock;
    4067             : };
    4068             : typedef struct fd_gossip_prune_data_global fd_gossip_prune_data_global_t;
    4069             : #define FD_GOSSIP_PRUNE_DATA_GLOBAL_FOOTPRINT sizeof(fd_gossip_prune_data_global_t)
    4070             : #define FD_GOSSIP_PRUNE_DATA_GLOBAL_ALIGN (8UL)
    4071             : 
    4072             : /* Encoded Size: Dynamic */
    4073             : struct __attribute__((aligned(8UL))) fd_gossip_prune_sign_data {
    4074             :   fd_pubkey_t pubkey;
    4075             :   ulong prunes_len;
    4076             :   fd_pubkey_t * prunes;
    4077             :   fd_pubkey_t destination;
    4078             :   ulong wallclock;
    4079             : };
    4080             : typedef struct fd_gossip_prune_sign_data fd_gossip_prune_sign_data_t;
    4081           0 : #define FD_GOSSIP_PRUNE_SIGN_DATA_FOOTPRINT sizeof(fd_gossip_prune_sign_data_t)
    4082           0 : #define FD_GOSSIP_PRUNE_SIGN_DATA_ALIGN (8UL)
    4083             : 
    4084             : struct __attribute__((aligned(8UL))) fd_gossip_prune_sign_data_global {
    4085             :   fd_pubkey_t pubkey;
    4086             :   ulong prunes_len;
    4087             :   ulong prunes_gaddr;
    4088             :   fd_pubkey_t destination;
    4089             :   ulong wallclock;
    4090             : };
    4091             : typedef struct fd_gossip_prune_sign_data_global fd_gossip_prune_sign_data_global_t;
    4092             : #define FD_GOSSIP_PRUNE_SIGN_DATA_GLOBAL_FOOTPRINT sizeof(fd_gossip_prune_sign_data_global_t)
    4093             : #define FD_GOSSIP_PRUNE_SIGN_DATA_GLOBAL_ALIGN (8UL)
    4094             : 
    4095             : /* Encoded Size: Dynamic */
    4096             : struct __attribute__((aligned(8UL))) fd_gossip_prune_sign_data_with_prefix {
    4097             :   ulong prefix_len;
    4098             :   uchar* prefix;
    4099             :   fd_gossip_prune_sign_data_t data;
    4100             : };
    4101             : typedef struct fd_gossip_prune_sign_data_with_prefix fd_gossip_prune_sign_data_with_prefix_t;
    4102           0 : #define FD_GOSSIP_PRUNE_SIGN_DATA_WITH_PREFIX_FOOTPRINT sizeof(fd_gossip_prune_sign_data_with_prefix_t)
    4103           0 : #define FD_GOSSIP_PRUNE_SIGN_DATA_WITH_PREFIX_ALIGN (8UL)
    4104             : 
    4105             : struct __attribute__((aligned(8UL))) fd_gossip_prune_sign_data_with_prefix_global {
    4106             :   ulong prefix_len;
    4107             :   ulong prefix_gaddr;
    4108             :   fd_gossip_prune_sign_data_global_t data;
    4109             : };
    4110             : typedef struct fd_gossip_prune_sign_data_with_prefix_global fd_gossip_prune_sign_data_with_prefix_global_t;
    4111             : #define FD_GOSSIP_PRUNE_SIGN_DATA_WITH_PREFIX_GLOBAL_FOOTPRINT sizeof(fd_gossip_prune_sign_data_with_prefix_global_t)
    4112             : #define FD_GOSSIP_PRUNE_SIGN_DATA_WITH_PREFIX_GLOBAL_ALIGN (8UL)
    4113             : 
    4114             : /* Encoded Size: Dynamic */
    4115             : struct __attribute__((aligned(8UL))) fd_gossip_socket_addr_old {
    4116             :   fd_gossip_ip_addr_t addr;
    4117             :   ushort port;
    4118             : };
    4119             : typedef struct fd_gossip_socket_addr_old fd_gossip_socket_addr_old_t;
    4120           0 : #define FD_GOSSIP_SOCKET_ADDR_OLD_FOOTPRINT sizeof(fd_gossip_socket_addr_old_t)
    4121           0 : #define FD_GOSSIP_SOCKET_ADDR_OLD_ALIGN (8UL)
    4122             : 
    4123             : struct __attribute__((aligned(8UL))) fd_gossip_socket_addr_old_global {
    4124             :   fd_gossip_ip_addr_global_t addr;
    4125             :   ushort port;
    4126             : };
    4127             : typedef struct fd_gossip_socket_addr_old_global fd_gossip_socket_addr_old_global_t;
    4128             : #define FD_GOSSIP_SOCKET_ADDR_OLD_GLOBAL_FOOTPRINT sizeof(fd_gossip_socket_addr_old_global_t)
    4129             : #define FD_GOSSIP_SOCKET_ADDR_OLD_GLOBAL_ALIGN (8UL)
    4130             : 
    4131             : /* Encoded Size: Dynamic */
    4132             : struct __attribute__((aligned(8UL))) fd_gossip_socket_addr_ip4 {
    4133             :   fd_gossip_ip4_addr_t addr;
    4134             :   ushort port;
    4135             : };
    4136             : typedef struct fd_gossip_socket_addr_ip4 fd_gossip_socket_addr_ip4_t;
    4137           0 : #define FD_GOSSIP_SOCKET_ADDR_IP4_FOOTPRINT sizeof(fd_gossip_socket_addr_ip4_t)
    4138           0 : #define FD_GOSSIP_SOCKET_ADDR_IP4_ALIGN (8UL)
    4139             : 
    4140             : struct __attribute__((aligned(8UL))) fd_gossip_socket_addr_ip4_global {
    4141             :   fd_gossip_ip4_addr_global_t addr;
    4142             :   ushort port;
    4143             : };
    4144             : typedef struct fd_gossip_socket_addr_ip4_global fd_gossip_socket_addr_ip4_global_t;
    4145             : #define FD_GOSSIP_SOCKET_ADDR_IP4_GLOBAL_FOOTPRINT sizeof(fd_gossip_socket_addr_ip4_global_t)
    4146             : #define FD_GOSSIP_SOCKET_ADDR_IP4_GLOBAL_ALIGN (8UL)
    4147             : 
    4148             : /* Encoded Size: Dynamic */
    4149             : struct __attribute__((aligned(8UL))) fd_gossip_socket_addr_ip6 {
    4150             :   fd_gossip_ip6_addr_t addr;
    4151             :   ushort port;
    4152             :   uint flowinfo;
    4153             :   uint scope_id;
    4154             : };
    4155             : typedef struct fd_gossip_socket_addr_ip6 fd_gossip_socket_addr_ip6_t;
    4156           0 : #define FD_GOSSIP_SOCKET_ADDR_IP6_FOOTPRINT sizeof(fd_gossip_socket_addr_ip6_t)
    4157           0 : #define FD_GOSSIP_SOCKET_ADDR_IP6_ALIGN (8UL)
    4158             : 
    4159             : struct __attribute__((aligned(8UL))) fd_gossip_socket_addr_ip6_global {
    4160             :   fd_gossip_ip6_addr_global_t addr;
    4161             :   ushort port;
    4162             :   uint flowinfo;
    4163             :   uint scope_id;
    4164             : };
    4165             : typedef struct fd_gossip_socket_addr_ip6_global fd_gossip_socket_addr_ip6_global_t;
    4166             : #define FD_GOSSIP_SOCKET_ADDR_IP6_GLOBAL_FOOTPRINT sizeof(fd_gossip_socket_addr_ip6_global_t)
    4167             : #define FD_GOSSIP_SOCKET_ADDR_IP6_GLOBAL_ALIGN (8UL)
    4168             : 
    4169             : union fd_gossip_socket_addr_inner {
    4170             :   fd_gossip_socket_addr_ip4_t ip4;
    4171             :   fd_gossip_socket_addr_ip6_t ip6;
    4172             : };
    4173             : typedef union fd_gossip_socket_addr_inner fd_gossip_socket_addr_inner_t;
    4174             : 
    4175             : union fd_gossip_socket_addr_inner_global {
    4176             :   fd_gossip_socket_addr_ip4_global_t ip4;
    4177             :   fd_gossip_socket_addr_ip6_global_t ip6;
    4178             : };
    4179             : typedef union fd_gossip_socket_addr_inner_global fd_gossip_socket_addr_inner_global_t;
    4180             : 
    4181             : struct fd_gossip_socket_addr {
    4182             :   uint discriminant;
    4183             :   fd_gossip_socket_addr_inner_t inner;
    4184             : };
    4185             : typedef struct fd_gossip_socket_addr fd_gossip_socket_addr_t;
    4186           0 : #define FD_GOSSIP_SOCKET_ADDR_FOOTPRINT sizeof(fd_gossip_socket_addr_t)
    4187           0 : #define FD_GOSSIP_SOCKET_ADDR_ALIGN (8UL)
    4188             : struct fd_gossip_socket_addr_global {
    4189             :   uint discriminant;
    4190             :   fd_gossip_socket_addr_inner_global_t inner;
    4191             : };
    4192             : typedef struct fd_gossip_socket_addr_global fd_gossip_socket_addr_global_t;
    4193             : #define FD_GOSSIP_SOCKET_ADDR_GLOBAL_FOOTPRINT sizeof(fd_gossip_socket_addr_global_t)
    4194             : #define FD_GOSSIP_SOCKET_ADDR_GLOBAL_ALIGN (8UL)
    4195             : 
    4196             : /* Encoded Size: Dynamic */
    4197             : struct __attribute__((aligned(8UL))) fd_gossip_contact_info_v1 {
    4198             :   fd_pubkey_t id;
    4199             :   fd_gossip_socket_addr_t gossip;
    4200             :   fd_gossip_socket_addr_t tvu;
    4201             :   fd_gossip_socket_addr_t tvu_fwd;
    4202             :   fd_gossip_socket_addr_t repair;
    4203             :   fd_gossip_socket_addr_t tpu;
    4204             :   fd_gossip_socket_addr_t tpu_fwd;
    4205             :   fd_gossip_socket_addr_t tpu_vote;
    4206             :   fd_gossip_socket_addr_t rpc;
    4207             :   fd_gossip_socket_addr_t rpc_pubsub;
    4208             :   fd_gossip_socket_addr_t serve_repair;
    4209             :   ulong wallclock;
    4210             :   ushort shred_version;
    4211             : };
    4212             : typedef struct fd_gossip_contact_info_v1 fd_gossip_contact_info_v1_t;
    4213           0 : #define FD_GOSSIP_CONTACT_INFO_V1_FOOTPRINT sizeof(fd_gossip_contact_info_v1_t)
    4214           0 : #define FD_GOSSIP_CONTACT_INFO_V1_ALIGN (8UL)
    4215             : 
    4216             : struct __attribute__((aligned(8UL))) fd_gossip_contact_info_v1_global {
    4217             :   fd_pubkey_t id;
    4218             :   fd_gossip_socket_addr_global_t gossip;
    4219             :   fd_gossip_socket_addr_global_t tvu;
    4220             :   fd_gossip_socket_addr_global_t tvu_fwd;
    4221             :   fd_gossip_socket_addr_global_t repair;
    4222             :   fd_gossip_socket_addr_global_t tpu;
    4223             :   fd_gossip_socket_addr_global_t tpu_fwd;
    4224             :   fd_gossip_socket_addr_global_t tpu_vote;
    4225             :   fd_gossip_socket_addr_global_t rpc;
    4226             :   fd_gossip_socket_addr_global_t rpc_pubsub;
    4227             :   fd_gossip_socket_addr_global_t serve_repair;
    4228             :   ulong wallclock;
    4229             :   ushort shred_version;
    4230             : };
    4231             : typedef struct fd_gossip_contact_info_v1_global fd_gossip_contact_info_v1_global_t;
    4232             : #define FD_GOSSIP_CONTACT_INFO_V1_GLOBAL_FOOTPRINT sizeof(fd_gossip_contact_info_v1_global_t)
    4233             : #define FD_GOSSIP_CONTACT_INFO_V1_GLOBAL_ALIGN (8UL)
    4234             : 
    4235             : /* Encoded Size: Dynamic */
    4236             : struct __attribute__((aligned(8UL))) fd_gossip_vote {
    4237             :   uchar index;
    4238             :   fd_pubkey_t from;
    4239             :   fd_flamenco_txn_t txn;
    4240             :   ulong wallclock;
    4241             : };
    4242             : typedef struct fd_gossip_vote fd_gossip_vote_t;
    4243           0 : #define FD_GOSSIP_VOTE_FOOTPRINT sizeof(fd_gossip_vote_t)
    4244           0 : #define FD_GOSSIP_VOTE_ALIGN (8UL)
    4245             : 
    4246             : struct __attribute__((aligned(8UL))) fd_gossip_vote_global {
    4247             :   uchar index;
    4248             :   fd_pubkey_t from;
    4249             :   fd_flamenco_txn_global_t txn;
    4250             :   ulong wallclock;
    4251             : };
    4252             : typedef struct fd_gossip_vote_global fd_gossip_vote_global_t;
    4253             : #define FD_GOSSIP_VOTE_GLOBAL_FOOTPRINT sizeof(fd_gossip_vote_global_t)
    4254             : #define FD_GOSSIP_VOTE_GLOBAL_ALIGN (8UL)
    4255             : 
    4256             : /* Encoded Size: Dynamic */
    4257             : struct __attribute__((aligned(8UL))) fd_gossip_lowest_slot {
    4258             :   uchar u8;
    4259             :   fd_pubkey_t from;
    4260             :   ulong root;
    4261             :   ulong lowest;
    4262             :   ulong slots_len;
    4263             :   ulong* slots;
    4264             :   ulong i_dont_know;
    4265             :   ulong wallclock;
    4266             : };
    4267             : typedef struct fd_gossip_lowest_slot fd_gossip_lowest_slot_t;
    4268           0 : #define FD_GOSSIP_LOWEST_SLOT_FOOTPRINT sizeof(fd_gossip_lowest_slot_t)
    4269           0 : #define FD_GOSSIP_LOWEST_SLOT_ALIGN (8UL)
    4270             : 
    4271             : struct __attribute__((aligned(8UL))) fd_gossip_lowest_slot_global {
    4272             :   uchar u8;
    4273             :   fd_pubkey_t from;
    4274             :   ulong root;
    4275             :   ulong lowest;
    4276             :   ulong slots_len;
    4277             :   ulong slots_gaddr;
    4278             :   ulong i_dont_know;
    4279             :   ulong wallclock;
    4280             : };
    4281             : typedef struct fd_gossip_lowest_slot_global fd_gossip_lowest_slot_global_t;
    4282             : #define FD_GOSSIP_LOWEST_SLOT_GLOBAL_FOOTPRINT sizeof(fd_gossip_lowest_slot_global_t)
    4283             : #define FD_GOSSIP_LOWEST_SLOT_GLOBAL_ALIGN (8UL)
    4284             : 
    4285             : /* Encoded Size: Dynamic */
    4286             : struct __attribute__((aligned(8UL))) fd_gossip_slot_hashes {
    4287             :   fd_pubkey_t from;
    4288             :   ulong hashes_len;
    4289             :   fd_slot_hash_t * hashes;
    4290             :   ulong wallclock;
    4291             : };
    4292             : typedef struct fd_gossip_slot_hashes fd_gossip_slot_hashes_t;
    4293           0 : #define FD_GOSSIP_SLOT_HASHES_FOOTPRINT sizeof(fd_gossip_slot_hashes_t)
    4294           0 : #define FD_GOSSIP_SLOT_HASHES_ALIGN (8UL)
    4295             : 
    4296             : struct __attribute__((aligned(8UL))) fd_gossip_slot_hashes_global {
    4297             :   fd_pubkey_t from;
    4298             :   ulong hashes_len;
    4299             :   ulong hashes_gaddr;
    4300             :   ulong wallclock;
    4301             : };
    4302             : typedef struct fd_gossip_slot_hashes_global fd_gossip_slot_hashes_global_t;
    4303             : #define FD_GOSSIP_SLOT_HASHES_GLOBAL_FOOTPRINT sizeof(fd_gossip_slot_hashes_global_t)
    4304             : #define FD_GOSSIP_SLOT_HASHES_GLOBAL_ALIGN (8UL)
    4305             : 
    4306             : /* Encoded Size: Dynamic */
    4307             : struct __attribute__((aligned(8UL))) fd_gossip_slots {
    4308             :   ulong first_slot;
    4309             :   ulong num;
    4310             :   fd_gossip_bitvec_u8_t slots;
    4311             : };
    4312             : typedef struct fd_gossip_slots fd_gossip_slots_t;
    4313           0 : #define FD_GOSSIP_SLOTS_FOOTPRINT sizeof(fd_gossip_slots_t)
    4314           0 : #define FD_GOSSIP_SLOTS_ALIGN (8UL)
    4315             : 
    4316             : struct __attribute__((aligned(8UL))) fd_gossip_slots_global {
    4317             :   ulong first_slot;
    4318             :   ulong num;
    4319             :   fd_gossip_bitvec_u8_global_t slots;
    4320             : };
    4321             : typedef struct fd_gossip_slots_global fd_gossip_slots_global_t;
    4322             : #define FD_GOSSIP_SLOTS_GLOBAL_FOOTPRINT sizeof(fd_gossip_slots_global_t)
    4323             : #define FD_GOSSIP_SLOTS_GLOBAL_ALIGN (8UL)
    4324             : 
    4325             : /* Encoded Size: Dynamic */
    4326             : struct __attribute__((aligned(8UL))) fd_gossip_flate2_slots {
    4327             :   ulong first_slot;
    4328             :   ulong num;
    4329             :   ulong compressed_len;
    4330             :   uchar* compressed;
    4331             : };
    4332             : typedef struct fd_gossip_flate2_slots fd_gossip_flate2_slots_t;
    4333           0 : #define FD_GOSSIP_FLATE2_SLOTS_FOOTPRINT sizeof(fd_gossip_flate2_slots_t)
    4334           0 : #define FD_GOSSIP_FLATE2_SLOTS_ALIGN (8UL)
    4335             : 
    4336             : struct __attribute__((aligned(8UL))) fd_gossip_flate2_slots_global {
    4337             :   ulong first_slot;
    4338             :   ulong num;
    4339             :   ulong compressed_len;
    4340             :   ulong compressed_gaddr;
    4341             : };
    4342             : typedef struct fd_gossip_flate2_slots_global fd_gossip_flate2_slots_global_t;
    4343             : #define FD_GOSSIP_FLATE2_SLOTS_GLOBAL_FOOTPRINT sizeof(fd_gossip_flate2_slots_global_t)
    4344             : #define FD_GOSSIP_FLATE2_SLOTS_GLOBAL_ALIGN (8UL)
    4345             : 
    4346             : union fd_gossip_slots_enum_inner {
    4347             :   fd_gossip_flate2_slots_t flate2;
    4348             :   fd_gossip_slots_t uncompressed;
    4349             : };
    4350             : typedef union fd_gossip_slots_enum_inner fd_gossip_slots_enum_inner_t;
    4351             : 
    4352             : union fd_gossip_slots_enum_inner_global {
    4353             :   fd_gossip_flate2_slots_global_t flate2;
    4354             :   fd_gossip_slots_global_t uncompressed;
    4355             : };
    4356             : typedef union fd_gossip_slots_enum_inner_global fd_gossip_slots_enum_inner_global_t;
    4357             : 
    4358             : struct fd_gossip_slots_enum {
    4359             :   uint discriminant;
    4360             :   fd_gossip_slots_enum_inner_t inner;
    4361             : };
    4362             : typedef struct fd_gossip_slots_enum fd_gossip_slots_enum_t;
    4363           0 : #define FD_GOSSIP_SLOTS_ENUM_FOOTPRINT sizeof(fd_gossip_slots_enum_t)
    4364           0 : #define FD_GOSSIP_SLOTS_ENUM_ALIGN (8UL)
    4365             : struct fd_gossip_slots_enum_global {
    4366             :   uint discriminant;
    4367             :   fd_gossip_slots_enum_inner_global_t inner;
    4368             : };
    4369             : typedef struct fd_gossip_slots_enum_global fd_gossip_slots_enum_global_t;
    4370             : #define FD_GOSSIP_SLOTS_ENUM_GLOBAL_FOOTPRINT sizeof(fd_gossip_slots_enum_global_t)
    4371             : #define FD_GOSSIP_SLOTS_ENUM_GLOBAL_ALIGN (8UL)
    4372             : 
    4373             : /* Encoded Size: Dynamic */
    4374             : struct __attribute__((aligned(8UL))) fd_gossip_epoch_slots {
    4375             :   uchar u8;
    4376             :   fd_pubkey_t from;
    4377             :   ulong slots_len;
    4378             :   fd_gossip_slots_enum_t * slots;
    4379             :   ulong wallclock;
    4380             : };
    4381             : typedef struct fd_gossip_epoch_slots fd_gossip_epoch_slots_t;
    4382           0 : #define FD_GOSSIP_EPOCH_SLOTS_FOOTPRINT sizeof(fd_gossip_epoch_slots_t)
    4383           0 : #define FD_GOSSIP_EPOCH_SLOTS_ALIGN (8UL)
    4384             : 
    4385             : struct __attribute__((aligned(8UL))) fd_gossip_epoch_slots_global {
    4386             :   uchar u8;
    4387             :   fd_pubkey_t from;
    4388             :   ulong slots_len;
    4389             :   ulong slots_gaddr;
    4390             :   ulong wallclock;
    4391             : };
    4392             : typedef struct fd_gossip_epoch_slots_global fd_gossip_epoch_slots_global_t;
    4393             : #define FD_GOSSIP_EPOCH_SLOTS_GLOBAL_FOOTPRINT sizeof(fd_gossip_epoch_slots_global_t)
    4394             : #define FD_GOSSIP_EPOCH_SLOTS_GLOBAL_ALIGN (8UL)
    4395             : 
    4396             : /* Encoded Size: Dynamic */
    4397             : struct __attribute__((aligned(8UL))) fd_gossip_version_v1 {
    4398             :   fd_pubkey_t from;
    4399             :   ulong wallclock;
    4400             :   ushort major;
    4401             :   ushort minor;
    4402             :   ushort patch;
    4403             :   uint commit;
    4404             :   uchar has_commit;
    4405             : };
    4406             : typedef struct fd_gossip_version_v1 fd_gossip_version_v1_t;
    4407           0 : #define FD_GOSSIP_VERSION_V1_FOOTPRINT sizeof(fd_gossip_version_v1_t)
    4408           0 : #define FD_GOSSIP_VERSION_V1_ALIGN (8UL)
    4409             : 
    4410             : struct __attribute__((aligned(8UL))) fd_gossip_version_v1_global {
    4411             :   fd_pubkey_t from;
    4412             :   ulong wallclock;
    4413             :   ushort major;
    4414             :   ushort minor;
    4415             :   ushort patch;
    4416             :   uint commit;
    4417             :   uchar has_commit;
    4418             : };
    4419             : typedef struct fd_gossip_version_v1_global fd_gossip_version_v1_global_t;
    4420             : #define FD_GOSSIP_VERSION_V1_GLOBAL_FOOTPRINT sizeof(fd_gossip_version_v1_global_t)
    4421             : #define FD_GOSSIP_VERSION_V1_GLOBAL_ALIGN (8UL)
    4422             : 
    4423             : /* Encoded Size: Dynamic */
    4424             : struct __attribute__((aligned(8UL))) fd_gossip_version_v2 {
    4425             :   fd_pubkey_t from;
    4426             :   ulong wallclock;
    4427             :   ushort major;
    4428             :   ushort minor;
    4429             :   ushort patch;
    4430             :   uint commit;
    4431             :   uchar has_commit;
    4432             :   uint feature_set;
    4433             : };
    4434             : typedef struct fd_gossip_version_v2 fd_gossip_version_v2_t;
    4435           0 : #define FD_GOSSIP_VERSION_V2_FOOTPRINT sizeof(fd_gossip_version_v2_t)
    4436           0 : #define FD_GOSSIP_VERSION_V2_ALIGN (8UL)
    4437             : 
    4438             : struct __attribute__((aligned(8UL))) fd_gossip_version_v2_global {
    4439             :   fd_pubkey_t from;
    4440             :   ulong wallclock;
    4441             :   ushort major;
    4442             :   ushort minor;
    4443             :   ushort patch;
    4444             :   uint commit;
    4445             :   uchar has_commit;
    4446             :   uint feature_set;
    4447             : };
    4448             : typedef struct fd_gossip_version_v2_global fd_gossip_version_v2_global_t;
    4449             : #define FD_GOSSIP_VERSION_V2_GLOBAL_FOOTPRINT sizeof(fd_gossip_version_v2_global_t)
    4450             : #define FD_GOSSIP_VERSION_V2_GLOBAL_ALIGN (8UL)
    4451             : 
    4452             : /* Encoded Size: Dynamic */
    4453             : struct __attribute__((aligned(8UL))) fd_gossip_version_v3 {
    4454             :   ushort major;
    4455             :   ushort minor;
    4456             :   ushort patch;
    4457             :   uint commit;
    4458             :   uint feature_set;
    4459             :   ushort client;
    4460             : };
    4461             : typedef struct fd_gossip_version_v3 fd_gossip_version_v3_t;
    4462           0 : #define FD_GOSSIP_VERSION_V3_FOOTPRINT sizeof(fd_gossip_version_v3_t)
    4463           0 : #define FD_GOSSIP_VERSION_V3_ALIGN (8UL)
    4464             : 
    4465             : struct __attribute__((aligned(8UL))) fd_gossip_version_v3_global {
    4466             :   ushort major;
    4467             :   ushort minor;
    4468             :   ushort patch;
    4469             :   uint commit;
    4470             :   uint feature_set;
    4471             :   ushort client;
    4472             : };
    4473             : typedef struct fd_gossip_version_v3_global fd_gossip_version_v3_global_t;
    4474             : #define FD_GOSSIP_VERSION_V3_GLOBAL_FOOTPRINT sizeof(fd_gossip_version_v3_global_t)
    4475             : #define FD_GOSSIP_VERSION_V3_GLOBAL_ALIGN (8UL)
    4476             : 
    4477             : /* Encoded Size: Fixed (56 bytes) */
    4478             : struct __attribute__((aligned(8UL))) fd_gossip_node_instance {
    4479             :   fd_pubkey_t from;
    4480             :   ulong wallclock;
    4481             :   long timestamp;
    4482             :   ulong token;
    4483             : };
    4484             : typedef struct fd_gossip_node_instance fd_gossip_node_instance_t;
    4485           0 : #define FD_GOSSIP_NODE_INSTANCE_FOOTPRINT sizeof(fd_gossip_node_instance_t)
    4486           0 : #define FD_GOSSIP_NODE_INSTANCE_ALIGN (8UL)
    4487             : 
    4488             : struct __attribute__((aligned(8UL))) fd_gossip_node_instance_global {
    4489             :   fd_pubkey_t from;
    4490             :   ulong wallclock;
    4491             :   long timestamp;
    4492             :   ulong token;
    4493             : };
    4494             : typedef struct fd_gossip_node_instance_global fd_gossip_node_instance_global_t;
    4495             : #define FD_GOSSIP_NODE_INSTANCE_GLOBAL_FOOTPRINT sizeof(fd_gossip_node_instance_global_t)
    4496             : #define FD_GOSSIP_NODE_INSTANCE_GLOBAL_ALIGN (8UL)
    4497             : 
    4498             : /* Encoded Size: Dynamic */
    4499             : struct __attribute__((aligned(8UL))) fd_gossip_duplicate_shred {
    4500             :   ushort duplicate_shred_index;
    4501             :   fd_pubkey_t from;
    4502             :   ulong wallclock;
    4503             :   ulong slot;
    4504             :   uint _unused;
    4505             :   uchar _unused_shred_type;
    4506             :   uchar num_chunks;
    4507             :   uchar chunk_index;
    4508             :   ulong chunk_len;
    4509             :   uchar* chunk;
    4510             : };
    4511             : typedef struct fd_gossip_duplicate_shred fd_gossip_duplicate_shred_t;
    4512           0 : #define FD_GOSSIP_DUPLICATE_SHRED_FOOTPRINT sizeof(fd_gossip_duplicate_shred_t)
    4513           0 : #define FD_GOSSIP_DUPLICATE_SHRED_ALIGN (8UL)
    4514             : 
    4515             : struct __attribute__((aligned(8UL))) fd_gossip_duplicate_shred_global {
    4516             :   ushort duplicate_shred_index;
    4517             :   fd_pubkey_t from;
    4518             :   ulong wallclock;
    4519             :   ulong slot;
    4520             :   uint _unused;
    4521             :   uchar _unused_shred_type;
    4522             :   uchar num_chunks;
    4523             :   uchar chunk_index;
    4524             :   ulong chunk_len;
    4525             :   ulong chunk_gaddr;
    4526             : };
    4527             : typedef struct fd_gossip_duplicate_shred_global fd_gossip_duplicate_shred_global_t;
    4528             : #define FD_GOSSIP_DUPLICATE_SHRED_GLOBAL_FOOTPRINT sizeof(fd_gossip_duplicate_shred_global_t)
    4529             : #define FD_GOSSIP_DUPLICATE_SHRED_GLOBAL_ALIGN (8UL)
    4530             : 
    4531             : /* Encoded Size: Dynamic */
    4532             : struct __attribute__((aligned(8UL))) fd_gossip_incremental_snapshot_hashes {
    4533             :   fd_pubkey_t from;
    4534             :   fd_slot_hash_t base_hash;
    4535             :   ulong hashes_len;
    4536             :   fd_slot_hash_t * hashes;
    4537             :   ulong wallclock;
    4538             : };
    4539             : typedef struct fd_gossip_incremental_snapshot_hashes fd_gossip_incremental_snapshot_hashes_t;
    4540           0 : #define FD_GOSSIP_INCREMENTAL_SNAPSHOT_HASHES_FOOTPRINT sizeof(fd_gossip_incremental_snapshot_hashes_t)
    4541           0 : #define FD_GOSSIP_INCREMENTAL_SNAPSHOT_HASHES_ALIGN (8UL)
    4542             : 
    4543             : struct __attribute__((aligned(8UL))) fd_gossip_incremental_snapshot_hashes_global {
    4544             :   fd_pubkey_t from;
    4545             :   fd_slot_hash_t base_hash;
    4546             :   ulong hashes_len;
    4547             :   ulong hashes_gaddr;
    4548             :   ulong wallclock;
    4549             : };
    4550             : typedef struct fd_gossip_incremental_snapshot_hashes_global fd_gossip_incremental_snapshot_hashes_global_t;
    4551             : #define FD_GOSSIP_INCREMENTAL_SNAPSHOT_HASHES_GLOBAL_FOOTPRINT sizeof(fd_gossip_incremental_snapshot_hashes_global_t)
    4552             : #define FD_GOSSIP_INCREMENTAL_SNAPSHOT_HASHES_GLOBAL_ALIGN (8UL)
    4553             : 
    4554             : /* Encoded Size: Dynamic */
    4555             : struct __attribute__((aligned(8UL))) fd_gossip_socket_entry {
    4556             :   uchar key;
    4557             :   uchar index;
    4558             :   ushort offset;
    4559             : };
    4560             : typedef struct fd_gossip_socket_entry fd_gossip_socket_entry_t;
    4561           6 : #define FD_GOSSIP_SOCKET_ENTRY_FOOTPRINT sizeof(fd_gossip_socket_entry_t)
    4562           6 : #define FD_GOSSIP_SOCKET_ENTRY_ALIGN (8UL)
    4563             : 
    4564             : struct __attribute__((aligned(8UL))) fd_gossip_socket_entry_global {
    4565             :   uchar key;
    4566             :   uchar index;
    4567             :   ushort offset;
    4568             : };
    4569             : typedef struct fd_gossip_socket_entry_global fd_gossip_socket_entry_global_t;
    4570             : #define FD_GOSSIP_SOCKET_ENTRY_GLOBAL_FOOTPRINT sizeof(fd_gossip_socket_entry_global_t)
    4571             : #define FD_GOSSIP_SOCKET_ENTRY_GLOBAL_ALIGN (8UL)
    4572             : 
    4573             : /* Encoded Size: Dynamic */
    4574             : struct __attribute__((aligned(8UL))) fd_gossip_contact_info_v2 {
    4575             :   fd_pubkey_t from;
    4576             :   ulong wallclock;
    4577             :   ulong outset;
    4578             :   ushort shred_version;
    4579             :   fd_gossip_version_v3_t version;
    4580             :   ushort addrs_len;
    4581             :   fd_gossip_ip_addr_t * addrs;
    4582             :   ushort sockets_len;
    4583             :   fd_gossip_socket_entry_t * sockets;
    4584             :   ushort extensions_len;
    4585             :   uint* extensions;
    4586             : };
    4587             : typedef struct fd_gossip_contact_info_v2 fd_gossip_contact_info_v2_t;
    4588           0 : #define FD_GOSSIP_CONTACT_INFO_V2_FOOTPRINT sizeof(fd_gossip_contact_info_v2_t)
    4589           0 : #define FD_GOSSIP_CONTACT_INFO_V2_ALIGN (8UL)
    4590             : 
    4591             : struct __attribute__((aligned(8UL))) fd_gossip_contact_info_v2_global {
    4592             :   fd_pubkey_t from;
    4593             :   ulong wallclock;
    4594             :   ulong outset;
    4595             :   ushort shred_version;
    4596             :   fd_gossip_version_v3_global_t version;
    4597             :   ushort addrs_len;
    4598             :   ulong addrs_gaddr;
    4599             :   ushort sockets_len;
    4600             :   ulong sockets_gaddr;
    4601             :   ushort extensions_len;
    4602             :   ulong extensions_gaddr;
    4603             : };
    4604             : typedef struct fd_gossip_contact_info_v2_global fd_gossip_contact_info_v2_global_t;
    4605             : #define FD_GOSSIP_CONTACT_INFO_V2_GLOBAL_FOOTPRINT sizeof(fd_gossip_contact_info_v2_global_t)
    4606             : #define FD_GOSSIP_CONTACT_INFO_V2_GLOBAL_ALIGN (8UL)
    4607             : 
    4608             : /* Encoded Size: Dynamic */
    4609             : struct __attribute__((aligned(8UL))) fd_restart_run_length_encoding_inner {
    4610             :   ushort bits;
    4611             : };
    4612             : typedef struct fd_restart_run_length_encoding_inner fd_restart_run_length_encoding_inner_t;
    4613           0 : #define FD_RESTART_RUN_LENGTH_ENCODING_INNER_FOOTPRINT sizeof(fd_restart_run_length_encoding_inner_t)
    4614           0 : #define FD_RESTART_RUN_LENGTH_ENCODING_INNER_ALIGN (8UL)
    4615             : 
    4616             : struct __attribute__((aligned(8UL))) fd_restart_run_length_encoding_inner_global {
    4617             :   ushort bits;
    4618             : };
    4619             : typedef struct fd_restart_run_length_encoding_inner_global fd_restart_run_length_encoding_inner_global_t;
    4620             : #define FD_RESTART_RUN_LENGTH_ENCODING_INNER_GLOBAL_FOOTPRINT sizeof(fd_restart_run_length_encoding_inner_global_t)
    4621             : #define FD_RESTART_RUN_LENGTH_ENCODING_INNER_GLOBAL_ALIGN (8UL)
    4622             : 
    4623             : /* Encoded Size: Dynamic */
    4624             : struct __attribute__((aligned(8UL))) fd_restart_run_length_encoding {
    4625             :   ulong offsets_len;
    4626             :   fd_restart_run_length_encoding_inner_t * offsets;
    4627             : };
    4628             : typedef struct fd_restart_run_length_encoding fd_restart_run_length_encoding_t;
    4629           0 : #define FD_RESTART_RUN_LENGTH_ENCODING_FOOTPRINT sizeof(fd_restart_run_length_encoding_t)
    4630           0 : #define FD_RESTART_RUN_LENGTH_ENCODING_ALIGN (8UL)
    4631             : 
    4632             : struct __attribute__((aligned(8UL))) fd_restart_run_length_encoding_global {
    4633             :   ulong offsets_len;
    4634             :   ulong offsets_gaddr;
    4635             : };
    4636             : typedef struct fd_restart_run_length_encoding_global fd_restart_run_length_encoding_global_t;
    4637             : #define FD_RESTART_RUN_LENGTH_ENCODING_GLOBAL_FOOTPRINT sizeof(fd_restart_run_length_encoding_global_t)
    4638             : #define FD_RESTART_RUN_LENGTH_ENCODING_GLOBAL_ALIGN (8UL)
    4639             : 
    4640             : /* Encoded Size: Dynamic */
    4641             : struct __attribute__((aligned(8UL))) fd_restart_raw_offsets_bitvec_u8_inner {
    4642             :   ulong bits_len;
    4643             :   uchar* bits;
    4644             : };
    4645             : typedef struct fd_restart_raw_offsets_bitvec_u8_inner fd_restart_raw_offsets_bitvec_u8_inner_t;
    4646           0 : #define FD_RESTART_RAW_OFFSETS_BITVEC_U8_INNER_FOOTPRINT sizeof(fd_restart_raw_offsets_bitvec_u8_inner_t)
    4647           0 : #define FD_RESTART_RAW_OFFSETS_BITVEC_U8_INNER_ALIGN (8UL)
    4648             : 
    4649             : struct __attribute__((aligned(8UL))) fd_restart_raw_offsets_bitvec_u8_inner_global {
    4650             :   ulong bits_len;
    4651             :   ulong bits_gaddr;
    4652             : };
    4653             : typedef struct fd_restart_raw_offsets_bitvec_u8_inner_global fd_restart_raw_offsets_bitvec_u8_inner_global_t;
    4654             : #define FD_RESTART_RAW_OFFSETS_BITVEC_U8_INNER_GLOBAL_FOOTPRINT sizeof(fd_restart_raw_offsets_bitvec_u8_inner_global_t)
    4655             : #define FD_RESTART_RAW_OFFSETS_BITVEC_U8_INNER_GLOBAL_ALIGN (8UL)
    4656             : 
    4657             : /* Encoded Size: Dynamic */
    4658             : struct __attribute__((aligned(8UL))) fd_restart_raw_offsets_bitvec {
    4659             :   fd_restart_raw_offsets_bitvec_u8_inner_t bits;
    4660             :   uchar has_bits;
    4661             :   ulong len;
    4662             : };
    4663             : typedef struct fd_restart_raw_offsets_bitvec fd_restart_raw_offsets_bitvec_t;
    4664           0 : #define FD_RESTART_RAW_OFFSETS_BITVEC_FOOTPRINT sizeof(fd_restart_raw_offsets_bitvec_t)
    4665           0 : #define FD_RESTART_RAW_OFFSETS_BITVEC_ALIGN (8UL)
    4666             : 
    4667             : struct __attribute__((aligned(8UL))) fd_restart_raw_offsets_bitvec_global {
    4668             :   fd_restart_raw_offsets_bitvec_u8_inner_t bits;
    4669             :   uchar has_bits;
    4670             :   ulong len;
    4671             : };
    4672             : typedef struct fd_restart_raw_offsets_bitvec_global fd_restart_raw_offsets_bitvec_global_t;
    4673             : #define FD_RESTART_RAW_OFFSETS_BITVEC_GLOBAL_FOOTPRINT sizeof(fd_restart_raw_offsets_bitvec_global_t)
    4674             : #define FD_RESTART_RAW_OFFSETS_BITVEC_GLOBAL_ALIGN (8UL)
    4675             : 
    4676             : /* Encoded Size: Dynamic */
    4677             : struct __attribute__((aligned(8UL))) fd_restart_raw_offsets {
    4678             :   fd_restart_raw_offsets_bitvec_t offsets;
    4679             : };
    4680             : typedef struct fd_restart_raw_offsets fd_restart_raw_offsets_t;
    4681           0 : #define FD_RESTART_RAW_OFFSETS_FOOTPRINT sizeof(fd_restart_raw_offsets_t)
    4682           0 : #define FD_RESTART_RAW_OFFSETS_ALIGN (8UL)
    4683             : 
    4684             : struct __attribute__((aligned(8UL))) fd_restart_raw_offsets_global {
    4685             :   fd_restart_raw_offsets_bitvec_global_t offsets;
    4686             : };
    4687             : typedef struct fd_restart_raw_offsets_global fd_restart_raw_offsets_global_t;
    4688             : #define FD_RESTART_RAW_OFFSETS_GLOBAL_FOOTPRINT sizeof(fd_restart_raw_offsets_global_t)
    4689             : #define FD_RESTART_RAW_OFFSETS_GLOBAL_ALIGN (8UL)
    4690             : 
    4691             : union fd_restart_slots_offsets_inner {
    4692             :   fd_restart_run_length_encoding_t run_length_encoding;
    4693             :   fd_restart_raw_offsets_t raw_offsets;
    4694             : };
    4695             : typedef union fd_restart_slots_offsets_inner fd_restart_slots_offsets_inner_t;
    4696             : 
    4697             : union fd_restart_slots_offsets_inner_global {
    4698             :   fd_restart_run_length_encoding_global_t run_length_encoding;
    4699             :   fd_restart_raw_offsets_global_t raw_offsets;
    4700             : };
    4701             : typedef union fd_restart_slots_offsets_inner_global fd_restart_slots_offsets_inner_global_t;
    4702             : 
    4703             : struct fd_restart_slots_offsets {
    4704             :   uint discriminant;
    4705             :   fd_restart_slots_offsets_inner_t inner;
    4706             : };
    4707             : typedef struct fd_restart_slots_offsets fd_restart_slots_offsets_t;
    4708           0 : #define FD_RESTART_SLOTS_OFFSETS_FOOTPRINT sizeof(fd_restart_slots_offsets_t)
    4709           0 : #define FD_RESTART_SLOTS_OFFSETS_ALIGN (8UL)
    4710             : struct fd_restart_slots_offsets_global {
    4711             :   uint discriminant;
    4712             :   fd_restart_slots_offsets_inner_global_t inner;
    4713             : };
    4714             : typedef struct fd_restart_slots_offsets_global fd_restart_slots_offsets_global_t;
    4715             : #define FD_RESTART_SLOTS_OFFSETS_GLOBAL_FOOTPRINT sizeof(fd_restart_slots_offsets_global_t)
    4716             : #define FD_RESTART_SLOTS_OFFSETS_GLOBAL_ALIGN (8UL)
    4717             : 
    4718             : /* Encoded Size: Dynamic */
    4719             : struct __attribute__((aligned(8UL))) fd_gossip_restart_last_voted_fork_slots {
    4720             :   fd_pubkey_t from;
    4721             :   ulong wallclock;
    4722             :   fd_restart_slots_offsets_t offsets;
    4723             :   ulong last_voted_slot;
    4724             :   fd_hash_t last_voted_hash;
    4725             :   ushort shred_version;
    4726             : };
    4727             : typedef struct fd_gossip_restart_last_voted_fork_slots fd_gossip_restart_last_voted_fork_slots_t;
    4728           0 : #define FD_GOSSIP_RESTART_LAST_VOTED_FORK_SLOTS_FOOTPRINT sizeof(fd_gossip_restart_last_voted_fork_slots_t)
    4729           0 : #define FD_GOSSIP_RESTART_LAST_VOTED_FORK_SLOTS_ALIGN (8UL)
    4730             : 
    4731             : struct __attribute__((aligned(8UL))) fd_gossip_restart_last_voted_fork_slots_global {
    4732             :   fd_pubkey_t from;
    4733             :   ulong wallclock;
    4734             :   fd_restart_slots_offsets_global_t offsets;
    4735             :   ulong last_voted_slot;
    4736             :   fd_hash_t last_voted_hash;
    4737             :   ushort shred_version;
    4738             : };
    4739             : typedef struct fd_gossip_restart_last_voted_fork_slots_global fd_gossip_restart_last_voted_fork_slots_global_t;
    4740             : #define FD_GOSSIP_RESTART_LAST_VOTED_FORK_SLOTS_GLOBAL_FOOTPRINT sizeof(fd_gossip_restart_last_voted_fork_slots_global_t)
    4741             : #define FD_GOSSIP_RESTART_LAST_VOTED_FORK_SLOTS_GLOBAL_ALIGN (8UL)
    4742             : 
    4743             : /* Encoded Size: Fixed (90 bytes) */
    4744             : struct __attribute__((aligned(8UL))) fd_gossip_restart_heaviest_fork {
    4745             :   fd_pubkey_t from;
    4746             :   ulong wallclock;
    4747             :   ulong last_slot;
    4748             :   fd_hash_t last_slot_hash;
    4749             :   ulong observed_stake;
    4750             :   ushort shred_version;
    4751             : };
    4752             : typedef struct fd_gossip_restart_heaviest_fork fd_gossip_restart_heaviest_fork_t;
    4753           0 : #define FD_GOSSIP_RESTART_HEAVIEST_FORK_FOOTPRINT sizeof(fd_gossip_restart_heaviest_fork_t)
    4754           0 : #define FD_GOSSIP_RESTART_HEAVIEST_FORK_ALIGN (8UL)
    4755             : 
    4756             : struct __attribute__((aligned(8UL))) fd_gossip_restart_heaviest_fork_global {
    4757             :   fd_pubkey_t from;
    4758             :   ulong wallclock;
    4759             :   ulong last_slot;
    4760             :   fd_hash_t last_slot_hash;
    4761             :   ulong observed_stake;
    4762             :   ushort shred_version;
    4763             : };
    4764             : typedef struct fd_gossip_restart_heaviest_fork_global fd_gossip_restart_heaviest_fork_global_t;
    4765             : #define FD_GOSSIP_RESTART_HEAVIEST_FORK_GLOBAL_FOOTPRINT sizeof(fd_gossip_restart_heaviest_fork_global_t)
    4766             : #define FD_GOSSIP_RESTART_HEAVIEST_FORK_GLOBAL_ALIGN (8UL)
    4767             : 
    4768             : union fd_crds_data_inner {
    4769             :   fd_gossip_contact_info_v1_t contact_info_v1;
    4770             :   fd_gossip_vote_t vote;
    4771             :   fd_gossip_lowest_slot_t lowest_slot;
    4772             :   fd_gossip_slot_hashes_t snapshot_hashes;
    4773             :   fd_gossip_slot_hashes_t accounts_hashes;
    4774             :   fd_gossip_epoch_slots_t epoch_slots;
    4775             :   fd_gossip_version_v1_t version_v1;
    4776             :   fd_gossip_version_v2_t version_v2;
    4777             :   fd_gossip_node_instance_t node_instance;
    4778             :   fd_gossip_duplicate_shred_t duplicate_shred;
    4779             :   fd_gossip_incremental_snapshot_hashes_t incremental_snapshot_hashes;
    4780             :   fd_gossip_contact_info_v2_t contact_info_v2;
    4781             :   fd_gossip_restart_last_voted_fork_slots_t restart_last_voted_fork_slots;
    4782             :   fd_gossip_restart_heaviest_fork_t restart_heaviest_fork;
    4783             : };
    4784             : typedef union fd_crds_data_inner fd_crds_data_inner_t;
    4785             : 
    4786             : union fd_crds_data_inner_global {
    4787             :   fd_gossip_contact_info_v1_global_t contact_info_v1;
    4788             :   fd_gossip_vote_global_t vote;
    4789             :   fd_gossip_lowest_slot_global_t lowest_slot;
    4790             :   fd_gossip_slot_hashes_global_t snapshot_hashes;
    4791             :   fd_gossip_slot_hashes_global_t accounts_hashes;
    4792             :   fd_gossip_epoch_slots_global_t epoch_slots;
    4793             :   fd_gossip_version_v1_global_t version_v1;
    4794             :   fd_gossip_version_v2_global_t version_v2;
    4795             :   fd_gossip_node_instance_t node_instance;
    4796             :   fd_gossip_duplicate_shred_global_t duplicate_shred;
    4797             :   fd_gossip_incremental_snapshot_hashes_global_t incremental_snapshot_hashes;
    4798             :   fd_gossip_contact_info_v2_global_t contact_info_v2;
    4799             :   fd_gossip_restart_last_voted_fork_slots_global_t restart_last_voted_fork_slots;
    4800             :   fd_gossip_restart_heaviest_fork_t restart_heaviest_fork;
    4801             : };
    4802             : typedef union fd_crds_data_inner_global fd_crds_data_inner_global_t;
    4803             : 
    4804             : struct fd_crds_data {
    4805             :   uint discriminant;
    4806             :   fd_crds_data_inner_t inner;
    4807             : };
    4808             : typedef struct fd_crds_data fd_crds_data_t;
    4809           0 : #define FD_CRDS_DATA_FOOTPRINT sizeof(fd_crds_data_t)
    4810           0 : #define FD_CRDS_DATA_ALIGN (8UL)
    4811             : struct fd_crds_data_global {
    4812             :   uint discriminant;
    4813             :   fd_crds_data_inner_global_t inner;
    4814             : };
    4815             : typedef struct fd_crds_data_global fd_crds_data_global_t;
    4816             : #define FD_CRDS_DATA_GLOBAL_FOOTPRINT sizeof(fd_crds_data_global_t)
    4817             : #define FD_CRDS_DATA_GLOBAL_ALIGN (8UL)
    4818             : 
    4819             : /* Encoded Size: Dynamic */
    4820             : struct __attribute__((aligned(8UL))) fd_crds_bloom {
    4821             :   ulong keys_len;
    4822             :   ulong* keys;
    4823             :   fd_gossip_bitvec_u64_t bits;
    4824             :   ulong num_bits_set;
    4825             : };
    4826             : typedef struct fd_crds_bloom fd_crds_bloom_t;
    4827           0 : #define FD_CRDS_BLOOM_FOOTPRINT sizeof(fd_crds_bloom_t)
    4828           0 : #define FD_CRDS_BLOOM_ALIGN (8UL)
    4829             : 
    4830             : struct __attribute__((aligned(8UL))) fd_crds_bloom_global {
    4831             :   ulong keys_len;
    4832             :   ulong keys_gaddr;
    4833             :   fd_gossip_bitvec_u64_global_t bits;
    4834             :   ulong num_bits_set;
    4835             : };
    4836             : typedef struct fd_crds_bloom_global fd_crds_bloom_global_t;
    4837             : #define FD_CRDS_BLOOM_GLOBAL_FOOTPRINT sizeof(fd_crds_bloom_global_t)
    4838             : #define FD_CRDS_BLOOM_GLOBAL_ALIGN (8UL)
    4839             : 
    4840             : /* Encoded Size: Dynamic */
    4841             : struct __attribute__((aligned(8UL))) fd_crds_filter {
    4842             :   fd_crds_bloom_t filter;
    4843             :   ulong mask;
    4844             :   uint mask_bits;
    4845             : };
    4846             : typedef struct fd_crds_filter fd_crds_filter_t;
    4847           0 : #define FD_CRDS_FILTER_FOOTPRINT sizeof(fd_crds_filter_t)
    4848           0 : #define FD_CRDS_FILTER_ALIGN (8UL)
    4849             : 
    4850             : struct __attribute__((aligned(8UL))) fd_crds_filter_global {
    4851             :   fd_crds_bloom_global_t filter;
    4852             :   ulong mask;
    4853             :   uint mask_bits;
    4854             : };
    4855             : typedef struct fd_crds_filter_global fd_crds_filter_global_t;
    4856             : #define FD_CRDS_FILTER_GLOBAL_FOOTPRINT sizeof(fd_crds_filter_global_t)
    4857             : #define FD_CRDS_FILTER_GLOBAL_ALIGN (8UL)
    4858             : 
    4859             : /* Encoded Size: Dynamic */
    4860             : struct __attribute__((aligned(8UL))) fd_crds_value {
    4861             :   fd_signature_t signature;
    4862             :   fd_crds_data_t data;
    4863             : };
    4864             : typedef struct fd_crds_value fd_crds_value_t;
    4865          36 : #define FD_CRDS_VALUE_FOOTPRINT sizeof(fd_crds_value_t)
    4866          36 : #define FD_CRDS_VALUE_ALIGN (8UL)
    4867             : 
    4868             : struct __attribute__((aligned(8UL))) fd_crds_value_global {
    4869             :   fd_signature_t signature;
    4870             :   fd_crds_data_global_t data;
    4871             : };
    4872             : typedef struct fd_crds_value_global fd_crds_value_global_t;
    4873             : #define FD_CRDS_VALUE_GLOBAL_FOOTPRINT sizeof(fd_crds_value_global_t)
    4874             : #define FD_CRDS_VALUE_GLOBAL_ALIGN (8UL)
    4875             : 
    4876             : /* Encoded Size: Dynamic */
    4877             : struct __attribute__((aligned(8UL))) fd_gossip_pull_req {
    4878             :   fd_crds_filter_t filter;
    4879             :   fd_crds_value_t value;
    4880             : };
    4881             : typedef struct fd_gossip_pull_req fd_gossip_pull_req_t;
    4882           0 : #define FD_GOSSIP_PULL_REQ_FOOTPRINT sizeof(fd_gossip_pull_req_t)
    4883           0 : #define FD_GOSSIP_PULL_REQ_ALIGN (8UL)
    4884             : 
    4885             : struct __attribute__((aligned(8UL))) fd_gossip_pull_req_global {
    4886             :   fd_crds_filter_global_t filter;
    4887             :   fd_crds_value_global_t value;
    4888             : };
    4889             : typedef struct fd_gossip_pull_req_global fd_gossip_pull_req_global_t;
    4890             : #define FD_GOSSIP_PULL_REQ_GLOBAL_FOOTPRINT sizeof(fd_gossip_pull_req_global_t)
    4891             : #define FD_GOSSIP_PULL_REQ_GLOBAL_ALIGN (8UL)
    4892             : 
    4893             : /* Encoded Size: Dynamic */
    4894             : struct __attribute__((aligned(8UL))) fd_gossip_pull_resp {
    4895             :   fd_pubkey_t pubkey;
    4896             :   ulong crds_len;
    4897             :   fd_crds_value_t * crds;
    4898             : };
    4899             : typedef struct fd_gossip_pull_resp fd_gossip_pull_resp_t;
    4900           0 : #define FD_GOSSIP_PULL_RESP_FOOTPRINT sizeof(fd_gossip_pull_resp_t)
    4901           0 : #define FD_GOSSIP_PULL_RESP_ALIGN (8UL)
    4902             : 
    4903             : struct __attribute__((aligned(8UL))) fd_gossip_pull_resp_global {
    4904             :   fd_pubkey_t pubkey;
    4905             :   ulong crds_len;
    4906             :   ulong crds_gaddr;
    4907             : };
    4908             : typedef struct fd_gossip_pull_resp_global fd_gossip_pull_resp_global_t;
    4909             : #define FD_GOSSIP_PULL_RESP_GLOBAL_FOOTPRINT sizeof(fd_gossip_pull_resp_global_t)
    4910             : #define FD_GOSSIP_PULL_RESP_GLOBAL_ALIGN (8UL)
    4911             : 
    4912             : /* Encoded Size: Dynamic */
    4913             : struct __attribute__((aligned(8UL))) fd_gossip_push_msg {
    4914             :   fd_pubkey_t pubkey;
    4915             :   ulong crds_len;
    4916             :   fd_crds_value_t * crds;
    4917             : };
    4918             : typedef struct fd_gossip_push_msg fd_gossip_push_msg_t;
    4919           0 : #define FD_GOSSIP_PUSH_MSG_FOOTPRINT sizeof(fd_gossip_push_msg_t)
    4920           0 : #define FD_GOSSIP_PUSH_MSG_ALIGN (8UL)
    4921             : 
    4922             : struct __attribute__((aligned(8UL))) fd_gossip_push_msg_global {
    4923             :   fd_pubkey_t pubkey;
    4924             :   ulong crds_len;
    4925             :   ulong crds_gaddr;
    4926             : };
    4927             : typedef struct fd_gossip_push_msg_global fd_gossip_push_msg_global_t;
    4928             : #define FD_GOSSIP_PUSH_MSG_GLOBAL_FOOTPRINT sizeof(fd_gossip_push_msg_global_t)
    4929             : #define FD_GOSSIP_PUSH_MSG_GLOBAL_ALIGN (8UL)
    4930             : 
    4931             : /* Encoded Size: Dynamic */
    4932             : struct __attribute__((aligned(8UL))) fd_gossip_prune_msg {
    4933             :   fd_pubkey_t pubkey;
    4934             :   fd_gossip_prune_data_t data;
    4935             : };
    4936             : typedef struct fd_gossip_prune_msg fd_gossip_prune_msg_t;
    4937           0 : #define FD_GOSSIP_PRUNE_MSG_FOOTPRINT sizeof(fd_gossip_prune_msg_t)
    4938           0 : #define FD_GOSSIP_PRUNE_MSG_ALIGN (8UL)
    4939             : 
    4940             : struct __attribute__((aligned(8UL))) fd_gossip_prune_msg_global {
    4941             :   fd_pubkey_t pubkey;
    4942             :   fd_gossip_prune_data_global_t data;
    4943             : };
    4944             : typedef struct fd_gossip_prune_msg_global fd_gossip_prune_msg_global_t;
    4945             : #define FD_GOSSIP_PRUNE_MSG_GLOBAL_FOOTPRINT sizeof(fd_gossip_prune_msg_global_t)
    4946             : #define FD_GOSSIP_PRUNE_MSG_GLOBAL_ALIGN (8UL)
    4947             : 
    4948             : union fd_gossip_msg_inner {
    4949             :   fd_gossip_pull_req_t pull_req;
    4950             :   fd_gossip_pull_resp_t pull_resp;
    4951             :   fd_gossip_push_msg_t push_msg;
    4952             :   fd_gossip_prune_msg_t prune_msg;
    4953             :   fd_gossip_ping_t ping;
    4954             :   fd_gossip_ping_t pong;
    4955             : };
    4956             : typedef union fd_gossip_msg_inner fd_gossip_msg_inner_t;
    4957             : 
    4958             : union fd_gossip_msg_inner_global {
    4959             :   fd_gossip_pull_req_global_t pull_req;
    4960             :   fd_gossip_pull_resp_global_t pull_resp;
    4961             :   fd_gossip_push_msg_global_t push_msg;
    4962             :   fd_gossip_prune_msg_global_t prune_msg;
    4963             :   fd_gossip_ping_t ping;
    4964             :   fd_gossip_ping_t pong;
    4965             : };
    4966             : typedef union fd_gossip_msg_inner_global fd_gossip_msg_inner_global_t;
    4967             : 
    4968             : /* UDP payloads of the Solana gossip protocol */
    4969             : struct fd_gossip_msg {
    4970             :   uint discriminant;
    4971             :   fd_gossip_msg_inner_t inner;
    4972             : };
    4973             : typedef struct fd_gossip_msg fd_gossip_msg_t;
    4974           0 : #define FD_GOSSIP_MSG_FOOTPRINT sizeof(fd_gossip_msg_t)
    4975          21 : #define FD_GOSSIP_MSG_ALIGN (8UL)
    4976             : struct fd_gossip_msg_global {
    4977             :   uint discriminant;
    4978             :   fd_gossip_msg_inner_global_t inner;
    4979             : };
    4980             : typedef struct fd_gossip_msg_global fd_gossip_msg_global_t;
    4981             : #define FD_GOSSIP_MSG_GLOBAL_FOOTPRINT sizeof(fd_gossip_msg_global_t)
    4982             : #define FD_GOSSIP_MSG_GLOBAL_ALIGN (8UL)
    4983             : 
    4984             : /* Encoded Size: Fixed (9 bytes) */
    4985             : struct __attribute__((aligned(8UL))) fd_addrlut_create {
    4986             :   ulong recent_slot;
    4987             :   uchar bump_seed;
    4988             : };
    4989             : typedef struct fd_addrlut_create fd_addrlut_create_t;
    4990           0 : #define FD_ADDRLUT_CREATE_FOOTPRINT sizeof(fd_addrlut_create_t)
    4991           0 : #define FD_ADDRLUT_CREATE_ALIGN (8UL)
    4992             : 
    4993             : struct __attribute__((aligned(8UL))) fd_addrlut_create_global {
    4994             :   ulong recent_slot;
    4995             :   uchar bump_seed;
    4996             : };
    4997             : typedef struct fd_addrlut_create_global fd_addrlut_create_global_t;
    4998             : #define FD_ADDRLUT_CREATE_GLOBAL_FOOTPRINT sizeof(fd_addrlut_create_global_t)
    4999             : #define FD_ADDRLUT_CREATE_GLOBAL_ALIGN (8UL)
    5000             : 
    5001             : /* Encoded Size: Dynamic */
    5002             : struct __attribute__((aligned(8UL))) fd_addrlut_extend {
    5003             :   ulong new_addrs_len;
    5004             :   fd_pubkey_t * new_addrs;
    5005             : };
    5006             : typedef struct fd_addrlut_extend fd_addrlut_extend_t;
    5007           0 : #define FD_ADDRLUT_EXTEND_FOOTPRINT sizeof(fd_addrlut_extend_t)
    5008           0 : #define FD_ADDRLUT_EXTEND_ALIGN (8UL)
    5009             : 
    5010             : struct __attribute__((aligned(8UL))) fd_addrlut_extend_global {
    5011             :   ulong new_addrs_len;
    5012             :   ulong new_addrs_gaddr;
    5013             : };
    5014             : typedef struct fd_addrlut_extend_global fd_addrlut_extend_global_t;
    5015             : #define FD_ADDRLUT_EXTEND_GLOBAL_FOOTPRINT sizeof(fd_addrlut_extend_global_t)
    5016             : #define FD_ADDRLUT_EXTEND_GLOBAL_ALIGN (8UL)
    5017             : 
    5018             : union fd_addrlut_instruction_inner {
    5019             :   fd_addrlut_create_t create_lut;
    5020             :   fd_addrlut_extend_t extend_lut;
    5021             : };
    5022             : typedef union fd_addrlut_instruction_inner fd_addrlut_instruction_inner_t;
    5023             : 
    5024             : union fd_addrlut_instruction_inner_global {
    5025             :   fd_addrlut_create_t create_lut;
    5026             :   fd_addrlut_extend_global_t extend_lut;
    5027             : };
    5028             : typedef union fd_addrlut_instruction_inner_global fd_addrlut_instruction_inner_global_t;
    5029             : 
    5030             : /* https://github.com/solana-labs/solana/blob/fb80288f885a62bcd923f4c9579fd0edeafaff9b/sdk/program/src/address_lookup_table/instruction.rs#L13 */
    5031             : struct fd_addrlut_instruction {
    5032             :   uint discriminant;
    5033             :   fd_addrlut_instruction_inner_t inner;
    5034             : };
    5035             : typedef struct fd_addrlut_instruction fd_addrlut_instruction_t;
    5036           0 : #define FD_ADDRLUT_INSTRUCTION_FOOTPRINT sizeof(fd_addrlut_instruction_t)
    5037           0 : #define FD_ADDRLUT_INSTRUCTION_ALIGN (8UL)
    5038             : struct fd_addrlut_instruction_global {
    5039             :   uint discriminant;
    5040             :   fd_addrlut_instruction_inner_global_t inner;
    5041             : };
    5042             : typedef struct fd_addrlut_instruction_global fd_addrlut_instruction_global_t;
    5043             : #define FD_ADDRLUT_INSTRUCTION_GLOBAL_FOOTPRINT sizeof(fd_addrlut_instruction_global_t)
    5044             : #define FD_ADDRLUT_INSTRUCTION_GLOBAL_ALIGN (8UL)
    5045             : 
    5046             : /* Encoded Size: Fixed (140 bytes) */
    5047             : struct __attribute__((aligned(8UL))) fd_repair_request_header {
    5048             :   fd_signature_t signature;
    5049             :   fd_pubkey_t sender;
    5050             :   fd_pubkey_t recipient;
    5051             :   long timestamp;
    5052             :   uint nonce;
    5053             : };
    5054             : typedef struct fd_repair_request_header fd_repair_request_header_t;
    5055           0 : #define FD_REPAIR_REQUEST_HEADER_FOOTPRINT sizeof(fd_repair_request_header_t)
    5056           0 : #define FD_REPAIR_REQUEST_HEADER_ALIGN (8UL)
    5057             : 
    5058             : struct __attribute__((aligned(8UL))) fd_repair_request_header_global {
    5059             :   fd_signature_t signature;
    5060             :   fd_pubkey_t sender;
    5061             :   fd_pubkey_t recipient;
    5062             :   long timestamp;
    5063             :   uint nonce;
    5064             : };
    5065             : typedef struct fd_repair_request_header_global fd_repair_request_header_global_t;
    5066             : #define FD_REPAIR_REQUEST_HEADER_GLOBAL_FOOTPRINT sizeof(fd_repair_request_header_global_t)
    5067             : #define FD_REPAIR_REQUEST_HEADER_GLOBAL_ALIGN (8UL)
    5068             : 
    5069             : /* Encoded Size: Fixed (156 bytes) */
    5070             : struct __attribute__((aligned(8UL))) fd_repair_window_index {
    5071             :   fd_repair_request_header_t header;
    5072             :   ulong slot;
    5073             :   ulong shred_index;
    5074             : };
    5075             : typedef struct fd_repair_window_index fd_repair_window_index_t;
    5076           0 : #define FD_REPAIR_WINDOW_INDEX_FOOTPRINT sizeof(fd_repair_window_index_t)
    5077           0 : #define FD_REPAIR_WINDOW_INDEX_ALIGN (8UL)
    5078             : 
    5079             : struct __attribute__((aligned(8UL))) fd_repair_window_index_global {
    5080             :   fd_repair_request_header_t header;
    5081             :   ulong slot;
    5082             :   ulong shred_index;
    5083             : };
    5084             : typedef struct fd_repair_window_index_global fd_repair_window_index_global_t;
    5085             : #define FD_REPAIR_WINDOW_INDEX_GLOBAL_FOOTPRINT sizeof(fd_repair_window_index_global_t)
    5086             : #define FD_REPAIR_WINDOW_INDEX_GLOBAL_ALIGN (8UL)
    5087             : 
    5088             : /* Encoded Size: Fixed (156 bytes) */
    5089             : struct __attribute__((aligned(8UL))) fd_repair_highest_window_index {
    5090             :   fd_repair_request_header_t header;
    5091             :   ulong slot;
    5092             :   ulong shred_index;
    5093             : };
    5094             : typedef struct fd_repair_highest_window_index fd_repair_highest_window_index_t;
    5095           0 : #define FD_REPAIR_HIGHEST_WINDOW_INDEX_FOOTPRINT sizeof(fd_repair_highest_window_index_t)
    5096           0 : #define FD_REPAIR_HIGHEST_WINDOW_INDEX_ALIGN (8UL)
    5097             : 
    5098             : struct __attribute__((aligned(8UL))) fd_repair_highest_window_index_global {
    5099             :   fd_repair_request_header_t header;
    5100             :   ulong slot;
    5101             :   ulong shred_index;
    5102             : };
    5103             : typedef struct fd_repair_highest_window_index_global fd_repair_highest_window_index_global_t;
    5104             : #define FD_REPAIR_HIGHEST_WINDOW_INDEX_GLOBAL_FOOTPRINT sizeof(fd_repair_highest_window_index_global_t)
    5105             : #define FD_REPAIR_HIGHEST_WINDOW_INDEX_GLOBAL_ALIGN (8UL)
    5106             : 
    5107             : /* Encoded Size: Fixed (148 bytes) */
    5108             : struct __attribute__((aligned(8UL))) fd_repair_orphan {
    5109             :   fd_repair_request_header_t header;
    5110             :   ulong slot;
    5111             : };
    5112             : typedef struct fd_repair_orphan fd_repair_orphan_t;
    5113           0 : #define FD_REPAIR_ORPHAN_FOOTPRINT sizeof(fd_repair_orphan_t)
    5114           0 : #define FD_REPAIR_ORPHAN_ALIGN (8UL)
    5115             : 
    5116             : struct __attribute__((aligned(8UL))) fd_repair_orphan_global {
    5117             :   fd_repair_request_header_t header;
    5118             :   ulong slot;
    5119             : };
    5120             : typedef struct fd_repair_orphan_global fd_repair_orphan_global_t;
    5121             : #define FD_REPAIR_ORPHAN_GLOBAL_FOOTPRINT sizeof(fd_repair_orphan_global_t)
    5122             : #define FD_REPAIR_ORPHAN_GLOBAL_ALIGN (8UL)
    5123             : 
    5124             : /* Encoded Size: Fixed (148 bytes) */
    5125             : struct __attribute__((aligned(8UL))) fd_repair_ancestor_hashes {
    5126             :   fd_repair_request_header_t header;
    5127             :   ulong slot;
    5128             : };
    5129             : typedef struct fd_repair_ancestor_hashes fd_repair_ancestor_hashes_t;
    5130           0 : #define FD_REPAIR_ANCESTOR_HASHES_FOOTPRINT sizeof(fd_repair_ancestor_hashes_t)
    5131           0 : #define FD_REPAIR_ANCESTOR_HASHES_ALIGN (8UL)
    5132             : 
    5133             : struct __attribute__((aligned(8UL))) fd_repair_ancestor_hashes_global {
    5134             :   fd_repair_request_header_t header;
    5135             :   ulong slot;
    5136             : };
    5137             : typedef struct fd_repair_ancestor_hashes_global fd_repair_ancestor_hashes_global_t;
    5138             : #define FD_REPAIR_ANCESTOR_HASHES_GLOBAL_FOOTPRINT sizeof(fd_repair_ancestor_hashes_global_t)
    5139             : #define FD_REPAIR_ANCESTOR_HASHES_GLOBAL_ALIGN (8UL)
    5140             : 
    5141             : union fd_repair_protocol_inner {
    5142             :   fd_gossip_ping_t pong;
    5143             :   fd_repair_window_index_t window_index;
    5144             :   fd_repair_highest_window_index_t highest_window_index;
    5145             :   fd_repair_orphan_t orphan;
    5146             :   fd_repair_ancestor_hashes_t ancestor_hashes;
    5147             : };
    5148             : typedef union fd_repair_protocol_inner fd_repair_protocol_inner_t;
    5149             : 
    5150             : union fd_repair_protocol_inner_global {
    5151             :   fd_gossip_ping_t pong;
    5152             :   fd_repair_window_index_t window_index;
    5153             :   fd_repair_highest_window_index_t highest_window_index;
    5154             :   fd_repair_orphan_t orphan;
    5155             :   fd_repair_ancestor_hashes_t ancestor_hashes;
    5156             : };
    5157             : typedef union fd_repair_protocol_inner_global fd_repair_protocol_inner_global_t;
    5158             : 
    5159             : struct fd_repair_protocol {
    5160             :   uint discriminant;
    5161             :   fd_repair_protocol_inner_t inner;
    5162             : };
    5163             : typedef struct fd_repair_protocol fd_repair_protocol_t;
    5164           0 : #define FD_REPAIR_PROTOCOL_FOOTPRINT sizeof(fd_repair_protocol_t)
    5165           0 : #define FD_REPAIR_PROTOCOL_ALIGN (8UL)
    5166             : struct fd_repair_protocol_global {
    5167             :   uint discriminant;
    5168             :   fd_repair_protocol_inner_global_t inner;
    5169             : };
    5170             : typedef struct fd_repair_protocol_global fd_repair_protocol_global_t;
    5171             : #define FD_REPAIR_PROTOCOL_GLOBAL_FOOTPRINT sizeof(fd_repair_protocol_global_t)
    5172             : #define FD_REPAIR_PROTOCOL_GLOBAL_ALIGN (8UL)
    5173             : 
    5174             : union fd_repair_response_inner {
    5175             :   fd_gossip_ping_t ping;
    5176             : };
    5177             : typedef union fd_repair_response_inner fd_repair_response_inner_t;
    5178             : 
    5179             : union fd_repair_response_inner_global {
    5180             :   fd_gossip_ping_t ping;
    5181             : };
    5182             : typedef union fd_repair_response_inner_global fd_repair_response_inner_global_t;
    5183             : 
    5184             : struct fd_repair_response {
    5185             :   uint discriminant;
    5186             :   fd_repair_response_inner_t inner;
    5187             : };
    5188             : typedef struct fd_repair_response fd_repair_response_t;
    5189           0 : #define FD_REPAIR_RESPONSE_FOOTPRINT sizeof(fd_repair_response_t)
    5190           0 : #define FD_REPAIR_RESPONSE_ALIGN (8UL)
    5191             : struct fd_repair_response_global {
    5192             :   uint discriminant;
    5193             :   fd_repair_response_inner_global_t inner;
    5194             : };
    5195             : typedef struct fd_repair_response_global fd_repair_response_global_t;
    5196             : #define FD_REPAIR_RESPONSE_GLOBAL_FOOTPRINT sizeof(fd_repair_response_global_t)
    5197             : #define FD_REPAIR_RESPONSE_GLOBAL_ALIGN (8UL)
    5198             : 
    5199             : union fd_instr_error_enum_inner {
    5200             :   uint custom;
    5201             :   char* borsh_io_error;
    5202             : };
    5203             : typedef union fd_instr_error_enum_inner fd_instr_error_enum_inner_t;
    5204             : 
    5205             : union fd_instr_error_enum_inner_global {
    5206             :   uint custom;
    5207             :   char* borsh_io_error;
    5208             : };
    5209             : typedef union fd_instr_error_enum_inner_global fd_instr_error_enum_inner_global_t;
    5210             : 
    5211             : struct fd_instr_error_enum {
    5212             :   uint discriminant;
    5213             :   fd_instr_error_enum_inner_t inner;
    5214             : };
    5215             : typedef struct fd_instr_error_enum fd_instr_error_enum_t;
    5216           0 : #define FD_INSTR_ERROR_ENUM_FOOTPRINT sizeof(fd_instr_error_enum_t)
    5217           0 : #define FD_INSTR_ERROR_ENUM_ALIGN (8UL)
    5218             : struct fd_instr_error_enum_global {
    5219             :   uint discriminant;
    5220             :   fd_instr_error_enum_inner_global_t inner;
    5221             : };
    5222             : typedef struct fd_instr_error_enum_global fd_instr_error_enum_global_t;
    5223             : #define FD_INSTR_ERROR_ENUM_GLOBAL_FOOTPRINT sizeof(fd_instr_error_enum_global_t)
    5224             : #define FD_INSTR_ERROR_ENUM_GLOBAL_ALIGN (8UL)
    5225             : 
    5226             : /* Encoded Size: Dynamic */
    5227             : struct __attribute__((aligned(8UL))) fd_txn_instr_error {
    5228             :   uchar instr_idx;
    5229             :   fd_instr_error_enum_t error;
    5230             : };
    5231             : typedef struct fd_txn_instr_error fd_txn_instr_error_t;
    5232           0 : #define FD_TXN_INSTR_ERROR_FOOTPRINT sizeof(fd_txn_instr_error_t)
    5233           0 : #define FD_TXN_INSTR_ERROR_ALIGN (8UL)
    5234             : 
    5235             : struct __attribute__((aligned(8UL))) fd_txn_instr_error_global {
    5236             :   uchar instr_idx;
    5237             :   fd_instr_error_enum_global_t error;
    5238             : };
    5239             : typedef struct fd_txn_instr_error_global fd_txn_instr_error_global_t;
    5240             : #define FD_TXN_INSTR_ERROR_GLOBAL_FOOTPRINT sizeof(fd_txn_instr_error_global_t)
    5241             : #define FD_TXN_INSTR_ERROR_GLOBAL_ALIGN (8UL)
    5242             : 
    5243             : union fd_txn_error_enum_inner {
    5244             :   fd_txn_instr_error_t instruction_error;
    5245             :   uchar duplicate_instruction;
    5246             :   uchar insufficient_funds_for_rent;
    5247             :   uchar program_execution_temporarily_restricted;
    5248             : };
    5249             : typedef union fd_txn_error_enum_inner fd_txn_error_enum_inner_t;
    5250             : 
    5251             : union fd_txn_error_enum_inner_global {
    5252             :   fd_txn_instr_error_global_t instruction_error;
    5253             :   uchar duplicate_instruction;
    5254             :   uchar insufficient_funds_for_rent;
    5255             :   uchar program_execution_temporarily_restricted;
    5256             : };
    5257             : typedef union fd_txn_error_enum_inner_global fd_txn_error_enum_inner_global_t;
    5258             : 
    5259             : struct fd_txn_error_enum {
    5260             :   uint discriminant;
    5261             :   fd_txn_error_enum_inner_t inner;
    5262             : };
    5263             : typedef struct fd_txn_error_enum fd_txn_error_enum_t;
    5264           0 : #define FD_TXN_ERROR_ENUM_FOOTPRINT sizeof(fd_txn_error_enum_t)
    5265           0 : #define FD_TXN_ERROR_ENUM_ALIGN (8UL)
    5266             : struct fd_txn_error_enum_global {
    5267             :   uint discriminant;
    5268             :   fd_txn_error_enum_inner_global_t inner;
    5269             : };
    5270             : typedef struct fd_txn_error_enum_global fd_txn_error_enum_global_t;
    5271             : #define FD_TXN_ERROR_ENUM_GLOBAL_FOOTPRINT sizeof(fd_txn_error_enum_global_t)
    5272             : #define FD_TXN_ERROR_ENUM_GLOBAL_ALIGN (8UL)
    5273             : 
    5274             : union fd_txn_result_inner {
    5275             :   fd_txn_error_enum_t error;
    5276             : };
    5277             : typedef union fd_txn_result_inner fd_txn_result_inner_t;
    5278             : 
    5279             : union fd_txn_result_inner_global {
    5280             :   fd_txn_error_enum_global_t error;
    5281             : };
    5282             : typedef union fd_txn_result_inner_global fd_txn_result_inner_global_t;
    5283             : 
    5284             : struct fd_txn_result {
    5285             :   uint discriminant;
    5286             :   fd_txn_result_inner_t inner;
    5287             : };
    5288             : typedef struct fd_txn_result fd_txn_result_t;
    5289           0 : #define FD_TXN_RESULT_FOOTPRINT sizeof(fd_txn_result_t)
    5290           0 : #define FD_TXN_RESULT_ALIGN (8UL)
    5291             : struct fd_txn_result_global {
    5292             :   uint discriminant;
    5293             :   fd_txn_result_inner_global_t inner;
    5294             : };
    5295             : typedef struct fd_txn_result_global fd_txn_result_global_t;
    5296             : #define FD_TXN_RESULT_GLOBAL_FOOTPRINT sizeof(fd_txn_result_global_t)
    5297             : #define FD_TXN_RESULT_GLOBAL_ALIGN (8UL)
    5298             : 
    5299             : /* Encoded Size: Dynamic */
    5300             : struct __attribute__((aligned(8UL))) fd_cache_status {
    5301             :   uchar key_slice[20];
    5302             :   fd_txn_result_t result;
    5303             : };
    5304             : typedef struct fd_cache_status fd_cache_status_t;
    5305           9 : #define FD_CACHE_STATUS_FOOTPRINT sizeof(fd_cache_status_t)
    5306           9 : #define FD_CACHE_STATUS_ALIGN (8UL)
    5307             : 
    5308             : struct __attribute__((aligned(8UL))) fd_cache_status_global {
    5309             :   uchar key_slice[20];
    5310             :   fd_txn_result_global_t result;
    5311             : };
    5312             : typedef struct fd_cache_status_global fd_cache_status_global_t;
    5313             : #define FD_CACHE_STATUS_GLOBAL_FOOTPRINT sizeof(fd_cache_status_global_t)
    5314             : #define FD_CACHE_STATUS_GLOBAL_ALIGN (8UL)
    5315             : 
    5316             : /* Encoded Size: Dynamic */
    5317             : struct __attribute__((aligned(8UL))) fd_status_value {
    5318             :   ulong txn_idx;
    5319             :   ulong statuses_len;
    5320             :   fd_cache_status_t * statuses;
    5321             : };
    5322             : typedef struct fd_status_value fd_status_value_t;
    5323           0 : #define FD_STATUS_VALUE_FOOTPRINT sizeof(fd_status_value_t)
    5324           0 : #define FD_STATUS_VALUE_ALIGN (8UL)
    5325             : 
    5326             : struct __attribute__((aligned(8UL))) fd_status_value_global {
    5327             :   ulong txn_idx;
    5328             :   ulong statuses_len;
    5329             :   ulong statuses_gaddr;
    5330             : };
    5331             : typedef struct fd_status_value_global fd_status_value_global_t;
    5332             : #define FD_STATUS_VALUE_GLOBAL_FOOTPRINT sizeof(fd_status_value_global_t)
    5333             : #define FD_STATUS_VALUE_GLOBAL_ALIGN (8UL)
    5334             : 
    5335             : /* Encoded Size: Dynamic */
    5336             : struct __attribute__((aligned(8UL))) fd_status_pair {
    5337             :   fd_hash_t hash;
    5338             :   fd_status_value_t value;
    5339             : };
    5340             : typedef struct fd_status_pair fd_status_pair_t;
    5341           9 : #define FD_STATUS_PAIR_FOOTPRINT sizeof(fd_status_pair_t)
    5342           9 : #define FD_STATUS_PAIR_ALIGN (8UL)
    5343             : 
    5344             : struct __attribute__((aligned(8UL))) fd_status_pair_global {
    5345             :   fd_hash_t hash;
    5346             :   fd_status_value_global_t value;
    5347             : };
    5348             : typedef struct fd_status_pair_global fd_status_pair_global_t;
    5349             : #define FD_STATUS_PAIR_GLOBAL_FOOTPRINT sizeof(fd_status_pair_global_t)
    5350             : #define FD_STATUS_PAIR_GLOBAL_ALIGN (8UL)
    5351             : 
    5352             : /* Encoded Size: Dynamic */
    5353             : struct __attribute__((aligned(8UL))) fd_slot_delta {
    5354             :   ulong slot;
    5355             :   uchar is_root;
    5356             :   ulong slot_delta_vec_len;
    5357             :   fd_status_pair_t * slot_delta_vec;
    5358             : };
    5359             : typedef struct fd_slot_delta fd_slot_delta_t;
    5360          12 : #define FD_SLOT_DELTA_FOOTPRINT sizeof(fd_slot_delta_t)
    5361          12 : #define FD_SLOT_DELTA_ALIGN (8UL)
    5362             : 
    5363             : struct __attribute__((aligned(8UL))) fd_slot_delta_global {
    5364             :   ulong slot;
    5365             :   uchar is_root;
    5366             :   ulong slot_delta_vec_len;
    5367             :   ulong slot_delta_vec_gaddr;
    5368             : };
    5369             : typedef struct fd_slot_delta_global fd_slot_delta_global_t;
    5370             : #define FD_SLOT_DELTA_GLOBAL_FOOTPRINT sizeof(fd_slot_delta_global_t)
    5371             : #define FD_SLOT_DELTA_GLOBAL_ALIGN (8UL)
    5372             : 
    5373             : /* Encoded Size: Dynamic */
    5374             : struct __attribute__((aligned(8UL))) fd_bank_slot_deltas {
    5375             :   ulong slot_deltas_len;
    5376             :   fd_slot_delta_t * slot_deltas;
    5377             : };
    5378             : typedef struct fd_bank_slot_deltas fd_bank_slot_deltas_t;
    5379           0 : #define FD_BANK_SLOT_DELTAS_FOOTPRINT sizeof(fd_bank_slot_deltas_t)
    5380           3 : #define FD_BANK_SLOT_DELTAS_ALIGN (8UL)
    5381             : 
    5382             : struct __attribute__((aligned(8UL))) fd_bank_slot_deltas_global {
    5383             :   ulong slot_deltas_len;
    5384             :   ulong slot_deltas_gaddr;
    5385             : };
    5386             : typedef struct fd_bank_slot_deltas_global fd_bank_slot_deltas_global_t;
    5387             : #define FD_BANK_SLOT_DELTAS_GLOBAL_FOOTPRINT sizeof(fd_bank_slot_deltas_global_t)
    5388             : #define FD_BANK_SLOT_DELTAS_GLOBAL_ALIGN (8UL)
    5389             : 
    5390             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L85 */
    5391             : /* Encoded Size: Fixed (60 bytes) */
    5392             : struct __attribute__((aligned(8UL))) fd_pubkey_rewardinfo_pair {
    5393             :   fd_pubkey_t pubkey;
    5394             :   fd_reward_info_t reward_info;
    5395             : };
    5396             : typedef struct fd_pubkey_rewardinfo_pair fd_pubkey_rewardinfo_pair_t;
    5397           0 : #define FD_PUBKEY_REWARDINFO_PAIR_FOOTPRINT sizeof(fd_pubkey_rewardinfo_pair_t)
    5398           0 : #define FD_PUBKEY_REWARDINFO_PAIR_ALIGN (8UL)
    5399             : 
    5400             : struct __attribute__((aligned(8UL))) fd_pubkey_rewardinfo_pair_global {
    5401             :   fd_pubkey_t pubkey;
    5402             :   fd_reward_info_t reward_info;
    5403             : };
    5404             : typedef struct fd_pubkey_rewardinfo_pair_global fd_pubkey_rewardinfo_pair_global_t;
    5405             : #define FD_PUBKEY_REWARDINFO_PAIR_GLOBAL_FOOTPRINT sizeof(fd_pubkey_rewardinfo_pair_global_t)
    5406             : #define FD_PUBKEY_REWARDINFO_PAIR_GLOBAL_ALIGN (8UL)
    5407             : 
    5408             : /* Encoded Size: Dynamic */
    5409             : struct __attribute__((aligned(8UL))) fd_optional_account {
    5410             :   fd_solana_account_t * account;
    5411             : };
    5412             : typedef struct fd_optional_account fd_optional_account_t;
    5413           0 : #define FD_OPTIONAL_ACCOUNT_FOOTPRINT sizeof(fd_optional_account_t)
    5414           0 : #define FD_OPTIONAL_ACCOUNT_ALIGN (8UL)
    5415             : 
    5416             : struct __attribute__((aligned(8UL))) fd_optional_account_global {
    5417             :   ulong account_gaddr;
    5418             : };
    5419             : typedef struct fd_optional_account_global fd_optional_account_global_t;
    5420             : #define FD_OPTIONAL_ACCOUNT_GLOBAL_FOOTPRINT sizeof(fd_optional_account_global_t)
    5421             : #define FD_OPTIONAL_ACCOUNT_GLOBAL_ALIGN (8UL)
    5422             : 
    5423             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/points.rs#L27 */
    5424             : /* Encoded Size: Fixed (25 bytes) */
    5425             : struct __attribute__((aligned(8UL))) fd_calculated_stake_points {
    5426             :   uint128 points;
    5427             :   ulong new_credits_observed;
    5428             :   uchar force_credits_update_with_skipped_reward;
    5429             : };
    5430             : typedef struct fd_calculated_stake_points fd_calculated_stake_points_t;
    5431           0 : #define FD_CALCULATED_STAKE_POINTS_FOOTPRINT sizeof(fd_calculated_stake_points_t)
    5432           0 : #define FD_CALCULATED_STAKE_POINTS_ALIGN (8UL)
    5433             : 
    5434             : struct __attribute__((aligned(8UL))) fd_calculated_stake_points_global {
    5435             :   uint128 points;
    5436             :   ulong new_credits_observed;
    5437             :   uchar force_credits_update_with_skipped_reward;
    5438             : };
    5439             : typedef struct fd_calculated_stake_points_global fd_calculated_stake_points_global_t;
    5440             : #define FD_CALCULATED_STAKE_POINTS_GLOBAL_FOOTPRINT sizeof(fd_calculated_stake_points_global_t)
    5441             : #define FD_CALCULATED_STAKE_POINTS_GLOBAL_ALIGN (8UL)
    5442             : 
    5443             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/rewards.rs#L24 */
    5444             : /* Encoded Size: Fixed (24 bytes) */
    5445             : struct __attribute__((aligned(8UL))) fd_calculated_stake_rewards {
    5446             :   ulong staker_rewards;
    5447             :   ulong voter_rewards;
    5448             :   ulong new_credits_observed;
    5449             : };
    5450             : typedef struct fd_calculated_stake_rewards fd_calculated_stake_rewards_t;
    5451           0 : #define FD_CALCULATED_STAKE_REWARDS_FOOTPRINT sizeof(fd_calculated_stake_rewards_t)
    5452           0 : #define FD_CALCULATED_STAKE_REWARDS_ALIGN (8UL)
    5453             : 
    5454             : struct __attribute__((aligned(8UL))) fd_calculated_stake_rewards_global {
    5455             :   ulong staker_rewards;
    5456             :   ulong voter_rewards;
    5457             :   ulong new_credits_observed;
    5458             : };
    5459             : typedef struct fd_calculated_stake_rewards_global fd_calculated_stake_rewards_global_t;
    5460             : #define FD_CALCULATED_STAKE_REWARDS_GLOBAL_FOOTPRINT sizeof(fd_calculated_stake_rewards_global_t)
    5461             : #define FD_CALCULATED_STAKE_REWARDS_GLOBAL_ALIGN (8UL)
    5462             : 
    5463             : /* https://github.com/anza-xyz/agave/blob/v2.0.3/ledger/src/blockstore_meta.rs#L150-L156 */
    5464             : /* Encoded Size: Dynamic */
    5465             : struct __attribute__((aligned(8UL))) fd_duplicate_slot_proof {
    5466             :   ulong shred1_len;
    5467             :   uchar* shred1;
    5468             :   ulong shred2_len;
    5469             :   uchar* shred2;
    5470             : };
    5471             : typedef struct fd_duplicate_slot_proof fd_duplicate_slot_proof_t;
    5472           0 : #define FD_DUPLICATE_SLOT_PROOF_FOOTPRINT sizeof(fd_duplicate_slot_proof_t)
    5473           0 : #define FD_DUPLICATE_SLOT_PROOF_ALIGN (8UL)
    5474             : 
    5475             : struct __attribute__((aligned(8UL))) fd_duplicate_slot_proof_global {
    5476             :   ulong shred1_len;
    5477             :   ulong shred1_gaddr;
    5478             :   ulong shred2_len;
    5479             :   ulong shred2_gaddr;
    5480             : };
    5481             : typedef struct fd_duplicate_slot_proof_global fd_duplicate_slot_proof_global_t;
    5482             : #define FD_DUPLICATE_SLOT_PROOF_GLOBAL_FOOTPRINT sizeof(fd_duplicate_slot_proof_global_t)
    5483             : #define FD_DUPLICATE_SLOT_PROOF_GLOBAL_ALIGN (8UL)
    5484             : 
    5485             : /* Encoded Size: Fixed (104 bytes) */
    5486             : struct __attribute__((aligned(8UL))) fd_epoch_info_pair {
    5487             :   fd_pubkey_t account;
    5488             :   fd_stake_t stake;
    5489             : };
    5490             : typedef struct fd_epoch_info_pair fd_epoch_info_pair_t;
    5491           0 : #define FD_EPOCH_INFO_PAIR_FOOTPRINT sizeof(fd_epoch_info_pair_t)
    5492           0 : #define FD_EPOCH_INFO_PAIR_ALIGN (8UL)
    5493             : 
    5494             : struct __attribute__((aligned(8UL))) fd_epoch_info_pair_global {
    5495             :   fd_pubkey_t account;
    5496             :   fd_stake_t stake;
    5497             : };
    5498             : typedef struct fd_epoch_info_pair_global fd_epoch_info_pair_global_t;
    5499             : #define FD_EPOCH_INFO_PAIR_GLOBAL_FOOTPRINT sizeof(fd_epoch_info_pair_global_t)
    5500             : #define FD_EPOCH_INFO_PAIR_GLOBAL_ALIGN (8UL)
    5501             : 
    5502             : /* Encoded Size: Dynamic */
    5503             : struct __attribute__((aligned(8UL))) fd_vote_info_pair {
    5504             :   fd_pubkey_t account;
    5505             :   fd_vote_state_versioned_t state;
    5506             : };
    5507             : typedef struct fd_vote_info_pair fd_vote_info_pair_t;
    5508           0 : #define FD_VOTE_INFO_PAIR_FOOTPRINT sizeof(fd_vote_info_pair_t)
    5509           0 : #define FD_VOTE_INFO_PAIR_ALIGN (8UL)
    5510             : 
    5511             : struct __attribute__((aligned(8UL))) fd_vote_info_pair_global {
    5512             :   fd_pubkey_t account;
    5513             :   fd_vote_state_versioned_global_t state;
    5514             : };
    5515             : typedef struct fd_vote_info_pair_global fd_vote_info_pair_global_t;
    5516             : #define FD_VOTE_INFO_PAIR_GLOBAL_FOOTPRINT sizeof(fd_vote_info_pair_global_t)
    5517             : #define FD_VOTE_INFO_PAIR_GLOBAL_ALIGN (8UL)
    5518             : 
    5519             : typedef struct fd_vote_info_pair_t_mapnode fd_vote_info_pair_t_mapnode_t;
    5520             : #define REDBLK_T fd_vote_info_pair_t_mapnode_t
    5521             : #define REDBLK_NAME fd_vote_info_pair_t_map
    5522             : #define REDBLK_IMPL_STYLE 1
    5523             : #include "../../util/tmpl/fd_redblack.c"
    5524             : struct fd_vote_info_pair_t_mapnode {
    5525             :     fd_vote_info_pair_t elem;
    5526             :     ulong redblack_parent;
    5527             :     ulong redblack_left;
    5528             :     ulong redblack_right;
    5529             :     int redblack_color;
    5530             : };
    5531             : static inline fd_vote_info_pair_t_mapnode_t *
    5532           0 : fd_vote_info_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
    5533           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    5534           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_info_pair_t_map_align() );
    5535           0 :   void * map_mem = *alloc_mem;
    5536           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_info_pair_t_map_footprint( len );
    5537           0 :   return fd_vote_info_pair_t_map_join( fd_vote_info_pair_t_map_new( map_mem, len ) );
    5538           0 : }
    5539             : /* Encoded Size: Dynamic */
    5540             : struct __attribute__((aligned(8UL))) fd_epoch_info {
    5541             :   ulong stake_infos_len;
    5542             :   fd_epoch_info_pair_t * stake_infos;
    5543             :   fd_vote_info_pair_t_mapnode_t * vote_states_pool;
    5544             :   fd_vote_info_pair_t_mapnode_t * vote_states_root;
    5545             :   ulong stake_infos_new_keys_start_idx;
    5546             : };
    5547             : typedef struct fd_epoch_info fd_epoch_info_t;
    5548           0 : #define FD_EPOCH_INFO_FOOTPRINT sizeof(fd_epoch_info_t)
    5549           0 : #define FD_EPOCH_INFO_ALIGN (8UL)
    5550             : 
    5551             : struct __attribute__((aligned(8UL))) fd_epoch_info_global {
    5552             :   ulong stake_infos_len;
    5553             :   ulong stake_infos_gaddr;
    5554             :   ulong vote_states_pool_gaddr;
    5555             :   ulong vote_states_root_gaddr;
    5556             :   ulong stake_infos_new_keys_start_idx;
    5557             : };
    5558             : typedef struct fd_epoch_info_global fd_epoch_info_global_t;
    5559             : #define FD_EPOCH_INFO_GLOBAL_FOOTPRINT sizeof(fd_epoch_info_global_t)
    5560             : #define FD_EPOCH_INFO_GLOBAL_ALIGN (8UL)
    5561             : 
    5562             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L153-L161 */
    5563             : /* Encoded Size: Fixed (48 bytes) */
    5564             : struct __attribute__((aligned(8UL))) fd_usage_cost_details {
    5565             :   ulong signature_cost;
    5566             :   ulong write_lock_cost;
    5567             :   ulong data_bytes_cost;
    5568             :   ulong programs_execution_cost;
    5569             :   ulong loaded_accounts_data_size_cost;
    5570             :   ulong allocated_accounts_data_size;
    5571             : };
    5572             : typedef struct fd_usage_cost_details fd_usage_cost_details_t;
    5573           0 : #define FD_USAGE_COST_DETAILS_FOOTPRINT sizeof(fd_usage_cost_details_t)
    5574           0 : #define FD_USAGE_COST_DETAILS_ALIGN (8UL)
    5575             : 
    5576             : struct __attribute__((aligned(8UL))) fd_usage_cost_details_global {
    5577             :   ulong signature_cost;
    5578             :   ulong write_lock_cost;
    5579             :   ulong data_bytes_cost;
    5580             :   ulong programs_execution_cost;
    5581             :   ulong loaded_accounts_data_size_cost;
    5582             :   ulong allocated_accounts_data_size;
    5583             : };
    5584             : typedef struct fd_usage_cost_details_global fd_usage_cost_details_global_t;
    5585             : #define FD_USAGE_COST_DETAILS_GLOBAL_FOOTPRINT sizeof(fd_usage_cost_details_global_t)
    5586             : #define FD_USAGE_COST_DETAILS_GLOBAL_ALIGN (8UL)
    5587             : 
    5588             : union fd_transaction_cost_inner {
    5589             :   fd_usage_cost_details_t transaction;
    5590             : };
    5591             : typedef union fd_transaction_cost_inner fd_transaction_cost_inner_t;
    5592             : 
    5593             : union fd_transaction_cost_inner_global {
    5594             :   fd_usage_cost_details_t transaction;
    5595             : };
    5596             : typedef union fd_transaction_cost_inner_global fd_transaction_cost_inner_global_t;
    5597             : 
    5598             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L20-L23 */
    5599             : struct fd_transaction_cost {
    5600             :   uint discriminant;
    5601             :   fd_transaction_cost_inner_t inner;
    5602             : };
    5603             : typedef struct fd_transaction_cost fd_transaction_cost_t;
    5604           0 : #define FD_TRANSACTION_COST_FOOTPRINT sizeof(fd_transaction_cost_t)
    5605           0 : #define FD_TRANSACTION_COST_ALIGN (8UL)
    5606             : struct fd_transaction_cost_global {
    5607             :   uint discriminant;
    5608             :   fd_transaction_cost_inner_global_t inner;
    5609             : };
    5610             : typedef struct fd_transaction_cost_global fd_transaction_cost_global_t;
    5611             : #define FD_TRANSACTION_COST_GLOBAL_FOOTPRINT sizeof(fd_transaction_cost_global_t)
    5612             : #define FD_TRANSACTION_COST_GLOBAL_ALIGN (8UL)
    5613             : 
    5614             : /* Encoded Size: Fixed (40 bytes) */
    5615             : struct __attribute__((aligned(8UL))) fd_account_costs_pair {
    5616             :   fd_pubkey_t key;
    5617             :   ulong cost;
    5618             : };
    5619             : typedef struct fd_account_costs_pair fd_account_costs_pair_t;
    5620           0 : #define FD_ACCOUNT_COSTS_PAIR_FOOTPRINT sizeof(fd_account_costs_pair_t)
    5621           0 : #define FD_ACCOUNT_COSTS_PAIR_ALIGN (8UL)
    5622             : 
    5623             : struct __attribute__((aligned(8UL))) fd_account_costs_pair_global {
    5624             :   fd_pubkey_t key;
    5625             :   ulong cost;
    5626             : };
    5627             : typedef struct fd_account_costs_pair_global fd_account_costs_pair_global_t;
    5628             : #define FD_ACCOUNT_COSTS_PAIR_GLOBAL_FOOTPRINT sizeof(fd_account_costs_pair_global_t)
    5629             : #define FD_ACCOUNT_COSTS_PAIR_GLOBAL_ALIGN (8UL)
    5630             : 
    5631             : typedef struct fd_account_costs_pair_t_mapnode fd_account_costs_pair_t_mapnode_t;
    5632             : #define REDBLK_T fd_account_costs_pair_t_mapnode_t
    5633             : #define REDBLK_NAME fd_account_costs_pair_t_map
    5634             : #define REDBLK_IMPL_STYLE 1
    5635             : #include "../../util/tmpl/fd_redblack.c"
    5636             : struct fd_account_costs_pair_t_mapnode {
    5637             :     fd_account_costs_pair_t elem;
    5638             :     ulong redblack_parent;
    5639             :     ulong redblack_left;
    5640             :     ulong redblack_right;
    5641             :     int redblack_color;
    5642             : };
    5643             : static inline fd_account_costs_pair_t_mapnode_t *
    5644           0 : fd_account_costs_pair_t_map_join_new( void * * alloc_mem, ulong len ) {
    5645           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    5646           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_account_costs_pair_t_map_align() );
    5647           0 :   void * map_mem = *alloc_mem;
    5648           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_account_costs_pair_t_map_footprint( len );
    5649           0 :   return fd_account_costs_pair_t_map_join( fd_account_costs_pair_t_map_new( map_mem, len ) );
    5650           0 : }
    5651             : /* Encoded Size: Dynamic */
    5652             : struct __attribute__((aligned(8UL))) fd_account_costs {
    5653             :   fd_account_costs_pair_t_mapnode_t * account_costs_pool;
    5654             :   fd_account_costs_pair_t_mapnode_t * account_costs_root;
    5655             : };
    5656             : typedef struct fd_account_costs fd_account_costs_t;
    5657           0 : #define FD_ACCOUNT_COSTS_FOOTPRINT sizeof(fd_account_costs_t)
    5658           0 : #define FD_ACCOUNT_COSTS_ALIGN (8UL)
    5659             : 
    5660             : struct __attribute__((aligned(8UL))) fd_account_costs_global {
    5661             :   ulong account_costs_pool_gaddr;
    5662             :   ulong account_costs_root_gaddr;
    5663             : };
    5664             : typedef struct fd_account_costs_global fd_account_costs_global_t;
    5665             : #define FD_ACCOUNT_COSTS_GLOBAL_FOOTPRINT sizeof(fd_account_costs_global_t)
    5666             : #define FD_ACCOUNT_COSTS_GLOBAL_ALIGN (8UL)
    5667             : 
    5668             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/cost_tracker.rs#L62-L79 */
    5669             : /* Encoded Size: Dynamic */
    5670             : struct __attribute__((aligned(8UL))) fd_cost_tracker {
    5671             :   ulong account_cost_limit;
    5672             :   ulong block_cost_limit;
    5673             :   ulong vote_cost_limit;
    5674             :   fd_account_costs_t cost_by_writable_accounts;
    5675             :   ulong block_cost;
    5676             :   ulong vote_cost;
    5677             :   ulong transaction_count;
    5678             :   ulong allocated_accounts_data_size;
    5679             :   ulong transaction_signature_count;
    5680             :   ulong secp256k1_instruction_signature_count;
    5681             :   ulong ed25519_instruction_signature_count;
    5682             :   ulong secp256r1_instruction_signature_count;
    5683             : };
    5684             : typedef struct fd_cost_tracker fd_cost_tracker_t;
    5685           0 : #define FD_COST_TRACKER_FOOTPRINT sizeof(fd_cost_tracker_t)
    5686           0 : #define FD_COST_TRACKER_ALIGN (8UL)
    5687             : 
    5688             : struct __attribute__((aligned(8UL))) fd_cost_tracker_global {
    5689             :   ulong account_cost_limit;
    5690             :   ulong block_cost_limit;
    5691             :   ulong vote_cost_limit;
    5692             :   fd_account_costs_global_t cost_by_writable_accounts;
    5693             :   ulong block_cost;
    5694             :   ulong vote_cost;
    5695             :   ulong transaction_count;
    5696             :   ulong allocated_accounts_data_size;
    5697             :   ulong transaction_signature_count;
    5698             :   ulong secp256k1_instruction_signature_count;
    5699             :   ulong ed25519_instruction_signature_count;
    5700             :   ulong secp256r1_instruction_signature_count;
    5701             : };
    5702             : typedef struct fd_cost_tracker_global fd_cost_tracker_global_t;
    5703             : #define FD_COST_TRACKER_GLOBAL_FOOTPRINT sizeof(fd_cost_tracker_global_t)
    5704             : #define FD_COST_TRACKER_GLOBAL_ALIGN (8UL)
    5705             : 
    5706             : /* Encoded Size: Fixed (32 bytes) */
    5707             : struct __attribute__((aligned(8UL))) fd_pubkey_node {
    5708             :   fd_pubkey_t pubkey;
    5709             : };
    5710             : typedef struct fd_pubkey_node fd_pubkey_node_t;
    5711           0 : #define FD_PUBKEY_NODE_FOOTPRINT sizeof(fd_pubkey_node_t)
    5712           0 : #define FD_PUBKEY_NODE_ALIGN (8UL)
    5713             : 
    5714             : struct __attribute__((aligned(8UL))) fd_pubkey_node_global {
    5715             :   fd_pubkey_t pubkey;
    5716             : };
    5717             : typedef struct fd_pubkey_node_global fd_pubkey_node_global_t;
    5718             : #define FD_PUBKEY_NODE_GLOBAL_FOOTPRINT sizeof(fd_pubkey_node_global_t)
    5719             : #define FD_PUBKEY_NODE_GLOBAL_ALIGN (8UL)
    5720             : 
    5721             : typedef struct fd_pubkey_node_t_mapnode fd_pubkey_node_t_mapnode_t;
    5722             : #define REDBLK_T fd_pubkey_node_t_mapnode_t
    5723             : #define REDBLK_NAME fd_pubkey_node_t_map
    5724             : #define REDBLK_IMPL_STYLE 1
    5725             : #include "../../util/tmpl/fd_redblack.c"
    5726             : struct fd_pubkey_node_t_mapnode {
    5727             :     fd_pubkey_node_t elem;
    5728             :     ulong redblack_parent;
    5729             :     ulong redblack_left;
    5730             :     ulong redblack_right;
    5731             :     int redblack_color;
    5732             : };
    5733             : static inline fd_pubkey_node_t_mapnode_t *
    5734           0 : fd_pubkey_node_t_map_join_new( void * * alloc_mem, ulong len ) {
    5735           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    5736           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_pubkey_node_t_map_align() );
    5737           0 :   void * map_mem = *alloc_mem;
    5738           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_pubkey_node_t_map_footprint( len );
    5739           0 :   return fd_pubkey_node_t_map_join( fd_pubkey_node_t_map_new( map_mem, len ) );
    5740           0 : }
    5741             : /* Encoded Size: Dynamic */
    5742             : struct __attribute__((aligned(8UL))) fd_rent_fresh_accounts_partition {
    5743             :   ulong partition;
    5744             :   fd_pubkey_node_t_mapnode_t * accounts_pool;
    5745             :   fd_pubkey_node_t_mapnode_t * accounts_root;
    5746             : };
    5747             : typedef struct fd_rent_fresh_accounts_partition fd_rent_fresh_accounts_partition_t;
    5748           0 : #define FD_RENT_FRESH_ACCOUNTS_PARTITION_FOOTPRINT sizeof(fd_rent_fresh_accounts_partition_t)
    5749           0 : #define FD_RENT_FRESH_ACCOUNTS_PARTITION_ALIGN (8UL)
    5750             : 
    5751             : struct __attribute__((aligned(8UL))) fd_rent_fresh_accounts_partition_global {
    5752             :   ulong partition;
    5753             :   ulong accounts_pool_gaddr;
    5754             :   ulong accounts_root_gaddr;
    5755             : };
    5756             : typedef struct fd_rent_fresh_accounts_partition_global fd_rent_fresh_accounts_partition_global_t;
    5757             : #define FD_RENT_FRESH_ACCOUNTS_PARTITION_GLOBAL_FOOTPRINT sizeof(fd_rent_fresh_accounts_partition_global_t)
    5758             : #define FD_RENT_FRESH_ACCOUNTS_PARTITION_GLOBAL_ALIGN (8UL)
    5759             : 
    5760             : typedef struct fd_rent_fresh_accounts_partition_t_mapnode fd_rent_fresh_accounts_partition_t_mapnode_t;
    5761             : #define REDBLK_T fd_rent_fresh_accounts_partition_t_mapnode_t
    5762             : #define REDBLK_NAME fd_rent_fresh_accounts_partition_t_map
    5763             : #define REDBLK_IMPL_STYLE 1
    5764             : #include "../../util/tmpl/fd_redblack.c"
    5765             : struct fd_rent_fresh_accounts_partition_t_mapnode {
    5766             :     fd_rent_fresh_accounts_partition_t elem;
    5767             :     ulong redblack_parent;
    5768             :     ulong redblack_left;
    5769             :     ulong redblack_right;
    5770             :     int redblack_color;
    5771             : };
    5772             : static inline fd_rent_fresh_accounts_partition_t_mapnode_t *
    5773           0 : fd_rent_fresh_accounts_partition_t_map_join_new( void * * alloc_mem, ulong len ) {
    5774           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    5775           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_rent_fresh_accounts_partition_t_map_align() );
    5776           0 :   void * map_mem = *alloc_mem;
    5777           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_rent_fresh_accounts_partition_t_map_footprint( len );
    5778           0 :   return fd_rent_fresh_accounts_partition_t_map_join( fd_rent_fresh_accounts_partition_t_map_new( map_mem, len ) );
    5779           0 : }
    5780             : /* Encoded Size: Dynamic */
    5781             : struct __attribute__((aligned(8UL))) fd_rent_fresh_accounts {
    5782             :   ulong total_count;
    5783             :   fd_rent_fresh_accounts_partition_t_mapnode_t * partitions_pool;
    5784             :   fd_rent_fresh_accounts_partition_t_mapnode_t * partitions_root;
    5785             : };
    5786             : typedef struct fd_rent_fresh_accounts fd_rent_fresh_accounts_t;
    5787           0 : #define FD_RENT_FRESH_ACCOUNTS_FOOTPRINT sizeof(fd_rent_fresh_accounts_t)
    5788           0 : #define FD_RENT_FRESH_ACCOUNTS_ALIGN (8UL)
    5789             : 
    5790             : struct __attribute__((aligned(8UL))) fd_rent_fresh_accounts_global {
    5791             :   ulong total_count;
    5792             :   ulong partitions_pool_gaddr;
    5793             :   ulong partitions_root_gaddr;
    5794             : };
    5795             : typedef struct fd_rent_fresh_accounts_global fd_rent_fresh_accounts_global_t;
    5796             : #define FD_RENT_FRESH_ACCOUNTS_GLOBAL_FOOTPRINT sizeof(fd_rent_fresh_accounts_global_t)
    5797             : #define FD_RENT_FRESH_ACCOUNTS_GLOBAL_ALIGN (8UL)
    5798             : 
    5799             : 
    5800             : FD_PROTOTYPES_BEGIN
    5801             : 
    5802             : void fd_hash_new( fd_hash_t * self );
    5803             : int fd_hash_encode( fd_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    5804             : void fd_hash_destroy( fd_hash_t * self );
    5805             : void fd_hash_walk( void * w, fd_hash_t const * self, fd_types_walk_fn_t fun, const char * name, uint level );
    5806             : ulong fd_hash_size( fd_hash_t const * self );
    5807             : ulong fd_hash_footprint( void );
    5808             : ulong fd_hash_align( void );
    5809             : int fd_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5810             : int fd_hash_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5811             : void * fd_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5812             : void fd_hash_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5813             : void * fd_hash_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5814             : void fd_hash_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5815             : int fd_hash_convert_global_to_local( void const * global_self, fd_hash_t * self, fd_bincode_decode_ctx_t * ctx );
    5816             : 
    5817             : void fd_signature_new( fd_signature_t * self );
    5818             : int fd_signature_encode( fd_signature_t const * self, fd_bincode_encode_ctx_t * ctx );
    5819             : void fd_signature_destroy( fd_signature_t * self );
    5820             : void fd_signature_walk( void * w, fd_signature_t const * self, fd_types_walk_fn_t fun, const char * name, uint level );
    5821             : ulong fd_signature_size( fd_signature_t const * self );
    5822             : ulong fd_signature_footprint( void );
    5823             : ulong fd_signature_align( void );
    5824             : int fd_signature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5825             : int fd_signature_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5826             : void * fd_signature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5827             : void fd_signature_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5828             : void * fd_signature_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5829             : void fd_signature_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5830             : int fd_signature_convert_global_to_local( void const * global_self, fd_signature_t * self, fd_bincode_decode_ctx_t * ctx );
    5831             : 
    5832             : void fd_gossip_ip4_addr_new( fd_gossip_ip4_addr_t * self );
    5833             : int fd_gossip_ip4_addr_encode( fd_gossip_ip4_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    5834             : void fd_gossip_ip4_addr_destroy( fd_gossip_ip4_addr_t * self );
    5835             : void fd_gossip_ip4_addr_walk( void * w, fd_gossip_ip4_addr_t const * self, fd_types_walk_fn_t fun, const char * name, uint level );
    5836             : ulong fd_gossip_ip4_addr_size( fd_gossip_ip4_addr_t const * self );
    5837             : ulong fd_gossip_ip4_addr_footprint( void );
    5838             : ulong fd_gossip_ip4_addr_align( void );
    5839             : int fd_gossip_ip4_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5840             : int fd_gossip_ip4_addr_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5841             : void * fd_gossip_ip4_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5842             : void fd_gossip_ip4_addr_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5843             : void * fd_gossip_ip4_addr_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5844             : void fd_gossip_ip4_addr_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5845             : int fd_gossip_ip4_addr_convert_global_to_local( void const * global_self, fd_gossip_ip4_addr_t * self, fd_bincode_decode_ctx_t * ctx );
    5846             : 
    5847             : void fd_gossip_ip6_addr_new( fd_gossip_ip6_addr_t * self );
    5848             : int fd_gossip_ip6_addr_encode( fd_gossip_ip6_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    5849             : void fd_gossip_ip6_addr_destroy( fd_gossip_ip6_addr_t * self );
    5850             : void fd_gossip_ip6_addr_walk( void * w, fd_gossip_ip6_addr_t const * self, fd_types_walk_fn_t fun, const char * name, uint level );
    5851             : ulong fd_gossip_ip6_addr_size( fd_gossip_ip6_addr_t const * self );
    5852             : ulong fd_gossip_ip6_addr_footprint( void );
    5853             : ulong fd_gossip_ip6_addr_align( void );
    5854             : int fd_gossip_ip6_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5855             : int fd_gossip_ip6_addr_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5856             : void * fd_gossip_ip6_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5857             : void fd_gossip_ip6_addr_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5858             : void * fd_gossip_ip6_addr_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5859             : void fd_gossip_ip6_addr_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5860             : int fd_gossip_ip6_addr_convert_global_to_local( void const * global_self, fd_gossip_ip6_addr_t * self, fd_bincode_decode_ctx_t * ctx );
    5861             : 
    5862             : void fd_feature_new( fd_feature_t * self );
    5863             : int fd_feature_encode( fd_feature_t const * self, fd_bincode_encode_ctx_t * ctx );
    5864             : void fd_feature_destroy( fd_feature_t * self );
    5865             : void fd_feature_walk( void * w, fd_feature_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5866             : ulong fd_feature_size( fd_feature_t const * self );
    5867             : ulong fd_feature_footprint( void );
    5868             : ulong fd_feature_align( void );
    5869             : int fd_feature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5870             : int fd_feature_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5871             : void * fd_feature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5872             : void fd_feature_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5873             : void * fd_feature_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5874             : void fd_feature_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5875             : int fd_feature_convert_global_to_local( void const * global_self, fd_feature_t * self, fd_bincode_decode_ctx_t * ctx );
    5876             : 
    5877             : void fd_fee_calculator_new( fd_fee_calculator_t * self );
    5878             : int fd_fee_calculator_encode( fd_fee_calculator_t const * self, fd_bincode_encode_ctx_t * ctx );
    5879             : void fd_fee_calculator_destroy( fd_fee_calculator_t * self );
    5880             : void fd_fee_calculator_walk( void * w, fd_fee_calculator_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5881             : ulong fd_fee_calculator_size( fd_fee_calculator_t const * self );
    5882             : ulong fd_fee_calculator_footprint( void );
    5883             : ulong fd_fee_calculator_align( void );
    5884             : int fd_fee_calculator_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5885             : int fd_fee_calculator_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5886             : void * fd_fee_calculator_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5887             : void fd_fee_calculator_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5888             : void * fd_fee_calculator_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5889             : void fd_fee_calculator_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5890             : int fd_fee_calculator_convert_global_to_local( void const * global_self, fd_fee_calculator_t * self, fd_bincode_decode_ctx_t * ctx );
    5891             : 
    5892             : void fd_hash_age_new( fd_hash_age_t * self );
    5893             : int fd_hash_age_encode( fd_hash_age_t const * self, fd_bincode_encode_ctx_t * ctx );
    5894             : void fd_hash_age_destroy( fd_hash_age_t * self );
    5895             : void fd_hash_age_walk( void * w, fd_hash_age_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5896             : ulong fd_hash_age_size( fd_hash_age_t const * self );
    5897             : ulong fd_hash_age_footprint( void );
    5898             : ulong fd_hash_age_align( void );
    5899             : int fd_hash_age_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5900             : int fd_hash_age_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5901             : void * fd_hash_age_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5902             : void fd_hash_age_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5903             : void * fd_hash_age_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5904             : void fd_hash_age_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5905             : int fd_hash_age_convert_global_to_local( void const * global_self, fd_hash_age_t * self, fd_bincode_decode_ctx_t * ctx );
    5906             : 
    5907             : void fd_hash_hash_age_pair_new( fd_hash_hash_age_pair_t * self );
    5908             : int fd_hash_hash_age_pair_encode( fd_hash_hash_age_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    5909             : void fd_hash_hash_age_pair_destroy( fd_hash_hash_age_pair_t * self );
    5910             : void fd_hash_hash_age_pair_walk( void * w, fd_hash_hash_age_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5911             : ulong fd_hash_hash_age_pair_size( fd_hash_hash_age_pair_t const * self );
    5912             : ulong fd_hash_hash_age_pair_footprint( void );
    5913             : ulong fd_hash_hash_age_pair_align( void );
    5914             : int fd_hash_hash_age_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5915             : int fd_hash_hash_age_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5916             : void * fd_hash_hash_age_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5917             : void fd_hash_hash_age_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5918             : void * fd_hash_hash_age_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5919             : void fd_hash_hash_age_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5920             : int fd_hash_hash_age_pair_convert_global_to_local( void const * global_self, fd_hash_hash_age_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    5921             : 
    5922             : void fd_block_hash_vec_new( fd_block_hash_vec_t * self );
    5923             : int fd_block_hash_vec_encode( fd_block_hash_vec_t const * self, fd_bincode_encode_ctx_t * ctx );
    5924             : void fd_block_hash_vec_destroy( fd_block_hash_vec_t * self );
    5925             : void fd_block_hash_vec_walk( void * w, fd_block_hash_vec_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5926             : ulong fd_block_hash_vec_size( fd_block_hash_vec_t const * self );
    5927             : ulong fd_block_hash_vec_footprint( void );
    5928             : ulong fd_block_hash_vec_align( void );
    5929             : int fd_block_hash_vec_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5930             : int fd_block_hash_vec_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5931             : void * fd_block_hash_vec_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5932             : void fd_block_hash_vec_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5933             : void * fd_block_hash_vec_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5934             : void fd_block_hash_vec_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5935             : int fd_block_hash_vec_convert_global_to_local( void const * global_self, fd_block_hash_vec_t * self, fd_bincode_decode_ctx_t * ctx );
    5936             : 
    5937             : void fd_block_hash_queue_new( fd_block_hash_queue_t * self );
    5938             : int fd_block_hash_queue_encode( fd_block_hash_queue_t const * self, fd_bincode_encode_ctx_t * ctx );
    5939             : void fd_block_hash_queue_destroy( fd_block_hash_queue_t * self );
    5940             : void fd_block_hash_queue_walk( void * w, fd_block_hash_queue_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5941             : ulong fd_block_hash_queue_size( fd_block_hash_queue_t const * self );
    5942             : ulong fd_block_hash_queue_footprint( void );
    5943             : ulong fd_block_hash_queue_align( void );
    5944             : int fd_block_hash_queue_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5945             : int fd_block_hash_queue_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5946             : void * fd_block_hash_queue_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5947             : void fd_block_hash_queue_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5948             : void * fd_block_hash_queue_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5949             : void fd_block_hash_queue_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5950             : int fd_block_hash_queue_convert_global_to_local( void const * global_self, fd_block_hash_queue_t * self, fd_bincode_decode_ctx_t * ctx );
    5951             : 
    5952             : void fd_fee_rate_governor_new( fd_fee_rate_governor_t * self );
    5953             : int fd_fee_rate_governor_encode( fd_fee_rate_governor_t const * self, fd_bincode_encode_ctx_t * ctx );
    5954             : void fd_fee_rate_governor_destroy( fd_fee_rate_governor_t * self );
    5955             : void fd_fee_rate_governor_walk( void * w, fd_fee_rate_governor_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5956             : ulong fd_fee_rate_governor_size( fd_fee_rate_governor_t const * self );
    5957             : ulong fd_fee_rate_governor_footprint( void );
    5958             : ulong fd_fee_rate_governor_align( void );
    5959             : int fd_fee_rate_governor_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5960             : int fd_fee_rate_governor_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5961             : void * fd_fee_rate_governor_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5962             : void fd_fee_rate_governor_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5963             : void * fd_fee_rate_governor_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5964             : void fd_fee_rate_governor_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5965             : int fd_fee_rate_governor_convert_global_to_local( void const * global_self, fd_fee_rate_governor_t * self, fd_bincode_decode_ctx_t * ctx );
    5966             : 
    5967             : void fd_slot_pair_new( fd_slot_pair_t * self );
    5968             : int fd_slot_pair_encode( fd_slot_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    5969             : void fd_slot_pair_destroy( fd_slot_pair_t * self );
    5970             : void fd_slot_pair_walk( void * w, fd_slot_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5971             : ulong fd_slot_pair_size( fd_slot_pair_t const * self );
    5972             : ulong fd_slot_pair_footprint( void );
    5973             : ulong fd_slot_pair_align( void );
    5974             : int fd_slot_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5975             : int fd_slot_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5976             : void * fd_slot_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5977             : void fd_slot_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5978             : void * fd_slot_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5979             : void fd_slot_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5980             : int fd_slot_pair_convert_global_to_local( void const * global_self, fd_slot_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    5981             : 
    5982             : void fd_hard_forks_new( fd_hard_forks_t * self );
    5983             : int fd_hard_forks_encode( fd_hard_forks_t const * self, fd_bincode_encode_ctx_t * ctx );
    5984             : void fd_hard_forks_destroy( fd_hard_forks_t * self );
    5985             : void fd_hard_forks_walk( void * w, fd_hard_forks_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    5986             : ulong fd_hard_forks_size( fd_hard_forks_t const * self );
    5987             : ulong fd_hard_forks_footprint( void );
    5988             : ulong fd_hard_forks_align( void );
    5989             : int fd_hard_forks_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5990             : int fd_hard_forks_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5991             : void * fd_hard_forks_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5992             : void fd_hard_forks_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5993             : void * fd_hard_forks_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    5994             : void fd_hard_forks_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    5995             : int fd_hard_forks_convert_global_to_local( void const * global_self, fd_hard_forks_t * self, fd_bincode_decode_ctx_t * ctx );
    5996             : 
    5997             : void fd_inflation_new( fd_inflation_t * self );
    5998             : int fd_inflation_encode( fd_inflation_t const * self, fd_bincode_encode_ctx_t * ctx );
    5999             : void fd_inflation_destroy( fd_inflation_t * self );
    6000             : void fd_inflation_walk( void * w, fd_inflation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6001             : ulong fd_inflation_size( fd_inflation_t const * self );
    6002             : ulong fd_inflation_footprint( void );
    6003             : ulong fd_inflation_align( void );
    6004             : int fd_inflation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6005             : int fd_inflation_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6006             : void * fd_inflation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6007             : void fd_inflation_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6008             : void * fd_inflation_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6009             : void fd_inflation_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6010             : int fd_inflation_convert_global_to_local( void const * global_self, fd_inflation_t * self, fd_bincode_decode_ctx_t * ctx );
    6011             : 
    6012             : void fd_rent_new( fd_rent_t * self );
    6013             : int fd_rent_encode( fd_rent_t const * self, fd_bincode_encode_ctx_t * ctx );
    6014             : void fd_rent_destroy( fd_rent_t * self );
    6015             : void fd_rent_walk( void * w, fd_rent_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6016             : ulong fd_rent_size( fd_rent_t const * self );
    6017             : ulong fd_rent_footprint( void );
    6018             : ulong fd_rent_align( void );
    6019             : int fd_rent_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6020             : int fd_rent_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6021             : void * fd_rent_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6022             : void fd_rent_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6023             : void * fd_rent_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6024             : void fd_rent_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6025             : int fd_rent_convert_global_to_local( void const * global_self, fd_rent_t * self, fd_bincode_decode_ctx_t * ctx );
    6026             : 
    6027             : void fd_epoch_schedule_new( fd_epoch_schedule_t * self );
    6028             : int fd_epoch_schedule_encode( fd_epoch_schedule_t const * self, fd_bincode_encode_ctx_t * ctx );
    6029             : void fd_epoch_schedule_destroy( fd_epoch_schedule_t * self );
    6030             : void fd_epoch_schedule_walk( void * w, fd_epoch_schedule_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6031             : ulong fd_epoch_schedule_size( fd_epoch_schedule_t const * self );
    6032             : ulong fd_epoch_schedule_footprint( void );
    6033             : ulong fd_epoch_schedule_align( void );
    6034             : int fd_epoch_schedule_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6035             : int fd_epoch_schedule_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6036             : void * fd_epoch_schedule_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6037             : void fd_epoch_schedule_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6038             : void * fd_epoch_schedule_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6039             : void fd_epoch_schedule_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6040             : int fd_epoch_schedule_convert_global_to_local( void const * global_self, fd_epoch_schedule_t * self, fd_bincode_decode_ctx_t * ctx );
    6041             : 
    6042             : void fd_rent_collector_new( fd_rent_collector_t * self );
    6043             : int fd_rent_collector_encode( fd_rent_collector_t const * self, fd_bincode_encode_ctx_t * ctx );
    6044             : void fd_rent_collector_destroy( fd_rent_collector_t * self );
    6045             : void fd_rent_collector_walk( void * w, fd_rent_collector_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6046             : ulong fd_rent_collector_size( fd_rent_collector_t const * self );
    6047             : ulong fd_rent_collector_footprint( void );
    6048             : ulong fd_rent_collector_align( void );
    6049             : int fd_rent_collector_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6050             : int fd_rent_collector_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6051             : void * fd_rent_collector_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6052             : void fd_rent_collector_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6053             : void * fd_rent_collector_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6054             : void fd_rent_collector_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6055             : int fd_rent_collector_convert_global_to_local( void const * global_self, fd_rent_collector_t * self, fd_bincode_decode_ctx_t * ctx );
    6056             : 
    6057             : void fd_stake_history_entry_new( fd_stake_history_entry_t * self );
    6058             : int fd_stake_history_entry_encode( fd_stake_history_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    6059             : void fd_stake_history_entry_destroy( fd_stake_history_entry_t * self );
    6060             : void fd_stake_history_entry_walk( void * w, fd_stake_history_entry_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6061             : ulong fd_stake_history_entry_size( fd_stake_history_entry_t const * self );
    6062             : ulong fd_stake_history_entry_footprint( void );
    6063             : ulong fd_stake_history_entry_align( void );
    6064             : int fd_stake_history_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6065             : int fd_stake_history_entry_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6066             : void * fd_stake_history_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6067             : void fd_stake_history_entry_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6068             : void * fd_stake_history_entry_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6069             : void fd_stake_history_entry_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6070             : int fd_stake_history_entry_convert_global_to_local( void const * global_self, fd_stake_history_entry_t * self, fd_bincode_decode_ctx_t * ctx );
    6071             : 
    6072             : void fd_stake_history_new( fd_stake_history_t * self );
    6073             : int fd_stake_history_encode( fd_stake_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    6074             : void fd_stake_history_destroy( fd_stake_history_t * self );
    6075             : void fd_stake_history_walk( void * w, fd_stake_history_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6076             : ulong fd_stake_history_size( fd_stake_history_t const * self );
    6077             : ulong fd_stake_history_footprint( void );
    6078             : ulong fd_stake_history_align( void );
    6079             : int fd_stake_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6080             : int fd_stake_history_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6081             : void * fd_stake_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6082             : void fd_stake_history_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6083             : void * fd_stake_history_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6084             : void fd_stake_history_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6085             : int fd_stake_history_convert_global_to_local( void const * global_self, fd_stake_history_t * self, fd_bincode_decode_ctx_t * ctx );
    6086             : 
    6087             : void fd_solana_account_new( fd_solana_account_t * self );
    6088             : int fd_solana_account_encode( fd_solana_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    6089             : void fd_solana_account_destroy( fd_solana_account_t * self );
    6090             : void fd_solana_account_walk( void * w, fd_solana_account_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6091             : ulong fd_solana_account_size( fd_solana_account_t const * self );
    6092             : ulong fd_solana_account_footprint( void );
    6093             : ulong fd_solana_account_align( void );
    6094             : int fd_solana_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6095             : int fd_solana_account_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6096             : void * fd_solana_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6097             : void fd_solana_account_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6098             : void * fd_solana_account_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6099             : void fd_solana_account_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6100             : int fd_solana_account_convert_global_to_local( void const * global_self, fd_solana_account_t * self, fd_bincode_decode_ctx_t * ctx );
    6101             : 
    6102             : void fd_vote_accounts_pair_new( fd_vote_accounts_pair_t * self );
    6103             : int fd_vote_accounts_pair_encode( fd_vote_accounts_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6104             : void fd_vote_accounts_pair_destroy( fd_vote_accounts_pair_t * self );
    6105             : void fd_vote_accounts_pair_walk( void * w, fd_vote_accounts_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6106             : ulong fd_vote_accounts_pair_size( fd_vote_accounts_pair_t const * self );
    6107             : ulong fd_vote_accounts_pair_footprint( void );
    6108             : ulong fd_vote_accounts_pair_align( void );
    6109             : int fd_vote_accounts_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6110             : int fd_vote_accounts_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6111             : void * fd_vote_accounts_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6112             : void fd_vote_accounts_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6113             : void * fd_vote_accounts_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6114             : void fd_vote_accounts_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6115             : int fd_vote_accounts_pair_convert_global_to_local( void const * global_self, fd_vote_accounts_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6116             : 
    6117             : void fd_vote_accounts_new( fd_vote_accounts_t * self );
    6118             : int fd_vote_accounts_encode( fd_vote_accounts_t const * self, fd_bincode_encode_ctx_t * ctx );
    6119             : void fd_vote_accounts_destroy( fd_vote_accounts_t * self );
    6120             : void fd_vote_accounts_walk( void * w, fd_vote_accounts_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6121             : ulong fd_vote_accounts_size( fd_vote_accounts_t const * self );
    6122             : ulong fd_vote_accounts_footprint( void );
    6123             : ulong fd_vote_accounts_align( void );
    6124             : int fd_vote_accounts_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6125             : int fd_vote_accounts_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6126             : void * fd_vote_accounts_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6127             : void fd_vote_accounts_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6128             : void * fd_vote_accounts_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6129             : void fd_vote_accounts_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6130             : int fd_vote_accounts_convert_global_to_local( void const * global_self, fd_vote_accounts_t * self, fd_bincode_decode_ctx_t * ctx );
    6131             : 
    6132             : void fd_account_keys_pair_new( fd_account_keys_pair_t * self );
    6133             : int fd_account_keys_pair_encode( fd_account_keys_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6134             : void fd_account_keys_pair_destroy( fd_account_keys_pair_t * self );
    6135             : void fd_account_keys_pair_walk( void * w, fd_account_keys_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6136             : ulong fd_account_keys_pair_size( fd_account_keys_pair_t const * self );
    6137             : ulong fd_account_keys_pair_footprint( void );
    6138             : ulong fd_account_keys_pair_align( void );
    6139             : int fd_account_keys_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6140             : int fd_account_keys_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6141             : void * fd_account_keys_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6142             : void fd_account_keys_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6143             : void * fd_account_keys_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6144             : void fd_account_keys_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6145             : int fd_account_keys_pair_convert_global_to_local( void const * global_self, fd_account_keys_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6146             : 
    6147             : void fd_account_keys_new( fd_account_keys_t * self );
    6148             : int fd_account_keys_encode( fd_account_keys_t const * self, fd_bincode_encode_ctx_t * ctx );
    6149             : void fd_account_keys_destroy( fd_account_keys_t * self );
    6150             : void fd_account_keys_walk( void * w, fd_account_keys_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6151             : ulong fd_account_keys_size( fd_account_keys_t const * self );
    6152             : ulong fd_account_keys_footprint( void );
    6153             : ulong fd_account_keys_align( void );
    6154             : int fd_account_keys_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6155             : int fd_account_keys_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6156             : void * fd_account_keys_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6157             : void fd_account_keys_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6158             : void * fd_account_keys_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6159             : void fd_account_keys_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6160             : int fd_account_keys_convert_global_to_local( void const * global_self, fd_account_keys_t * self, fd_bincode_decode_ctx_t * ctx );
    6161             : 
    6162             : void fd_stake_weight_new( fd_stake_weight_t * self );
    6163             : int fd_stake_weight_encode( fd_stake_weight_t const * self, fd_bincode_encode_ctx_t * ctx );
    6164             : void fd_stake_weight_destroy( fd_stake_weight_t * self );
    6165             : void fd_stake_weight_walk( void * w, fd_stake_weight_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6166             : ulong fd_stake_weight_size( fd_stake_weight_t const * self );
    6167             : ulong fd_stake_weight_footprint( void );
    6168             : ulong fd_stake_weight_align( void );
    6169             : int fd_stake_weight_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6170             : int fd_stake_weight_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6171             : void * fd_stake_weight_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6172             : void fd_stake_weight_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6173             : void * fd_stake_weight_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6174             : void fd_stake_weight_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6175             : int fd_stake_weight_convert_global_to_local( void const * global_self, fd_stake_weight_t * self, fd_bincode_decode_ctx_t * ctx );
    6176             : 
    6177             : void fd_stake_weights_new( fd_stake_weights_t * self );
    6178             : int fd_stake_weights_encode( fd_stake_weights_t const * self, fd_bincode_encode_ctx_t * ctx );
    6179             : void fd_stake_weights_destroy( fd_stake_weights_t * self );
    6180             : void fd_stake_weights_walk( void * w, fd_stake_weights_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6181             : ulong fd_stake_weights_size( fd_stake_weights_t const * self );
    6182             : ulong fd_stake_weights_footprint( void );
    6183             : ulong fd_stake_weights_align( void );
    6184             : int fd_stake_weights_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6185             : int fd_stake_weights_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6186             : void * fd_stake_weights_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6187             : void fd_stake_weights_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6188             : void * fd_stake_weights_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6189             : void fd_stake_weights_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6190             : int fd_stake_weights_convert_global_to_local( void const * global_self, fd_stake_weights_t * self, fd_bincode_decode_ctx_t * ctx );
    6191             : 
    6192             : void fd_delegation_new( fd_delegation_t * self );
    6193             : int fd_delegation_encode( fd_delegation_t const * self, fd_bincode_encode_ctx_t * ctx );
    6194             : void fd_delegation_destroy( fd_delegation_t * self );
    6195             : void fd_delegation_walk( void * w, fd_delegation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6196             : ulong fd_delegation_size( fd_delegation_t const * self );
    6197             : ulong fd_delegation_footprint( void );
    6198             : ulong fd_delegation_align( void );
    6199             : int fd_delegation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6200             : int fd_delegation_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6201             : void * fd_delegation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6202             : void fd_delegation_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6203             : void * fd_delegation_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6204             : void fd_delegation_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6205             : int fd_delegation_convert_global_to_local( void const * global_self, fd_delegation_t * self, fd_bincode_decode_ctx_t * ctx );
    6206             : 
    6207             : void fd_delegation_pair_new( fd_delegation_pair_t * self );
    6208             : int fd_delegation_pair_encode( fd_delegation_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6209             : void fd_delegation_pair_destroy( fd_delegation_pair_t * self );
    6210             : void fd_delegation_pair_walk( void * w, fd_delegation_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6211             : ulong fd_delegation_pair_size( fd_delegation_pair_t const * self );
    6212             : ulong fd_delegation_pair_footprint( void );
    6213             : ulong fd_delegation_pair_align( void );
    6214             : int fd_delegation_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6215             : int fd_delegation_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6216             : void * fd_delegation_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6217             : void fd_delegation_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6218             : void * fd_delegation_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6219             : void fd_delegation_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6220             : int fd_delegation_pair_convert_global_to_local( void const * global_self, fd_delegation_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6221             : 
    6222             : void fd_stake_new( fd_stake_t * self );
    6223             : int fd_stake_encode( fd_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    6224             : void fd_stake_destroy( fd_stake_t * self );
    6225             : void fd_stake_walk( void * w, fd_stake_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6226             : ulong fd_stake_size( fd_stake_t const * self );
    6227             : ulong fd_stake_footprint( void );
    6228             : ulong fd_stake_align( void );
    6229             : int fd_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6230             : int fd_stake_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6231             : void * fd_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6232             : void fd_stake_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6233             : void * fd_stake_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6234             : void fd_stake_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6235             : int fd_stake_convert_global_to_local( void const * global_self, fd_stake_t * self, fd_bincode_decode_ctx_t * ctx );
    6236             : 
    6237             : void fd_stake_pair_new( fd_stake_pair_t * self );
    6238             : int fd_stake_pair_encode( fd_stake_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6239             : void fd_stake_pair_destroy( fd_stake_pair_t * self );
    6240             : void fd_stake_pair_walk( void * w, fd_stake_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6241             : ulong fd_stake_pair_size( fd_stake_pair_t const * self );
    6242             : ulong fd_stake_pair_footprint( void );
    6243             : ulong fd_stake_pair_align( void );
    6244             : int fd_stake_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6245             : int fd_stake_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6246             : void * fd_stake_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6247             : void fd_stake_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6248             : void * fd_stake_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6249             : void fd_stake_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6250             : int fd_stake_pair_convert_global_to_local( void const * global_self, fd_stake_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6251             : 
    6252             : void fd_stakes_new( fd_stakes_t * self );
    6253             : int fd_stakes_encode( fd_stakes_t const * self, fd_bincode_encode_ctx_t * ctx );
    6254             : void fd_stakes_destroy( fd_stakes_t * self );
    6255             : void fd_stakes_walk( void * w, fd_stakes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6256             : ulong fd_stakes_size( fd_stakes_t const * self );
    6257             : ulong fd_stakes_footprint( void );
    6258             : ulong fd_stakes_align( void );
    6259             : int fd_stakes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6260             : int fd_stakes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6261             : void * fd_stakes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6262             : void fd_stakes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6263             : void * fd_stakes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6264             : void fd_stakes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6265             : int fd_stakes_convert_global_to_local( void const * global_self, fd_stakes_t * self, fd_bincode_decode_ctx_t * ctx );
    6266             : 
    6267             : void fd_stakes_stake_new( fd_stakes_stake_t * self );
    6268             : int fd_stakes_stake_encode( fd_stakes_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    6269             : void fd_stakes_stake_destroy( fd_stakes_stake_t * self );
    6270             : void fd_stakes_stake_walk( void * w, fd_stakes_stake_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6271             : ulong fd_stakes_stake_size( fd_stakes_stake_t const * self );
    6272             : ulong fd_stakes_stake_footprint( void );
    6273             : ulong fd_stakes_stake_align( void );
    6274             : int fd_stakes_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6275             : int fd_stakes_stake_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6276             : void * fd_stakes_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6277             : void fd_stakes_stake_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6278             : void * fd_stakes_stake_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6279             : void fd_stakes_stake_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6280             : int fd_stakes_stake_convert_global_to_local( void const * global_self, fd_stakes_stake_t * self, fd_bincode_decode_ctx_t * ctx );
    6281             : 
    6282             : void fd_bank_incremental_snapshot_persistence_new( fd_bank_incremental_snapshot_persistence_t * self );
    6283             : int fd_bank_incremental_snapshot_persistence_encode( fd_bank_incremental_snapshot_persistence_t const * self, fd_bincode_encode_ctx_t * ctx );
    6284             : void fd_bank_incremental_snapshot_persistence_destroy( fd_bank_incremental_snapshot_persistence_t * self );
    6285             : void fd_bank_incremental_snapshot_persistence_walk( void * w, fd_bank_incremental_snapshot_persistence_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6286             : ulong fd_bank_incremental_snapshot_persistence_size( fd_bank_incremental_snapshot_persistence_t const * self );
    6287             : ulong fd_bank_incremental_snapshot_persistence_footprint( void );
    6288             : ulong fd_bank_incremental_snapshot_persistence_align( void );
    6289             : int fd_bank_incremental_snapshot_persistence_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6290             : int fd_bank_incremental_snapshot_persistence_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6291             : void * fd_bank_incremental_snapshot_persistence_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6292             : void fd_bank_incremental_snapshot_persistence_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6293             : void * fd_bank_incremental_snapshot_persistence_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6294             : void fd_bank_incremental_snapshot_persistence_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6295             : int fd_bank_incremental_snapshot_persistence_convert_global_to_local( void const * global_self, fd_bank_incremental_snapshot_persistence_t * self, fd_bincode_decode_ctx_t * ctx );
    6296             : 
    6297             : void fd_node_vote_accounts_new( fd_node_vote_accounts_t * self );
    6298             : int fd_node_vote_accounts_encode( fd_node_vote_accounts_t const * self, fd_bincode_encode_ctx_t * ctx );
    6299             : void fd_node_vote_accounts_destroy( fd_node_vote_accounts_t * self );
    6300             : void fd_node_vote_accounts_walk( void * w, fd_node_vote_accounts_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6301             : ulong fd_node_vote_accounts_size( fd_node_vote_accounts_t const * self );
    6302             : ulong fd_node_vote_accounts_footprint( void );
    6303             : ulong fd_node_vote_accounts_align( void );
    6304             : int fd_node_vote_accounts_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6305             : int fd_node_vote_accounts_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6306             : void * fd_node_vote_accounts_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6307             : void fd_node_vote_accounts_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6308             : void * fd_node_vote_accounts_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6309             : void fd_node_vote_accounts_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6310             : int fd_node_vote_accounts_convert_global_to_local( void const * global_self, fd_node_vote_accounts_t * self, fd_bincode_decode_ctx_t * ctx );
    6311             : 
    6312             : void fd_pubkey_node_vote_accounts_pair_new( fd_pubkey_node_vote_accounts_pair_t * self );
    6313             : int fd_pubkey_node_vote_accounts_pair_encode( fd_pubkey_node_vote_accounts_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6314             : void fd_pubkey_node_vote_accounts_pair_destroy( fd_pubkey_node_vote_accounts_pair_t * self );
    6315             : void fd_pubkey_node_vote_accounts_pair_walk( void * w, fd_pubkey_node_vote_accounts_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6316             : ulong fd_pubkey_node_vote_accounts_pair_size( fd_pubkey_node_vote_accounts_pair_t const * self );
    6317             : ulong fd_pubkey_node_vote_accounts_pair_footprint( void );
    6318             : ulong fd_pubkey_node_vote_accounts_pair_align( void );
    6319             : int fd_pubkey_node_vote_accounts_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6320             : int fd_pubkey_node_vote_accounts_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6321             : void * fd_pubkey_node_vote_accounts_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6322             : void fd_pubkey_node_vote_accounts_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6323             : void * fd_pubkey_node_vote_accounts_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6324             : void fd_pubkey_node_vote_accounts_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6325             : int fd_pubkey_node_vote_accounts_pair_convert_global_to_local( void const * global_self, fd_pubkey_node_vote_accounts_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6326             : 
    6327             : void fd_pubkey_pubkey_pair_new( fd_pubkey_pubkey_pair_t * self );
    6328             : int fd_pubkey_pubkey_pair_encode( fd_pubkey_pubkey_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6329             : void fd_pubkey_pubkey_pair_destroy( fd_pubkey_pubkey_pair_t * self );
    6330             : void fd_pubkey_pubkey_pair_walk( void * w, fd_pubkey_pubkey_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6331             : ulong fd_pubkey_pubkey_pair_size( fd_pubkey_pubkey_pair_t const * self );
    6332             : ulong fd_pubkey_pubkey_pair_footprint( void );
    6333             : ulong fd_pubkey_pubkey_pair_align( void );
    6334             : int fd_pubkey_pubkey_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6335             : int fd_pubkey_pubkey_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6336             : void * fd_pubkey_pubkey_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6337             : void fd_pubkey_pubkey_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6338             : void * fd_pubkey_pubkey_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6339             : void fd_pubkey_pubkey_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6340             : int fd_pubkey_pubkey_pair_convert_global_to_local( void const * global_self, fd_pubkey_pubkey_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6341             : 
    6342             : void fd_epoch_stakes_new( fd_epoch_stakes_t * self );
    6343             : int fd_epoch_stakes_encode( fd_epoch_stakes_t const * self, fd_bincode_encode_ctx_t * ctx );
    6344             : void fd_epoch_stakes_destroy( fd_epoch_stakes_t * self );
    6345             : void fd_epoch_stakes_walk( void * w, fd_epoch_stakes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6346             : ulong fd_epoch_stakes_size( fd_epoch_stakes_t const * self );
    6347             : ulong fd_epoch_stakes_footprint( void );
    6348             : ulong fd_epoch_stakes_align( void );
    6349             : int fd_epoch_stakes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6350             : int fd_epoch_stakes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6351             : void * fd_epoch_stakes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6352             : void fd_epoch_stakes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6353             : void * fd_epoch_stakes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6354             : void fd_epoch_stakes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6355             : int fd_epoch_stakes_convert_global_to_local( void const * global_self, fd_epoch_stakes_t * self, fd_bincode_decode_ctx_t * ctx );
    6356             : 
    6357             : void fd_epoch_epoch_stakes_pair_new( fd_epoch_epoch_stakes_pair_t * self );
    6358             : int fd_epoch_epoch_stakes_pair_encode( fd_epoch_epoch_stakes_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6359             : void fd_epoch_epoch_stakes_pair_destroy( fd_epoch_epoch_stakes_pair_t * self );
    6360             : void fd_epoch_epoch_stakes_pair_walk( void * w, fd_epoch_epoch_stakes_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6361             : ulong fd_epoch_epoch_stakes_pair_size( fd_epoch_epoch_stakes_pair_t const * self );
    6362             : ulong fd_epoch_epoch_stakes_pair_footprint( void );
    6363             : ulong fd_epoch_epoch_stakes_pair_align( void );
    6364             : int fd_epoch_epoch_stakes_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6365             : int fd_epoch_epoch_stakes_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6366             : void * fd_epoch_epoch_stakes_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6367             : void fd_epoch_epoch_stakes_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6368             : void * fd_epoch_epoch_stakes_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6369             : void fd_epoch_epoch_stakes_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6370             : int fd_epoch_epoch_stakes_pair_convert_global_to_local( void const * global_self, fd_epoch_epoch_stakes_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6371             : 
    6372             : void fd_pubkey_u64_pair_new( fd_pubkey_u64_pair_t * self );
    6373             : int fd_pubkey_u64_pair_encode( fd_pubkey_u64_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6374             : void fd_pubkey_u64_pair_destroy( fd_pubkey_u64_pair_t * self );
    6375             : void fd_pubkey_u64_pair_walk( void * w, fd_pubkey_u64_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6376             : ulong fd_pubkey_u64_pair_size( fd_pubkey_u64_pair_t const * self );
    6377             : ulong fd_pubkey_u64_pair_footprint( void );
    6378             : ulong fd_pubkey_u64_pair_align( void );
    6379             : int fd_pubkey_u64_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6380             : int fd_pubkey_u64_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6381             : void * fd_pubkey_u64_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6382             : void fd_pubkey_u64_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6383             : void * fd_pubkey_u64_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6384             : void fd_pubkey_u64_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6385             : int fd_pubkey_u64_pair_convert_global_to_local( void const * global_self, fd_pubkey_u64_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6386             : 
    6387             : void fd_unused_accounts_new( fd_unused_accounts_t * self );
    6388             : int fd_unused_accounts_encode( fd_unused_accounts_t const * self, fd_bincode_encode_ctx_t * ctx );
    6389             : void fd_unused_accounts_destroy( fd_unused_accounts_t * self );
    6390             : void fd_unused_accounts_walk( void * w, fd_unused_accounts_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6391             : ulong fd_unused_accounts_size( fd_unused_accounts_t const * self );
    6392             : ulong fd_unused_accounts_footprint( void );
    6393             : ulong fd_unused_accounts_align( void );
    6394             : int fd_unused_accounts_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6395             : int fd_unused_accounts_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6396             : void * fd_unused_accounts_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6397             : void fd_unused_accounts_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6398             : void * fd_unused_accounts_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6399             : void fd_unused_accounts_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6400             : int fd_unused_accounts_convert_global_to_local( void const * global_self, fd_unused_accounts_t * self, fd_bincode_decode_ctx_t * ctx );
    6401             : 
    6402             : void fd_versioned_bank_new( fd_versioned_bank_t * self );
    6403             : int fd_versioned_bank_encode( fd_versioned_bank_t const * self, fd_bincode_encode_ctx_t * ctx );
    6404             : void fd_versioned_bank_destroy( fd_versioned_bank_t * self );
    6405             : void fd_versioned_bank_walk( void * w, fd_versioned_bank_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6406             : ulong fd_versioned_bank_size( fd_versioned_bank_t const * self );
    6407             : ulong fd_versioned_bank_footprint( void );
    6408             : ulong fd_versioned_bank_align( void );
    6409             : int fd_versioned_bank_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6410             : int fd_versioned_bank_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6411             : void * fd_versioned_bank_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6412             : void fd_versioned_bank_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6413             : void * fd_versioned_bank_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6414             : void fd_versioned_bank_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6415             : int fd_versioned_bank_convert_global_to_local( void const * global_self, fd_versioned_bank_t * self, fd_bincode_decode_ctx_t * ctx );
    6416             : 
    6417             : void fd_bank_hash_stats_new( fd_bank_hash_stats_t * self );
    6418             : int fd_bank_hash_stats_encode( fd_bank_hash_stats_t const * self, fd_bincode_encode_ctx_t * ctx );
    6419             : void fd_bank_hash_stats_destroy( fd_bank_hash_stats_t * self );
    6420             : void fd_bank_hash_stats_walk( void * w, fd_bank_hash_stats_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6421             : ulong fd_bank_hash_stats_size( fd_bank_hash_stats_t const * self );
    6422             : ulong fd_bank_hash_stats_footprint( void );
    6423             : ulong fd_bank_hash_stats_align( void );
    6424             : int fd_bank_hash_stats_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6425             : int fd_bank_hash_stats_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6426             : void * fd_bank_hash_stats_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6427             : void fd_bank_hash_stats_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6428             : void * fd_bank_hash_stats_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6429             : void fd_bank_hash_stats_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6430             : int fd_bank_hash_stats_convert_global_to_local( void const * global_self, fd_bank_hash_stats_t * self, fd_bincode_decode_ctx_t * ctx );
    6431             : 
    6432             : void fd_bank_hash_info_new( fd_bank_hash_info_t * self );
    6433             : int fd_bank_hash_info_encode( fd_bank_hash_info_t const * self, fd_bincode_encode_ctx_t * ctx );
    6434             : void fd_bank_hash_info_destroy( fd_bank_hash_info_t * self );
    6435             : void fd_bank_hash_info_walk( void * w, fd_bank_hash_info_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6436             : ulong fd_bank_hash_info_size( fd_bank_hash_info_t const * self );
    6437             : ulong fd_bank_hash_info_footprint( void );
    6438             : ulong fd_bank_hash_info_align( void );
    6439             : int fd_bank_hash_info_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6440             : int fd_bank_hash_info_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6441             : void * fd_bank_hash_info_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6442             : void fd_bank_hash_info_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6443             : void * fd_bank_hash_info_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6444             : void fd_bank_hash_info_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6445             : int fd_bank_hash_info_convert_global_to_local( void const * global_self, fd_bank_hash_info_t * self, fd_bincode_decode_ctx_t * ctx );
    6446             : 
    6447             : void fd_slot_map_pair_new( fd_slot_map_pair_t * self );
    6448             : int fd_slot_map_pair_encode( fd_slot_map_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6449             : void fd_slot_map_pair_destroy( fd_slot_map_pair_t * self );
    6450             : void fd_slot_map_pair_walk( void * w, fd_slot_map_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6451             : ulong fd_slot_map_pair_size( fd_slot_map_pair_t const * self );
    6452             : ulong fd_slot_map_pair_footprint( void );
    6453             : ulong fd_slot_map_pair_align( void );
    6454             : int fd_slot_map_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6455             : int fd_slot_map_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6456             : void * fd_slot_map_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6457             : void fd_slot_map_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6458             : void * fd_slot_map_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6459             : void fd_slot_map_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6460             : int fd_slot_map_pair_convert_global_to_local( void const * global_self, fd_slot_map_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6461             : 
    6462             : void fd_snapshot_acc_vec_new( fd_snapshot_acc_vec_t * self );
    6463             : int fd_snapshot_acc_vec_encode( fd_snapshot_acc_vec_t const * self, fd_bincode_encode_ctx_t * ctx );
    6464             : void fd_snapshot_acc_vec_destroy( fd_snapshot_acc_vec_t * self );
    6465             : void fd_snapshot_acc_vec_walk( void * w, fd_snapshot_acc_vec_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6466             : ulong fd_snapshot_acc_vec_size( fd_snapshot_acc_vec_t const * self );
    6467             : ulong fd_snapshot_acc_vec_footprint( void );
    6468             : ulong fd_snapshot_acc_vec_align( void );
    6469             : int fd_snapshot_acc_vec_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6470             : int fd_snapshot_acc_vec_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6471             : void * fd_snapshot_acc_vec_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6472             : void fd_snapshot_acc_vec_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6473             : void * fd_snapshot_acc_vec_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6474             : void fd_snapshot_acc_vec_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6475             : int fd_snapshot_acc_vec_convert_global_to_local( void const * global_self, fd_snapshot_acc_vec_t * self, fd_bincode_decode_ctx_t * ctx );
    6476             : 
    6477             : void fd_snapshot_slot_acc_vecs_new( fd_snapshot_slot_acc_vecs_t * self );
    6478             : int fd_snapshot_slot_acc_vecs_encode( fd_snapshot_slot_acc_vecs_t const * self, fd_bincode_encode_ctx_t * ctx );
    6479             : void fd_snapshot_slot_acc_vecs_destroy( fd_snapshot_slot_acc_vecs_t * self );
    6480             : void fd_snapshot_slot_acc_vecs_walk( void * w, fd_snapshot_slot_acc_vecs_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6481             : ulong fd_snapshot_slot_acc_vecs_size( fd_snapshot_slot_acc_vecs_t const * self );
    6482             : ulong fd_snapshot_slot_acc_vecs_footprint( void );
    6483             : ulong fd_snapshot_slot_acc_vecs_align( void );
    6484             : int fd_snapshot_slot_acc_vecs_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6485             : int fd_snapshot_slot_acc_vecs_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6486             : void * fd_snapshot_slot_acc_vecs_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6487             : void fd_snapshot_slot_acc_vecs_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6488             : void * fd_snapshot_slot_acc_vecs_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6489             : void fd_snapshot_slot_acc_vecs_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6490             : int fd_snapshot_slot_acc_vecs_convert_global_to_local( void const * global_self, fd_snapshot_slot_acc_vecs_t * self, fd_bincode_decode_ctx_t * ctx );
    6491             : 
    6492             : void fd_reward_type_new_disc( fd_reward_type_t * self, uint discriminant );
    6493             : void fd_reward_type_new( fd_reward_type_t * self );
    6494             : int fd_reward_type_encode( fd_reward_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    6495             : void fd_reward_type_destroy( fd_reward_type_t * self );
    6496             : void fd_reward_type_walk( void * w, fd_reward_type_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6497             : ulong fd_reward_type_size( fd_reward_type_t const * self );
    6498             : ulong fd_reward_type_footprint( void );
    6499             : ulong fd_reward_type_align( void );
    6500             : int fd_reward_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6501             : int fd_reward_type_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6502             : void * fd_reward_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6503             : void fd_reward_type_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6504             : void * fd_reward_type_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6505             : void fd_reward_type_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6506             : int fd_reward_type_convert_global_to_local( void const * global_self, fd_reward_type_t * self, fd_bincode_decode_ctx_t * ctx );
    6507             : 
    6508             : FD_FN_PURE uchar fd_reward_type_is_fee( fd_reward_type_t const * self );
    6509             : FD_FN_PURE uchar fd_reward_type_is_rent( fd_reward_type_t const * self );
    6510             : FD_FN_PURE uchar fd_reward_type_is_staking( fd_reward_type_t const * self );
    6511             : FD_FN_PURE uchar fd_reward_type_is_voting( fd_reward_type_t const * self );
    6512             : enum {
    6513             : fd_reward_type_enum_fee = 0,
    6514             : fd_reward_type_enum_rent = 1,
    6515             : fd_reward_type_enum_staking = 2,
    6516             : fd_reward_type_enum_voting = 3,
    6517             : };
    6518             : void fd_solana_accounts_db_fields_new( fd_solana_accounts_db_fields_t * self );
    6519             : int fd_solana_accounts_db_fields_encode( fd_solana_accounts_db_fields_t const * self, fd_bincode_encode_ctx_t * ctx );
    6520             : void fd_solana_accounts_db_fields_destroy( fd_solana_accounts_db_fields_t * self );
    6521             : void fd_solana_accounts_db_fields_walk( void * w, fd_solana_accounts_db_fields_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6522             : ulong fd_solana_accounts_db_fields_size( fd_solana_accounts_db_fields_t const * self );
    6523             : ulong fd_solana_accounts_db_fields_footprint( void );
    6524             : ulong fd_solana_accounts_db_fields_align( void );
    6525             : int fd_solana_accounts_db_fields_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6526             : int fd_solana_accounts_db_fields_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6527             : void * fd_solana_accounts_db_fields_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6528             : void fd_solana_accounts_db_fields_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6529             : void * fd_solana_accounts_db_fields_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6530             : void fd_solana_accounts_db_fields_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6531             : int fd_solana_accounts_db_fields_convert_global_to_local( void const * global_self, fd_solana_accounts_db_fields_t * self, fd_bincode_decode_ctx_t * ctx );
    6532             : 
    6533             : void fd_versioned_epoch_stakes_current_new( fd_versioned_epoch_stakes_current_t * self );
    6534             : int fd_versioned_epoch_stakes_current_encode( fd_versioned_epoch_stakes_current_t const * self, fd_bincode_encode_ctx_t * ctx );
    6535             : void fd_versioned_epoch_stakes_current_destroy( fd_versioned_epoch_stakes_current_t * self );
    6536             : void fd_versioned_epoch_stakes_current_walk( void * w, fd_versioned_epoch_stakes_current_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6537             : ulong fd_versioned_epoch_stakes_current_size( fd_versioned_epoch_stakes_current_t const * self );
    6538             : ulong fd_versioned_epoch_stakes_current_footprint( void );
    6539             : ulong fd_versioned_epoch_stakes_current_align( void );
    6540             : int fd_versioned_epoch_stakes_current_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6541             : int fd_versioned_epoch_stakes_current_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6542             : void * fd_versioned_epoch_stakes_current_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6543             : void fd_versioned_epoch_stakes_current_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6544             : void * fd_versioned_epoch_stakes_current_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6545             : void fd_versioned_epoch_stakes_current_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6546             : int fd_versioned_epoch_stakes_current_convert_global_to_local( void const * global_self, fd_versioned_epoch_stakes_current_t * self, fd_bincode_decode_ctx_t * ctx );
    6547             : 
    6548             : void fd_versioned_epoch_stakes_new_disc( fd_versioned_epoch_stakes_t * self, uint discriminant );
    6549             : void fd_versioned_epoch_stakes_new( fd_versioned_epoch_stakes_t * self );
    6550             : int fd_versioned_epoch_stakes_encode( fd_versioned_epoch_stakes_t const * self, fd_bincode_encode_ctx_t * ctx );
    6551             : void fd_versioned_epoch_stakes_destroy( fd_versioned_epoch_stakes_t * self );
    6552             : void fd_versioned_epoch_stakes_walk( void * w, fd_versioned_epoch_stakes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6553             : ulong fd_versioned_epoch_stakes_size( fd_versioned_epoch_stakes_t const * self );
    6554             : ulong fd_versioned_epoch_stakes_footprint( void );
    6555             : ulong fd_versioned_epoch_stakes_align( void );
    6556             : int fd_versioned_epoch_stakes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6557             : int fd_versioned_epoch_stakes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6558             : void * fd_versioned_epoch_stakes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6559             : void fd_versioned_epoch_stakes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6560             : void * fd_versioned_epoch_stakes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6561             : void fd_versioned_epoch_stakes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6562             : int fd_versioned_epoch_stakes_convert_global_to_local( void const * global_self, fd_versioned_epoch_stakes_t * self, fd_bincode_decode_ctx_t * ctx );
    6563             : 
    6564             : FD_FN_PURE uchar fd_versioned_epoch_stakes_is_Current( fd_versioned_epoch_stakes_t const * self );
    6565             : enum {
    6566             : fd_versioned_epoch_stakes_enum_Current = 0,
    6567             : };
    6568             : void fd_versioned_epoch_stakes_pair_new( fd_versioned_epoch_stakes_pair_t * self );
    6569             : int fd_versioned_epoch_stakes_pair_encode( fd_versioned_epoch_stakes_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6570             : void fd_versioned_epoch_stakes_pair_destroy( fd_versioned_epoch_stakes_pair_t * self );
    6571             : void fd_versioned_epoch_stakes_pair_walk( void * w, fd_versioned_epoch_stakes_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6572             : ulong fd_versioned_epoch_stakes_pair_size( fd_versioned_epoch_stakes_pair_t const * self );
    6573             : ulong fd_versioned_epoch_stakes_pair_footprint( void );
    6574             : ulong fd_versioned_epoch_stakes_pair_align( void );
    6575             : int fd_versioned_epoch_stakes_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6576             : int fd_versioned_epoch_stakes_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6577             : void * fd_versioned_epoch_stakes_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6578             : void fd_versioned_epoch_stakes_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6579             : void * fd_versioned_epoch_stakes_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6580             : void fd_versioned_epoch_stakes_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6581             : int fd_versioned_epoch_stakes_pair_convert_global_to_local( void const * global_self, fd_versioned_epoch_stakes_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6582             : 
    6583             : void fd_reward_info_new( fd_reward_info_t * self );
    6584             : int fd_reward_info_encode( fd_reward_info_t const * self, fd_bincode_encode_ctx_t * ctx );
    6585             : void fd_reward_info_destroy( fd_reward_info_t * self );
    6586             : void fd_reward_info_walk( void * w, fd_reward_info_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6587             : ulong fd_reward_info_size( fd_reward_info_t const * self );
    6588             : ulong fd_reward_info_footprint( void );
    6589             : ulong fd_reward_info_align( void );
    6590             : int fd_reward_info_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6591             : int fd_reward_info_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6592             : void * fd_reward_info_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6593             : void fd_reward_info_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6594             : void * fd_reward_info_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6595             : void fd_reward_info_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6596             : int fd_reward_info_convert_global_to_local( void const * global_self, fd_reward_info_t * self, fd_bincode_decode_ctx_t * ctx );
    6597             : 
    6598             : void fd_slot_lthash_new( fd_slot_lthash_t * self );
    6599             : int fd_slot_lthash_encode( fd_slot_lthash_t const * self, fd_bincode_encode_ctx_t * ctx );
    6600             : void fd_slot_lthash_destroy( fd_slot_lthash_t * self );
    6601             : void fd_slot_lthash_walk( void * w, fd_slot_lthash_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6602             : ulong fd_slot_lthash_size( fd_slot_lthash_t const * self );
    6603             : ulong fd_slot_lthash_footprint( void );
    6604             : ulong fd_slot_lthash_align( void );
    6605             : int fd_slot_lthash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6606             : int fd_slot_lthash_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6607             : void * fd_slot_lthash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6608             : void fd_slot_lthash_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6609             : void * fd_slot_lthash_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6610             : void fd_slot_lthash_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6611             : int fd_slot_lthash_convert_global_to_local( void const * global_self, fd_slot_lthash_t * self, fd_bincode_decode_ctx_t * ctx );
    6612             : 
    6613             : void fd_solana_manifest_new( fd_solana_manifest_t * self );
    6614             : int fd_solana_manifest_encode( fd_solana_manifest_t const * self, fd_bincode_encode_ctx_t * ctx );
    6615             : void fd_solana_manifest_destroy( fd_solana_manifest_t * self );
    6616             : void fd_solana_manifest_walk( void * w, fd_solana_manifest_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6617             : ulong fd_solana_manifest_size( fd_solana_manifest_t const * self );
    6618             : ulong fd_solana_manifest_footprint( void );
    6619             : ulong fd_solana_manifest_align( void );
    6620             : int fd_solana_manifest_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6621             : int fd_solana_manifest_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6622             : void * fd_solana_manifest_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6623             : void fd_solana_manifest_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6624             : void * fd_solana_manifest_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6625             : void fd_solana_manifest_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6626             : int fd_solana_manifest_convert_global_to_local( void const * global_self, fd_solana_manifest_t * self, fd_bincode_decode_ctx_t * ctx );
    6627             : 
    6628             : void fd_rust_duration_new( fd_rust_duration_t * self );
    6629             : int fd_rust_duration_encode( fd_rust_duration_t const * self, fd_bincode_encode_ctx_t * ctx );
    6630             : void fd_rust_duration_destroy( fd_rust_duration_t * self );
    6631             : void fd_rust_duration_walk( void * w, fd_rust_duration_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6632             : ulong fd_rust_duration_size( fd_rust_duration_t const * self );
    6633             : ulong fd_rust_duration_footprint( void );
    6634             : ulong fd_rust_duration_align( void );
    6635             : int fd_rust_duration_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6636             : int fd_rust_duration_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6637             : void * fd_rust_duration_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6638             : void fd_rust_duration_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6639             : void * fd_rust_duration_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6640             : void fd_rust_duration_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6641             : int fd_rust_duration_convert_global_to_local( void const * global_self, fd_rust_duration_t * self, fd_bincode_decode_ctx_t * ctx );
    6642             : 
    6643             : void fd_poh_config_new( fd_poh_config_t * self );
    6644             : int fd_poh_config_encode( fd_poh_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    6645             : void fd_poh_config_destroy( fd_poh_config_t * self );
    6646             : void fd_poh_config_walk( void * w, fd_poh_config_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6647             : ulong fd_poh_config_size( fd_poh_config_t const * self );
    6648             : ulong fd_poh_config_footprint( void );
    6649             : ulong fd_poh_config_align( void );
    6650             : int fd_poh_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6651             : int fd_poh_config_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6652             : void * fd_poh_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6653             : void fd_poh_config_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6654             : void * fd_poh_config_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6655             : void fd_poh_config_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6656             : int fd_poh_config_convert_global_to_local( void const * global_self, fd_poh_config_t * self, fd_bincode_decode_ctx_t * ctx );
    6657             : 
    6658             : void fd_string_pubkey_pair_new( fd_string_pubkey_pair_t * self );
    6659             : int fd_string_pubkey_pair_encode( fd_string_pubkey_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6660             : void fd_string_pubkey_pair_destroy( fd_string_pubkey_pair_t * self );
    6661             : void fd_string_pubkey_pair_walk( void * w, fd_string_pubkey_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6662             : ulong fd_string_pubkey_pair_size( fd_string_pubkey_pair_t const * self );
    6663             : ulong fd_string_pubkey_pair_footprint( void );
    6664             : ulong fd_string_pubkey_pair_align( void );
    6665             : int fd_string_pubkey_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6666             : int fd_string_pubkey_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6667             : void * fd_string_pubkey_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6668             : void fd_string_pubkey_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6669             : void * fd_string_pubkey_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6670             : void fd_string_pubkey_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6671             : int fd_string_pubkey_pair_convert_global_to_local( void const * global_self, fd_string_pubkey_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6672             : 
    6673             : void fd_pubkey_account_pair_new( fd_pubkey_account_pair_t * self );
    6674             : int fd_pubkey_account_pair_encode( fd_pubkey_account_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    6675             : void fd_pubkey_account_pair_destroy( fd_pubkey_account_pair_t * self );
    6676             : void fd_pubkey_account_pair_walk( void * w, fd_pubkey_account_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6677             : ulong fd_pubkey_account_pair_size( fd_pubkey_account_pair_t const * self );
    6678             : ulong fd_pubkey_account_pair_footprint( void );
    6679             : ulong fd_pubkey_account_pair_align( void );
    6680             : int fd_pubkey_account_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6681             : int fd_pubkey_account_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6682             : void * fd_pubkey_account_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6683             : void fd_pubkey_account_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6684             : void * fd_pubkey_account_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6685             : void fd_pubkey_account_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6686             : int fd_pubkey_account_pair_convert_global_to_local( void const * global_self, fd_pubkey_account_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    6687             : 
    6688             : void fd_genesis_solana_new( fd_genesis_solana_t * self );
    6689             : int fd_genesis_solana_encode( fd_genesis_solana_t const * self, fd_bincode_encode_ctx_t * ctx );
    6690             : void fd_genesis_solana_destroy( fd_genesis_solana_t * self );
    6691             : void fd_genesis_solana_walk( void * w, fd_genesis_solana_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6692             : ulong fd_genesis_solana_size( fd_genesis_solana_t const * self );
    6693             : ulong fd_genesis_solana_footprint( void );
    6694             : ulong fd_genesis_solana_align( void );
    6695             : int fd_genesis_solana_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6696             : int fd_genesis_solana_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6697             : void * fd_genesis_solana_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6698             : void fd_genesis_solana_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6699             : void * fd_genesis_solana_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6700             : void fd_genesis_solana_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6701             : int fd_genesis_solana_convert_global_to_local( void const * global_self, fd_genesis_solana_t * self, fd_bincode_decode_ctx_t * ctx );
    6702             : 
    6703             : void fd_sol_sysvar_clock_new( fd_sol_sysvar_clock_t * self );
    6704             : int fd_sol_sysvar_clock_encode( fd_sol_sysvar_clock_t const * self, fd_bincode_encode_ctx_t * ctx );
    6705             : void fd_sol_sysvar_clock_destroy( fd_sol_sysvar_clock_t * self );
    6706             : void fd_sol_sysvar_clock_walk( void * w, fd_sol_sysvar_clock_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6707             : ulong fd_sol_sysvar_clock_size( fd_sol_sysvar_clock_t const * self );
    6708             : ulong fd_sol_sysvar_clock_footprint( void );
    6709             : ulong fd_sol_sysvar_clock_align( void );
    6710             : int fd_sol_sysvar_clock_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6711             : int fd_sol_sysvar_clock_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6712             : void * fd_sol_sysvar_clock_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6713             : void fd_sol_sysvar_clock_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6714             : void * fd_sol_sysvar_clock_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6715             : void fd_sol_sysvar_clock_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6716             : int fd_sol_sysvar_clock_convert_global_to_local( void const * global_self, fd_sol_sysvar_clock_t * self, fd_bincode_decode_ctx_t * ctx );
    6717             : 
    6718             : void fd_sol_sysvar_last_restart_slot_new( fd_sol_sysvar_last_restart_slot_t * self );
    6719             : int fd_sol_sysvar_last_restart_slot_encode( fd_sol_sysvar_last_restart_slot_t const * self, fd_bincode_encode_ctx_t * ctx );
    6720             : void fd_sol_sysvar_last_restart_slot_destroy( fd_sol_sysvar_last_restart_slot_t * self );
    6721             : void fd_sol_sysvar_last_restart_slot_walk( void * w, fd_sol_sysvar_last_restart_slot_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6722             : ulong fd_sol_sysvar_last_restart_slot_size( fd_sol_sysvar_last_restart_slot_t const * self );
    6723             : ulong fd_sol_sysvar_last_restart_slot_footprint( void );
    6724             : ulong fd_sol_sysvar_last_restart_slot_align( void );
    6725             : int fd_sol_sysvar_last_restart_slot_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6726             : int fd_sol_sysvar_last_restart_slot_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6727             : void * fd_sol_sysvar_last_restart_slot_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6728             : void fd_sol_sysvar_last_restart_slot_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6729             : void * fd_sol_sysvar_last_restart_slot_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6730             : void fd_sol_sysvar_last_restart_slot_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6731             : int fd_sol_sysvar_last_restart_slot_convert_global_to_local( void const * global_self, fd_sol_sysvar_last_restart_slot_t * self, fd_bincode_decode_ctx_t * ctx );
    6732             : 
    6733             : void fd_vote_lockout_new( fd_vote_lockout_t * self );
    6734             : int fd_vote_lockout_encode( fd_vote_lockout_t const * self, fd_bincode_encode_ctx_t * ctx );
    6735             : void fd_vote_lockout_destroy( fd_vote_lockout_t * self );
    6736             : void fd_vote_lockout_walk( void * w, fd_vote_lockout_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6737             : ulong fd_vote_lockout_size( fd_vote_lockout_t const * self );
    6738             : ulong fd_vote_lockout_footprint( void );
    6739             : ulong fd_vote_lockout_align( void );
    6740             : int fd_vote_lockout_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6741             : int fd_vote_lockout_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6742             : void * fd_vote_lockout_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6743             : void fd_vote_lockout_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6744             : void * fd_vote_lockout_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6745             : void fd_vote_lockout_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6746             : int fd_vote_lockout_convert_global_to_local( void const * global_self, fd_vote_lockout_t * self, fd_bincode_decode_ctx_t * ctx );
    6747             : 
    6748             : void fd_lockout_offset_new( fd_lockout_offset_t * self );
    6749             : int fd_lockout_offset_encode( fd_lockout_offset_t const * self, fd_bincode_encode_ctx_t * ctx );
    6750             : void fd_lockout_offset_destroy( fd_lockout_offset_t * self );
    6751             : void fd_lockout_offset_walk( void * w, fd_lockout_offset_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6752             : ulong fd_lockout_offset_size( fd_lockout_offset_t const * self );
    6753             : ulong fd_lockout_offset_footprint( void );
    6754             : ulong fd_lockout_offset_align( void );
    6755             : int fd_lockout_offset_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6756             : int fd_lockout_offset_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6757             : void * fd_lockout_offset_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6758             : void fd_lockout_offset_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6759             : void * fd_lockout_offset_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6760             : void fd_lockout_offset_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6761             : int fd_lockout_offset_convert_global_to_local( void const * global_self, fd_lockout_offset_t * self, fd_bincode_decode_ctx_t * ctx );
    6762             : 
    6763             : void fd_vote_authorized_voter_new( fd_vote_authorized_voter_t * self );
    6764             : int fd_vote_authorized_voter_encode( fd_vote_authorized_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    6765             : void fd_vote_authorized_voter_destroy( fd_vote_authorized_voter_t * self );
    6766             : void fd_vote_authorized_voter_walk( void * w, fd_vote_authorized_voter_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6767             : ulong fd_vote_authorized_voter_size( fd_vote_authorized_voter_t const * self );
    6768             : ulong fd_vote_authorized_voter_footprint( void );
    6769             : ulong fd_vote_authorized_voter_align( void );
    6770             : int fd_vote_authorized_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6771             : int fd_vote_authorized_voter_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6772             : void * fd_vote_authorized_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6773             : void fd_vote_authorized_voter_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6774             : void * fd_vote_authorized_voter_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6775             : void fd_vote_authorized_voter_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6776             : int fd_vote_authorized_voter_convert_global_to_local( void const * global_self, fd_vote_authorized_voter_t * self, fd_bincode_decode_ctx_t * ctx );
    6777             : 
    6778             : void fd_vote_prior_voter_new( fd_vote_prior_voter_t * self );
    6779             : int fd_vote_prior_voter_encode( fd_vote_prior_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    6780             : void fd_vote_prior_voter_destroy( fd_vote_prior_voter_t * self );
    6781             : void fd_vote_prior_voter_walk( void * w, fd_vote_prior_voter_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6782             : ulong fd_vote_prior_voter_size( fd_vote_prior_voter_t const * self );
    6783             : ulong fd_vote_prior_voter_footprint( void );
    6784             : ulong fd_vote_prior_voter_align( void );
    6785             : int fd_vote_prior_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6786             : int fd_vote_prior_voter_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6787             : void * fd_vote_prior_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6788             : void fd_vote_prior_voter_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6789             : void * fd_vote_prior_voter_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6790             : void fd_vote_prior_voter_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6791             : int fd_vote_prior_voter_convert_global_to_local( void const * global_self, fd_vote_prior_voter_t * self, fd_bincode_decode_ctx_t * ctx );
    6792             : 
    6793             : void fd_vote_prior_voter_0_23_5_new( fd_vote_prior_voter_0_23_5_t * self );
    6794             : int fd_vote_prior_voter_0_23_5_encode( fd_vote_prior_voter_0_23_5_t const * self, fd_bincode_encode_ctx_t * ctx );
    6795             : void fd_vote_prior_voter_0_23_5_destroy( fd_vote_prior_voter_0_23_5_t * self );
    6796             : void fd_vote_prior_voter_0_23_5_walk( void * w, fd_vote_prior_voter_0_23_5_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6797             : ulong fd_vote_prior_voter_0_23_5_size( fd_vote_prior_voter_0_23_5_t const * self );
    6798             : ulong fd_vote_prior_voter_0_23_5_footprint( void );
    6799             : ulong fd_vote_prior_voter_0_23_5_align( void );
    6800             : int fd_vote_prior_voter_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6801             : int fd_vote_prior_voter_0_23_5_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6802             : void * fd_vote_prior_voter_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6803             : void fd_vote_prior_voter_0_23_5_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6804             : void * fd_vote_prior_voter_0_23_5_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6805             : void fd_vote_prior_voter_0_23_5_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6806             : int fd_vote_prior_voter_0_23_5_convert_global_to_local( void const * global_self, fd_vote_prior_voter_0_23_5_t * self, fd_bincode_decode_ctx_t * ctx );
    6807             : 
    6808             : void fd_vote_epoch_credits_new( fd_vote_epoch_credits_t * self );
    6809             : int fd_vote_epoch_credits_encode( fd_vote_epoch_credits_t const * self, fd_bincode_encode_ctx_t * ctx );
    6810             : void fd_vote_epoch_credits_destroy( fd_vote_epoch_credits_t * self );
    6811             : void fd_vote_epoch_credits_walk( void * w, fd_vote_epoch_credits_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6812             : ulong fd_vote_epoch_credits_size( fd_vote_epoch_credits_t const * self );
    6813             : ulong fd_vote_epoch_credits_footprint( void );
    6814             : ulong fd_vote_epoch_credits_align( void );
    6815             : int fd_vote_epoch_credits_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6816             : int fd_vote_epoch_credits_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6817             : void * fd_vote_epoch_credits_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6818             : void fd_vote_epoch_credits_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6819             : void * fd_vote_epoch_credits_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6820             : void fd_vote_epoch_credits_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6821             : int fd_vote_epoch_credits_convert_global_to_local( void const * global_self, fd_vote_epoch_credits_t * self, fd_bincode_decode_ctx_t * ctx );
    6822             : 
    6823             : void fd_vote_block_timestamp_new( fd_vote_block_timestamp_t * self );
    6824             : int fd_vote_block_timestamp_encode( fd_vote_block_timestamp_t const * self, fd_bincode_encode_ctx_t * ctx );
    6825             : void fd_vote_block_timestamp_destroy( fd_vote_block_timestamp_t * self );
    6826             : void fd_vote_block_timestamp_walk( void * w, fd_vote_block_timestamp_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6827             : ulong fd_vote_block_timestamp_size( fd_vote_block_timestamp_t const * self );
    6828             : ulong fd_vote_block_timestamp_footprint( void );
    6829             : ulong fd_vote_block_timestamp_align( void );
    6830             : int fd_vote_block_timestamp_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6831             : int fd_vote_block_timestamp_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6832             : void * fd_vote_block_timestamp_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6833             : void fd_vote_block_timestamp_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6834             : void * fd_vote_block_timestamp_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6835             : void fd_vote_block_timestamp_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6836             : int fd_vote_block_timestamp_convert_global_to_local( void const * global_self, fd_vote_block_timestamp_t * self, fd_bincode_decode_ctx_t * ctx );
    6837             : 
    6838             : void fd_vote_prior_voters_new( fd_vote_prior_voters_t * self );
    6839             : int fd_vote_prior_voters_encode( fd_vote_prior_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    6840             : void fd_vote_prior_voters_destroy( fd_vote_prior_voters_t * self );
    6841             : void fd_vote_prior_voters_walk( void * w, fd_vote_prior_voters_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6842             : ulong fd_vote_prior_voters_size( fd_vote_prior_voters_t const * self );
    6843             : ulong fd_vote_prior_voters_footprint( void );
    6844             : ulong fd_vote_prior_voters_align( void );
    6845             : int fd_vote_prior_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6846             : int fd_vote_prior_voters_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6847             : void * fd_vote_prior_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6848             : void fd_vote_prior_voters_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6849             : void * fd_vote_prior_voters_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6850             : void fd_vote_prior_voters_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6851             : int fd_vote_prior_voters_convert_global_to_local( void const * global_self, fd_vote_prior_voters_t * self, fd_bincode_decode_ctx_t * ctx );
    6852             : 
    6853             : void fd_vote_prior_voters_0_23_5_new( fd_vote_prior_voters_0_23_5_t * self );
    6854             : int fd_vote_prior_voters_0_23_5_encode( fd_vote_prior_voters_0_23_5_t const * self, fd_bincode_encode_ctx_t * ctx );
    6855             : void fd_vote_prior_voters_0_23_5_destroy( fd_vote_prior_voters_0_23_5_t * self );
    6856             : void fd_vote_prior_voters_0_23_5_walk( void * w, fd_vote_prior_voters_0_23_5_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6857             : ulong fd_vote_prior_voters_0_23_5_size( fd_vote_prior_voters_0_23_5_t const * self );
    6858             : ulong fd_vote_prior_voters_0_23_5_footprint( void );
    6859             : ulong fd_vote_prior_voters_0_23_5_align( void );
    6860             : int fd_vote_prior_voters_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6861             : int fd_vote_prior_voters_0_23_5_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6862             : void * fd_vote_prior_voters_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6863             : void fd_vote_prior_voters_0_23_5_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6864             : void * fd_vote_prior_voters_0_23_5_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6865             : void fd_vote_prior_voters_0_23_5_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6866             : int fd_vote_prior_voters_0_23_5_convert_global_to_local( void const * global_self, fd_vote_prior_voters_0_23_5_t * self, fd_bincode_decode_ctx_t * ctx );
    6867             : 
    6868             : void fd_landed_vote_new( fd_landed_vote_t * self );
    6869             : int fd_landed_vote_encode( fd_landed_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    6870             : void fd_landed_vote_destroy( fd_landed_vote_t * self );
    6871             : void fd_landed_vote_walk( void * w, fd_landed_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6872             : ulong fd_landed_vote_size( fd_landed_vote_t const * self );
    6873             : ulong fd_landed_vote_footprint( void );
    6874             : ulong fd_landed_vote_align( void );
    6875             : int fd_landed_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6876             : int fd_landed_vote_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6877             : void * fd_landed_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6878             : void fd_landed_vote_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6879             : void * fd_landed_vote_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6880             : void fd_landed_vote_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6881             : int fd_landed_vote_convert_global_to_local( void const * global_self, fd_landed_vote_t * self, fd_bincode_decode_ctx_t * ctx );
    6882             : 
    6883             : void fd_vote_state_0_23_5_new( fd_vote_state_0_23_5_t * self );
    6884             : int fd_vote_state_0_23_5_encode( fd_vote_state_0_23_5_t const * self, fd_bincode_encode_ctx_t * ctx );
    6885             : void fd_vote_state_0_23_5_destroy( fd_vote_state_0_23_5_t * self );
    6886             : void fd_vote_state_0_23_5_walk( void * w, fd_vote_state_0_23_5_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6887             : ulong fd_vote_state_0_23_5_size( fd_vote_state_0_23_5_t const * self );
    6888             : ulong fd_vote_state_0_23_5_footprint( void );
    6889             : ulong fd_vote_state_0_23_5_align( void );
    6890             : int fd_vote_state_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6891             : int fd_vote_state_0_23_5_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6892             : void * fd_vote_state_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6893             : void fd_vote_state_0_23_5_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6894             : void * fd_vote_state_0_23_5_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6895             : void fd_vote_state_0_23_5_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6896             : int fd_vote_state_0_23_5_convert_global_to_local( void const * global_self, fd_vote_state_0_23_5_t * self, fd_bincode_decode_ctx_t * ctx );
    6897             : 
    6898             : void fd_vote_authorized_voters_new( fd_vote_authorized_voters_t * self );
    6899             : int fd_vote_authorized_voters_encode( fd_vote_authorized_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    6900             : void fd_vote_authorized_voters_destroy( fd_vote_authorized_voters_t * self );
    6901             : void fd_vote_authorized_voters_walk( void * w, fd_vote_authorized_voters_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6902             : ulong fd_vote_authorized_voters_size( fd_vote_authorized_voters_t const * self );
    6903             : ulong fd_vote_authorized_voters_footprint( void );
    6904             : ulong fd_vote_authorized_voters_align( void );
    6905             : int fd_vote_authorized_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6906             : int fd_vote_authorized_voters_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6907             : void * fd_vote_authorized_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6908             : void fd_vote_authorized_voters_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6909             : void * fd_vote_authorized_voters_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6910             : void fd_vote_authorized_voters_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6911             : int fd_vote_authorized_voters_convert_global_to_local( void const * global_self, fd_vote_authorized_voters_t * self, fd_bincode_decode_ctx_t * ctx );
    6912             : 
    6913             : void fd_vote_state_1_14_11_new( fd_vote_state_1_14_11_t * self );
    6914             : int fd_vote_state_1_14_11_encode( fd_vote_state_1_14_11_t const * self, fd_bincode_encode_ctx_t * ctx );
    6915             : void fd_vote_state_1_14_11_destroy( fd_vote_state_1_14_11_t * self );
    6916             : void fd_vote_state_1_14_11_walk( void * w, fd_vote_state_1_14_11_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6917             : ulong fd_vote_state_1_14_11_size( fd_vote_state_1_14_11_t const * self );
    6918             : ulong fd_vote_state_1_14_11_footprint( void );
    6919             : ulong fd_vote_state_1_14_11_align( void );
    6920             : int fd_vote_state_1_14_11_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6921             : int fd_vote_state_1_14_11_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6922             : void * fd_vote_state_1_14_11_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6923             : void fd_vote_state_1_14_11_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6924             : void * fd_vote_state_1_14_11_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6925             : void fd_vote_state_1_14_11_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6926             : int fd_vote_state_1_14_11_convert_global_to_local( void const * global_self, fd_vote_state_1_14_11_t * self, fd_bincode_decode_ctx_t * ctx );
    6927             : 
    6928             : void fd_vote_state_new( fd_vote_state_t * self );
    6929             : int fd_vote_state_encode( fd_vote_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    6930             : void fd_vote_state_destroy( fd_vote_state_t * self );
    6931             : void fd_vote_state_walk( void * w, fd_vote_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6932             : ulong fd_vote_state_size( fd_vote_state_t const * self );
    6933             : ulong fd_vote_state_footprint( void );
    6934             : ulong fd_vote_state_align( void );
    6935             : int fd_vote_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6936             : int fd_vote_state_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6937             : void * fd_vote_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6938             : void fd_vote_state_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6939             : void * fd_vote_state_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6940             : void fd_vote_state_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6941             : int fd_vote_state_convert_global_to_local( void const * global_self, fd_vote_state_t * self, fd_bincode_decode_ctx_t * ctx );
    6942             : 
    6943             : void fd_vote_state_versioned_new_disc( fd_vote_state_versioned_t * self, uint discriminant );
    6944             : void fd_vote_state_versioned_new( fd_vote_state_versioned_t * self );
    6945             : int fd_vote_state_versioned_encode( fd_vote_state_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    6946             : void fd_vote_state_versioned_destroy( fd_vote_state_versioned_t * self );
    6947             : void fd_vote_state_versioned_walk( void * w, fd_vote_state_versioned_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6948             : ulong fd_vote_state_versioned_size( fd_vote_state_versioned_t const * self );
    6949             : ulong fd_vote_state_versioned_footprint( void );
    6950             : ulong fd_vote_state_versioned_align( void );
    6951             : int fd_vote_state_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6952             : int fd_vote_state_versioned_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6953             : void * fd_vote_state_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6954             : void fd_vote_state_versioned_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6955             : void * fd_vote_state_versioned_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6956             : void fd_vote_state_versioned_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6957             : int fd_vote_state_versioned_convert_global_to_local( void const * global_self, fd_vote_state_versioned_t * self, fd_bincode_decode_ctx_t * ctx );
    6958             : 
    6959             : FD_FN_PURE uchar fd_vote_state_versioned_is_v0_23_5( fd_vote_state_versioned_t const * self );
    6960             : FD_FN_PURE uchar fd_vote_state_versioned_is_v1_14_11( fd_vote_state_versioned_t const * self );
    6961             : FD_FN_PURE uchar fd_vote_state_versioned_is_current( fd_vote_state_versioned_t const * self );
    6962             : enum {
    6963             : fd_vote_state_versioned_enum_v0_23_5 = 0,
    6964             : fd_vote_state_versioned_enum_v1_14_11 = 1,
    6965             : fd_vote_state_versioned_enum_current = 2,
    6966             : };
    6967             : void fd_vote_state_update_new( fd_vote_state_update_t * self );
    6968             : int fd_vote_state_update_encode( fd_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    6969             : void fd_vote_state_update_destroy( fd_vote_state_update_t * self );
    6970             : void fd_vote_state_update_walk( void * w, fd_vote_state_update_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6971             : ulong fd_vote_state_update_size( fd_vote_state_update_t const * self );
    6972             : ulong fd_vote_state_update_footprint( void );
    6973             : ulong fd_vote_state_update_align( void );
    6974             : int fd_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6975             : int fd_vote_state_update_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6976             : void * fd_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6977             : void fd_vote_state_update_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6978             : void * fd_vote_state_update_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6979             : void fd_vote_state_update_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6980             : int fd_vote_state_update_convert_global_to_local( void const * global_self, fd_vote_state_update_t * self, fd_bincode_decode_ctx_t * ctx );
    6981             : 
    6982             : void fd_compact_vote_state_update_new( fd_compact_vote_state_update_t * self );
    6983             : int fd_compact_vote_state_update_encode( fd_compact_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    6984             : void fd_compact_vote_state_update_destroy( fd_compact_vote_state_update_t * self );
    6985             : void fd_compact_vote_state_update_walk( void * w, fd_compact_vote_state_update_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    6986             : ulong fd_compact_vote_state_update_size( fd_compact_vote_state_update_t const * self );
    6987             : ulong fd_compact_vote_state_update_footprint( void );
    6988             : ulong fd_compact_vote_state_update_align( void );
    6989             : int fd_compact_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6990             : int fd_compact_vote_state_update_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    6991             : void * fd_compact_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    6992             : void fd_compact_vote_state_update_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6993             : void * fd_compact_vote_state_update_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    6994             : void fd_compact_vote_state_update_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    6995             : int fd_compact_vote_state_update_convert_global_to_local( void const * global_self, fd_compact_vote_state_update_t * self, fd_bincode_decode_ctx_t * ctx );
    6996             : 
    6997             : void fd_compact_vote_state_update_switch_new( fd_compact_vote_state_update_switch_t * self );
    6998             : int fd_compact_vote_state_update_switch_encode( fd_compact_vote_state_update_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    6999             : void fd_compact_vote_state_update_switch_destroy( fd_compact_vote_state_update_switch_t * self );
    7000             : void fd_compact_vote_state_update_switch_walk( void * w, fd_compact_vote_state_update_switch_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7001             : ulong fd_compact_vote_state_update_switch_size( fd_compact_vote_state_update_switch_t const * self );
    7002             : ulong fd_compact_vote_state_update_switch_footprint( void );
    7003             : ulong fd_compact_vote_state_update_switch_align( void );
    7004             : int fd_compact_vote_state_update_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7005             : int fd_compact_vote_state_update_switch_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7006             : void * fd_compact_vote_state_update_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7007             : void fd_compact_vote_state_update_switch_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7008             : void * fd_compact_vote_state_update_switch_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7009             : void fd_compact_vote_state_update_switch_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7010             : int fd_compact_vote_state_update_switch_convert_global_to_local( void const * global_self, fd_compact_vote_state_update_switch_t * self, fd_bincode_decode_ctx_t * ctx );
    7011             : 
    7012             : void fd_compact_tower_sync_new( fd_compact_tower_sync_t * self );
    7013             : int fd_compact_tower_sync_encode( fd_compact_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    7014             : void fd_compact_tower_sync_destroy( fd_compact_tower_sync_t * self );
    7015             : void fd_compact_tower_sync_walk( void * w, fd_compact_tower_sync_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7016             : ulong fd_compact_tower_sync_size( fd_compact_tower_sync_t const * self );
    7017             : ulong fd_compact_tower_sync_footprint( void );
    7018             : ulong fd_compact_tower_sync_align( void );
    7019             : int fd_compact_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7020             : int fd_compact_tower_sync_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7021             : void * fd_compact_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7022             : void fd_compact_tower_sync_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7023             : void * fd_compact_tower_sync_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7024             : void fd_compact_tower_sync_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7025             : int fd_compact_tower_sync_convert_global_to_local( void const * global_self, fd_compact_tower_sync_t * self, fd_bincode_decode_ctx_t * ctx );
    7026             : 
    7027             : void fd_tower_sync_new( fd_tower_sync_t * self );
    7028             : int fd_tower_sync_encode( fd_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    7029             : void fd_tower_sync_destroy( fd_tower_sync_t * self );
    7030             : void fd_tower_sync_walk( void * w, fd_tower_sync_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7031             : ulong fd_tower_sync_size( fd_tower_sync_t const * self );
    7032             : ulong fd_tower_sync_footprint( void );
    7033             : ulong fd_tower_sync_align( void );
    7034             : int fd_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7035             : int fd_tower_sync_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7036             : void * fd_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7037             : void fd_tower_sync_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7038             : void * fd_tower_sync_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7039             : void fd_tower_sync_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7040             : int fd_tower_sync_convert_global_to_local( void const * global_self, fd_tower_sync_t * self, fd_bincode_decode_ctx_t * ctx );
    7041             : 
    7042             : void fd_tower_sync_switch_new( fd_tower_sync_switch_t * self );
    7043             : int fd_tower_sync_switch_encode( fd_tower_sync_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    7044             : void fd_tower_sync_switch_destroy( fd_tower_sync_switch_t * self );
    7045             : void fd_tower_sync_switch_walk( void * w, fd_tower_sync_switch_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7046             : ulong fd_tower_sync_switch_size( fd_tower_sync_switch_t const * self );
    7047             : ulong fd_tower_sync_switch_footprint( void );
    7048             : ulong fd_tower_sync_switch_align( void );
    7049             : int fd_tower_sync_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7050             : int fd_tower_sync_switch_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7051             : void * fd_tower_sync_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7052             : void fd_tower_sync_switch_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7053             : void * fd_tower_sync_switch_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7054             : void fd_tower_sync_switch_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7055             : int fd_tower_sync_switch_convert_global_to_local( void const * global_self, fd_tower_sync_switch_t * self, fd_bincode_decode_ctx_t * ctx );
    7056             : 
    7057             : void fd_slot_history_inner_new( fd_slot_history_inner_t * self );
    7058             : int fd_slot_history_inner_encode( fd_slot_history_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    7059             : void fd_slot_history_inner_destroy( fd_slot_history_inner_t * self );
    7060             : void fd_slot_history_inner_walk( void * w, fd_slot_history_inner_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7061             : ulong fd_slot_history_inner_size( fd_slot_history_inner_t const * self );
    7062             : ulong fd_slot_history_inner_footprint( void );
    7063             : ulong fd_slot_history_inner_align( void );
    7064             : int fd_slot_history_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7065             : int fd_slot_history_inner_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7066             : void * fd_slot_history_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7067             : void fd_slot_history_inner_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7068             : void * fd_slot_history_inner_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7069             : void fd_slot_history_inner_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7070             : int fd_slot_history_inner_convert_global_to_local( void const * global_self, fd_slot_history_inner_t * self, fd_bincode_decode_ctx_t * ctx );
    7071             : 
    7072             : void fd_slot_history_bitvec_new( fd_slot_history_bitvec_t * self );
    7073             : int fd_slot_history_bitvec_encode( fd_slot_history_bitvec_t const * self, fd_bincode_encode_ctx_t * ctx );
    7074             : void fd_slot_history_bitvec_destroy( fd_slot_history_bitvec_t * self );
    7075             : void fd_slot_history_bitvec_walk( void * w, fd_slot_history_bitvec_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7076             : ulong fd_slot_history_bitvec_size( fd_slot_history_bitvec_t const * self );
    7077             : ulong fd_slot_history_bitvec_footprint( void );
    7078             : ulong fd_slot_history_bitvec_align( void );
    7079             : int fd_slot_history_bitvec_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7080             : int fd_slot_history_bitvec_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7081             : void * fd_slot_history_bitvec_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7082             : void fd_slot_history_bitvec_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7083             : void * fd_slot_history_bitvec_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7084             : void fd_slot_history_bitvec_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7085             : int fd_slot_history_bitvec_convert_global_to_local( void const * global_self, fd_slot_history_bitvec_t * self, fd_bincode_decode_ctx_t * ctx );
    7086             : 
    7087             : void fd_slot_history_new( fd_slot_history_t * self );
    7088             : int fd_slot_history_encode( fd_slot_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    7089             : void fd_slot_history_destroy( fd_slot_history_t * self );
    7090             : void fd_slot_history_walk( void * w, fd_slot_history_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7091             : ulong fd_slot_history_size( fd_slot_history_t const * self );
    7092             : ulong fd_slot_history_footprint( void );
    7093             : ulong fd_slot_history_align( void );
    7094             : int fd_slot_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7095             : int fd_slot_history_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7096             : void * fd_slot_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7097             : void fd_slot_history_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7098             : void * fd_slot_history_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7099             : void fd_slot_history_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7100             : int fd_slot_history_convert_global_to_local( void const * global_self, fd_slot_history_t * self, fd_bincode_decode_ctx_t * ctx );
    7101             : 
    7102             : void fd_slot_hash_new( fd_slot_hash_t * self );
    7103             : int fd_slot_hash_encode( fd_slot_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    7104             : void fd_slot_hash_destroy( fd_slot_hash_t * self );
    7105             : void fd_slot_hash_walk( void * w, fd_slot_hash_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7106             : ulong fd_slot_hash_size( fd_slot_hash_t const * self );
    7107             : ulong fd_slot_hash_footprint( void );
    7108             : ulong fd_slot_hash_align( void );
    7109             : int fd_slot_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7110             : int fd_slot_hash_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7111             : void * fd_slot_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7112             : void fd_slot_hash_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7113             : void * fd_slot_hash_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7114             : void fd_slot_hash_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7115             : int fd_slot_hash_convert_global_to_local( void const * global_self, fd_slot_hash_t * self, fd_bincode_decode_ctx_t * ctx );
    7116             : 
    7117             : void fd_slot_hashes_new( fd_slot_hashes_t * self );
    7118             : int fd_slot_hashes_encode( fd_slot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    7119             : void fd_slot_hashes_destroy( fd_slot_hashes_t * self );
    7120             : void fd_slot_hashes_walk( void * w, fd_slot_hashes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7121             : ulong fd_slot_hashes_size( fd_slot_hashes_t const * self );
    7122             : ulong fd_slot_hashes_footprint( void );
    7123             : ulong fd_slot_hashes_align( void );
    7124             : int fd_slot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7125             : int fd_slot_hashes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7126             : void * fd_slot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7127             : void fd_slot_hashes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7128             : void * fd_slot_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7129             : void fd_slot_hashes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7130             : int fd_slot_hashes_convert_global_to_local( void const * global_self, fd_slot_hashes_t * self, fd_bincode_decode_ctx_t * ctx );
    7131             : 
    7132             : void fd_block_block_hash_entry_new( fd_block_block_hash_entry_t * self );
    7133             : int fd_block_block_hash_entry_encode( fd_block_block_hash_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    7134             : void fd_block_block_hash_entry_destroy( fd_block_block_hash_entry_t * self );
    7135             : void fd_block_block_hash_entry_walk( void * w, fd_block_block_hash_entry_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7136             : ulong fd_block_block_hash_entry_size( fd_block_block_hash_entry_t const * self );
    7137             : ulong fd_block_block_hash_entry_footprint( void );
    7138             : ulong fd_block_block_hash_entry_align( void );
    7139             : int fd_block_block_hash_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7140             : int fd_block_block_hash_entry_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7141             : void * fd_block_block_hash_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7142             : void fd_block_block_hash_entry_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7143             : void * fd_block_block_hash_entry_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7144             : void fd_block_block_hash_entry_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7145             : int fd_block_block_hash_entry_convert_global_to_local( void const * global_self, fd_block_block_hash_entry_t * self, fd_bincode_decode_ctx_t * ctx );
    7146             : 
    7147             : void fd_recent_block_hashes_new( fd_recent_block_hashes_t * self );
    7148             : int fd_recent_block_hashes_encode( fd_recent_block_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    7149             : void fd_recent_block_hashes_destroy( fd_recent_block_hashes_t * self );
    7150             : void fd_recent_block_hashes_walk( void * w, fd_recent_block_hashes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7151             : ulong fd_recent_block_hashes_size( fd_recent_block_hashes_t const * self );
    7152             : ulong fd_recent_block_hashes_footprint( void );
    7153             : ulong fd_recent_block_hashes_align( void );
    7154             : int fd_recent_block_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7155             : int fd_recent_block_hashes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7156             : void * fd_recent_block_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7157             : void fd_recent_block_hashes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7158             : void * fd_recent_block_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7159             : void fd_recent_block_hashes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7160             : int fd_recent_block_hashes_convert_global_to_local( void const * global_self, fd_recent_block_hashes_t * self, fd_bincode_decode_ctx_t * ctx );
    7161             : 
    7162             : void fd_slot_meta_new( fd_slot_meta_t * self );
    7163             : int fd_slot_meta_encode( fd_slot_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    7164             : void fd_slot_meta_destroy( fd_slot_meta_t * self );
    7165             : void fd_slot_meta_walk( void * w, fd_slot_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7166             : ulong fd_slot_meta_size( fd_slot_meta_t const * self );
    7167             : ulong fd_slot_meta_footprint( void );
    7168             : ulong fd_slot_meta_align( void );
    7169             : int fd_slot_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7170             : int fd_slot_meta_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7171             : void * fd_slot_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7172             : void fd_slot_meta_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7173             : void * fd_slot_meta_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7174             : void fd_slot_meta_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7175             : int fd_slot_meta_convert_global_to_local( void const * global_self, fd_slot_meta_t * self, fd_bincode_decode_ctx_t * ctx );
    7176             : 
    7177             : void fd_clock_timestamp_vote_new( fd_clock_timestamp_vote_t * self );
    7178             : int fd_clock_timestamp_vote_encode( fd_clock_timestamp_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    7179             : void fd_clock_timestamp_vote_destroy( fd_clock_timestamp_vote_t * self );
    7180             : void fd_clock_timestamp_vote_walk( void * w, fd_clock_timestamp_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7181             : ulong fd_clock_timestamp_vote_size( fd_clock_timestamp_vote_t const * self );
    7182             : ulong fd_clock_timestamp_vote_footprint( void );
    7183             : ulong fd_clock_timestamp_vote_align( void );
    7184             : int fd_clock_timestamp_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7185             : int fd_clock_timestamp_vote_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7186             : void * fd_clock_timestamp_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7187             : void fd_clock_timestamp_vote_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7188             : void * fd_clock_timestamp_vote_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7189             : void fd_clock_timestamp_vote_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7190             : int fd_clock_timestamp_vote_convert_global_to_local( void const * global_self, fd_clock_timestamp_vote_t * self, fd_bincode_decode_ctx_t * ctx );
    7191             : 
    7192             : void fd_clock_timestamp_votes_new( fd_clock_timestamp_votes_t * self );
    7193             : int fd_clock_timestamp_votes_encode( fd_clock_timestamp_votes_t const * self, fd_bincode_encode_ctx_t * ctx );
    7194             : void fd_clock_timestamp_votes_destroy( fd_clock_timestamp_votes_t * self );
    7195             : void fd_clock_timestamp_votes_walk( void * w, fd_clock_timestamp_votes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7196             : ulong fd_clock_timestamp_votes_size( fd_clock_timestamp_votes_t const * self );
    7197             : ulong fd_clock_timestamp_votes_footprint( void );
    7198             : ulong fd_clock_timestamp_votes_align( void );
    7199             : int fd_clock_timestamp_votes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7200             : int fd_clock_timestamp_votes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7201             : void * fd_clock_timestamp_votes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7202             : void fd_clock_timestamp_votes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7203             : void * fd_clock_timestamp_votes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7204             : void fd_clock_timestamp_votes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7205             : int fd_clock_timestamp_votes_convert_global_to_local( void const * global_self, fd_clock_timestamp_votes_t * self, fd_bincode_decode_ctx_t * ctx );
    7206             : 
    7207             : void fd_sysvar_fees_new( fd_sysvar_fees_t * self );
    7208             : int fd_sysvar_fees_encode( fd_sysvar_fees_t const * self, fd_bincode_encode_ctx_t * ctx );
    7209             : void fd_sysvar_fees_destroy( fd_sysvar_fees_t * self );
    7210             : void fd_sysvar_fees_walk( void * w, fd_sysvar_fees_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7211             : ulong fd_sysvar_fees_size( fd_sysvar_fees_t const * self );
    7212             : ulong fd_sysvar_fees_footprint( void );
    7213             : ulong fd_sysvar_fees_align( void );
    7214             : int fd_sysvar_fees_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7215             : int fd_sysvar_fees_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7216             : void * fd_sysvar_fees_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7217             : void fd_sysvar_fees_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7218             : void * fd_sysvar_fees_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7219             : void fd_sysvar_fees_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7220             : int fd_sysvar_fees_convert_global_to_local( void const * global_self, fd_sysvar_fees_t * self, fd_bincode_decode_ctx_t * ctx );
    7221             : 
    7222             : void fd_sysvar_epoch_rewards_new( fd_sysvar_epoch_rewards_t * self );
    7223             : int fd_sysvar_epoch_rewards_encode( fd_sysvar_epoch_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    7224             : void fd_sysvar_epoch_rewards_destroy( fd_sysvar_epoch_rewards_t * self );
    7225             : void fd_sysvar_epoch_rewards_walk( void * w, fd_sysvar_epoch_rewards_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7226             : ulong fd_sysvar_epoch_rewards_size( fd_sysvar_epoch_rewards_t const * self );
    7227             : ulong fd_sysvar_epoch_rewards_footprint( void );
    7228             : ulong fd_sysvar_epoch_rewards_align( void );
    7229             : int fd_sysvar_epoch_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7230             : int fd_sysvar_epoch_rewards_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7231             : void * fd_sysvar_epoch_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7232             : void fd_sysvar_epoch_rewards_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7233             : void * fd_sysvar_epoch_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7234             : void fd_sysvar_epoch_rewards_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7235             : int fd_sysvar_epoch_rewards_convert_global_to_local( void const * global_self, fd_sysvar_epoch_rewards_t * self, fd_bincode_decode_ctx_t * ctx );
    7236             : 
    7237             : void fd_config_keys_pair_new( fd_config_keys_pair_t * self );
    7238             : int fd_config_keys_pair_encode( fd_config_keys_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    7239             : void fd_config_keys_pair_destroy( fd_config_keys_pair_t * self );
    7240             : void fd_config_keys_pair_walk( void * w, fd_config_keys_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7241             : ulong fd_config_keys_pair_size( fd_config_keys_pair_t const * self );
    7242             : ulong fd_config_keys_pair_footprint( void );
    7243             : ulong fd_config_keys_pair_align( void );
    7244             : int fd_config_keys_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7245             : int fd_config_keys_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7246             : void * fd_config_keys_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7247             : void fd_config_keys_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7248             : void * fd_config_keys_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7249             : void fd_config_keys_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7250             : int fd_config_keys_pair_convert_global_to_local( void const * global_self, fd_config_keys_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    7251             : 
    7252             : void fd_stake_config_new( fd_stake_config_t * self );
    7253             : int fd_stake_config_encode( fd_stake_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    7254             : void fd_stake_config_destroy( fd_stake_config_t * self );
    7255             : void fd_stake_config_walk( void * w, fd_stake_config_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7256             : ulong fd_stake_config_size( fd_stake_config_t const * self );
    7257             : ulong fd_stake_config_footprint( void );
    7258             : ulong fd_stake_config_align( void );
    7259             : int fd_stake_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7260             : int fd_stake_config_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7261             : void * fd_stake_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7262             : void fd_stake_config_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7263             : void * fd_stake_config_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7264             : void fd_stake_config_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7265             : int fd_stake_config_convert_global_to_local( void const * global_self, fd_stake_config_t * self, fd_bincode_decode_ctx_t * ctx );
    7266             : 
    7267             : void fd_feature_entry_new( fd_feature_entry_t * self );
    7268             : int fd_feature_entry_encode( fd_feature_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    7269             : void fd_feature_entry_destroy( fd_feature_entry_t * self );
    7270             : void fd_feature_entry_walk( void * w, fd_feature_entry_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7271             : ulong fd_feature_entry_size( fd_feature_entry_t const * self );
    7272             : ulong fd_feature_entry_footprint( void );
    7273             : ulong fd_feature_entry_align( void );
    7274             : int fd_feature_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7275             : int fd_feature_entry_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7276             : void * fd_feature_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7277             : void fd_feature_entry_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7278             : void * fd_feature_entry_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7279             : void fd_feature_entry_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7280             : int fd_feature_entry_convert_global_to_local( void const * global_self, fd_feature_entry_t * self, fd_bincode_decode_ctx_t * ctx );
    7281             : 
    7282             : void fd_firedancer_bank_new( fd_firedancer_bank_t * self );
    7283             : int fd_firedancer_bank_encode( fd_firedancer_bank_t const * self, fd_bincode_encode_ctx_t * ctx );
    7284             : void fd_firedancer_bank_destroy( fd_firedancer_bank_t * self );
    7285             : void fd_firedancer_bank_walk( void * w, fd_firedancer_bank_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7286             : ulong fd_firedancer_bank_size( fd_firedancer_bank_t const * self );
    7287             : ulong fd_firedancer_bank_footprint( void );
    7288             : ulong fd_firedancer_bank_align( void );
    7289             : int fd_firedancer_bank_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7290             : int fd_firedancer_bank_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7291             : void * fd_firedancer_bank_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7292             : void fd_firedancer_bank_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7293             : void * fd_firedancer_bank_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7294             : void fd_firedancer_bank_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7295             : int fd_firedancer_bank_convert_global_to_local( void const * global_self, fd_firedancer_bank_t * self, fd_bincode_decode_ctx_t * ctx );
    7296             : 
    7297             : void fd_cluster_type_new_disc( fd_cluster_type_t * self, uint discriminant );
    7298             : void fd_cluster_type_new( fd_cluster_type_t * self );
    7299             : int fd_cluster_type_encode( fd_cluster_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    7300             : void fd_cluster_type_destroy( fd_cluster_type_t * self );
    7301             : void fd_cluster_type_walk( void * w, fd_cluster_type_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7302             : ulong fd_cluster_type_size( fd_cluster_type_t const * self );
    7303             : ulong fd_cluster_type_footprint( void );
    7304             : ulong fd_cluster_type_align( void );
    7305             : int fd_cluster_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7306             : int fd_cluster_type_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7307             : void * fd_cluster_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7308             : void fd_cluster_type_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7309             : void * fd_cluster_type_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7310             : void fd_cluster_type_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7311             : int fd_cluster_type_convert_global_to_local( void const * global_self, fd_cluster_type_t * self, fd_bincode_decode_ctx_t * ctx );
    7312             : 
    7313             : FD_FN_PURE uchar fd_cluster_type_is_Testnet( fd_cluster_type_t const * self );
    7314             : FD_FN_PURE uchar fd_cluster_type_is_MainnetBeta( fd_cluster_type_t const * self );
    7315             : FD_FN_PURE uchar fd_cluster_type_is_Devnet( fd_cluster_type_t const * self );
    7316             : FD_FN_PURE uchar fd_cluster_type_is_Development( fd_cluster_type_t const * self );
    7317             : enum {
    7318             : fd_cluster_type_enum_Testnet = 0,
    7319             : fd_cluster_type_enum_MainnetBeta = 1,
    7320             : fd_cluster_type_enum_Devnet = 2,
    7321             : fd_cluster_type_enum_Development = 3,
    7322             : };
    7323             : void fd_epoch_bank_new( fd_epoch_bank_t * self );
    7324             : int fd_epoch_bank_encode( fd_epoch_bank_t const * self, fd_bincode_encode_ctx_t * ctx );
    7325             : void fd_epoch_bank_destroy( fd_epoch_bank_t * self );
    7326             : void fd_epoch_bank_walk( void * w, fd_epoch_bank_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7327             : ulong fd_epoch_bank_size( fd_epoch_bank_t const * self );
    7328             : ulong fd_epoch_bank_footprint( void );
    7329             : ulong fd_epoch_bank_align( void );
    7330             : int fd_epoch_bank_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7331             : int fd_epoch_bank_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7332             : void * fd_epoch_bank_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7333             : void fd_epoch_bank_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7334             : void * fd_epoch_bank_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7335             : void fd_epoch_bank_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7336             : int fd_epoch_bank_convert_global_to_local( void const * global_self, fd_epoch_bank_t * self, fd_bincode_decode_ctx_t * ctx );
    7337             : 
    7338             : void fd_slot_bank_new( fd_slot_bank_t * self );
    7339             : int fd_slot_bank_encode( fd_slot_bank_t const * self, fd_bincode_encode_ctx_t * ctx );
    7340             : void fd_slot_bank_destroy( fd_slot_bank_t * self );
    7341             : void fd_slot_bank_walk( void * w, fd_slot_bank_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7342             : ulong fd_slot_bank_size( fd_slot_bank_t const * self );
    7343             : ulong fd_slot_bank_footprint( void );
    7344             : ulong fd_slot_bank_align( void );
    7345             : int fd_slot_bank_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7346             : int fd_slot_bank_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7347             : void * fd_slot_bank_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7348             : void fd_slot_bank_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7349             : void * fd_slot_bank_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7350             : void fd_slot_bank_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7351             : int fd_slot_bank_convert_global_to_local( void const * global_self, fd_slot_bank_t * self, fd_bincode_decode_ctx_t * ctx );
    7352             : 
    7353             : void fd_prev_epoch_inflation_rewards_new( fd_prev_epoch_inflation_rewards_t * self );
    7354             : int fd_prev_epoch_inflation_rewards_encode( fd_prev_epoch_inflation_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    7355             : void fd_prev_epoch_inflation_rewards_destroy( fd_prev_epoch_inflation_rewards_t * self );
    7356             : void fd_prev_epoch_inflation_rewards_walk( void * w, fd_prev_epoch_inflation_rewards_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7357             : ulong fd_prev_epoch_inflation_rewards_size( fd_prev_epoch_inflation_rewards_t const * self );
    7358             : ulong fd_prev_epoch_inflation_rewards_footprint( void );
    7359             : ulong fd_prev_epoch_inflation_rewards_align( void );
    7360             : int fd_prev_epoch_inflation_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7361             : int fd_prev_epoch_inflation_rewards_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7362             : void * fd_prev_epoch_inflation_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7363             : void fd_prev_epoch_inflation_rewards_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7364             : void * fd_prev_epoch_inflation_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7365             : void fd_prev_epoch_inflation_rewards_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7366             : int fd_prev_epoch_inflation_rewards_convert_global_to_local( void const * global_self, fd_prev_epoch_inflation_rewards_t * self, fd_bincode_decode_ctx_t * ctx );
    7367             : 
    7368             : void fd_vote_new( fd_vote_t * self );
    7369             : int fd_vote_encode( fd_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    7370             : void fd_vote_destroy( fd_vote_t * self );
    7371             : void fd_vote_walk( void * w, fd_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7372             : ulong fd_vote_size( fd_vote_t const * self );
    7373             : ulong fd_vote_footprint( void );
    7374             : ulong fd_vote_align( void );
    7375             : int fd_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7376             : int fd_vote_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7377             : void * fd_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7378             : void fd_vote_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7379             : void * fd_vote_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7380             : void fd_vote_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7381             : int fd_vote_convert_global_to_local( void const * global_self, fd_vote_t * self, fd_bincode_decode_ctx_t * ctx );
    7382             : 
    7383             : void fd_vote_init_new( fd_vote_init_t * self );
    7384             : int fd_vote_init_encode( fd_vote_init_t const * self, fd_bincode_encode_ctx_t * ctx );
    7385             : void fd_vote_init_destroy( fd_vote_init_t * self );
    7386             : void fd_vote_init_walk( void * w, fd_vote_init_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7387             : ulong fd_vote_init_size( fd_vote_init_t const * self );
    7388             : ulong fd_vote_init_footprint( void );
    7389             : ulong fd_vote_init_align( void );
    7390             : int fd_vote_init_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7391             : int fd_vote_init_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7392             : void * fd_vote_init_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7393             : void fd_vote_init_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7394             : void * fd_vote_init_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7395             : void fd_vote_init_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7396             : int fd_vote_init_convert_global_to_local( void const * global_self, fd_vote_init_t * self, fd_bincode_decode_ctx_t * ctx );
    7397             : 
    7398             : void fd_vote_authorize_new_disc( fd_vote_authorize_t * self, uint discriminant );
    7399             : void fd_vote_authorize_new( fd_vote_authorize_t * self );
    7400             : int fd_vote_authorize_encode( fd_vote_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    7401             : void fd_vote_authorize_destroy( fd_vote_authorize_t * self );
    7402             : void fd_vote_authorize_walk( void * w, fd_vote_authorize_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7403             : ulong fd_vote_authorize_size( fd_vote_authorize_t const * self );
    7404             : ulong fd_vote_authorize_footprint( void );
    7405             : ulong fd_vote_authorize_align( void );
    7406             : int fd_vote_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7407             : int fd_vote_authorize_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7408             : void * fd_vote_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7409             : void fd_vote_authorize_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7410             : void * fd_vote_authorize_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7411             : void fd_vote_authorize_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7412             : int fd_vote_authorize_convert_global_to_local( void const * global_self, fd_vote_authorize_t * self, fd_bincode_decode_ctx_t * ctx );
    7413             : 
    7414             : FD_FN_PURE uchar fd_vote_authorize_is_voter( fd_vote_authorize_t const * self );
    7415             : FD_FN_PURE uchar fd_vote_authorize_is_withdrawer( fd_vote_authorize_t const * self );
    7416             : enum {
    7417             : fd_vote_authorize_enum_voter = 0,
    7418             : fd_vote_authorize_enum_withdrawer = 1,
    7419             : };
    7420             : void fd_vote_authorize_pubkey_new( fd_vote_authorize_pubkey_t * self );
    7421             : int fd_vote_authorize_pubkey_encode( fd_vote_authorize_pubkey_t const * self, fd_bincode_encode_ctx_t * ctx );
    7422             : void fd_vote_authorize_pubkey_destroy( fd_vote_authorize_pubkey_t * self );
    7423             : void fd_vote_authorize_pubkey_walk( void * w, fd_vote_authorize_pubkey_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7424             : ulong fd_vote_authorize_pubkey_size( fd_vote_authorize_pubkey_t const * self );
    7425             : ulong fd_vote_authorize_pubkey_footprint( void );
    7426             : ulong fd_vote_authorize_pubkey_align( void );
    7427             : int fd_vote_authorize_pubkey_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7428             : int fd_vote_authorize_pubkey_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7429             : void * fd_vote_authorize_pubkey_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7430             : void fd_vote_authorize_pubkey_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7431             : void * fd_vote_authorize_pubkey_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7432             : void fd_vote_authorize_pubkey_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7433             : int fd_vote_authorize_pubkey_convert_global_to_local( void const * global_self, fd_vote_authorize_pubkey_t * self, fd_bincode_decode_ctx_t * ctx );
    7434             : 
    7435             : void fd_vote_switch_new( fd_vote_switch_t * self );
    7436             : int fd_vote_switch_encode( fd_vote_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    7437             : void fd_vote_switch_destroy( fd_vote_switch_t * self );
    7438             : void fd_vote_switch_walk( void * w, fd_vote_switch_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7439             : ulong fd_vote_switch_size( fd_vote_switch_t const * self );
    7440             : ulong fd_vote_switch_footprint( void );
    7441             : ulong fd_vote_switch_align( void );
    7442             : int fd_vote_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7443             : int fd_vote_switch_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7444             : void * fd_vote_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7445             : void fd_vote_switch_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7446             : void * fd_vote_switch_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7447             : void fd_vote_switch_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7448             : int fd_vote_switch_convert_global_to_local( void const * global_self, fd_vote_switch_t * self, fd_bincode_decode_ctx_t * ctx );
    7449             : 
    7450             : void fd_update_vote_state_switch_new( fd_update_vote_state_switch_t * self );
    7451             : int fd_update_vote_state_switch_encode( fd_update_vote_state_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    7452             : void fd_update_vote_state_switch_destroy( fd_update_vote_state_switch_t * self );
    7453             : void fd_update_vote_state_switch_walk( void * w, fd_update_vote_state_switch_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7454             : ulong fd_update_vote_state_switch_size( fd_update_vote_state_switch_t const * self );
    7455             : ulong fd_update_vote_state_switch_footprint( void );
    7456             : ulong fd_update_vote_state_switch_align( void );
    7457             : int fd_update_vote_state_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7458             : int fd_update_vote_state_switch_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7459             : void * fd_update_vote_state_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7460             : void fd_update_vote_state_switch_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7461             : void * fd_update_vote_state_switch_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7462             : void fd_update_vote_state_switch_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7463             : int fd_update_vote_state_switch_convert_global_to_local( void const * global_self, fd_update_vote_state_switch_t * self, fd_bincode_decode_ctx_t * ctx );
    7464             : 
    7465             : void fd_vote_authorize_with_seed_args_new( fd_vote_authorize_with_seed_args_t * self );
    7466             : int fd_vote_authorize_with_seed_args_encode( fd_vote_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7467             : void fd_vote_authorize_with_seed_args_destroy( fd_vote_authorize_with_seed_args_t * self );
    7468             : void fd_vote_authorize_with_seed_args_walk( void * w, fd_vote_authorize_with_seed_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7469             : ulong fd_vote_authorize_with_seed_args_size( fd_vote_authorize_with_seed_args_t const * self );
    7470             : ulong fd_vote_authorize_with_seed_args_footprint( void );
    7471             : ulong fd_vote_authorize_with_seed_args_align( void );
    7472             : int fd_vote_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7473             : int fd_vote_authorize_with_seed_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7474             : void * fd_vote_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7475             : void fd_vote_authorize_with_seed_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7476             : void * fd_vote_authorize_with_seed_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7477             : void fd_vote_authorize_with_seed_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7478             : int fd_vote_authorize_with_seed_args_convert_global_to_local( void const * global_self, fd_vote_authorize_with_seed_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7479             : 
    7480             : void fd_vote_authorize_checked_with_seed_args_new( fd_vote_authorize_checked_with_seed_args_t * self );
    7481             : int fd_vote_authorize_checked_with_seed_args_encode( fd_vote_authorize_checked_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7482             : void fd_vote_authorize_checked_with_seed_args_destroy( fd_vote_authorize_checked_with_seed_args_t * self );
    7483             : void fd_vote_authorize_checked_with_seed_args_walk( void * w, fd_vote_authorize_checked_with_seed_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7484             : ulong fd_vote_authorize_checked_with_seed_args_size( fd_vote_authorize_checked_with_seed_args_t const * self );
    7485             : ulong fd_vote_authorize_checked_with_seed_args_footprint( void );
    7486             : ulong fd_vote_authorize_checked_with_seed_args_align( void );
    7487             : int fd_vote_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7488             : int fd_vote_authorize_checked_with_seed_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7489             : void * fd_vote_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7490             : void fd_vote_authorize_checked_with_seed_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7491             : void * fd_vote_authorize_checked_with_seed_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7492             : void fd_vote_authorize_checked_with_seed_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7493             : int fd_vote_authorize_checked_with_seed_args_convert_global_to_local( void const * global_self, fd_vote_authorize_checked_with_seed_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7494             : 
    7495             : void fd_vote_instruction_new_disc( fd_vote_instruction_t * self, uint discriminant );
    7496             : void fd_vote_instruction_new( fd_vote_instruction_t * self );
    7497             : int fd_vote_instruction_encode( fd_vote_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    7498             : void fd_vote_instruction_destroy( fd_vote_instruction_t * self );
    7499             : void fd_vote_instruction_walk( void * w, fd_vote_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7500             : ulong fd_vote_instruction_size( fd_vote_instruction_t const * self );
    7501             : ulong fd_vote_instruction_footprint( void );
    7502             : ulong fd_vote_instruction_align( void );
    7503             : int fd_vote_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7504             : int fd_vote_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7505             : void * fd_vote_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7506             : void fd_vote_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7507             : void * fd_vote_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7508             : void fd_vote_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7509             : int fd_vote_instruction_convert_global_to_local( void const * global_self, fd_vote_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    7510             : 
    7511             : FD_FN_PURE uchar fd_vote_instruction_is_initialize_account( fd_vote_instruction_t const * self );
    7512             : FD_FN_PURE uchar fd_vote_instruction_is_authorize( fd_vote_instruction_t const * self );
    7513             : FD_FN_PURE uchar fd_vote_instruction_is_vote( fd_vote_instruction_t const * self );
    7514             : FD_FN_PURE uchar fd_vote_instruction_is_withdraw( fd_vote_instruction_t const * self );
    7515             : FD_FN_PURE uchar fd_vote_instruction_is_update_validator_identity( fd_vote_instruction_t const * self );
    7516             : FD_FN_PURE uchar fd_vote_instruction_is_update_commission( fd_vote_instruction_t const * self );
    7517             : FD_FN_PURE uchar fd_vote_instruction_is_vote_switch( fd_vote_instruction_t const * self );
    7518             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked( fd_vote_instruction_t const * self );
    7519             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state( fd_vote_instruction_t const * self );
    7520             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state_switch( fd_vote_instruction_t const * self );
    7521             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_with_seed( fd_vote_instruction_t const * self );
    7522             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked_with_seed( fd_vote_instruction_t const * self );
    7523             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state( fd_vote_instruction_t const * self );
    7524             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state_switch( fd_vote_instruction_t const * self );
    7525             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync( fd_vote_instruction_t const * self );
    7526             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync_switch( fd_vote_instruction_t const * self );
    7527             : enum {
    7528             : fd_vote_instruction_enum_initialize_account = 0,
    7529             : fd_vote_instruction_enum_authorize = 1,
    7530             : fd_vote_instruction_enum_vote = 2,
    7531             : fd_vote_instruction_enum_withdraw = 3,
    7532             : fd_vote_instruction_enum_update_validator_identity = 4,
    7533             : fd_vote_instruction_enum_update_commission = 5,
    7534             : fd_vote_instruction_enum_vote_switch = 6,
    7535             : fd_vote_instruction_enum_authorize_checked = 7,
    7536             : fd_vote_instruction_enum_update_vote_state = 8,
    7537             : fd_vote_instruction_enum_update_vote_state_switch = 9,
    7538             : fd_vote_instruction_enum_authorize_with_seed = 10,
    7539             : fd_vote_instruction_enum_authorize_checked_with_seed = 11,
    7540             : fd_vote_instruction_enum_compact_update_vote_state = 12,
    7541             : fd_vote_instruction_enum_compact_update_vote_state_switch = 13,
    7542             : fd_vote_instruction_enum_tower_sync = 14,
    7543             : fd_vote_instruction_enum_tower_sync_switch = 15,
    7544             : };
    7545             : void fd_system_program_instruction_create_account_new( fd_system_program_instruction_create_account_t * self );
    7546             : int fd_system_program_instruction_create_account_encode( fd_system_program_instruction_create_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    7547             : void fd_system_program_instruction_create_account_destroy( fd_system_program_instruction_create_account_t * self );
    7548             : void fd_system_program_instruction_create_account_walk( void * w, fd_system_program_instruction_create_account_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7549             : ulong fd_system_program_instruction_create_account_size( fd_system_program_instruction_create_account_t const * self );
    7550             : ulong fd_system_program_instruction_create_account_footprint( void );
    7551             : ulong fd_system_program_instruction_create_account_align( void );
    7552             : int fd_system_program_instruction_create_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7553             : int fd_system_program_instruction_create_account_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7554             : void * fd_system_program_instruction_create_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7555             : void fd_system_program_instruction_create_account_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7556             : void * fd_system_program_instruction_create_account_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7557             : void fd_system_program_instruction_create_account_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7558             : int fd_system_program_instruction_create_account_convert_global_to_local( void const * global_self, fd_system_program_instruction_create_account_t * self, fd_bincode_decode_ctx_t * ctx );
    7559             : 
    7560             : void fd_system_program_instruction_create_account_with_seed_new( fd_system_program_instruction_create_account_with_seed_t * self );
    7561             : int fd_system_program_instruction_create_account_with_seed_encode( fd_system_program_instruction_create_account_with_seed_t const * self, fd_bincode_encode_ctx_t * ctx );
    7562             : void fd_system_program_instruction_create_account_with_seed_destroy( fd_system_program_instruction_create_account_with_seed_t * self );
    7563             : void fd_system_program_instruction_create_account_with_seed_walk( void * w, fd_system_program_instruction_create_account_with_seed_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7564             : ulong fd_system_program_instruction_create_account_with_seed_size( fd_system_program_instruction_create_account_with_seed_t const * self );
    7565             : ulong fd_system_program_instruction_create_account_with_seed_footprint( void );
    7566             : ulong fd_system_program_instruction_create_account_with_seed_align( void );
    7567             : int fd_system_program_instruction_create_account_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7568             : int fd_system_program_instruction_create_account_with_seed_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7569             : void * fd_system_program_instruction_create_account_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7570             : void fd_system_program_instruction_create_account_with_seed_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7571             : void * fd_system_program_instruction_create_account_with_seed_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7572             : void fd_system_program_instruction_create_account_with_seed_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7573             : int fd_system_program_instruction_create_account_with_seed_convert_global_to_local( void const * global_self, fd_system_program_instruction_create_account_with_seed_t * self, fd_bincode_decode_ctx_t * ctx );
    7574             : 
    7575             : void fd_system_program_instruction_allocate_with_seed_new( fd_system_program_instruction_allocate_with_seed_t * self );
    7576             : int fd_system_program_instruction_allocate_with_seed_encode( fd_system_program_instruction_allocate_with_seed_t const * self, fd_bincode_encode_ctx_t * ctx );
    7577             : void fd_system_program_instruction_allocate_with_seed_destroy( fd_system_program_instruction_allocate_with_seed_t * self );
    7578             : void fd_system_program_instruction_allocate_with_seed_walk( void * w, fd_system_program_instruction_allocate_with_seed_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7579             : ulong fd_system_program_instruction_allocate_with_seed_size( fd_system_program_instruction_allocate_with_seed_t const * self );
    7580             : ulong fd_system_program_instruction_allocate_with_seed_footprint( void );
    7581             : ulong fd_system_program_instruction_allocate_with_seed_align( void );
    7582             : int fd_system_program_instruction_allocate_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7583             : int fd_system_program_instruction_allocate_with_seed_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7584             : void * fd_system_program_instruction_allocate_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7585             : void fd_system_program_instruction_allocate_with_seed_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7586             : void * fd_system_program_instruction_allocate_with_seed_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7587             : void fd_system_program_instruction_allocate_with_seed_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7588             : int fd_system_program_instruction_allocate_with_seed_convert_global_to_local( void const * global_self, fd_system_program_instruction_allocate_with_seed_t * self, fd_bincode_decode_ctx_t * ctx );
    7589             : 
    7590             : void fd_system_program_instruction_assign_with_seed_new( fd_system_program_instruction_assign_with_seed_t * self );
    7591             : int fd_system_program_instruction_assign_with_seed_encode( fd_system_program_instruction_assign_with_seed_t const * self, fd_bincode_encode_ctx_t * ctx );
    7592             : void fd_system_program_instruction_assign_with_seed_destroy( fd_system_program_instruction_assign_with_seed_t * self );
    7593             : void fd_system_program_instruction_assign_with_seed_walk( void * w, fd_system_program_instruction_assign_with_seed_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7594             : ulong fd_system_program_instruction_assign_with_seed_size( fd_system_program_instruction_assign_with_seed_t const * self );
    7595             : ulong fd_system_program_instruction_assign_with_seed_footprint( void );
    7596             : ulong fd_system_program_instruction_assign_with_seed_align( void );
    7597             : int fd_system_program_instruction_assign_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7598             : int fd_system_program_instruction_assign_with_seed_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7599             : void * fd_system_program_instruction_assign_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7600             : void fd_system_program_instruction_assign_with_seed_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7601             : void * fd_system_program_instruction_assign_with_seed_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7602             : void fd_system_program_instruction_assign_with_seed_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7603             : int fd_system_program_instruction_assign_with_seed_convert_global_to_local( void const * global_self, fd_system_program_instruction_assign_with_seed_t * self, fd_bincode_decode_ctx_t * ctx );
    7604             : 
    7605             : void fd_system_program_instruction_transfer_with_seed_new( fd_system_program_instruction_transfer_with_seed_t * self );
    7606             : int fd_system_program_instruction_transfer_with_seed_encode( fd_system_program_instruction_transfer_with_seed_t const * self, fd_bincode_encode_ctx_t * ctx );
    7607             : void fd_system_program_instruction_transfer_with_seed_destroy( fd_system_program_instruction_transfer_with_seed_t * self );
    7608             : void fd_system_program_instruction_transfer_with_seed_walk( void * w, fd_system_program_instruction_transfer_with_seed_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7609             : ulong fd_system_program_instruction_transfer_with_seed_size( fd_system_program_instruction_transfer_with_seed_t const * self );
    7610             : ulong fd_system_program_instruction_transfer_with_seed_footprint( void );
    7611             : ulong fd_system_program_instruction_transfer_with_seed_align( void );
    7612             : int fd_system_program_instruction_transfer_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7613             : int fd_system_program_instruction_transfer_with_seed_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7614             : void * fd_system_program_instruction_transfer_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7615             : void fd_system_program_instruction_transfer_with_seed_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7616             : void * fd_system_program_instruction_transfer_with_seed_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7617             : void fd_system_program_instruction_transfer_with_seed_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7618             : int fd_system_program_instruction_transfer_with_seed_convert_global_to_local( void const * global_self, fd_system_program_instruction_transfer_with_seed_t * self, fd_bincode_decode_ctx_t * ctx );
    7619             : 
    7620             : void fd_system_program_instruction_new_disc( fd_system_program_instruction_t * self, uint discriminant );
    7621             : void fd_system_program_instruction_new( fd_system_program_instruction_t * self );
    7622             : int fd_system_program_instruction_encode( fd_system_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    7623             : void fd_system_program_instruction_destroy( fd_system_program_instruction_t * self );
    7624             : void fd_system_program_instruction_walk( void * w, fd_system_program_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7625             : ulong fd_system_program_instruction_size( fd_system_program_instruction_t const * self );
    7626             : ulong fd_system_program_instruction_footprint( void );
    7627             : ulong fd_system_program_instruction_align( void );
    7628             : int fd_system_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7629             : int fd_system_program_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7630             : void * fd_system_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7631             : void fd_system_program_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7632             : void * fd_system_program_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7633             : void fd_system_program_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7634             : int fd_system_program_instruction_convert_global_to_local( void const * global_self, fd_system_program_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    7635             : 
    7636             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account( fd_system_program_instruction_t const * self );
    7637             : FD_FN_PURE uchar fd_system_program_instruction_is_assign( fd_system_program_instruction_t const * self );
    7638             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer( fd_system_program_instruction_t const * self );
    7639             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account_with_seed( fd_system_program_instruction_t const * self );
    7640             : FD_FN_PURE uchar fd_system_program_instruction_is_advance_nonce_account( fd_system_program_instruction_t const * self );
    7641             : FD_FN_PURE uchar fd_system_program_instruction_is_withdraw_nonce_account( fd_system_program_instruction_t const * self );
    7642             : FD_FN_PURE uchar fd_system_program_instruction_is_initialize_nonce_account( fd_system_program_instruction_t const * self );
    7643             : FD_FN_PURE uchar fd_system_program_instruction_is_authorize_nonce_account( fd_system_program_instruction_t const * self );
    7644             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate( fd_system_program_instruction_t const * self );
    7645             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate_with_seed( fd_system_program_instruction_t const * self );
    7646             : FD_FN_PURE uchar fd_system_program_instruction_is_assign_with_seed( fd_system_program_instruction_t const * self );
    7647             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer_with_seed( fd_system_program_instruction_t const * self );
    7648             : FD_FN_PURE uchar fd_system_program_instruction_is_upgrade_nonce_account( fd_system_program_instruction_t const * self );
    7649             : enum {
    7650             : fd_system_program_instruction_enum_create_account = 0,
    7651             : fd_system_program_instruction_enum_assign = 1,
    7652             : fd_system_program_instruction_enum_transfer = 2,
    7653             : fd_system_program_instruction_enum_create_account_with_seed = 3,
    7654             : fd_system_program_instruction_enum_advance_nonce_account = 4,
    7655             : fd_system_program_instruction_enum_withdraw_nonce_account = 5,
    7656             : fd_system_program_instruction_enum_initialize_nonce_account = 6,
    7657             : fd_system_program_instruction_enum_authorize_nonce_account = 7,
    7658             : fd_system_program_instruction_enum_allocate = 8,
    7659             : fd_system_program_instruction_enum_allocate_with_seed = 9,
    7660             : fd_system_program_instruction_enum_assign_with_seed = 10,
    7661             : fd_system_program_instruction_enum_transfer_with_seed = 11,
    7662             : fd_system_program_instruction_enum_upgrade_nonce_account = 12,
    7663             : };
    7664             : void fd_system_error_new_disc( fd_system_error_t * self, uint discriminant );
    7665             : void fd_system_error_new( fd_system_error_t * self );
    7666             : int fd_system_error_encode( fd_system_error_t const * self, fd_bincode_encode_ctx_t * ctx );
    7667             : void fd_system_error_destroy( fd_system_error_t * self );
    7668             : void fd_system_error_walk( void * w, fd_system_error_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7669             : ulong fd_system_error_size( fd_system_error_t const * self );
    7670             : ulong fd_system_error_footprint( void );
    7671             : ulong fd_system_error_align( void );
    7672             : int fd_system_error_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7673             : int fd_system_error_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7674             : void * fd_system_error_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7675             : void fd_system_error_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7676             : void * fd_system_error_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7677             : void fd_system_error_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7678             : int fd_system_error_convert_global_to_local( void const * global_self, fd_system_error_t * self, fd_bincode_decode_ctx_t * ctx );
    7679             : 
    7680             : FD_FN_PURE uchar fd_system_error_is_account_already_in_use( fd_system_error_t const * self );
    7681             : FD_FN_PURE uchar fd_system_error_is_result_with_negative_lamports( fd_system_error_t const * self );
    7682             : FD_FN_PURE uchar fd_system_error_is_invalid_program_id( fd_system_error_t const * self );
    7683             : FD_FN_PURE uchar fd_system_error_is_invalid_account_data_length( fd_system_error_t const * self );
    7684             : FD_FN_PURE uchar fd_system_error_is_max_seed_length_exceeded( fd_system_error_t const * self );
    7685             : FD_FN_PURE uchar fd_system_error_is_address_with_seed_mismatch( fd_system_error_t const * self );
    7686             : FD_FN_PURE uchar fd_system_error_is_nonce_no_recent_blockhashes( fd_system_error_t const * self );
    7687             : FD_FN_PURE uchar fd_system_error_is_nonce_blockhash_not_expired( fd_system_error_t const * self );
    7688             : FD_FN_PURE uchar fd_system_error_is_nonce_unexpected_blockhash_value( fd_system_error_t const * self );
    7689             : enum {
    7690             : fd_system_error_enum_account_already_in_use = 0,
    7691             : fd_system_error_enum_result_with_negative_lamports = 1,
    7692             : fd_system_error_enum_invalid_program_id = 2,
    7693             : fd_system_error_enum_invalid_account_data_length = 3,
    7694             : fd_system_error_enum_max_seed_length_exceeded = 4,
    7695             : fd_system_error_enum_address_with_seed_mismatch = 5,
    7696             : fd_system_error_enum_nonce_no_recent_blockhashes = 6,
    7697             : fd_system_error_enum_nonce_blockhash_not_expired = 7,
    7698             : fd_system_error_enum_nonce_unexpected_blockhash_value = 8,
    7699             : };
    7700             : void fd_stake_authorized_new( fd_stake_authorized_t * self );
    7701             : int fd_stake_authorized_encode( fd_stake_authorized_t const * self, fd_bincode_encode_ctx_t * ctx );
    7702             : void fd_stake_authorized_destroy( fd_stake_authorized_t * self );
    7703             : void fd_stake_authorized_walk( void * w, fd_stake_authorized_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7704             : ulong fd_stake_authorized_size( fd_stake_authorized_t const * self );
    7705             : ulong fd_stake_authorized_footprint( void );
    7706             : ulong fd_stake_authorized_align( void );
    7707             : int fd_stake_authorized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7708             : int fd_stake_authorized_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7709             : void * fd_stake_authorized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7710             : void fd_stake_authorized_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7711             : void * fd_stake_authorized_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7712             : void fd_stake_authorized_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7713             : int fd_stake_authorized_convert_global_to_local( void const * global_self, fd_stake_authorized_t * self, fd_bincode_decode_ctx_t * ctx );
    7714             : 
    7715             : void fd_stake_lockup_new( fd_stake_lockup_t * self );
    7716             : int fd_stake_lockup_encode( fd_stake_lockup_t const * self, fd_bincode_encode_ctx_t * ctx );
    7717             : void fd_stake_lockup_destroy( fd_stake_lockup_t * self );
    7718             : void fd_stake_lockup_walk( void * w, fd_stake_lockup_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7719             : ulong fd_stake_lockup_size( fd_stake_lockup_t const * self );
    7720             : ulong fd_stake_lockup_footprint( void );
    7721             : ulong fd_stake_lockup_align( void );
    7722             : int fd_stake_lockup_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7723             : int fd_stake_lockup_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7724             : void * fd_stake_lockup_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7725             : void fd_stake_lockup_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7726             : void * fd_stake_lockup_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7727             : void fd_stake_lockup_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7728             : int fd_stake_lockup_convert_global_to_local( void const * global_self, fd_stake_lockup_t * self, fd_bincode_decode_ctx_t * ctx );
    7729             : 
    7730             : void fd_stake_instruction_initialize_new( fd_stake_instruction_initialize_t * self );
    7731             : int fd_stake_instruction_initialize_encode( fd_stake_instruction_initialize_t const * self, fd_bincode_encode_ctx_t * ctx );
    7732             : void fd_stake_instruction_initialize_destroy( fd_stake_instruction_initialize_t * self );
    7733             : void fd_stake_instruction_initialize_walk( void * w, fd_stake_instruction_initialize_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7734             : ulong fd_stake_instruction_initialize_size( fd_stake_instruction_initialize_t const * self );
    7735             : ulong fd_stake_instruction_initialize_footprint( void );
    7736             : ulong fd_stake_instruction_initialize_align( void );
    7737             : int fd_stake_instruction_initialize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7738             : int fd_stake_instruction_initialize_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7739             : void * fd_stake_instruction_initialize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7740             : void fd_stake_instruction_initialize_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7741             : void * fd_stake_instruction_initialize_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7742             : void fd_stake_instruction_initialize_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7743             : int fd_stake_instruction_initialize_convert_global_to_local( void const * global_self, fd_stake_instruction_initialize_t * self, fd_bincode_decode_ctx_t * ctx );
    7744             : 
    7745             : void fd_stake_lockup_custodian_args_new( fd_stake_lockup_custodian_args_t * self );
    7746             : int fd_stake_lockup_custodian_args_encode( fd_stake_lockup_custodian_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7747             : void fd_stake_lockup_custodian_args_destroy( fd_stake_lockup_custodian_args_t * self );
    7748             : void fd_stake_lockup_custodian_args_walk( void * w, fd_stake_lockup_custodian_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7749             : ulong fd_stake_lockup_custodian_args_size( fd_stake_lockup_custodian_args_t const * self );
    7750             : ulong fd_stake_lockup_custodian_args_footprint( void );
    7751             : ulong fd_stake_lockup_custodian_args_align( void );
    7752             : int fd_stake_lockup_custodian_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7753             : int fd_stake_lockup_custodian_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7754             : void * fd_stake_lockup_custodian_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7755             : void fd_stake_lockup_custodian_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7756             : void * fd_stake_lockup_custodian_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7757             : void fd_stake_lockup_custodian_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7758             : int fd_stake_lockup_custodian_args_convert_global_to_local( void const * global_self, fd_stake_lockup_custodian_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7759             : 
    7760             : void fd_stake_authorize_new_disc( fd_stake_authorize_t * self, uint discriminant );
    7761             : void fd_stake_authorize_new( fd_stake_authorize_t * self );
    7762             : int fd_stake_authorize_encode( fd_stake_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    7763             : void fd_stake_authorize_destroy( fd_stake_authorize_t * self );
    7764             : void fd_stake_authorize_walk( void * w, fd_stake_authorize_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7765             : ulong fd_stake_authorize_size( fd_stake_authorize_t const * self );
    7766             : ulong fd_stake_authorize_footprint( void );
    7767             : ulong fd_stake_authorize_align( void );
    7768             : int fd_stake_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7769             : int fd_stake_authorize_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7770             : void * fd_stake_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7771             : void fd_stake_authorize_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7772             : void * fd_stake_authorize_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7773             : void fd_stake_authorize_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7774             : int fd_stake_authorize_convert_global_to_local( void const * global_self, fd_stake_authorize_t * self, fd_bincode_decode_ctx_t * ctx );
    7775             : 
    7776             : FD_FN_PURE uchar fd_stake_authorize_is_staker( fd_stake_authorize_t const * self );
    7777             : FD_FN_PURE uchar fd_stake_authorize_is_withdrawer( fd_stake_authorize_t const * self );
    7778             : enum {
    7779             : fd_stake_authorize_enum_staker = 0,
    7780             : fd_stake_authorize_enum_withdrawer = 1,
    7781             : };
    7782             : void fd_stake_instruction_authorize_new( fd_stake_instruction_authorize_t * self );
    7783             : int fd_stake_instruction_authorize_encode( fd_stake_instruction_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    7784             : void fd_stake_instruction_authorize_destroy( fd_stake_instruction_authorize_t * self );
    7785             : void fd_stake_instruction_authorize_walk( void * w, fd_stake_instruction_authorize_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7786             : ulong fd_stake_instruction_authorize_size( fd_stake_instruction_authorize_t const * self );
    7787             : ulong fd_stake_instruction_authorize_footprint( void );
    7788             : ulong fd_stake_instruction_authorize_align( void );
    7789             : int fd_stake_instruction_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7790             : int fd_stake_instruction_authorize_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7791             : void * fd_stake_instruction_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7792             : void fd_stake_instruction_authorize_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7793             : void * fd_stake_instruction_authorize_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7794             : void fd_stake_instruction_authorize_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7795             : int fd_stake_instruction_authorize_convert_global_to_local( void const * global_self, fd_stake_instruction_authorize_t * self, fd_bincode_decode_ctx_t * ctx );
    7796             : 
    7797             : void fd_authorize_with_seed_args_new( fd_authorize_with_seed_args_t * self );
    7798             : int fd_authorize_with_seed_args_encode( fd_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7799             : void fd_authorize_with_seed_args_destroy( fd_authorize_with_seed_args_t * self );
    7800             : void fd_authorize_with_seed_args_walk( void * w, fd_authorize_with_seed_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7801             : ulong fd_authorize_with_seed_args_size( fd_authorize_with_seed_args_t const * self );
    7802             : ulong fd_authorize_with_seed_args_footprint( void );
    7803             : ulong fd_authorize_with_seed_args_align( void );
    7804             : int fd_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7805             : int fd_authorize_with_seed_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7806             : void * fd_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7807             : void fd_authorize_with_seed_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7808             : void * fd_authorize_with_seed_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7809             : void fd_authorize_with_seed_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7810             : int fd_authorize_with_seed_args_convert_global_to_local( void const * global_self, fd_authorize_with_seed_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7811             : 
    7812             : void fd_authorize_checked_with_seed_args_new( fd_authorize_checked_with_seed_args_t * self );
    7813             : int fd_authorize_checked_with_seed_args_encode( fd_authorize_checked_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7814             : void fd_authorize_checked_with_seed_args_destroy( fd_authorize_checked_with_seed_args_t * self );
    7815             : void fd_authorize_checked_with_seed_args_walk( void * w, fd_authorize_checked_with_seed_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7816             : ulong fd_authorize_checked_with_seed_args_size( fd_authorize_checked_with_seed_args_t const * self );
    7817             : ulong fd_authorize_checked_with_seed_args_footprint( void );
    7818             : ulong fd_authorize_checked_with_seed_args_align( void );
    7819             : int fd_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7820             : int fd_authorize_checked_with_seed_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7821             : void * fd_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7822             : void fd_authorize_checked_with_seed_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7823             : void * fd_authorize_checked_with_seed_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7824             : void fd_authorize_checked_with_seed_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7825             : int fd_authorize_checked_with_seed_args_convert_global_to_local( void const * global_self, fd_authorize_checked_with_seed_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7826             : 
    7827             : void fd_lockup_checked_args_new( fd_lockup_checked_args_t * self );
    7828             : int fd_lockup_checked_args_encode( fd_lockup_checked_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7829             : void fd_lockup_checked_args_destroy( fd_lockup_checked_args_t * self );
    7830             : void fd_lockup_checked_args_walk( void * w, fd_lockup_checked_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7831             : ulong fd_lockup_checked_args_size( fd_lockup_checked_args_t const * self );
    7832             : ulong fd_lockup_checked_args_footprint( void );
    7833             : ulong fd_lockup_checked_args_align( void );
    7834             : int fd_lockup_checked_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7835             : int fd_lockup_checked_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7836             : void * fd_lockup_checked_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7837             : void fd_lockup_checked_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7838             : void * fd_lockup_checked_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7839             : void fd_lockup_checked_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7840             : int fd_lockup_checked_args_convert_global_to_local( void const * global_self, fd_lockup_checked_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7841             : 
    7842             : void fd_lockup_args_new( fd_lockup_args_t * self );
    7843             : int fd_lockup_args_encode( fd_lockup_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    7844             : void fd_lockup_args_destroy( fd_lockup_args_t * self );
    7845             : void fd_lockup_args_walk( void * w, fd_lockup_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7846             : ulong fd_lockup_args_size( fd_lockup_args_t const * self );
    7847             : ulong fd_lockup_args_footprint( void );
    7848             : ulong fd_lockup_args_align( void );
    7849             : int fd_lockup_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7850             : int fd_lockup_args_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7851             : void * fd_lockup_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7852             : void fd_lockup_args_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7853             : void * fd_lockup_args_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7854             : void fd_lockup_args_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7855             : int fd_lockup_args_convert_global_to_local( void const * global_self, fd_lockup_args_t * self, fd_bincode_decode_ctx_t * ctx );
    7856             : 
    7857             : void fd_stake_instruction_new_disc( fd_stake_instruction_t * self, uint discriminant );
    7858             : void fd_stake_instruction_new( fd_stake_instruction_t * self );
    7859             : int fd_stake_instruction_encode( fd_stake_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    7860             : void fd_stake_instruction_destroy( fd_stake_instruction_t * self );
    7861             : void fd_stake_instruction_walk( void * w, fd_stake_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7862             : ulong fd_stake_instruction_size( fd_stake_instruction_t const * self );
    7863             : ulong fd_stake_instruction_footprint( void );
    7864             : ulong fd_stake_instruction_align( void );
    7865             : int fd_stake_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7866             : int fd_stake_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7867             : void * fd_stake_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7868             : void fd_stake_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7869             : void * fd_stake_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7870             : void fd_stake_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7871             : int fd_stake_instruction_convert_global_to_local( void const * global_self, fd_stake_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    7872             : 
    7873             : FD_FN_PURE uchar fd_stake_instruction_is_initialize( fd_stake_instruction_t const * self );
    7874             : FD_FN_PURE uchar fd_stake_instruction_is_authorize( fd_stake_instruction_t const * self );
    7875             : FD_FN_PURE uchar fd_stake_instruction_is_delegate_stake( fd_stake_instruction_t const * self );
    7876             : FD_FN_PURE uchar fd_stake_instruction_is_split( fd_stake_instruction_t const * self );
    7877             : FD_FN_PURE uchar fd_stake_instruction_is_withdraw( fd_stake_instruction_t const * self );
    7878             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate( fd_stake_instruction_t const * self );
    7879             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup( fd_stake_instruction_t const * self );
    7880             : FD_FN_PURE uchar fd_stake_instruction_is_merge( fd_stake_instruction_t const * self );
    7881             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_with_seed( fd_stake_instruction_t const * self );
    7882             : FD_FN_PURE uchar fd_stake_instruction_is_initialize_checked( fd_stake_instruction_t const * self );
    7883             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked( fd_stake_instruction_t const * self );
    7884             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked_with_seed( fd_stake_instruction_t const * self );
    7885             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup_checked( fd_stake_instruction_t const * self );
    7886             : FD_FN_PURE uchar fd_stake_instruction_is_get_minimum_delegation( fd_stake_instruction_t const * self );
    7887             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate_delinquent( fd_stake_instruction_t const * self );
    7888             : FD_FN_PURE uchar fd_stake_instruction_is_redelegate( fd_stake_instruction_t const * self );
    7889             : FD_FN_PURE uchar fd_stake_instruction_is_move_stake( fd_stake_instruction_t const * self );
    7890             : FD_FN_PURE uchar fd_stake_instruction_is_move_lamports( fd_stake_instruction_t const * self );
    7891             : enum {
    7892             : fd_stake_instruction_enum_initialize = 0,
    7893             : fd_stake_instruction_enum_authorize = 1,
    7894             : fd_stake_instruction_enum_delegate_stake = 2,
    7895             : fd_stake_instruction_enum_split = 3,
    7896             : fd_stake_instruction_enum_withdraw = 4,
    7897             : fd_stake_instruction_enum_deactivate = 5,
    7898             : fd_stake_instruction_enum_set_lockup = 6,
    7899             : fd_stake_instruction_enum_merge = 7,
    7900             : fd_stake_instruction_enum_authorize_with_seed = 8,
    7901             : fd_stake_instruction_enum_initialize_checked = 9,
    7902             : fd_stake_instruction_enum_authorize_checked = 10,
    7903             : fd_stake_instruction_enum_authorize_checked_with_seed = 11,
    7904             : fd_stake_instruction_enum_set_lockup_checked = 12,
    7905             : fd_stake_instruction_enum_get_minimum_delegation = 13,
    7906             : fd_stake_instruction_enum_deactivate_delinquent = 14,
    7907             : fd_stake_instruction_enum_redelegate = 15,
    7908             : fd_stake_instruction_enum_move_stake = 16,
    7909             : fd_stake_instruction_enum_move_lamports = 17,
    7910             : };
    7911             : void fd_stake_meta_new( fd_stake_meta_t * self );
    7912             : int fd_stake_meta_encode( fd_stake_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    7913             : void fd_stake_meta_destroy( fd_stake_meta_t * self );
    7914             : void fd_stake_meta_walk( void * w, fd_stake_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7915             : ulong fd_stake_meta_size( fd_stake_meta_t const * self );
    7916             : ulong fd_stake_meta_footprint( void );
    7917             : ulong fd_stake_meta_align( void );
    7918             : int fd_stake_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7919             : int fd_stake_meta_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7920             : void * fd_stake_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7921             : void fd_stake_meta_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7922             : void * fd_stake_meta_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7923             : void fd_stake_meta_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7924             : int fd_stake_meta_convert_global_to_local( void const * global_self, fd_stake_meta_t * self, fd_bincode_decode_ctx_t * ctx );
    7925             : 
    7926             : void fd_stake_flags_new( fd_stake_flags_t * self );
    7927             : int fd_stake_flags_encode( fd_stake_flags_t const * self, fd_bincode_encode_ctx_t * ctx );
    7928             : void fd_stake_flags_destroy( fd_stake_flags_t * self );
    7929             : void fd_stake_flags_walk( void * w, fd_stake_flags_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7930             : ulong fd_stake_flags_size( fd_stake_flags_t const * self );
    7931             : ulong fd_stake_flags_footprint( void );
    7932             : ulong fd_stake_flags_align( void );
    7933             : int fd_stake_flags_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7934             : int fd_stake_flags_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7935             : void * fd_stake_flags_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7936             : void fd_stake_flags_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7937             : void * fd_stake_flags_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7938             : void fd_stake_flags_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7939             : int fd_stake_flags_convert_global_to_local( void const * global_self, fd_stake_flags_t * self, fd_bincode_decode_ctx_t * ctx );
    7940             : 
    7941             : void fd_stake_state_v2_initialized_new( fd_stake_state_v2_initialized_t * self );
    7942             : int fd_stake_state_v2_initialized_encode( fd_stake_state_v2_initialized_t const * self, fd_bincode_encode_ctx_t * ctx );
    7943             : void fd_stake_state_v2_initialized_destroy( fd_stake_state_v2_initialized_t * self );
    7944             : void fd_stake_state_v2_initialized_walk( void * w, fd_stake_state_v2_initialized_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7945             : ulong fd_stake_state_v2_initialized_size( fd_stake_state_v2_initialized_t const * self );
    7946             : ulong fd_stake_state_v2_initialized_footprint( void );
    7947             : ulong fd_stake_state_v2_initialized_align( void );
    7948             : int fd_stake_state_v2_initialized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7949             : int fd_stake_state_v2_initialized_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7950             : void * fd_stake_state_v2_initialized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7951             : void fd_stake_state_v2_initialized_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7952             : void * fd_stake_state_v2_initialized_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7953             : void fd_stake_state_v2_initialized_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7954             : int fd_stake_state_v2_initialized_convert_global_to_local( void const * global_self, fd_stake_state_v2_initialized_t * self, fd_bincode_decode_ctx_t * ctx );
    7955             : 
    7956             : void fd_stake_state_v2_stake_new( fd_stake_state_v2_stake_t * self );
    7957             : int fd_stake_state_v2_stake_encode( fd_stake_state_v2_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    7958             : void fd_stake_state_v2_stake_destroy( fd_stake_state_v2_stake_t * self );
    7959             : void fd_stake_state_v2_stake_walk( void * w, fd_stake_state_v2_stake_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7960             : ulong fd_stake_state_v2_stake_size( fd_stake_state_v2_stake_t const * self );
    7961             : ulong fd_stake_state_v2_stake_footprint( void );
    7962             : ulong fd_stake_state_v2_stake_align( void );
    7963             : int fd_stake_state_v2_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7964             : int fd_stake_state_v2_stake_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7965             : void * fd_stake_state_v2_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7966             : void fd_stake_state_v2_stake_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7967             : void * fd_stake_state_v2_stake_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7968             : void fd_stake_state_v2_stake_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7969             : int fd_stake_state_v2_stake_convert_global_to_local( void const * global_self, fd_stake_state_v2_stake_t * self, fd_bincode_decode_ctx_t * ctx );
    7970             : 
    7971             : void fd_stake_state_v2_new_disc( fd_stake_state_v2_t * self, uint discriminant );
    7972             : void fd_stake_state_v2_new( fd_stake_state_v2_t * self );
    7973             : int fd_stake_state_v2_encode( fd_stake_state_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    7974             : void fd_stake_state_v2_destroy( fd_stake_state_v2_t * self );
    7975             : void fd_stake_state_v2_walk( void * w, fd_stake_state_v2_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    7976             : ulong fd_stake_state_v2_size( fd_stake_state_v2_t const * self );
    7977             : ulong fd_stake_state_v2_footprint( void );
    7978             : ulong fd_stake_state_v2_align( void );
    7979             : int fd_stake_state_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7980             : int fd_stake_state_v2_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    7981             : void * fd_stake_state_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    7982             : void fd_stake_state_v2_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7983             : void * fd_stake_state_v2_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    7984             : void fd_stake_state_v2_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    7985             : int fd_stake_state_v2_convert_global_to_local( void const * global_self, fd_stake_state_v2_t * self, fd_bincode_decode_ctx_t * ctx );
    7986             : 
    7987             : FD_FN_PURE uchar fd_stake_state_v2_is_uninitialized( fd_stake_state_v2_t const * self );
    7988             : FD_FN_PURE uchar fd_stake_state_v2_is_initialized( fd_stake_state_v2_t const * self );
    7989             : FD_FN_PURE uchar fd_stake_state_v2_is_stake( fd_stake_state_v2_t const * self );
    7990             : FD_FN_PURE uchar fd_stake_state_v2_is_rewards_pool( fd_stake_state_v2_t const * self );
    7991             : enum {
    7992             : fd_stake_state_v2_enum_uninitialized = 0,
    7993             : fd_stake_state_v2_enum_initialized = 1,
    7994             : fd_stake_state_v2_enum_stake = 2,
    7995             : fd_stake_state_v2_enum_rewards_pool = 3,
    7996             : };
    7997             : void fd_nonce_data_new( fd_nonce_data_t * self );
    7998             : int fd_nonce_data_encode( fd_nonce_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    7999             : void fd_nonce_data_destroy( fd_nonce_data_t * self );
    8000             : void fd_nonce_data_walk( void * w, fd_nonce_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8001             : ulong fd_nonce_data_size( fd_nonce_data_t const * self );
    8002             : ulong fd_nonce_data_footprint( void );
    8003             : ulong fd_nonce_data_align( void );
    8004             : int fd_nonce_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8005             : int fd_nonce_data_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8006             : void * fd_nonce_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8007             : void fd_nonce_data_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8008             : void * fd_nonce_data_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8009             : void fd_nonce_data_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8010             : int fd_nonce_data_convert_global_to_local( void const * global_self, fd_nonce_data_t * self, fd_bincode_decode_ctx_t * ctx );
    8011             : 
    8012             : void fd_nonce_state_new_disc( fd_nonce_state_t * self, uint discriminant );
    8013             : void fd_nonce_state_new( fd_nonce_state_t * self );
    8014             : int fd_nonce_state_encode( fd_nonce_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    8015             : void fd_nonce_state_destroy( fd_nonce_state_t * self );
    8016             : void fd_nonce_state_walk( void * w, fd_nonce_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8017             : ulong fd_nonce_state_size( fd_nonce_state_t const * self );
    8018             : ulong fd_nonce_state_footprint( void );
    8019             : ulong fd_nonce_state_align( void );
    8020             : int fd_nonce_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8021             : int fd_nonce_state_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8022             : void * fd_nonce_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8023             : void fd_nonce_state_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8024             : void * fd_nonce_state_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8025             : void fd_nonce_state_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8026             : int fd_nonce_state_convert_global_to_local( void const * global_self, fd_nonce_state_t * self, fd_bincode_decode_ctx_t * ctx );
    8027             : 
    8028             : FD_FN_PURE uchar fd_nonce_state_is_uninitialized( fd_nonce_state_t const * self );
    8029             : FD_FN_PURE uchar fd_nonce_state_is_initialized( fd_nonce_state_t const * self );
    8030             : enum {
    8031             : fd_nonce_state_enum_uninitialized = 0,
    8032             : fd_nonce_state_enum_initialized = 1,
    8033             : };
    8034             : void fd_nonce_state_versions_new_disc( fd_nonce_state_versions_t * self, uint discriminant );
    8035             : void fd_nonce_state_versions_new( fd_nonce_state_versions_t * self );
    8036             : int fd_nonce_state_versions_encode( fd_nonce_state_versions_t const * self, fd_bincode_encode_ctx_t * ctx );
    8037             : void fd_nonce_state_versions_destroy( fd_nonce_state_versions_t * self );
    8038             : void fd_nonce_state_versions_walk( void * w, fd_nonce_state_versions_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8039             : ulong fd_nonce_state_versions_size( fd_nonce_state_versions_t const * self );
    8040             : ulong fd_nonce_state_versions_footprint( void );
    8041             : ulong fd_nonce_state_versions_align( void );
    8042             : int fd_nonce_state_versions_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8043             : int fd_nonce_state_versions_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8044             : void * fd_nonce_state_versions_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8045             : void fd_nonce_state_versions_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8046             : void * fd_nonce_state_versions_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8047             : void fd_nonce_state_versions_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8048             : int fd_nonce_state_versions_convert_global_to_local( void const * global_self, fd_nonce_state_versions_t * self, fd_bincode_decode_ctx_t * ctx );
    8049             : 
    8050             : FD_FN_PURE uchar fd_nonce_state_versions_is_legacy( fd_nonce_state_versions_t const * self );
    8051             : FD_FN_PURE uchar fd_nonce_state_versions_is_current( fd_nonce_state_versions_t const * self );
    8052             : enum {
    8053             : fd_nonce_state_versions_enum_legacy = 0,
    8054             : fd_nonce_state_versions_enum_current = 1,
    8055             : };
    8056             : void fd_compute_budget_program_instruction_request_units_deprecated_new( fd_compute_budget_program_instruction_request_units_deprecated_t * self );
    8057             : int fd_compute_budget_program_instruction_request_units_deprecated_encode( fd_compute_budget_program_instruction_request_units_deprecated_t const * self, fd_bincode_encode_ctx_t * ctx );
    8058             : void fd_compute_budget_program_instruction_request_units_deprecated_destroy( fd_compute_budget_program_instruction_request_units_deprecated_t * self );
    8059             : void fd_compute_budget_program_instruction_request_units_deprecated_walk( void * w, fd_compute_budget_program_instruction_request_units_deprecated_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8060             : ulong fd_compute_budget_program_instruction_request_units_deprecated_size( fd_compute_budget_program_instruction_request_units_deprecated_t const * self );
    8061             : ulong fd_compute_budget_program_instruction_request_units_deprecated_footprint( void );
    8062             : ulong fd_compute_budget_program_instruction_request_units_deprecated_align( void );
    8063             : int fd_compute_budget_program_instruction_request_units_deprecated_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8064             : int fd_compute_budget_program_instruction_request_units_deprecated_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8065             : void * fd_compute_budget_program_instruction_request_units_deprecated_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8066             : void fd_compute_budget_program_instruction_request_units_deprecated_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8067             : void * fd_compute_budget_program_instruction_request_units_deprecated_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8068             : void fd_compute_budget_program_instruction_request_units_deprecated_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8069             : int fd_compute_budget_program_instruction_request_units_deprecated_convert_global_to_local( void const * global_self, fd_compute_budget_program_instruction_request_units_deprecated_t * self, fd_bincode_decode_ctx_t * ctx );
    8070             : 
    8071             : void fd_compute_budget_program_instruction_new_disc( fd_compute_budget_program_instruction_t * self, uint discriminant );
    8072             : void fd_compute_budget_program_instruction_new( fd_compute_budget_program_instruction_t * self );
    8073             : int fd_compute_budget_program_instruction_encode( fd_compute_budget_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    8074             : void fd_compute_budget_program_instruction_destroy( fd_compute_budget_program_instruction_t * self );
    8075             : void fd_compute_budget_program_instruction_walk( void * w, fd_compute_budget_program_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8076             : ulong fd_compute_budget_program_instruction_size( fd_compute_budget_program_instruction_t const * self );
    8077             : ulong fd_compute_budget_program_instruction_footprint( void );
    8078             : ulong fd_compute_budget_program_instruction_align( void );
    8079             : int fd_compute_budget_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8080             : int fd_compute_budget_program_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8081             : void * fd_compute_budget_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8082             : void fd_compute_budget_program_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8083             : void * fd_compute_budget_program_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8084             : void fd_compute_budget_program_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8085             : int fd_compute_budget_program_instruction_convert_global_to_local( void const * global_self, fd_compute_budget_program_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    8086             : 
    8087             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_units_deprecated( fd_compute_budget_program_instruction_t const * self );
    8088             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_heap_frame( fd_compute_budget_program_instruction_t const * self );
    8089             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_limit( fd_compute_budget_program_instruction_t const * self );
    8090             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_price( fd_compute_budget_program_instruction_t const * self );
    8091             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_loaded_accounts_data_size_limit( fd_compute_budget_program_instruction_t const * self );
    8092             : enum {
    8093             : fd_compute_budget_program_instruction_enum_request_units_deprecated = 0,
    8094             : fd_compute_budget_program_instruction_enum_request_heap_frame = 1,
    8095             : fd_compute_budget_program_instruction_enum_set_compute_unit_limit = 2,
    8096             : fd_compute_budget_program_instruction_enum_set_compute_unit_price = 3,
    8097             : fd_compute_budget_program_instruction_enum_set_loaded_accounts_data_size_limit = 4,
    8098             : };
    8099             : void fd_config_keys_new( fd_config_keys_t * self );
    8100             : int fd_config_keys_encode( fd_config_keys_t const * self, fd_bincode_encode_ctx_t * ctx );
    8101             : void fd_config_keys_destroy( fd_config_keys_t * self );
    8102             : void fd_config_keys_walk( void * w, fd_config_keys_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8103             : ulong fd_config_keys_size( fd_config_keys_t const * self );
    8104             : ulong fd_config_keys_footprint( void );
    8105             : ulong fd_config_keys_align( void );
    8106             : int fd_config_keys_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8107             : int fd_config_keys_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8108             : void * fd_config_keys_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8109             : void fd_config_keys_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8110             : void * fd_config_keys_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8111             : void fd_config_keys_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8112             : int fd_config_keys_convert_global_to_local( void const * global_self, fd_config_keys_t * self, fd_bincode_decode_ctx_t * ctx );
    8113             : 
    8114             : void fd_bpf_loader_program_instruction_write_new( fd_bpf_loader_program_instruction_write_t * self );
    8115             : int fd_bpf_loader_program_instruction_write_encode( fd_bpf_loader_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    8116             : void fd_bpf_loader_program_instruction_write_destroy( fd_bpf_loader_program_instruction_write_t * self );
    8117             : void fd_bpf_loader_program_instruction_write_walk( void * w, fd_bpf_loader_program_instruction_write_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8118             : ulong fd_bpf_loader_program_instruction_write_size( fd_bpf_loader_program_instruction_write_t const * self );
    8119             : ulong fd_bpf_loader_program_instruction_write_footprint( void );
    8120             : ulong fd_bpf_loader_program_instruction_write_align( void );
    8121             : int fd_bpf_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8122             : int fd_bpf_loader_program_instruction_write_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8123             : void * fd_bpf_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8124             : void fd_bpf_loader_program_instruction_write_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8125             : void * fd_bpf_loader_program_instruction_write_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8126             : void fd_bpf_loader_program_instruction_write_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8127             : int fd_bpf_loader_program_instruction_write_convert_global_to_local( void const * global_self, fd_bpf_loader_program_instruction_write_t * self, fd_bincode_decode_ctx_t * ctx );
    8128             : 
    8129             : void fd_bpf_loader_program_instruction_new_disc( fd_bpf_loader_program_instruction_t * self, uint discriminant );
    8130             : void fd_bpf_loader_program_instruction_new( fd_bpf_loader_program_instruction_t * self );
    8131             : int fd_bpf_loader_program_instruction_encode( fd_bpf_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    8132             : void fd_bpf_loader_program_instruction_destroy( fd_bpf_loader_program_instruction_t * self );
    8133             : void fd_bpf_loader_program_instruction_walk( void * w, fd_bpf_loader_program_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8134             : ulong fd_bpf_loader_program_instruction_size( fd_bpf_loader_program_instruction_t const * self );
    8135             : ulong fd_bpf_loader_program_instruction_footprint( void );
    8136             : ulong fd_bpf_loader_program_instruction_align( void );
    8137             : int fd_bpf_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8138             : int fd_bpf_loader_program_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8139             : void * fd_bpf_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8140             : void fd_bpf_loader_program_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8141             : void * fd_bpf_loader_program_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8142             : void fd_bpf_loader_program_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8143             : int fd_bpf_loader_program_instruction_convert_global_to_local( void const * global_self, fd_bpf_loader_program_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    8144             : 
    8145             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_write( fd_bpf_loader_program_instruction_t const * self );
    8146             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_finalize( fd_bpf_loader_program_instruction_t const * self );
    8147             : enum {
    8148             : fd_bpf_loader_program_instruction_enum_write = 0,
    8149             : fd_bpf_loader_program_instruction_enum_finalize = 1,
    8150             : };
    8151             : void fd_loader_v4_program_instruction_write_new( fd_loader_v4_program_instruction_write_t * self );
    8152             : int fd_loader_v4_program_instruction_write_encode( fd_loader_v4_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    8153             : void fd_loader_v4_program_instruction_write_destroy( fd_loader_v4_program_instruction_write_t * self );
    8154             : void fd_loader_v4_program_instruction_write_walk( void * w, fd_loader_v4_program_instruction_write_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8155             : ulong fd_loader_v4_program_instruction_write_size( fd_loader_v4_program_instruction_write_t const * self );
    8156             : ulong fd_loader_v4_program_instruction_write_footprint( void );
    8157             : ulong fd_loader_v4_program_instruction_write_align( void );
    8158             : int fd_loader_v4_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8159             : int fd_loader_v4_program_instruction_write_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8160             : void * fd_loader_v4_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8161             : void fd_loader_v4_program_instruction_write_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8162             : void * fd_loader_v4_program_instruction_write_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8163             : void fd_loader_v4_program_instruction_write_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8164             : int fd_loader_v4_program_instruction_write_convert_global_to_local( void const * global_self, fd_loader_v4_program_instruction_write_t * self, fd_bincode_decode_ctx_t * ctx );
    8165             : 
    8166             : void fd_loader_v4_program_instruction_truncate_new( fd_loader_v4_program_instruction_truncate_t * self );
    8167             : int fd_loader_v4_program_instruction_truncate_encode( fd_loader_v4_program_instruction_truncate_t const * self, fd_bincode_encode_ctx_t * ctx );
    8168             : void fd_loader_v4_program_instruction_truncate_destroy( fd_loader_v4_program_instruction_truncate_t * self );
    8169             : void fd_loader_v4_program_instruction_truncate_walk( void * w, fd_loader_v4_program_instruction_truncate_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8170             : ulong fd_loader_v4_program_instruction_truncate_size( fd_loader_v4_program_instruction_truncate_t const * self );
    8171             : ulong fd_loader_v4_program_instruction_truncate_footprint( void );
    8172             : ulong fd_loader_v4_program_instruction_truncate_align( void );
    8173             : int fd_loader_v4_program_instruction_truncate_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8174             : int fd_loader_v4_program_instruction_truncate_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8175             : void * fd_loader_v4_program_instruction_truncate_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8176             : void fd_loader_v4_program_instruction_truncate_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8177             : void * fd_loader_v4_program_instruction_truncate_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8178             : void fd_loader_v4_program_instruction_truncate_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8179             : int fd_loader_v4_program_instruction_truncate_convert_global_to_local( void const * global_self, fd_loader_v4_program_instruction_truncate_t * self, fd_bincode_decode_ctx_t * ctx );
    8180             : 
    8181             : void fd_loader_v4_program_instruction_new_disc( fd_loader_v4_program_instruction_t * self, uint discriminant );
    8182             : void fd_loader_v4_program_instruction_new( fd_loader_v4_program_instruction_t * self );
    8183             : int fd_loader_v4_program_instruction_encode( fd_loader_v4_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    8184             : void fd_loader_v4_program_instruction_destroy( fd_loader_v4_program_instruction_t * self );
    8185             : void fd_loader_v4_program_instruction_walk( void * w, fd_loader_v4_program_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8186             : ulong fd_loader_v4_program_instruction_size( fd_loader_v4_program_instruction_t const * self );
    8187             : ulong fd_loader_v4_program_instruction_footprint( void );
    8188             : ulong fd_loader_v4_program_instruction_align( void );
    8189             : int fd_loader_v4_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8190             : int fd_loader_v4_program_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8191             : void * fd_loader_v4_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8192             : void fd_loader_v4_program_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8193             : void * fd_loader_v4_program_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8194             : void fd_loader_v4_program_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8195             : int fd_loader_v4_program_instruction_convert_global_to_local( void const * global_self, fd_loader_v4_program_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    8196             : 
    8197             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_write( fd_loader_v4_program_instruction_t const * self );
    8198             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_truncate( fd_loader_v4_program_instruction_t const * self );
    8199             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_deploy( fd_loader_v4_program_instruction_t const * self );
    8200             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_retract( fd_loader_v4_program_instruction_t const * self );
    8201             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_transfer_authority( fd_loader_v4_program_instruction_t const * self );
    8202             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_finalize( fd_loader_v4_program_instruction_t const * self );
    8203             : enum {
    8204             : fd_loader_v4_program_instruction_enum_write = 0,
    8205             : fd_loader_v4_program_instruction_enum_truncate = 1,
    8206             : fd_loader_v4_program_instruction_enum_deploy = 2,
    8207             : fd_loader_v4_program_instruction_enum_retract = 3,
    8208             : fd_loader_v4_program_instruction_enum_transfer_authority = 4,
    8209             : fd_loader_v4_program_instruction_enum_finalize = 5,
    8210             : };
    8211             : void fd_bpf_upgradeable_loader_program_instruction_write_new( fd_bpf_upgradeable_loader_program_instruction_write_t * self );
    8212             : int fd_bpf_upgradeable_loader_program_instruction_write_encode( fd_bpf_upgradeable_loader_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    8213             : void fd_bpf_upgradeable_loader_program_instruction_write_destroy( fd_bpf_upgradeable_loader_program_instruction_write_t * self );
    8214             : void fd_bpf_upgradeable_loader_program_instruction_write_walk( void * w, fd_bpf_upgradeable_loader_program_instruction_write_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8215             : ulong fd_bpf_upgradeable_loader_program_instruction_write_size( fd_bpf_upgradeable_loader_program_instruction_write_t const * self );
    8216             : ulong fd_bpf_upgradeable_loader_program_instruction_write_footprint( void );
    8217             : ulong fd_bpf_upgradeable_loader_program_instruction_write_align( void );
    8218             : int fd_bpf_upgradeable_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8219             : int fd_bpf_upgradeable_loader_program_instruction_write_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8220             : void * fd_bpf_upgradeable_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8221             : void fd_bpf_upgradeable_loader_program_instruction_write_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8222             : void * fd_bpf_upgradeable_loader_program_instruction_write_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8223             : void fd_bpf_upgradeable_loader_program_instruction_write_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8224             : int fd_bpf_upgradeable_loader_program_instruction_write_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_program_instruction_write_t * self, fd_bincode_decode_ctx_t * ctx );
    8225             : 
    8226             : void fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_new( fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t * self );
    8227             : int fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_encode( fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t const * self, fd_bincode_encode_ctx_t * ctx );
    8228             : void fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_destroy( fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t * self );
    8229             : void fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_walk( void * w, fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8230             : ulong fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_size( fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t const * self );
    8231             : ulong fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_footprint( void );
    8232             : ulong fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_align( void );
    8233             : int fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8234             : int fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8235             : void * fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8236             : void fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8237             : void * fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8238             : void fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8239             : int fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t * self, fd_bincode_decode_ctx_t * ctx );
    8240             : 
    8241             : void fd_bpf_upgradeable_loader_program_instruction_extend_program_new( fd_bpf_upgradeable_loader_program_instruction_extend_program_t * self );
    8242             : int fd_bpf_upgradeable_loader_program_instruction_extend_program_encode( fd_bpf_upgradeable_loader_program_instruction_extend_program_t const * self, fd_bincode_encode_ctx_t * ctx );
    8243             : void fd_bpf_upgradeable_loader_program_instruction_extend_program_destroy( fd_bpf_upgradeable_loader_program_instruction_extend_program_t * self );
    8244             : void fd_bpf_upgradeable_loader_program_instruction_extend_program_walk( void * w, fd_bpf_upgradeable_loader_program_instruction_extend_program_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8245             : ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_size( fd_bpf_upgradeable_loader_program_instruction_extend_program_t const * self );
    8246             : ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_footprint( void );
    8247             : ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_align( void );
    8248             : int fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8249             : int fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8250             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8251             : void fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8252             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8253             : void fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8254             : int fd_bpf_upgradeable_loader_program_instruction_extend_program_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_program_instruction_extend_program_t * self, fd_bincode_decode_ctx_t * ctx );
    8255             : 
    8256             : void fd_bpf_upgradeable_loader_program_instruction_new_disc( fd_bpf_upgradeable_loader_program_instruction_t * self, uint discriminant );
    8257             : void fd_bpf_upgradeable_loader_program_instruction_new( fd_bpf_upgradeable_loader_program_instruction_t * self );
    8258             : int fd_bpf_upgradeable_loader_program_instruction_encode( fd_bpf_upgradeable_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    8259             : void fd_bpf_upgradeable_loader_program_instruction_destroy( fd_bpf_upgradeable_loader_program_instruction_t * self );
    8260             : void fd_bpf_upgradeable_loader_program_instruction_walk( void * w, fd_bpf_upgradeable_loader_program_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8261             : ulong fd_bpf_upgradeable_loader_program_instruction_size( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8262             : ulong fd_bpf_upgradeable_loader_program_instruction_footprint( void );
    8263             : ulong fd_bpf_upgradeable_loader_program_instruction_align( void );
    8264             : int fd_bpf_upgradeable_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8265             : int fd_bpf_upgradeable_loader_program_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8266             : void * fd_bpf_upgradeable_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8267             : void fd_bpf_upgradeable_loader_program_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8268             : void * fd_bpf_upgradeable_loader_program_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8269             : void fd_bpf_upgradeable_loader_program_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8270             : int fd_bpf_upgradeable_loader_program_instruction_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_program_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    8271             : 
    8272             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_initialize_buffer( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8273             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_write( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8274             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_deploy_with_max_data_len( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8275             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_upgrade( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8276             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8277             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_close( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8278             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8279             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    8280             : enum {
    8281             : fd_bpf_upgradeable_loader_program_instruction_enum_initialize_buffer = 0,
    8282             : fd_bpf_upgradeable_loader_program_instruction_enum_write = 1,
    8283             : fd_bpf_upgradeable_loader_program_instruction_enum_deploy_with_max_data_len = 2,
    8284             : fd_bpf_upgradeable_loader_program_instruction_enum_upgrade = 3,
    8285             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority = 4,
    8286             : fd_bpf_upgradeable_loader_program_instruction_enum_close = 5,
    8287             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program = 6,
    8288             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority_checked = 7,
    8289             : };
    8290             : void fd_bpf_upgradeable_loader_state_buffer_new( fd_bpf_upgradeable_loader_state_buffer_t * self );
    8291             : int fd_bpf_upgradeable_loader_state_buffer_encode( fd_bpf_upgradeable_loader_state_buffer_t const * self, fd_bincode_encode_ctx_t * ctx );
    8292             : void fd_bpf_upgradeable_loader_state_buffer_destroy( fd_bpf_upgradeable_loader_state_buffer_t * self );
    8293             : void fd_bpf_upgradeable_loader_state_buffer_walk( void * w, fd_bpf_upgradeable_loader_state_buffer_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8294             : ulong fd_bpf_upgradeable_loader_state_buffer_size( fd_bpf_upgradeable_loader_state_buffer_t const * self );
    8295             : ulong fd_bpf_upgradeable_loader_state_buffer_footprint( void );
    8296             : ulong fd_bpf_upgradeable_loader_state_buffer_align( void );
    8297             : int fd_bpf_upgradeable_loader_state_buffer_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8298             : int fd_bpf_upgradeable_loader_state_buffer_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8299             : void * fd_bpf_upgradeable_loader_state_buffer_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8300             : void fd_bpf_upgradeable_loader_state_buffer_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8301             : void * fd_bpf_upgradeable_loader_state_buffer_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8302             : void fd_bpf_upgradeable_loader_state_buffer_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8303             : int fd_bpf_upgradeable_loader_state_buffer_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_state_buffer_t * self, fd_bincode_decode_ctx_t * ctx );
    8304             : 
    8305             : void fd_bpf_upgradeable_loader_state_program_new( fd_bpf_upgradeable_loader_state_program_t * self );
    8306             : int fd_bpf_upgradeable_loader_state_program_encode( fd_bpf_upgradeable_loader_state_program_t const * self, fd_bincode_encode_ctx_t * ctx );
    8307             : void fd_bpf_upgradeable_loader_state_program_destroy( fd_bpf_upgradeable_loader_state_program_t * self );
    8308             : void fd_bpf_upgradeable_loader_state_program_walk( void * w, fd_bpf_upgradeable_loader_state_program_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8309             : ulong fd_bpf_upgradeable_loader_state_program_size( fd_bpf_upgradeable_loader_state_program_t const * self );
    8310             : ulong fd_bpf_upgradeable_loader_state_program_footprint( void );
    8311             : ulong fd_bpf_upgradeable_loader_state_program_align( void );
    8312             : int fd_bpf_upgradeable_loader_state_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8313             : int fd_bpf_upgradeable_loader_state_program_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8314             : void * fd_bpf_upgradeable_loader_state_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8315             : void fd_bpf_upgradeable_loader_state_program_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8316             : void * fd_bpf_upgradeable_loader_state_program_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8317             : void fd_bpf_upgradeable_loader_state_program_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8318             : int fd_bpf_upgradeable_loader_state_program_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_state_program_t * self, fd_bincode_decode_ctx_t * ctx );
    8319             : 
    8320             : void fd_bpf_upgradeable_loader_state_program_data_new( fd_bpf_upgradeable_loader_state_program_data_t * self );
    8321             : int fd_bpf_upgradeable_loader_state_program_data_encode( fd_bpf_upgradeable_loader_state_program_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    8322             : void fd_bpf_upgradeable_loader_state_program_data_destroy( fd_bpf_upgradeable_loader_state_program_data_t * self );
    8323             : void fd_bpf_upgradeable_loader_state_program_data_walk( void * w, fd_bpf_upgradeable_loader_state_program_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8324             : ulong fd_bpf_upgradeable_loader_state_program_data_size( fd_bpf_upgradeable_loader_state_program_data_t const * self );
    8325             : ulong fd_bpf_upgradeable_loader_state_program_data_footprint( void );
    8326             : ulong fd_bpf_upgradeable_loader_state_program_data_align( void );
    8327             : int fd_bpf_upgradeable_loader_state_program_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8328             : int fd_bpf_upgradeable_loader_state_program_data_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8329             : void * fd_bpf_upgradeable_loader_state_program_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8330             : void fd_bpf_upgradeable_loader_state_program_data_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8331             : void * fd_bpf_upgradeable_loader_state_program_data_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8332             : void fd_bpf_upgradeable_loader_state_program_data_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8333             : int fd_bpf_upgradeable_loader_state_program_data_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_state_program_data_t * self, fd_bincode_decode_ctx_t * ctx );
    8334             : 
    8335             : void fd_bpf_upgradeable_loader_state_new_disc( fd_bpf_upgradeable_loader_state_t * self, uint discriminant );
    8336             : void fd_bpf_upgradeable_loader_state_new( fd_bpf_upgradeable_loader_state_t * self );
    8337             : int fd_bpf_upgradeable_loader_state_encode( fd_bpf_upgradeable_loader_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    8338             : void fd_bpf_upgradeable_loader_state_destroy( fd_bpf_upgradeable_loader_state_t * self );
    8339             : void fd_bpf_upgradeable_loader_state_walk( void * w, fd_bpf_upgradeable_loader_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8340             : ulong fd_bpf_upgradeable_loader_state_size( fd_bpf_upgradeable_loader_state_t const * self );
    8341             : ulong fd_bpf_upgradeable_loader_state_footprint( void );
    8342             : ulong fd_bpf_upgradeable_loader_state_align( void );
    8343             : int fd_bpf_upgradeable_loader_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8344             : int fd_bpf_upgradeable_loader_state_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8345             : void * fd_bpf_upgradeable_loader_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8346             : void fd_bpf_upgradeable_loader_state_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8347             : void * fd_bpf_upgradeable_loader_state_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8348             : void fd_bpf_upgradeable_loader_state_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8349             : int fd_bpf_upgradeable_loader_state_convert_global_to_local( void const * global_self, fd_bpf_upgradeable_loader_state_t * self, fd_bincode_decode_ctx_t * ctx );
    8350             : 
    8351             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_uninitialized( fd_bpf_upgradeable_loader_state_t const * self );
    8352             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_buffer( fd_bpf_upgradeable_loader_state_t const * self );
    8353             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program( fd_bpf_upgradeable_loader_state_t const * self );
    8354             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program_data( fd_bpf_upgradeable_loader_state_t const * self );
    8355             : enum {
    8356             : fd_bpf_upgradeable_loader_state_enum_uninitialized = 0,
    8357             : fd_bpf_upgradeable_loader_state_enum_buffer = 1,
    8358             : fd_bpf_upgradeable_loader_state_enum_program = 2,
    8359             : fd_bpf_upgradeable_loader_state_enum_program_data = 3,
    8360             : };
    8361             : void fd_loader_v4_state_new( fd_loader_v4_state_t * self );
    8362             : int fd_loader_v4_state_encode( fd_loader_v4_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    8363             : void fd_loader_v4_state_destroy( fd_loader_v4_state_t * self );
    8364             : void fd_loader_v4_state_walk( void * w, fd_loader_v4_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8365             : ulong fd_loader_v4_state_size( fd_loader_v4_state_t const * self );
    8366             : ulong fd_loader_v4_state_footprint( void );
    8367             : ulong fd_loader_v4_state_align( void );
    8368             : int fd_loader_v4_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8369             : int fd_loader_v4_state_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8370             : void * fd_loader_v4_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8371             : void fd_loader_v4_state_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8372             : void * fd_loader_v4_state_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8373             : void fd_loader_v4_state_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8374             : int fd_loader_v4_state_convert_global_to_local( void const * global_self, fd_loader_v4_state_t * self, fd_bincode_decode_ctx_t * ctx );
    8375             : 
    8376             : void fd_frozen_hash_status_new( fd_frozen_hash_status_t * self );
    8377             : int fd_frozen_hash_status_encode( fd_frozen_hash_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    8378             : void fd_frozen_hash_status_destroy( fd_frozen_hash_status_t * self );
    8379             : void fd_frozen_hash_status_walk( void * w, fd_frozen_hash_status_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8380             : ulong fd_frozen_hash_status_size( fd_frozen_hash_status_t const * self );
    8381             : ulong fd_frozen_hash_status_footprint( void );
    8382             : ulong fd_frozen_hash_status_align( void );
    8383             : int fd_frozen_hash_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8384             : int fd_frozen_hash_status_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8385             : void * fd_frozen_hash_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8386             : void fd_frozen_hash_status_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8387             : void * fd_frozen_hash_status_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8388             : void fd_frozen_hash_status_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8389             : int fd_frozen_hash_status_convert_global_to_local( void const * global_self, fd_frozen_hash_status_t * self, fd_bincode_decode_ctx_t * ctx );
    8390             : 
    8391             : void fd_frozen_hash_versioned_new_disc( fd_frozen_hash_versioned_t * self, uint discriminant );
    8392             : void fd_frozen_hash_versioned_new( fd_frozen_hash_versioned_t * self );
    8393             : int fd_frozen_hash_versioned_encode( fd_frozen_hash_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    8394             : void fd_frozen_hash_versioned_destroy( fd_frozen_hash_versioned_t * self );
    8395             : void fd_frozen_hash_versioned_walk( void * w, fd_frozen_hash_versioned_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8396             : ulong fd_frozen_hash_versioned_size( fd_frozen_hash_versioned_t const * self );
    8397             : ulong fd_frozen_hash_versioned_footprint( void );
    8398             : ulong fd_frozen_hash_versioned_align( void );
    8399             : int fd_frozen_hash_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8400             : int fd_frozen_hash_versioned_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8401             : void * fd_frozen_hash_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8402             : void fd_frozen_hash_versioned_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8403             : void * fd_frozen_hash_versioned_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8404             : void fd_frozen_hash_versioned_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8405             : int fd_frozen_hash_versioned_convert_global_to_local( void const * global_self, fd_frozen_hash_versioned_t * self, fd_bincode_decode_ctx_t * ctx );
    8406             : 
    8407             : FD_FN_PURE uchar fd_frozen_hash_versioned_is_current( fd_frozen_hash_versioned_t const * self );
    8408             : enum {
    8409             : fd_frozen_hash_versioned_enum_current = 0,
    8410             : };
    8411             : void fd_lookup_table_meta_new( fd_lookup_table_meta_t * self );
    8412             : int fd_lookup_table_meta_encode( fd_lookup_table_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    8413             : void fd_lookup_table_meta_destroy( fd_lookup_table_meta_t * self );
    8414             : void fd_lookup_table_meta_walk( void * w, fd_lookup_table_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8415             : ulong fd_lookup_table_meta_size( fd_lookup_table_meta_t const * self );
    8416             : ulong fd_lookup_table_meta_footprint( void );
    8417             : ulong fd_lookup_table_meta_align( void );
    8418             : int fd_lookup_table_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8419             : int fd_lookup_table_meta_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8420             : void * fd_lookup_table_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8421             : void fd_lookup_table_meta_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8422             : void * fd_lookup_table_meta_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8423             : void fd_lookup_table_meta_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8424             : int fd_lookup_table_meta_convert_global_to_local( void const * global_self, fd_lookup_table_meta_t * self, fd_bincode_decode_ctx_t * ctx );
    8425             : 
    8426             : void fd_address_lookup_table_new( fd_address_lookup_table_t * self );
    8427             : int fd_address_lookup_table_encode( fd_address_lookup_table_t const * self, fd_bincode_encode_ctx_t * ctx );
    8428             : void fd_address_lookup_table_destroy( fd_address_lookup_table_t * self );
    8429             : void fd_address_lookup_table_walk( void * w, fd_address_lookup_table_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8430             : ulong fd_address_lookup_table_size( fd_address_lookup_table_t const * self );
    8431             : ulong fd_address_lookup_table_footprint( void );
    8432             : ulong fd_address_lookup_table_align( void );
    8433             : int fd_address_lookup_table_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8434             : int fd_address_lookup_table_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8435             : void * fd_address_lookup_table_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8436             : void fd_address_lookup_table_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8437             : void * fd_address_lookup_table_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8438             : void fd_address_lookup_table_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8439             : int fd_address_lookup_table_convert_global_to_local( void const * global_self, fd_address_lookup_table_t * self, fd_bincode_decode_ctx_t * ctx );
    8440             : 
    8441             : void fd_address_lookup_table_state_new_disc( fd_address_lookup_table_state_t * self, uint discriminant );
    8442             : void fd_address_lookup_table_state_new( fd_address_lookup_table_state_t * self );
    8443             : int fd_address_lookup_table_state_encode( fd_address_lookup_table_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    8444             : void fd_address_lookup_table_state_destroy( fd_address_lookup_table_state_t * self );
    8445             : void fd_address_lookup_table_state_walk( void * w, fd_address_lookup_table_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8446             : ulong fd_address_lookup_table_state_size( fd_address_lookup_table_state_t const * self );
    8447             : ulong fd_address_lookup_table_state_footprint( void );
    8448             : ulong fd_address_lookup_table_state_align( void );
    8449             : int fd_address_lookup_table_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8450             : int fd_address_lookup_table_state_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8451             : void * fd_address_lookup_table_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8452             : void fd_address_lookup_table_state_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8453             : void * fd_address_lookup_table_state_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8454             : void fd_address_lookup_table_state_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8455             : int fd_address_lookup_table_state_convert_global_to_local( void const * global_self, fd_address_lookup_table_state_t * self, fd_bincode_decode_ctx_t * ctx );
    8456             : 
    8457             : FD_FN_PURE uchar fd_address_lookup_table_state_is_uninitialized( fd_address_lookup_table_state_t const * self );
    8458             : FD_FN_PURE uchar fd_address_lookup_table_state_is_lookup_table( fd_address_lookup_table_state_t const * self );
    8459             : enum {
    8460             : fd_address_lookup_table_state_enum_uninitialized = 0,
    8461             : fd_address_lookup_table_state_enum_lookup_table = 1,
    8462             : };
    8463             : void fd_gossip_bitvec_u8_inner_new( fd_gossip_bitvec_u8_inner_t * self );
    8464             : int fd_gossip_bitvec_u8_inner_encode( fd_gossip_bitvec_u8_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    8465             : void fd_gossip_bitvec_u8_inner_destroy( fd_gossip_bitvec_u8_inner_t * self );
    8466             : void fd_gossip_bitvec_u8_inner_walk( void * w, fd_gossip_bitvec_u8_inner_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8467             : ulong fd_gossip_bitvec_u8_inner_size( fd_gossip_bitvec_u8_inner_t const * self );
    8468             : ulong fd_gossip_bitvec_u8_inner_footprint( void );
    8469             : ulong fd_gossip_bitvec_u8_inner_align( void );
    8470             : int fd_gossip_bitvec_u8_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8471             : int fd_gossip_bitvec_u8_inner_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8472             : void * fd_gossip_bitvec_u8_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8473             : void fd_gossip_bitvec_u8_inner_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8474             : void * fd_gossip_bitvec_u8_inner_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8475             : void fd_gossip_bitvec_u8_inner_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8476             : int fd_gossip_bitvec_u8_inner_convert_global_to_local( void const * global_self, fd_gossip_bitvec_u8_inner_t * self, fd_bincode_decode_ctx_t * ctx );
    8477             : 
    8478             : void fd_gossip_bitvec_u8_new( fd_gossip_bitvec_u8_t * self );
    8479             : int fd_gossip_bitvec_u8_encode( fd_gossip_bitvec_u8_t const * self, fd_bincode_encode_ctx_t * ctx );
    8480             : void fd_gossip_bitvec_u8_destroy( fd_gossip_bitvec_u8_t * self );
    8481             : void fd_gossip_bitvec_u8_walk( void * w, fd_gossip_bitvec_u8_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8482             : ulong fd_gossip_bitvec_u8_size( fd_gossip_bitvec_u8_t const * self );
    8483             : ulong fd_gossip_bitvec_u8_footprint( void );
    8484             : ulong fd_gossip_bitvec_u8_align( void );
    8485             : int fd_gossip_bitvec_u8_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8486             : int fd_gossip_bitvec_u8_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8487             : void * fd_gossip_bitvec_u8_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8488             : void fd_gossip_bitvec_u8_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8489             : void * fd_gossip_bitvec_u8_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8490             : void fd_gossip_bitvec_u8_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8491             : int fd_gossip_bitvec_u8_convert_global_to_local( void const * global_self, fd_gossip_bitvec_u8_t * self, fd_bincode_decode_ctx_t * ctx );
    8492             : 
    8493             : void fd_gossip_bitvec_u64_inner_new( fd_gossip_bitvec_u64_inner_t * self );
    8494             : int fd_gossip_bitvec_u64_inner_encode( fd_gossip_bitvec_u64_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    8495             : void fd_gossip_bitvec_u64_inner_destroy( fd_gossip_bitvec_u64_inner_t * self );
    8496             : void fd_gossip_bitvec_u64_inner_walk( void * w, fd_gossip_bitvec_u64_inner_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8497             : ulong fd_gossip_bitvec_u64_inner_size( fd_gossip_bitvec_u64_inner_t const * self );
    8498             : ulong fd_gossip_bitvec_u64_inner_footprint( void );
    8499             : ulong fd_gossip_bitvec_u64_inner_align( void );
    8500             : int fd_gossip_bitvec_u64_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8501             : int fd_gossip_bitvec_u64_inner_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8502             : void * fd_gossip_bitvec_u64_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8503             : void fd_gossip_bitvec_u64_inner_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8504             : void * fd_gossip_bitvec_u64_inner_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8505             : void fd_gossip_bitvec_u64_inner_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8506             : int fd_gossip_bitvec_u64_inner_convert_global_to_local( void const * global_self, fd_gossip_bitvec_u64_inner_t * self, fd_bincode_decode_ctx_t * ctx );
    8507             : 
    8508             : void fd_gossip_bitvec_u64_new( fd_gossip_bitvec_u64_t * self );
    8509             : int fd_gossip_bitvec_u64_encode( fd_gossip_bitvec_u64_t const * self, fd_bincode_encode_ctx_t * ctx );
    8510             : void fd_gossip_bitvec_u64_destroy( fd_gossip_bitvec_u64_t * self );
    8511             : void fd_gossip_bitvec_u64_walk( void * w, fd_gossip_bitvec_u64_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8512             : ulong fd_gossip_bitvec_u64_size( fd_gossip_bitvec_u64_t const * self );
    8513             : ulong fd_gossip_bitvec_u64_footprint( void );
    8514             : ulong fd_gossip_bitvec_u64_align( void );
    8515             : int fd_gossip_bitvec_u64_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8516             : int fd_gossip_bitvec_u64_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8517             : void * fd_gossip_bitvec_u64_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8518             : void fd_gossip_bitvec_u64_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8519             : void * fd_gossip_bitvec_u64_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8520             : void fd_gossip_bitvec_u64_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8521             : int fd_gossip_bitvec_u64_convert_global_to_local( void const * global_self, fd_gossip_bitvec_u64_t * self, fd_bincode_decode_ctx_t * ctx );
    8522             : 
    8523             : void fd_gossip_ping_new( fd_gossip_ping_t * self );
    8524             : int fd_gossip_ping_encode( fd_gossip_ping_t const * self, fd_bincode_encode_ctx_t * ctx );
    8525             : void fd_gossip_ping_destroy( fd_gossip_ping_t * self );
    8526             : void fd_gossip_ping_walk( void * w, fd_gossip_ping_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8527             : ulong fd_gossip_ping_size( fd_gossip_ping_t const * self );
    8528             : ulong fd_gossip_ping_footprint( void );
    8529             : ulong fd_gossip_ping_align( void );
    8530             : int fd_gossip_ping_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8531             : int fd_gossip_ping_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8532             : void * fd_gossip_ping_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8533             : void fd_gossip_ping_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8534             : void * fd_gossip_ping_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8535             : void fd_gossip_ping_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8536             : int fd_gossip_ping_convert_global_to_local( void const * global_self, fd_gossip_ping_t * self, fd_bincode_decode_ctx_t * ctx );
    8537             : 
    8538             : void fd_gossip_ip_addr_new_disc( fd_gossip_ip_addr_t * self, uint discriminant );
    8539             : void fd_gossip_ip_addr_new( fd_gossip_ip_addr_t * self );
    8540             : int fd_gossip_ip_addr_encode( fd_gossip_ip_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    8541             : void fd_gossip_ip_addr_destroy( fd_gossip_ip_addr_t * self );
    8542             : void fd_gossip_ip_addr_walk( void * w, fd_gossip_ip_addr_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8543             : ulong fd_gossip_ip_addr_size( fd_gossip_ip_addr_t const * self );
    8544             : ulong fd_gossip_ip_addr_footprint( void );
    8545             : ulong fd_gossip_ip_addr_align( void );
    8546             : int fd_gossip_ip_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8547             : int fd_gossip_ip_addr_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8548             : void * fd_gossip_ip_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8549             : void fd_gossip_ip_addr_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8550             : void * fd_gossip_ip_addr_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8551             : void fd_gossip_ip_addr_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8552             : int fd_gossip_ip_addr_convert_global_to_local( void const * global_self, fd_gossip_ip_addr_t * self, fd_bincode_decode_ctx_t * ctx );
    8553             : 
    8554             : FD_FN_PURE uchar fd_gossip_ip_addr_is_ip4( fd_gossip_ip_addr_t const * self );
    8555             : FD_FN_PURE uchar fd_gossip_ip_addr_is_ip6( fd_gossip_ip_addr_t const * self );
    8556             : enum {
    8557             : fd_gossip_ip_addr_enum_ip4 = 0,
    8558             : fd_gossip_ip_addr_enum_ip6 = 1,
    8559             : };
    8560             : void fd_gossip_prune_data_new( fd_gossip_prune_data_t * self );
    8561             : int fd_gossip_prune_data_encode( fd_gossip_prune_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    8562             : void fd_gossip_prune_data_destroy( fd_gossip_prune_data_t * self );
    8563             : void fd_gossip_prune_data_walk( void * w, fd_gossip_prune_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8564             : ulong fd_gossip_prune_data_size( fd_gossip_prune_data_t const * self );
    8565             : ulong fd_gossip_prune_data_footprint( void );
    8566             : ulong fd_gossip_prune_data_align( void );
    8567             : int fd_gossip_prune_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8568             : int fd_gossip_prune_data_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8569             : void * fd_gossip_prune_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8570             : void fd_gossip_prune_data_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8571             : void * fd_gossip_prune_data_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8572             : void fd_gossip_prune_data_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8573             : int fd_gossip_prune_data_convert_global_to_local( void const * global_self, fd_gossip_prune_data_t * self, fd_bincode_decode_ctx_t * ctx );
    8574             : 
    8575             : void fd_gossip_prune_sign_data_new( fd_gossip_prune_sign_data_t * self );
    8576             : int fd_gossip_prune_sign_data_encode( fd_gossip_prune_sign_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    8577             : void fd_gossip_prune_sign_data_destroy( fd_gossip_prune_sign_data_t * self );
    8578             : void fd_gossip_prune_sign_data_walk( void * w, fd_gossip_prune_sign_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8579             : ulong fd_gossip_prune_sign_data_size( fd_gossip_prune_sign_data_t const * self );
    8580             : ulong fd_gossip_prune_sign_data_footprint( void );
    8581             : ulong fd_gossip_prune_sign_data_align( void );
    8582             : int fd_gossip_prune_sign_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8583             : int fd_gossip_prune_sign_data_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8584             : void * fd_gossip_prune_sign_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8585             : void fd_gossip_prune_sign_data_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8586             : void * fd_gossip_prune_sign_data_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8587             : void fd_gossip_prune_sign_data_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8588             : int fd_gossip_prune_sign_data_convert_global_to_local( void const * global_self, fd_gossip_prune_sign_data_t * self, fd_bincode_decode_ctx_t * ctx );
    8589             : 
    8590             : void fd_gossip_prune_sign_data_with_prefix_new( fd_gossip_prune_sign_data_with_prefix_t * self );
    8591             : int fd_gossip_prune_sign_data_with_prefix_encode( fd_gossip_prune_sign_data_with_prefix_t const * self, fd_bincode_encode_ctx_t * ctx );
    8592             : void fd_gossip_prune_sign_data_with_prefix_destroy( fd_gossip_prune_sign_data_with_prefix_t * self );
    8593             : void fd_gossip_prune_sign_data_with_prefix_walk( void * w, fd_gossip_prune_sign_data_with_prefix_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8594             : ulong fd_gossip_prune_sign_data_with_prefix_size( fd_gossip_prune_sign_data_with_prefix_t const * self );
    8595             : ulong fd_gossip_prune_sign_data_with_prefix_footprint( void );
    8596             : ulong fd_gossip_prune_sign_data_with_prefix_align( void );
    8597             : int fd_gossip_prune_sign_data_with_prefix_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8598             : int fd_gossip_prune_sign_data_with_prefix_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8599             : void * fd_gossip_prune_sign_data_with_prefix_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8600             : void fd_gossip_prune_sign_data_with_prefix_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8601             : void * fd_gossip_prune_sign_data_with_prefix_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8602             : void fd_gossip_prune_sign_data_with_prefix_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8603             : int fd_gossip_prune_sign_data_with_prefix_convert_global_to_local( void const * global_self, fd_gossip_prune_sign_data_with_prefix_t * self, fd_bincode_decode_ctx_t * ctx );
    8604             : 
    8605             : void fd_gossip_socket_addr_old_new( fd_gossip_socket_addr_old_t * self );
    8606             : int fd_gossip_socket_addr_old_encode( fd_gossip_socket_addr_old_t const * self, fd_bincode_encode_ctx_t * ctx );
    8607             : void fd_gossip_socket_addr_old_destroy( fd_gossip_socket_addr_old_t * self );
    8608             : void fd_gossip_socket_addr_old_walk( void * w, fd_gossip_socket_addr_old_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8609             : ulong fd_gossip_socket_addr_old_size( fd_gossip_socket_addr_old_t const * self );
    8610             : ulong fd_gossip_socket_addr_old_footprint( void );
    8611             : ulong fd_gossip_socket_addr_old_align( void );
    8612             : int fd_gossip_socket_addr_old_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8613             : int fd_gossip_socket_addr_old_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8614             : void * fd_gossip_socket_addr_old_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8615             : void fd_gossip_socket_addr_old_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8616             : void * fd_gossip_socket_addr_old_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8617             : void fd_gossip_socket_addr_old_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8618             : int fd_gossip_socket_addr_old_convert_global_to_local( void const * global_self, fd_gossip_socket_addr_old_t * self, fd_bincode_decode_ctx_t * ctx );
    8619             : 
    8620             : void fd_gossip_socket_addr_ip4_new( fd_gossip_socket_addr_ip4_t * self );
    8621             : int fd_gossip_socket_addr_ip4_encode( fd_gossip_socket_addr_ip4_t const * self, fd_bincode_encode_ctx_t * ctx );
    8622             : void fd_gossip_socket_addr_ip4_destroy( fd_gossip_socket_addr_ip4_t * self );
    8623             : void fd_gossip_socket_addr_ip4_walk( void * w, fd_gossip_socket_addr_ip4_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8624             : ulong fd_gossip_socket_addr_ip4_size( fd_gossip_socket_addr_ip4_t const * self );
    8625             : ulong fd_gossip_socket_addr_ip4_footprint( void );
    8626             : ulong fd_gossip_socket_addr_ip4_align( void );
    8627             : int fd_gossip_socket_addr_ip4_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8628             : int fd_gossip_socket_addr_ip4_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8629             : void * fd_gossip_socket_addr_ip4_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8630             : void fd_gossip_socket_addr_ip4_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8631             : void * fd_gossip_socket_addr_ip4_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8632             : void fd_gossip_socket_addr_ip4_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8633             : int fd_gossip_socket_addr_ip4_convert_global_to_local( void const * global_self, fd_gossip_socket_addr_ip4_t * self, fd_bincode_decode_ctx_t * ctx );
    8634             : 
    8635             : void fd_gossip_socket_addr_ip6_new( fd_gossip_socket_addr_ip6_t * self );
    8636             : int fd_gossip_socket_addr_ip6_encode( fd_gossip_socket_addr_ip6_t const * self, fd_bincode_encode_ctx_t * ctx );
    8637             : void fd_gossip_socket_addr_ip6_destroy( fd_gossip_socket_addr_ip6_t * self );
    8638             : void fd_gossip_socket_addr_ip6_walk( void * w, fd_gossip_socket_addr_ip6_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8639             : ulong fd_gossip_socket_addr_ip6_size( fd_gossip_socket_addr_ip6_t const * self );
    8640             : ulong fd_gossip_socket_addr_ip6_footprint( void );
    8641             : ulong fd_gossip_socket_addr_ip6_align( void );
    8642             : int fd_gossip_socket_addr_ip6_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8643             : int fd_gossip_socket_addr_ip6_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8644             : void * fd_gossip_socket_addr_ip6_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8645             : void fd_gossip_socket_addr_ip6_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8646             : void * fd_gossip_socket_addr_ip6_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8647             : void fd_gossip_socket_addr_ip6_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8648             : int fd_gossip_socket_addr_ip6_convert_global_to_local( void const * global_self, fd_gossip_socket_addr_ip6_t * self, fd_bincode_decode_ctx_t * ctx );
    8649             : 
    8650             : void fd_gossip_socket_addr_new_disc( fd_gossip_socket_addr_t * self, uint discriminant );
    8651             : void fd_gossip_socket_addr_new( fd_gossip_socket_addr_t * self );
    8652             : int fd_gossip_socket_addr_encode( fd_gossip_socket_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    8653             : void fd_gossip_socket_addr_destroy( fd_gossip_socket_addr_t * self );
    8654             : void fd_gossip_socket_addr_walk( void * w, fd_gossip_socket_addr_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8655             : ulong fd_gossip_socket_addr_size( fd_gossip_socket_addr_t const * self );
    8656             : ulong fd_gossip_socket_addr_footprint( void );
    8657             : ulong fd_gossip_socket_addr_align( void );
    8658             : int fd_gossip_socket_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8659             : int fd_gossip_socket_addr_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8660             : void * fd_gossip_socket_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8661             : void fd_gossip_socket_addr_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8662             : void * fd_gossip_socket_addr_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8663             : void fd_gossip_socket_addr_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8664             : int fd_gossip_socket_addr_convert_global_to_local( void const * global_self, fd_gossip_socket_addr_t * self, fd_bincode_decode_ctx_t * ctx );
    8665             : 
    8666             : FD_FN_PURE uchar fd_gossip_socket_addr_is_ip4( fd_gossip_socket_addr_t const * self );
    8667             : FD_FN_PURE uchar fd_gossip_socket_addr_is_ip6( fd_gossip_socket_addr_t const * self );
    8668             : enum {
    8669             : fd_gossip_socket_addr_enum_ip4 = 0,
    8670             : fd_gossip_socket_addr_enum_ip6 = 1,
    8671             : };
    8672             : void fd_gossip_contact_info_v1_new( fd_gossip_contact_info_v1_t * self );
    8673             : int fd_gossip_contact_info_v1_encode( fd_gossip_contact_info_v1_t const * self, fd_bincode_encode_ctx_t * ctx );
    8674             : void fd_gossip_contact_info_v1_destroy( fd_gossip_contact_info_v1_t * self );
    8675             : void fd_gossip_contact_info_v1_walk( void * w, fd_gossip_contact_info_v1_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8676             : ulong fd_gossip_contact_info_v1_size( fd_gossip_contact_info_v1_t const * self );
    8677             : ulong fd_gossip_contact_info_v1_footprint( void );
    8678             : ulong fd_gossip_contact_info_v1_align( void );
    8679             : int fd_gossip_contact_info_v1_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8680             : int fd_gossip_contact_info_v1_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8681             : void * fd_gossip_contact_info_v1_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8682             : void fd_gossip_contact_info_v1_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8683             : void * fd_gossip_contact_info_v1_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8684             : void fd_gossip_contact_info_v1_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8685             : int fd_gossip_contact_info_v1_convert_global_to_local( void const * global_self, fd_gossip_contact_info_v1_t * self, fd_bincode_decode_ctx_t * ctx );
    8686             : 
    8687             : void fd_gossip_vote_new( fd_gossip_vote_t * self );
    8688             : int fd_gossip_vote_encode( fd_gossip_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    8689             : void fd_gossip_vote_destroy( fd_gossip_vote_t * self );
    8690             : void fd_gossip_vote_walk( void * w, fd_gossip_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8691             : ulong fd_gossip_vote_size( fd_gossip_vote_t const * self );
    8692             : ulong fd_gossip_vote_footprint( void );
    8693             : ulong fd_gossip_vote_align( void );
    8694             : int fd_gossip_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8695             : int fd_gossip_vote_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8696             : void * fd_gossip_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8697             : void fd_gossip_vote_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8698             : void * fd_gossip_vote_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8699             : void fd_gossip_vote_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8700             : int fd_gossip_vote_convert_global_to_local( void const * global_self, fd_gossip_vote_t * self, fd_bincode_decode_ctx_t * ctx );
    8701             : 
    8702             : void fd_gossip_lowest_slot_new( fd_gossip_lowest_slot_t * self );
    8703             : int fd_gossip_lowest_slot_encode( fd_gossip_lowest_slot_t const * self, fd_bincode_encode_ctx_t * ctx );
    8704             : void fd_gossip_lowest_slot_destroy( fd_gossip_lowest_slot_t * self );
    8705             : void fd_gossip_lowest_slot_walk( void * w, fd_gossip_lowest_slot_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8706             : ulong fd_gossip_lowest_slot_size( fd_gossip_lowest_slot_t const * self );
    8707             : ulong fd_gossip_lowest_slot_footprint( void );
    8708             : ulong fd_gossip_lowest_slot_align( void );
    8709             : int fd_gossip_lowest_slot_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8710             : int fd_gossip_lowest_slot_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8711             : void * fd_gossip_lowest_slot_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8712             : void fd_gossip_lowest_slot_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8713             : void * fd_gossip_lowest_slot_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8714             : void fd_gossip_lowest_slot_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8715             : int fd_gossip_lowest_slot_convert_global_to_local( void const * global_self, fd_gossip_lowest_slot_t * self, fd_bincode_decode_ctx_t * ctx );
    8716             : 
    8717             : void fd_gossip_slot_hashes_new( fd_gossip_slot_hashes_t * self );
    8718             : int fd_gossip_slot_hashes_encode( fd_gossip_slot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    8719             : void fd_gossip_slot_hashes_destroy( fd_gossip_slot_hashes_t * self );
    8720             : void fd_gossip_slot_hashes_walk( void * w, fd_gossip_slot_hashes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8721             : ulong fd_gossip_slot_hashes_size( fd_gossip_slot_hashes_t const * self );
    8722             : ulong fd_gossip_slot_hashes_footprint( void );
    8723             : ulong fd_gossip_slot_hashes_align( void );
    8724             : int fd_gossip_slot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8725             : int fd_gossip_slot_hashes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8726             : void * fd_gossip_slot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8727             : void fd_gossip_slot_hashes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8728             : void * fd_gossip_slot_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8729             : void fd_gossip_slot_hashes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8730             : int fd_gossip_slot_hashes_convert_global_to_local( void const * global_self, fd_gossip_slot_hashes_t * self, fd_bincode_decode_ctx_t * ctx );
    8731             : 
    8732             : void fd_gossip_slots_new( fd_gossip_slots_t * self );
    8733             : int fd_gossip_slots_encode( fd_gossip_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    8734             : void fd_gossip_slots_destroy( fd_gossip_slots_t * self );
    8735             : void fd_gossip_slots_walk( void * w, fd_gossip_slots_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8736             : ulong fd_gossip_slots_size( fd_gossip_slots_t const * self );
    8737             : ulong fd_gossip_slots_footprint( void );
    8738             : ulong fd_gossip_slots_align( void );
    8739             : int fd_gossip_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8740             : int fd_gossip_slots_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8741             : void * fd_gossip_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8742             : void fd_gossip_slots_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8743             : void * fd_gossip_slots_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8744             : void fd_gossip_slots_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8745             : int fd_gossip_slots_convert_global_to_local( void const * global_self, fd_gossip_slots_t * self, fd_bincode_decode_ctx_t * ctx );
    8746             : 
    8747             : void fd_gossip_flate2_slots_new( fd_gossip_flate2_slots_t * self );
    8748             : int fd_gossip_flate2_slots_encode( fd_gossip_flate2_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    8749             : void fd_gossip_flate2_slots_destroy( fd_gossip_flate2_slots_t * self );
    8750             : void fd_gossip_flate2_slots_walk( void * w, fd_gossip_flate2_slots_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8751             : ulong fd_gossip_flate2_slots_size( fd_gossip_flate2_slots_t const * self );
    8752             : ulong fd_gossip_flate2_slots_footprint( void );
    8753             : ulong fd_gossip_flate2_slots_align( void );
    8754             : int fd_gossip_flate2_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8755             : int fd_gossip_flate2_slots_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8756             : void * fd_gossip_flate2_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8757             : void fd_gossip_flate2_slots_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8758             : void * fd_gossip_flate2_slots_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8759             : void fd_gossip_flate2_slots_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8760             : int fd_gossip_flate2_slots_convert_global_to_local( void const * global_self, fd_gossip_flate2_slots_t * self, fd_bincode_decode_ctx_t * ctx );
    8761             : 
    8762             : void fd_gossip_slots_enum_new_disc( fd_gossip_slots_enum_t * self, uint discriminant );
    8763             : void fd_gossip_slots_enum_new( fd_gossip_slots_enum_t * self );
    8764             : int fd_gossip_slots_enum_encode( fd_gossip_slots_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    8765             : void fd_gossip_slots_enum_destroy( fd_gossip_slots_enum_t * self );
    8766             : void fd_gossip_slots_enum_walk( void * w, fd_gossip_slots_enum_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8767             : ulong fd_gossip_slots_enum_size( fd_gossip_slots_enum_t const * self );
    8768             : ulong fd_gossip_slots_enum_footprint( void );
    8769             : ulong fd_gossip_slots_enum_align( void );
    8770             : int fd_gossip_slots_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8771             : int fd_gossip_slots_enum_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8772             : void * fd_gossip_slots_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8773             : void fd_gossip_slots_enum_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8774             : void * fd_gossip_slots_enum_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8775             : void fd_gossip_slots_enum_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8776             : int fd_gossip_slots_enum_convert_global_to_local( void const * global_self, fd_gossip_slots_enum_t * self, fd_bincode_decode_ctx_t * ctx );
    8777             : 
    8778             : FD_FN_PURE uchar fd_gossip_slots_enum_is_flate2( fd_gossip_slots_enum_t const * self );
    8779             : FD_FN_PURE uchar fd_gossip_slots_enum_is_uncompressed( fd_gossip_slots_enum_t const * self );
    8780             : enum {
    8781             : fd_gossip_slots_enum_enum_flate2 = 0,
    8782             : fd_gossip_slots_enum_enum_uncompressed = 1,
    8783             : };
    8784             : void fd_gossip_epoch_slots_new( fd_gossip_epoch_slots_t * self );
    8785             : int fd_gossip_epoch_slots_encode( fd_gossip_epoch_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    8786             : void fd_gossip_epoch_slots_destroy( fd_gossip_epoch_slots_t * self );
    8787             : void fd_gossip_epoch_slots_walk( void * w, fd_gossip_epoch_slots_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8788             : ulong fd_gossip_epoch_slots_size( fd_gossip_epoch_slots_t const * self );
    8789             : ulong fd_gossip_epoch_slots_footprint( void );
    8790             : ulong fd_gossip_epoch_slots_align( void );
    8791             : int fd_gossip_epoch_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8792             : int fd_gossip_epoch_slots_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8793             : void * fd_gossip_epoch_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8794             : void fd_gossip_epoch_slots_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8795             : void * fd_gossip_epoch_slots_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8796             : void fd_gossip_epoch_slots_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8797             : int fd_gossip_epoch_slots_convert_global_to_local( void const * global_self, fd_gossip_epoch_slots_t * self, fd_bincode_decode_ctx_t * ctx );
    8798             : 
    8799             : void fd_gossip_version_v1_new( fd_gossip_version_v1_t * self );
    8800             : int fd_gossip_version_v1_encode( fd_gossip_version_v1_t const * self, fd_bincode_encode_ctx_t * ctx );
    8801             : void fd_gossip_version_v1_destroy( fd_gossip_version_v1_t * self );
    8802             : void fd_gossip_version_v1_walk( void * w, fd_gossip_version_v1_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8803             : ulong fd_gossip_version_v1_size( fd_gossip_version_v1_t const * self );
    8804             : ulong fd_gossip_version_v1_footprint( void );
    8805             : ulong fd_gossip_version_v1_align( void );
    8806             : int fd_gossip_version_v1_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8807             : int fd_gossip_version_v1_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8808             : void * fd_gossip_version_v1_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8809             : void fd_gossip_version_v1_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8810             : void * fd_gossip_version_v1_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8811             : void fd_gossip_version_v1_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8812             : int fd_gossip_version_v1_convert_global_to_local( void const * global_self, fd_gossip_version_v1_t * self, fd_bincode_decode_ctx_t * ctx );
    8813             : 
    8814             : void fd_gossip_version_v2_new( fd_gossip_version_v2_t * self );
    8815             : int fd_gossip_version_v2_encode( fd_gossip_version_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    8816             : void fd_gossip_version_v2_destroy( fd_gossip_version_v2_t * self );
    8817             : void fd_gossip_version_v2_walk( void * w, fd_gossip_version_v2_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8818             : ulong fd_gossip_version_v2_size( fd_gossip_version_v2_t const * self );
    8819             : ulong fd_gossip_version_v2_footprint( void );
    8820             : ulong fd_gossip_version_v2_align( void );
    8821             : int fd_gossip_version_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8822             : int fd_gossip_version_v2_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8823             : void * fd_gossip_version_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8824             : void fd_gossip_version_v2_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8825             : void * fd_gossip_version_v2_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8826             : void fd_gossip_version_v2_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8827             : int fd_gossip_version_v2_convert_global_to_local( void const * global_self, fd_gossip_version_v2_t * self, fd_bincode_decode_ctx_t * ctx );
    8828             : 
    8829             : void fd_gossip_version_v3_new( fd_gossip_version_v3_t * self );
    8830             : int fd_gossip_version_v3_encode( fd_gossip_version_v3_t const * self, fd_bincode_encode_ctx_t * ctx );
    8831             : void fd_gossip_version_v3_destroy( fd_gossip_version_v3_t * self );
    8832             : void fd_gossip_version_v3_walk( void * w, fd_gossip_version_v3_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8833             : ulong fd_gossip_version_v3_size( fd_gossip_version_v3_t const * self );
    8834             : ulong fd_gossip_version_v3_footprint( void );
    8835             : ulong fd_gossip_version_v3_align( void );
    8836             : int fd_gossip_version_v3_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8837             : int fd_gossip_version_v3_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8838             : void * fd_gossip_version_v3_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8839             : void fd_gossip_version_v3_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8840             : void * fd_gossip_version_v3_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8841             : void fd_gossip_version_v3_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8842             : int fd_gossip_version_v3_convert_global_to_local( void const * global_self, fd_gossip_version_v3_t * self, fd_bincode_decode_ctx_t * ctx );
    8843             : 
    8844             : void fd_gossip_node_instance_new( fd_gossip_node_instance_t * self );
    8845             : int fd_gossip_node_instance_encode( fd_gossip_node_instance_t const * self, fd_bincode_encode_ctx_t * ctx );
    8846             : void fd_gossip_node_instance_destroy( fd_gossip_node_instance_t * self );
    8847             : void fd_gossip_node_instance_walk( void * w, fd_gossip_node_instance_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8848             : ulong fd_gossip_node_instance_size( fd_gossip_node_instance_t const * self );
    8849             : ulong fd_gossip_node_instance_footprint( void );
    8850             : ulong fd_gossip_node_instance_align( void );
    8851             : int fd_gossip_node_instance_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8852             : int fd_gossip_node_instance_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8853             : void * fd_gossip_node_instance_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8854             : void fd_gossip_node_instance_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8855             : void * fd_gossip_node_instance_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8856             : void fd_gossip_node_instance_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8857             : int fd_gossip_node_instance_convert_global_to_local( void const * global_self, fd_gossip_node_instance_t * self, fd_bincode_decode_ctx_t * ctx );
    8858             : 
    8859             : void fd_gossip_duplicate_shred_new( fd_gossip_duplicate_shred_t * self );
    8860             : int fd_gossip_duplicate_shred_encode( fd_gossip_duplicate_shred_t const * self, fd_bincode_encode_ctx_t * ctx );
    8861             : void fd_gossip_duplicate_shred_destroy( fd_gossip_duplicate_shred_t * self );
    8862             : void fd_gossip_duplicate_shred_walk( void * w, fd_gossip_duplicate_shred_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8863             : ulong fd_gossip_duplicate_shred_size( fd_gossip_duplicate_shred_t const * self );
    8864             : ulong fd_gossip_duplicate_shred_footprint( void );
    8865             : ulong fd_gossip_duplicate_shred_align( void );
    8866             : int fd_gossip_duplicate_shred_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8867             : int fd_gossip_duplicate_shred_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8868             : void * fd_gossip_duplicate_shred_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8869             : void fd_gossip_duplicate_shred_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8870             : void * fd_gossip_duplicate_shred_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8871             : void fd_gossip_duplicate_shred_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8872             : int fd_gossip_duplicate_shred_convert_global_to_local( void const * global_self, fd_gossip_duplicate_shred_t * self, fd_bincode_decode_ctx_t * ctx );
    8873             : 
    8874             : void fd_gossip_incremental_snapshot_hashes_new( fd_gossip_incremental_snapshot_hashes_t * self );
    8875             : int fd_gossip_incremental_snapshot_hashes_encode( fd_gossip_incremental_snapshot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    8876             : void fd_gossip_incremental_snapshot_hashes_destroy( fd_gossip_incremental_snapshot_hashes_t * self );
    8877             : void fd_gossip_incremental_snapshot_hashes_walk( void * w, fd_gossip_incremental_snapshot_hashes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8878             : ulong fd_gossip_incremental_snapshot_hashes_size( fd_gossip_incremental_snapshot_hashes_t const * self );
    8879             : ulong fd_gossip_incremental_snapshot_hashes_footprint( void );
    8880             : ulong fd_gossip_incremental_snapshot_hashes_align( void );
    8881             : int fd_gossip_incremental_snapshot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8882             : int fd_gossip_incremental_snapshot_hashes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8883             : void * fd_gossip_incremental_snapshot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8884             : void fd_gossip_incremental_snapshot_hashes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8885             : void * fd_gossip_incremental_snapshot_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8886             : void fd_gossip_incremental_snapshot_hashes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8887             : int fd_gossip_incremental_snapshot_hashes_convert_global_to_local( void const * global_self, fd_gossip_incremental_snapshot_hashes_t * self, fd_bincode_decode_ctx_t * ctx );
    8888             : 
    8889             : void fd_gossip_socket_entry_new( fd_gossip_socket_entry_t * self );
    8890             : int fd_gossip_socket_entry_encode( fd_gossip_socket_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    8891             : void fd_gossip_socket_entry_destroy( fd_gossip_socket_entry_t * self );
    8892             : void fd_gossip_socket_entry_walk( void * w, fd_gossip_socket_entry_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8893             : ulong fd_gossip_socket_entry_size( fd_gossip_socket_entry_t const * self );
    8894             : ulong fd_gossip_socket_entry_footprint( void );
    8895             : ulong fd_gossip_socket_entry_align( void );
    8896             : int fd_gossip_socket_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8897             : int fd_gossip_socket_entry_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8898             : void * fd_gossip_socket_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8899             : void fd_gossip_socket_entry_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8900             : void * fd_gossip_socket_entry_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8901             : void fd_gossip_socket_entry_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8902             : int fd_gossip_socket_entry_convert_global_to_local( void const * global_self, fd_gossip_socket_entry_t * self, fd_bincode_decode_ctx_t * ctx );
    8903             : 
    8904             : void fd_gossip_contact_info_v2_new( fd_gossip_contact_info_v2_t * self );
    8905             : int fd_gossip_contact_info_v2_encode( fd_gossip_contact_info_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    8906             : void fd_gossip_contact_info_v2_destroy( fd_gossip_contact_info_v2_t * self );
    8907             : void fd_gossip_contact_info_v2_walk( void * w, fd_gossip_contact_info_v2_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8908             : ulong fd_gossip_contact_info_v2_size( fd_gossip_contact_info_v2_t const * self );
    8909             : ulong fd_gossip_contact_info_v2_footprint( void );
    8910             : ulong fd_gossip_contact_info_v2_align( void );
    8911             : int fd_gossip_contact_info_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8912             : int fd_gossip_contact_info_v2_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8913             : void * fd_gossip_contact_info_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8914             : void fd_gossip_contact_info_v2_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8915             : void * fd_gossip_contact_info_v2_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8916             : void fd_gossip_contact_info_v2_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8917             : int fd_gossip_contact_info_v2_convert_global_to_local( void const * global_self, fd_gossip_contact_info_v2_t * self, fd_bincode_decode_ctx_t * ctx );
    8918             : 
    8919             : void fd_restart_run_length_encoding_inner_new( fd_restart_run_length_encoding_inner_t * self );
    8920             : int fd_restart_run_length_encoding_inner_encode( fd_restart_run_length_encoding_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    8921             : void fd_restart_run_length_encoding_inner_destroy( fd_restart_run_length_encoding_inner_t * self );
    8922             : void fd_restart_run_length_encoding_inner_walk( void * w, fd_restart_run_length_encoding_inner_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8923             : ulong fd_restart_run_length_encoding_inner_size( fd_restart_run_length_encoding_inner_t const * self );
    8924             : ulong fd_restart_run_length_encoding_inner_footprint( void );
    8925             : ulong fd_restart_run_length_encoding_inner_align( void );
    8926             : int fd_restart_run_length_encoding_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8927             : int fd_restart_run_length_encoding_inner_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8928             : void * fd_restart_run_length_encoding_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8929             : void fd_restart_run_length_encoding_inner_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8930             : void * fd_restart_run_length_encoding_inner_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8931             : void fd_restart_run_length_encoding_inner_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8932             : int fd_restart_run_length_encoding_inner_convert_global_to_local( void const * global_self, fd_restart_run_length_encoding_inner_t * self, fd_bincode_decode_ctx_t * ctx );
    8933             : 
    8934             : void fd_restart_run_length_encoding_new( fd_restart_run_length_encoding_t * self );
    8935             : int fd_restart_run_length_encoding_encode( fd_restart_run_length_encoding_t const * self, fd_bincode_encode_ctx_t * ctx );
    8936             : void fd_restart_run_length_encoding_destroy( fd_restart_run_length_encoding_t * self );
    8937             : void fd_restart_run_length_encoding_walk( void * w, fd_restart_run_length_encoding_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8938             : ulong fd_restart_run_length_encoding_size( fd_restart_run_length_encoding_t const * self );
    8939             : ulong fd_restart_run_length_encoding_footprint( void );
    8940             : ulong fd_restart_run_length_encoding_align( void );
    8941             : int fd_restart_run_length_encoding_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8942             : int fd_restart_run_length_encoding_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8943             : void * fd_restart_run_length_encoding_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8944             : void fd_restart_run_length_encoding_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8945             : void * fd_restart_run_length_encoding_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8946             : void fd_restart_run_length_encoding_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8947             : int fd_restart_run_length_encoding_convert_global_to_local( void const * global_self, fd_restart_run_length_encoding_t * self, fd_bincode_decode_ctx_t * ctx );
    8948             : 
    8949             : void fd_restart_raw_offsets_bitvec_u8_inner_new( fd_restart_raw_offsets_bitvec_u8_inner_t * self );
    8950             : int fd_restart_raw_offsets_bitvec_u8_inner_encode( fd_restart_raw_offsets_bitvec_u8_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    8951             : void fd_restart_raw_offsets_bitvec_u8_inner_destroy( fd_restart_raw_offsets_bitvec_u8_inner_t * self );
    8952             : void fd_restart_raw_offsets_bitvec_u8_inner_walk( void * w, fd_restart_raw_offsets_bitvec_u8_inner_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8953             : ulong fd_restart_raw_offsets_bitvec_u8_inner_size( fd_restart_raw_offsets_bitvec_u8_inner_t const * self );
    8954             : ulong fd_restart_raw_offsets_bitvec_u8_inner_footprint( void );
    8955             : ulong fd_restart_raw_offsets_bitvec_u8_inner_align( void );
    8956             : int fd_restart_raw_offsets_bitvec_u8_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8957             : int fd_restart_raw_offsets_bitvec_u8_inner_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8958             : void * fd_restart_raw_offsets_bitvec_u8_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8959             : void fd_restart_raw_offsets_bitvec_u8_inner_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8960             : void * fd_restart_raw_offsets_bitvec_u8_inner_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8961             : void fd_restart_raw_offsets_bitvec_u8_inner_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8962             : int fd_restart_raw_offsets_bitvec_u8_inner_convert_global_to_local( void const * global_self, fd_restart_raw_offsets_bitvec_u8_inner_t * self, fd_bincode_decode_ctx_t * ctx );
    8963             : 
    8964             : void fd_restart_raw_offsets_bitvec_new( fd_restart_raw_offsets_bitvec_t * self );
    8965             : int fd_restart_raw_offsets_bitvec_encode( fd_restart_raw_offsets_bitvec_t const * self, fd_bincode_encode_ctx_t * ctx );
    8966             : void fd_restart_raw_offsets_bitvec_destroy( fd_restart_raw_offsets_bitvec_t * self );
    8967             : void fd_restart_raw_offsets_bitvec_walk( void * w, fd_restart_raw_offsets_bitvec_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8968             : ulong fd_restart_raw_offsets_bitvec_size( fd_restart_raw_offsets_bitvec_t const * self );
    8969             : ulong fd_restart_raw_offsets_bitvec_footprint( void );
    8970             : ulong fd_restart_raw_offsets_bitvec_align( void );
    8971             : int fd_restart_raw_offsets_bitvec_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8972             : int fd_restart_raw_offsets_bitvec_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8973             : void * fd_restart_raw_offsets_bitvec_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8974             : void fd_restart_raw_offsets_bitvec_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8975             : void * fd_restart_raw_offsets_bitvec_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8976             : void fd_restart_raw_offsets_bitvec_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8977             : int fd_restart_raw_offsets_bitvec_convert_global_to_local( void const * global_self, fd_restart_raw_offsets_bitvec_t * self, fd_bincode_decode_ctx_t * ctx );
    8978             : 
    8979             : void fd_restart_raw_offsets_new( fd_restart_raw_offsets_t * self );
    8980             : int fd_restart_raw_offsets_encode( fd_restart_raw_offsets_t const * self, fd_bincode_encode_ctx_t * ctx );
    8981             : void fd_restart_raw_offsets_destroy( fd_restart_raw_offsets_t * self );
    8982             : void fd_restart_raw_offsets_walk( void * w, fd_restart_raw_offsets_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8983             : ulong fd_restart_raw_offsets_size( fd_restart_raw_offsets_t const * self );
    8984             : ulong fd_restart_raw_offsets_footprint( void );
    8985             : ulong fd_restart_raw_offsets_align( void );
    8986             : int fd_restart_raw_offsets_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8987             : int fd_restart_raw_offsets_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    8988             : void * fd_restart_raw_offsets_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    8989             : void fd_restart_raw_offsets_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8990             : void * fd_restart_raw_offsets_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    8991             : void fd_restart_raw_offsets_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    8992             : int fd_restart_raw_offsets_convert_global_to_local( void const * global_self, fd_restart_raw_offsets_t * self, fd_bincode_decode_ctx_t * ctx );
    8993             : 
    8994             : void fd_restart_slots_offsets_new_disc( fd_restart_slots_offsets_t * self, uint discriminant );
    8995             : void fd_restart_slots_offsets_new( fd_restart_slots_offsets_t * self );
    8996             : int fd_restart_slots_offsets_encode( fd_restart_slots_offsets_t const * self, fd_bincode_encode_ctx_t * ctx );
    8997             : void fd_restart_slots_offsets_destroy( fd_restart_slots_offsets_t * self );
    8998             : void fd_restart_slots_offsets_walk( void * w, fd_restart_slots_offsets_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    8999             : ulong fd_restart_slots_offsets_size( fd_restart_slots_offsets_t const * self );
    9000             : ulong fd_restart_slots_offsets_footprint( void );
    9001             : ulong fd_restart_slots_offsets_align( void );
    9002             : int fd_restart_slots_offsets_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9003             : int fd_restart_slots_offsets_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9004             : void * fd_restart_slots_offsets_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9005             : void fd_restart_slots_offsets_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9006             : void * fd_restart_slots_offsets_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9007             : void fd_restart_slots_offsets_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9008             : int fd_restart_slots_offsets_convert_global_to_local( void const * global_self, fd_restart_slots_offsets_t * self, fd_bincode_decode_ctx_t * ctx );
    9009             : 
    9010             : FD_FN_PURE uchar fd_restart_slots_offsets_is_run_length_encoding( fd_restart_slots_offsets_t const * self );
    9011             : FD_FN_PURE uchar fd_restart_slots_offsets_is_raw_offsets( fd_restart_slots_offsets_t const * self );
    9012             : enum {
    9013             : fd_restart_slots_offsets_enum_run_length_encoding = 0,
    9014             : fd_restart_slots_offsets_enum_raw_offsets = 1,
    9015             : };
    9016             : void fd_gossip_restart_last_voted_fork_slots_new( fd_gossip_restart_last_voted_fork_slots_t * self );
    9017             : int fd_gossip_restart_last_voted_fork_slots_encode( fd_gossip_restart_last_voted_fork_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    9018             : void fd_gossip_restart_last_voted_fork_slots_destroy( fd_gossip_restart_last_voted_fork_slots_t * self );
    9019             : void fd_gossip_restart_last_voted_fork_slots_walk( void * w, fd_gossip_restart_last_voted_fork_slots_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9020             : ulong fd_gossip_restart_last_voted_fork_slots_size( fd_gossip_restart_last_voted_fork_slots_t const * self );
    9021             : ulong fd_gossip_restart_last_voted_fork_slots_footprint( void );
    9022             : ulong fd_gossip_restart_last_voted_fork_slots_align( void );
    9023             : int fd_gossip_restart_last_voted_fork_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9024             : int fd_gossip_restart_last_voted_fork_slots_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9025             : void * fd_gossip_restart_last_voted_fork_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9026             : void fd_gossip_restart_last_voted_fork_slots_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9027             : void * fd_gossip_restart_last_voted_fork_slots_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9028             : void fd_gossip_restart_last_voted_fork_slots_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9029             : int fd_gossip_restart_last_voted_fork_slots_convert_global_to_local( void const * global_self, fd_gossip_restart_last_voted_fork_slots_t * self, fd_bincode_decode_ctx_t * ctx );
    9030             : 
    9031             : void fd_gossip_restart_heaviest_fork_new( fd_gossip_restart_heaviest_fork_t * self );
    9032             : int fd_gossip_restart_heaviest_fork_encode( fd_gossip_restart_heaviest_fork_t const * self, fd_bincode_encode_ctx_t * ctx );
    9033             : void fd_gossip_restart_heaviest_fork_destroy( fd_gossip_restart_heaviest_fork_t * self );
    9034             : void fd_gossip_restart_heaviest_fork_walk( void * w, fd_gossip_restart_heaviest_fork_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9035             : ulong fd_gossip_restart_heaviest_fork_size( fd_gossip_restart_heaviest_fork_t const * self );
    9036             : ulong fd_gossip_restart_heaviest_fork_footprint( void );
    9037             : ulong fd_gossip_restart_heaviest_fork_align( void );
    9038             : int fd_gossip_restart_heaviest_fork_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9039             : int fd_gossip_restart_heaviest_fork_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9040             : void * fd_gossip_restart_heaviest_fork_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9041             : void fd_gossip_restart_heaviest_fork_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9042             : void * fd_gossip_restart_heaviest_fork_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9043             : void fd_gossip_restart_heaviest_fork_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9044             : int fd_gossip_restart_heaviest_fork_convert_global_to_local( void const * global_self, fd_gossip_restart_heaviest_fork_t * self, fd_bincode_decode_ctx_t * ctx );
    9045             : 
    9046             : void fd_crds_data_new_disc( fd_crds_data_t * self, uint discriminant );
    9047             : void fd_crds_data_new( fd_crds_data_t * self );
    9048             : int fd_crds_data_encode( fd_crds_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    9049             : void fd_crds_data_destroy( fd_crds_data_t * self );
    9050             : void fd_crds_data_walk( void * w, fd_crds_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9051             : ulong fd_crds_data_size( fd_crds_data_t const * self );
    9052             : ulong fd_crds_data_footprint( void );
    9053             : ulong fd_crds_data_align( void );
    9054             : int fd_crds_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9055             : int fd_crds_data_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9056             : void * fd_crds_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9057             : void fd_crds_data_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9058             : void * fd_crds_data_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9059             : void fd_crds_data_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9060             : int fd_crds_data_convert_global_to_local( void const * global_self, fd_crds_data_t * self, fd_bincode_decode_ctx_t * ctx );
    9061             : 
    9062             : FD_FN_PURE uchar fd_crds_data_is_contact_info_v1( fd_crds_data_t const * self );
    9063             : FD_FN_PURE uchar fd_crds_data_is_vote( fd_crds_data_t const * self );
    9064             : FD_FN_PURE uchar fd_crds_data_is_lowest_slot( fd_crds_data_t const * self );
    9065             : FD_FN_PURE uchar fd_crds_data_is_snapshot_hashes( fd_crds_data_t const * self );
    9066             : FD_FN_PURE uchar fd_crds_data_is_accounts_hashes( fd_crds_data_t const * self );
    9067             : FD_FN_PURE uchar fd_crds_data_is_epoch_slots( fd_crds_data_t const * self );
    9068             : FD_FN_PURE uchar fd_crds_data_is_version_v1( fd_crds_data_t const * self );
    9069             : FD_FN_PURE uchar fd_crds_data_is_version_v2( fd_crds_data_t const * self );
    9070             : FD_FN_PURE uchar fd_crds_data_is_node_instance( fd_crds_data_t const * self );
    9071             : FD_FN_PURE uchar fd_crds_data_is_duplicate_shred( fd_crds_data_t const * self );
    9072             : FD_FN_PURE uchar fd_crds_data_is_incremental_snapshot_hashes( fd_crds_data_t const * self );
    9073             : FD_FN_PURE uchar fd_crds_data_is_contact_info_v2( fd_crds_data_t const * self );
    9074             : FD_FN_PURE uchar fd_crds_data_is_restart_last_voted_fork_slots( fd_crds_data_t const * self );
    9075             : FD_FN_PURE uchar fd_crds_data_is_restart_heaviest_fork( fd_crds_data_t const * self );
    9076             : enum {
    9077             : fd_crds_data_enum_contact_info_v1 = 0,
    9078             : fd_crds_data_enum_vote = 1,
    9079             : fd_crds_data_enum_lowest_slot = 2,
    9080             : fd_crds_data_enum_snapshot_hashes = 3,
    9081             : fd_crds_data_enum_accounts_hashes = 4,
    9082             : fd_crds_data_enum_epoch_slots = 5,
    9083             : fd_crds_data_enum_version_v1 = 6,
    9084             : fd_crds_data_enum_version_v2 = 7,
    9085             : fd_crds_data_enum_node_instance = 8,
    9086             : fd_crds_data_enum_duplicate_shred = 9,
    9087             : fd_crds_data_enum_incremental_snapshot_hashes = 10,
    9088             : fd_crds_data_enum_contact_info_v2 = 11,
    9089             : fd_crds_data_enum_restart_last_voted_fork_slots = 12,
    9090             : fd_crds_data_enum_restart_heaviest_fork = 13,
    9091             : };
    9092             : void fd_crds_bloom_new( fd_crds_bloom_t * self );
    9093             : int fd_crds_bloom_encode( fd_crds_bloom_t const * self, fd_bincode_encode_ctx_t * ctx );
    9094             : void fd_crds_bloom_destroy( fd_crds_bloom_t * self );
    9095             : void fd_crds_bloom_walk( void * w, fd_crds_bloom_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9096             : ulong fd_crds_bloom_size( fd_crds_bloom_t const * self );
    9097             : ulong fd_crds_bloom_footprint( void );
    9098             : ulong fd_crds_bloom_align( void );
    9099             : int fd_crds_bloom_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9100             : int fd_crds_bloom_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9101             : void * fd_crds_bloom_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9102             : void fd_crds_bloom_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9103             : void * fd_crds_bloom_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9104             : void fd_crds_bloom_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9105             : int fd_crds_bloom_convert_global_to_local( void const * global_self, fd_crds_bloom_t * self, fd_bincode_decode_ctx_t * ctx );
    9106             : 
    9107             : void fd_crds_filter_new( fd_crds_filter_t * self );
    9108             : int fd_crds_filter_encode( fd_crds_filter_t const * self, fd_bincode_encode_ctx_t * ctx );
    9109             : void fd_crds_filter_destroy( fd_crds_filter_t * self );
    9110             : void fd_crds_filter_walk( void * w, fd_crds_filter_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9111             : ulong fd_crds_filter_size( fd_crds_filter_t const * self );
    9112             : ulong fd_crds_filter_footprint( void );
    9113             : ulong fd_crds_filter_align( void );
    9114             : int fd_crds_filter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9115             : int fd_crds_filter_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9116             : void * fd_crds_filter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9117             : void fd_crds_filter_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9118             : void * fd_crds_filter_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9119             : void fd_crds_filter_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9120             : int fd_crds_filter_convert_global_to_local( void const * global_self, fd_crds_filter_t * self, fd_bincode_decode_ctx_t * ctx );
    9121             : 
    9122             : void fd_crds_value_new( fd_crds_value_t * self );
    9123             : int fd_crds_value_encode( fd_crds_value_t const * self, fd_bincode_encode_ctx_t * ctx );
    9124             : void fd_crds_value_destroy( fd_crds_value_t * self );
    9125             : void fd_crds_value_walk( void * w, fd_crds_value_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9126             : ulong fd_crds_value_size( fd_crds_value_t const * self );
    9127             : ulong fd_crds_value_footprint( void );
    9128             : ulong fd_crds_value_align( void );
    9129             : int fd_crds_value_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9130             : int fd_crds_value_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9131             : void * fd_crds_value_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9132             : void fd_crds_value_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9133             : void * fd_crds_value_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9134             : void fd_crds_value_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9135             : int fd_crds_value_convert_global_to_local( void const * global_self, fd_crds_value_t * self, fd_bincode_decode_ctx_t * ctx );
    9136             : 
    9137             : void fd_gossip_pull_req_new( fd_gossip_pull_req_t * self );
    9138             : int fd_gossip_pull_req_encode( fd_gossip_pull_req_t const * self, fd_bincode_encode_ctx_t * ctx );
    9139             : void fd_gossip_pull_req_destroy( fd_gossip_pull_req_t * self );
    9140             : void fd_gossip_pull_req_walk( void * w, fd_gossip_pull_req_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9141             : ulong fd_gossip_pull_req_size( fd_gossip_pull_req_t const * self );
    9142             : ulong fd_gossip_pull_req_footprint( void );
    9143             : ulong fd_gossip_pull_req_align( void );
    9144             : int fd_gossip_pull_req_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9145             : int fd_gossip_pull_req_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9146             : void * fd_gossip_pull_req_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9147             : void fd_gossip_pull_req_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9148             : void * fd_gossip_pull_req_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9149             : void fd_gossip_pull_req_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9150             : int fd_gossip_pull_req_convert_global_to_local( void const * global_self, fd_gossip_pull_req_t * self, fd_bincode_decode_ctx_t * ctx );
    9151             : 
    9152             : void fd_gossip_pull_resp_new( fd_gossip_pull_resp_t * self );
    9153             : int fd_gossip_pull_resp_encode( fd_gossip_pull_resp_t const * self, fd_bincode_encode_ctx_t * ctx );
    9154             : void fd_gossip_pull_resp_destroy( fd_gossip_pull_resp_t * self );
    9155             : void fd_gossip_pull_resp_walk( void * w, fd_gossip_pull_resp_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9156             : ulong fd_gossip_pull_resp_size( fd_gossip_pull_resp_t const * self );
    9157             : ulong fd_gossip_pull_resp_footprint( void );
    9158             : ulong fd_gossip_pull_resp_align( void );
    9159             : int fd_gossip_pull_resp_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9160             : int fd_gossip_pull_resp_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9161             : void * fd_gossip_pull_resp_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9162             : void fd_gossip_pull_resp_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9163             : void * fd_gossip_pull_resp_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9164             : void fd_gossip_pull_resp_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9165             : int fd_gossip_pull_resp_convert_global_to_local( void const * global_self, fd_gossip_pull_resp_t * self, fd_bincode_decode_ctx_t * ctx );
    9166             : 
    9167             : void fd_gossip_push_msg_new( fd_gossip_push_msg_t * self );
    9168             : int fd_gossip_push_msg_encode( fd_gossip_push_msg_t const * self, fd_bincode_encode_ctx_t * ctx );
    9169             : void fd_gossip_push_msg_destroy( fd_gossip_push_msg_t * self );
    9170             : void fd_gossip_push_msg_walk( void * w, fd_gossip_push_msg_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9171             : ulong fd_gossip_push_msg_size( fd_gossip_push_msg_t const * self );
    9172             : ulong fd_gossip_push_msg_footprint( void );
    9173             : ulong fd_gossip_push_msg_align( void );
    9174             : int fd_gossip_push_msg_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9175             : int fd_gossip_push_msg_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9176             : void * fd_gossip_push_msg_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9177             : void fd_gossip_push_msg_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9178             : void * fd_gossip_push_msg_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9179             : void fd_gossip_push_msg_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9180             : int fd_gossip_push_msg_convert_global_to_local( void const * global_self, fd_gossip_push_msg_t * self, fd_bincode_decode_ctx_t * ctx );
    9181             : 
    9182             : void fd_gossip_prune_msg_new( fd_gossip_prune_msg_t * self );
    9183             : int fd_gossip_prune_msg_encode( fd_gossip_prune_msg_t const * self, fd_bincode_encode_ctx_t * ctx );
    9184             : void fd_gossip_prune_msg_destroy( fd_gossip_prune_msg_t * self );
    9185             : void fd_gossip_prune_msg_walk( void * w, fd_gossip_prune_msg_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9186             : ulong fd_gossip_prune_msg_size( fd_gossip_prune_msg_t const * self );
    9187             : ulong fd_gossip_prune_msg_footprint( void );
    9188             : ulong fd_gossip_prune_msg_align( void );
    9189             : int fd_gossip_prune_msg_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9190             : int fd_gossip_prune_msg_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9191             : void * fd_gossip_prune_msg_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9192             : void fd_gossip_prune_msg_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9193             : void * fd_gossip_prune_msg_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9194             : void fd_gossip_prune_msg_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9195             : int fd_gossip_prune_msg_convert_global_to_local( void const * global_self, fd_gossip_prune_msg_t * self, fd_bincode_decode_ctx_t * ctx );
    9196             : 
    9197             : void fd_gossip_msg_new_disc( fd_gossip_msg_t * self, uint discriminant );
    9198             : void fd_gossip_msg_new( fd_gossip_msg_t * self );
    9199             : int fd_gossip_msg_encode( fd_gossip_msg_t const * self, fd_bincode_encode_ctx_t * ctx );
    9200             : void fd_gossip_msg_destroy( fd_gossip_msg_t * self );
    9201             : void fd_gossip_msg_walk( void * w, fd_gossip_msg_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9202             : ulong fd_gossip_msg_size( fd_gossip_msg_t const * self );
    9203             : ulong fd_gossip_msg_footprint( void );
    9204             : ulong fd_gossip_msg_align( void );
    9205             : int fd_gossip_msg_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9206             : int fd_gossip_msg_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9207             : void * fd_gossip_msg_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9208             : void fd_gossip_msg_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9209             : void * fd_gossip_msg_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9210             : void fd_gossip_msg_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9211             : int fd_gossip_msg_convert_global_to_local( void const * global_self, fd_gossip_msg_t * self, fd_bincode_decode_ctx_t * ctx );
    9212             : 
    9213             : FD_FN_PURE uchar fd_gossip_msg_is_pull_req( fd_gossip_msg_t const * self );
    9214             : FD_FN_PURE uchar fd_gossip_msg_is_pull_resp( fd_gossip_msg_t const * self );
    9215             : FD_FN_PURE uchar fd_gossip_msg_is_push_msg( fd_gossip_msg_t const * self );
    9216             : FD_FN_PURE uchar fd_gossip_msg_is_prune_msg( fd_gossip_msg_t const * self );
    9217             : FD_FN_PURE uchar fd_gossip_msg_is_ping( fd_gossip_msg_t const * self );
    9218             : FD_FN_PURE uchar fd_gossip_msg_is_pong( fd_gossip_msg_t const * self );
    9219             : enum {
    9220             : fd_gossip_msg_enum_pull_req = 0,
    9221             : fd_gossip_msg_enum_pull_resp = 1,
    9222             : fd_gossip_msg_enum_push_msg = 2,
    9223             : fd_gossip_msg_enum_prune_msg = 3,
    9224             : fd_gossip_msg_enum_ping = 4,
    9225             : fd_gossip_msg_enum_pong = 5,
    9226             : };
    9227             : void fd_addrlut_create_new( fd_addrlut_create_t * self );
    9228             : int fd_addrlut_create_encode( fd_addrlut_create_t const * self, fd_bincode_encode_ctx_t * ctx );
    9229             : void fd_addrlut_create_destroy( fd_addrlut_create_t * self );
    9230             : void fd_addrlut_create_walk( void * w, fd_addrlut_create_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9231             : ulong fd_addrlut_create_size( fd_addrlut_create_t const * self );
    9232             : ulong fd_addrlut_create_footprint( void );
    9233             : ulong fd_addrlut_create_align( void );
    9234             : int fd_addrlut_create_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9235             : int fd_addrlut_create_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9236             : void * fd_addrlut_create_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9237             : void fd_addrlut_create_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9238             : void * fd_addrlut_create_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9239             : void fd_addrlut_create_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9240             : int fd_addrlut_create_convert_global_to_local( void const * global_self, fd_addrlut_create_t * self, fd_bincode_decode_ctx_t * ctx );
    9241             : 
    9242             : void fd_addrlut_extend_new( fd_addrlut_extend_t * self );
    9243             : int fd_addrlut_extend_encode( fd_addrlut_extend_t const * self, fd_bincode_encode_ctx_t * ctx );
    9244             : void fd_addrlut_extend_destroy( fd_addrlut_extend_t * self );
    9245             : void fd_addrlut_extend_walk( void * w, fd_addrlut_extend_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9246             : ulong fd_addrlut_extend_size( fd_addrlut_extend_t const * self );
    9247             : ulong fd_addrlut_extend_footprint( void );
    9248             : ulong fd_addrlut_extend_align( void );
    9249             : int fd_addrlut_extend_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9250             : int fd_addrlut_extend_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9251             : void * fd_addrlut_extend_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9252             : void fd_addrlut_extend_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9253             : void * fd_addrlut_extend_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9254             : void fd_addrlut_extend_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9255             : int fd_addrlut_extend_convert_global_to_local( void const * global_self, fd_addrlut_extend_t * self, fd_bincode_decode_ctx_t * ctx );
    9256             : 
    9257             : void fd_addrlut_instruction_new_disc( fd_addrlut_instruction_t * self, uint discriminant );
    9258             : void fd_addrlut_instruction_new( fd_addrlut_instruction_t * self );
    9259             : int fd_addrlut_instruction_encode( fd_addrlut_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    9260             : void fd_addrlut_instruction_destroy( fd_addrlut_instruction_t * self );
    9261             : void fd_addrlut_instruction_walk( void * w, fd_addrlut_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9262             : ulong fd_addrlut_instruction_size( fd_addrlut_instruction_t const * self );
    9263             : ulong fd_addrlut_instruction_footprint( void );
    9264             : ulong fd_addrlut_instruction_align( void );
    9265             : int fd_addrlut_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9266             : int fd_addrlut_instruction_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9267             : void * fd_addrlut_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9268             : void fd_addrlut_instruction_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9269             : void * fd_addrlut_instruction_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9270             : void fd_addrlut_instruction_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9271             : int fd_addrlut_instruction_convert_global_to_local( void const * global_self, fd_addrlut_instruction_t * self, fd_bincode_decode_ctx_t * ctx );
    9272             : 
    9273             : FD_FN_PURE uchar fd_addrlut_instruction_is_create_lut( fd_addrlut_instruction_t const * self );
    9274             : FD_FN_PURE uchar fd_addrlut_instruction_is_freeze_lut( fd_addrlut_instruction_t const * self );
    9275             : FD_FN_PURE uchar fd_addrlut_instruction_is_extend_lut( fd_addrlut_instruction_t const * self );
    9276             : FD_FN_PURE uchar fd_addrlut_instruction_is_deactivate_lut( fd_addrlut_instruction_t const * self );
    9277             : FD_FN_PURE uchar fd_addrlut_instruction_is_close_lut( fd_addrlut_instruction_t const * self );
    9278             : enum {
    9279             : fd_addrlut_instruction_enum_create_lut = 0,
    9280             : fd_addrlut_instruction_enum_freeze_lut = 1,
    9281             : fd_addrlut_instruction_enum_extend_lut = 2,
    9282             : fd_addrlut_instruction_enum_deactivate_lut = 3,
    9283             : fd_addrlut_instruction_enum_close_lut = 4,
    9284             : };
    9285             : void fd_repair_request_header_new( fd_repair_request_header_t * self );
    9286             : int fd_repair_request_header_encode( fd_repair_request_header_t const * self, fd_bincode_encode_ctx_t * ctx );
    9287             : void fd_repair_request_header_destroy( fd_repair_request_header_t * self );
    9288             : void fd_repair_request_header_walk( void * w, fd_repair_request_header_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9289             : ulong fd_repair_request_header_size( fd_repair_request_header_t const * self );
    9290             : ulong fd_repair_request_header_footprint( void );
    9291             : ulong fd_repair_request_header_align( void );
    9292             : int fd_repair_request_header_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9293             : int fd_repair_request_header_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9294             : void * fd_repair_request_header_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9295             : void fd_repair_request_header_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9296             : void * fd_repair_request_header_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9297             : void fd_repair_request_header_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9298             : int fd_repair_request_header_convert_global_to_local( void const * global_self, fd_repair_request_header_t * self, fd_bincode_decode_ctx_t * ctx );
    9299             : 
    9300             : void fd_repair_window_index_new( fd_repair_window_index_t * self );
    9301             : int fd_repair_window_index_encode( fd_repair_window_index_t const * self, fd_bincode_encode_ctx_t * ctx );
    9302             : void fd_repair_window_index_destroy( fd_repair_window_index_t * self );
    9303             : void fd_repair_window_index_walk( void * w, fd_repair_window_index_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9304             : ulong fd_repair_window_index_size( fd_repair_window_index_t const * self );
    9305             : ulong fd_repair_window_index_footprint( void );
    9306             : ulong fd_repair_window_index_align( void );
    9307             : int fd_repair_window_index_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9308             : int fd_repair_window_index_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9309             : void * fd_repair_window_index_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9310             : void fd_repair_window_index_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9311             : void * fd_repair_window_index_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9312             : void fd_repair_window_index_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9313             : int fd_repair_window_index_convert_global_to_local( void const * global_self, fd_repair_window_index_t * self, fd_bincode_decode_ctx_t * ctx );
    9314             : 
    9315             : void fd_repair_highest_window_index_new( fd_repair_highest_window_index_t * self );
    9316             : int fd_repair_highest_window_index_encode( fd_repair_highest_window_index_t const * self, fd_bincode_encode_ctx_t * ctx );
    9317             : void fd_repair_highest_window_index_destroy( fd_repair_highest_window_index_t * self );
    9318             : void fd_repair_highest_window_index_walk( void * w, fd_repair_highest_window_index_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9319             : ulong fd_repair_highest_window_index_size( fd_repair_highest_window_index_t const * self );
    9320             : ulong fd_repair_highest_window_index_footprint( void );
    9321             : ulong fd_repair_highest_window_index_align( void );
    9322             : int fd_repair_highest_window_index_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9323             : int fd_repair_highest_window_index_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9324             : void * fd_repair_highest_window_index_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9325             : void fd_repair_highest_window_index_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9326             : void * fd_repair_highest_window_index_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9327             : void fd_repair_highest_window_index_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9328             : int fd_repair_highest_window_index_convert_global_to_local( void const * global_self, fd_repair_highest_window_index_t * self, fd_bincode_decode_ctx_t * ctx );
    9329             : 
    9330             : void fd_repair_orphan_new( fd_repair_orphan_t * self );
    9331             : int fd_repair_orphan_encode( fd_repair_orphan_t const * self, fd_bincode_encode_ctx_t * ctx );
    9332             : void fd_repair_orphan_destroy( fd_repair_orphan_t * self );
    9333             : void fd_repair_orphan_walk( void * w, fd_repair_orphan_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9334             : ulong fd_repair_orphan_size( fd_repair_orphan_t const * self );
    9335             : ulong fd_repair_orphan_footprint( void );
    9336             : ulong fd_repair_orphan_align( void );
    9337             : int fd_repair_orphan_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9338             : int fd_repair_orphan_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9339             : void * fd_repair_orphan_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9340             : void fd_repair_orphan_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9341             : void * fd_repair_orphan_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9342             : void fd_repair_orphan_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9343             : int fd_repair_orphan_convert_global_to_local( void const * global_self, fd_repair_orphan_t * self, fd_bincode_decode_ctx_t * ctx );
    9344             : 
    9345             : void fd_repair_ancestor_hashes_new( fd_repair_ancestor_hashes_t * self );
    9346             : int fd_repair_ancestor_hashes_encode( fd_repair_ancestor_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    9347             : void fd_repair_ancestor_hashes_destroy( fd_repair_ancestor_hashes_t * self );
    9348             : void fd_repair_ancestor_hashes_walk( void * w, fd_repair_ancestor_hashes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9349             : ulong fd_repair_ancestor_hashes_size( fd_repair_ancestor_hashes_t const * self );
    9350             : ulong fd_repair_ancestor_hashes_footprint( void );
    9351             : ulong fd_repair_ancestor_hashes_align( void );
    9352             : int fd_repair_ancestor_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9353             : int fd_repair_ancestor_hashes_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9354             : void * fd_repair_ancestor_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9355             : void fd_repair_ancestor_hashes_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9356             : void * fd_repair_ancestor_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9357             : void fd_repair_ancestor_hashes_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9358             : int fd_repair_ancestor_hashes_convert_global_to_local( void const * global_self, fd_repair_ancestor_hashes_t * self, fd_bincode_decode_ctx_t * ctx );
    9359             : 
    9360             : void fd_repair_protocol_new_disc( fd_repair_protocol_t * self, uint discriminant );
    9361             : void fd_repair_protocol_new( fd_repair_protocol_t * self );
    9362             : int fd_repair_protocol_encode( fd_repair_protocol_t const * self, fd_bincode_encode_ctx_t * ctx );
    9363             : void fd_repair_protocol_destroy( fd_repair_protocol_t * self );
    9364             : void fd_repair_protocol_walk( void * w, fd_repair_protocol_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9365             : ulong fd_repair_protocol_size( fd_repair_protocol_t const * self );
    9366             : ulong fd_repair_protocol_footprint( void );
    9367             : ulong fd_repair_protocol_align( void );
    9368             : int fd_repair_protocol_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9369             : int fd_repair_protocol_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9370             : void * fd_repair_protocol_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9371             : void fd_repair_protocol_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9372             : void * fd_repair_protocol_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9373             : void fd_repair_protocol_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9374             : int fd_repair_protocol_convert_global_to_local( void const * global_self, fd_repair_protocol_t * self, fd_bincode_decode_ctx_t * ctx );
    9375             : 
    9376             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyWindowIndex( fd_repair_protocol_t const * self );
    9377             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyHighestWindowIndex( fd_repair_protocol_t const * self );
    9378             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyOrphan( fd_repair_protocol_t const * self );
    9379             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyWindowIndexWithNonce( fd_repair_protocol_t const * self );
    9380             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyHighestWindowIndexWithNonce( fd_repair_protocol_t const * self );
    9381             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyOrphanWithNonce( fd_repair_protocol_t const * self );
    9382             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyAncestorHashes( fd_repair_protocol_t const * self );
    9383             : FD_FN_PURE uchar fd_repair_protocol_is_pong( fd_repair_protocol_t const * self );
    9384             : FD_FN_PURE uchar fd_repair_protocol_is_window_index( fd_repair_protocol_t const * self );
    9385             : FD_FN_PURE uchar fd_repair_protocol_is_highest_window_index( fd_repair_protocol_t const * self );
    9386             : FD_FN_PURE uchar fd_repair_protocol_is_orphan( fd_repair_protocol_t const * self );
    9387             : FD_FN_PURE uchar fd_repair_protocol_is_ancestor_hashes( fd_repair_protocol_t const * self );
    9388             : enum {
    9389             : fd_repair_protocol_enum_LegacyWindowIndex = 0,
    9390             : fd_repair_protocol_enum_LegacyHighestWindowIndex = 1,
    9391             : fd_repair_protocol_enum_LegacyOrphan = 2,
    9392             : fd_repair_protocol_enum_LegacyWindowIndexWithNonce = 3,
    9393             : fd_repair_protocol_enum_LegacyHighestWindowIndexWithNonce = 4,
    9394             : fd_repair_protocol_enum_LegacyOrphanWithNonce = 5,
    9395             : fd_repair_protocol_enum_LegacyAncestorHashes = 6,
    9396             : fd_repair_protocol_enum_pong = 7,
    9397             : fd_repair_protocol_enum_window_index = 8,
    9398             : fd_repair_protocol_enum_highest_window_index = 9,
    9399             : fd_repair_protocol_enum_orphan = 10,
    9400             : fd_repair_protocol_enum_ancestor_hashes = 11,
    9401             : };
    9402             : void fd_repair_response_new_disc( fd_repair_response_t * self, uint discriminant );
    9403             : void fd_repair_response_new( fd_repair_response_t * self );
    9404             : int fd_repair_response_encode( fd_repair_response_t const * self, fd_bincode_encode_ctx_t * ctx );
    9405             : void fd_repair_response_destroy( fd_repair_response_t * self );
    9406             : void fd_repair_response_walk( void * w, fd_repair_response_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9407             : ulong fd_repair_response_size( fd_repair_response_t const * self );
    9408             : ulong fd_repair_response_footprint( void );
    9409             : ulong fd_repair_response_align( void );
    9410             : int fd_repair_response_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9411             : int fd_repair_response_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9412             : void * fd_repair_response_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9413             : void fd_repair_response_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9414             : void * fd_repair_response_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9415             : void fd_repair_response_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9416             : int fd_repair_response_convert_global_to_local( void const * global_self, fd_repair_response_t * self, fd_bincode_decode_ctx_t * ctx );
    9417             : 
    9418             : FD_FN_PURE uchar fd_repair_response_is_ping( fd_repair_response_t const * self );
    9419             : enum {
    9420             : fd_repair_response_enum_ping = 0,
    9421             : };
    9422             : void fd_instr_error_enum_new_disc( fd_instr_error_enum_t * self, uint discriminant );
    9423             : void fd_instr_error_enum_new( fd_instr_error_enum_t * self );
    9424             : int fd_instr_error_enum_encode( fd_instr_error_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    9425             : void fd_instr_error_enum_destroy( fd_instr_error_enum_t * self );
    9426             : void fd_instr_error_enum_walk( void * w, fd_instr_error_enum_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9427             : ulong fd_instr_error_enum_size( fd_instr_error_enum_t const * self );
    9428             : ulong fd_instr_error_enum_footprint( void );
    9429             : ulong fd_instr_error_enum_align( void );
    9430             : int fd_instr_error_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9431             : int fd_instr_error_enum_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9432             : void * fd_instr_error_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9433             : void fd_instr_error_enum_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9434             : void * fd_instr_error_enum_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9435             : void fd_instr_error_enum_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9436             : int fd_instr_error_enum_convert_global_to_local( void const * global_self, fd_instr_error_enum_t * self, fd_bincode_decode_ctx_t * ctx );
    9437             : 
    9438             : FD_FN_PURE uchar fd_instr_error_enum_is_generic_error( fd_instr_error_enum_t const * self );
    9439             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_argument( fd_instr_error_enum_t const * self );
    9440             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_instruction_data( fd_instr_error_enum_t const * self );
    9441             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_account_data( fd_instr_error_enum_t const * self );
    9442             : FD_FN_PURE uchar fd_instr_error_enum_is_account_data_too_small( fd_instr_error_enum_t const * self );
    9443             : FD_FN_PURE uchar fd_instr_error_enum_is_insufficient_funds( fd_instr_error_enum_t const * self );
    9444             : FD_FN_PURE uchar fd_instr_error_enum_is_incorrect_program_id( fd_instr_error_enum_t const * self );
    9445             : FD_FN_PURE uchar fd_instr_error_enum_is_missing_required_signature( fd_instr_error_enum_t const * self );
    9446             : FD_FN_PURE uchar fd_instr_error_enum_is_account_already_initialized( fd_instr_error_enum_t const * self );
    9447             : FD_FN_PURE uchar fd_instr_error_enum_is_uninitialized_account( fd_instr_error_enum_t const * self );
    9448             : FD_FN_PURE uchar fd_instr_error_enum_is_unbalanced_instruction( fd_instr_error_enum_t const * self );
    9449             : FD_FN_PURE uchar fd_instr_error_enum_is_modified_program_id( fd_instr_error_enum_t const * self );
    9450             : FD_FN_PURE uchar fd_instr_error_enum_is_external_account_lamport_spend( fd_instr_error_enum_t const * self );
    9451             : FD_FN_PURE uchar fd_instr_error_enum_is_external_account_data_modified( fd_instr_error_enum_t const * self );
    9452             : FD_FN_PURE uchar fd_instr_error_enum_is_readonly_lamport_change( fd_instr_error_enum_t const * self );
    9453             : FD_FN_PURE uchar fd_instr_error_enum_is_readonly_data_modified( fd_instr_error_enum_t const * self );
    9454             : FD_FN_PURE uchar fd_instr_error_enum_is_duplicate_account_index( fd_instr_error_enum_t const * self );
    9455             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_modified( fd_instr_error_enum_t const * self );
    9456             : FD_FN_PURE uchar fd_instr_error_enum_is_rent_epoch_modified( fd_instr_error_enum_t const * self );
    9457             : FD_FN_PURE uchar fd_instr_error_enum_is_not_enough_account_keys( fd_instr_error_enum_t const * self );
    9458             : FD_FN_PURE uchar fd_instr_error_enum_is_account_data_size_changed( fd_instr_error_enum_t const * self );
    9459             : FD_FN_PURE uchar fd_instr_error_enum_is_account_not_executable( fd_instr_error_enum_t const * self );
    9460             : FD_FN_PURE uchar fd_instr_error_enum_is_account_borrow_failed( fd_instr_error_enum_t const * self );
    9461             : FD_FN_PURE uchar fd_instr_error_enum_is_account_borrow_outstanding( fd_instr_error_enum_t const * self );
    9462             : FD_FN_PURE uchar fd_instr_error_enum_is_duplicate_account_out_of_sync( fd_instr_error_enum_t const * self );
    9463             : FD_FN_PURE uchar fd_instr_error_enum_is_custom( fd_instr_error_enum_t const * self );
    9464             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_error( fd_instr_error_enum_t const * self );
    9465             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_data_modified( fd_instr_error_enum_t const * self );
    9466             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_lamport_change( fd_instr_error_enum_t const * self );
    9467             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_account_not_rent_exempt( fd_instr_error_enum_t const * self );
    9468             : FD_FN_PURE uchar fd_instr_error_enum_is_unsupported_program_id( fd_instr_error_enum_t const * self );
    9469             : FD_FN_PURE uchar fd_instr_error_enum_is_call_depth( fd_instr_error_enum_t const * self );
    9470             : FD_FN_PURE uchar fd_instr_error_enum_is_missing_account( fd_instr_error_enum_t const * self );
    9471             : FD_FN_PURE uchar fd_instr_error_enum_is_reentrancy_not_allowed( fd_instr_error_enum_t const * self );
    9472             : FD_FN_PURE uchar fd_instr_error_enum_is_max_seed_length_exceeded( fd_instr_error_enum_t const * self );
    9473             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_seeds( fd_instr_error_enum_t const * self );
    9474             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_realloc( fd_instr_error_enum_t const * self );
    9475             : FD_FN_PURE uchar fd_instr_error_enum_is_computational_budget_exceeded( fd_instr_error_enum_t const * self );
    9476             : FD_FN_PURE uchar fd_instr_error_enum_is_privilege_escalation( fd_instr_error_enum_t const * self );
    9477             : FD_FN_PURE uchar fd_instr_error_enum_is_program_environment_setup_failure( fd_instr_error_enum_t const * self );
    9478             : FD_FN_PURE uchar fd_instr_error_enum_is_program_failed_to_complete( fd_instr_error_enum_t const * self );
    9479             : FD_FN_PURE uchar fd_instr_error_enum_is_program_failed_to_compile( fd_instr_error_enum_t const * self );
    9480             : FD_FN_PURE uchar fd_instr_error_enum_is_immutable( fd_instr_error_enum_t const * self );
    9481             : FD_FN_PURE uchar fd_instr_error_enum_is_incorrect_authority( fd_instr_error_enum_t const * self );
    9482             : FD_FN_PURE uchar fd_instr_error_enum_is_borsh_io_error( fd_instr_error_enum_t const * self );
    9483             : FD_FN_PURE uchar fd_instr_error_enum_is_account_not_rent_exempt( fd_instr_error_enum_t const * self );
    9484             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_account_owner( fd_instr_error_enum_t const * self );
    9485             : FD_FN_PURE uchar fd_instr_error_enum_is_arithmetic_overflow( fd_instr_error_enum_t const * self );
    9486             : FD_FN_PURE uchar fd_instr_error_enum_is_unsupported_sysvar( fd_instr_error_enum_t const * self );
    9487             : FD_FN_PURE uchar fd_instr_error_enum_is_illegal_owner( fd_instr_error_enum_t const * self );
    9488             : FD_FN_PURE uchar fd_instr_error_enum_is_max_accounts_data_allocations_exceeded( fd_instr_error_enum_t const * self );
    9489             : FD_FN_PURE uchar fd_instr_error_enum_is_max_accounts_exceeded( fd_instr_error_enum_t const * self );
    9490             : FD_FN_PURE uchar fd_instr_error_enum_is_max_instruction_trace_length_exceeded( fd_instr_error_enum_t const * self );
    9491             : FD_FN_PURE uchar fd_instr_error_enum_is_builtin_programs_must_consume_compute_units( fd_instr_error_enum_t const * self );
    9492             : enum {
    9493             : fd_instr_error_enum_enum_generic_error = 0,
    9494             : fd_instr_error_enum_enum_invalid_argument = 1,
    9495             : fd_instr_error_enum_enum_invalid_instruction_data = 2,
    9496             : fd_instr_error_enum_enum_invalid_account_data = 3,
    9497             : fd_instr_error_enum_enum_account_data_too_small = 4,
    9498             : fd_instr_error_enum_enum_insufficient_funds = 5,
    9499             : fd_instr_error_enum_enum_incorrect_program_id = 6,
    9500             : fd_instr_error_enum_enum_missing_required_signature = 7,
    9501             : fd_instr_error_enum_enum_account_already_initialized = 8,
    9502             : fd_instr_error_enum_enum_uninitialized_account = 9,
    9503             : fd_instr_error_enum_enum_unbalanced_instruction = 10,
    9504             : fd_instr_error_enum_enum_modified_program_id = 11,
    9505             : fd_instr_error_enum_enum_external_account_lamport_spend = 12,
    9506             : fd_instr_error_enum_enum_external_account_data_modified = 13,
    9507             : fd_instr_error_enum_enum_readonly_lamport_change = 14,
    9508             : fd_instr_error_enum_enum_readonly_data_modified = 15,
    9509             : fd_instr_error_enum_enum_duplicate_account_index = 16,
    9510             : fd_instr_error_enum_enum_executable_modified = 17,
    9511             : fd_instr_error_enum_enum_rent_epoch_modified = 18,
    9512             : fd_instr_error_enum_enum_not_enough_account_keys = 19,
    9513             : fd_instr_error_enum_enum_account_data_size_changed = 20,
    9514             : fd_instr_error_enum_enum_account_not_executable = 21,
    9515             : fd_instr_error_enum_enum_account_borrow_failed = 22,
    9516             : fd_instr_error_enum_enum_account_borrow_outstanding = 23,
    9517             : fd_instr_error_enum_enum_duplicate_account_out_of_sync = 24,
    9518             : fd_instr_error_enum_enum_custom = 25,
    9519             : fd_instr_error_enum_enum_invalid_error = 26,
    9520             : fd_instr_error_enum_enum_executable_data_modified = 27,
    9521             : fd_instr_error_enum_enum_executable_lamport_change = 28,
    9522             : fd_instr_error_enum_enum_executable_account_not_rent_exempt = 29,
    9523             : fd_instr_error_enum_enum_unsupported_program_id = 30,
    9524             : fd_instr_error_enum_enum_call_depth = 31,
    9525             : fd_instr_error_enum_enum_missing_account = 32,
    9526             : fd_instr_error_enum_enum_reentrancy_not_allowed = 33,
    9527             : fd_instr_error_enum_enum_max_seed_length_exceeded = 34,
    9528             : fd_instr_error_enum_enum_invalid_seeds = 35,
    9529             : fd_instr_error_enum_enum_invalid_realloc = 36,
    9530             : fd_instr_error_enum_enum_computational_budget_exceeded = 37,
    9531             : fd_instr_error_enum_enum_privilege_escalation = 38,
    9532             : fd_instr_error_enum_enum_program_environment_setup_failure = 39,
    9533             : fd_instr_error_enum_enum_program_failed_to_complete = 40,
    9534             : fd_instr_error_enum_enum_program_failed_to_compile = 41,
    9535             : fd_instr_error_enum_enum_immutable = 42,
    9536             : fd_instr_error_enum_enum_incorrect_authority = 43,
    9537             : fd_instr_error_enum_enum_borsh_io_error = 44,
    9538             : fd_instr_error_enum_enum_account_not_rent_exempt = 45,
    9539             : fd_instr_error_enum_enum_invalid_account_owner = 46,
    9540             : fd_instr_error_enum_enum_arithmetic_overflow = 47,
    9541             : fd_instr_error_enum_enum_unsupported_sysvar = 48,
    9542             : fd_instr_error_enum_enum_illegal_owner = 49,
    9543             : fd_instr_error_enum_enum_max_accounts_data_allocations_exceeded = 50,
    9544             : fd_instr_error_enum_enum_max_accounts_exceeded = 51,
    9545             : fd_instr_error_enum_enum_max_instruction_trace_length_exceeded = 52,
    9546             : fd_instr_error_enum_enum_builtin_programs_must_consume_compute_units = 53,
    9547             : };
    9548             : void fd_txn_instr_error_new( fd_txn_instr_error_t * self );
    9549             : int fd_txn_instr_error_encode( fd_txn_instr_error_t const * self, fd_bincode_encode_ctx_t * ctx );
    9550             : void fd_txn_instr_error_destroy( fd_txn_instr_error_t * self );
    9551             : void fd_txn_instr_error_walk( void * w, fd_txn_instr_error_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9552             : ulong fd_txn_instr_error_size( fd_txn_instr_error_t const * self );
    9553             : ulong fd_txn_instr_error_footprint( void );
    9554             : ulong fd_txn_instr_error_align( void );
    9555             : int fd_txn_instr_error_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9556             : int fd_txn_instr_error_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9557             : void * fd_txn_instr_error_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9558             : void fd_txn_instr_error_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9559             : void * fd_txn_instr_error_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9560             : void fd_txn_instr_error_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9561             : int fd_txn_instr_error_convert_global_to_local( void const * global_self, fd_txn_instr_error_t * self, fd_bincode_decode_ctx_t * ctx );
    9562             : 
    9563             : void fd_txn_error_enum_new_disc( fd_txn_error_enum_t * self, uint discriminant );
    9564             : void fd_txn_error_enum_new( fd_txn_error_enum_t * self );
    9565             : int fd_txn_error_enum_encode( fd_txn_error_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    9566             : void fd_txn_error_enum_destroy( fd_txn_error_enum_t * self );
    9567             : void fd_txn_error_enum_walk( void * w, fd_txn_error_enum_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9568             : ulong fd_txn_error_enum_size( fd_txn_error_enum_t const * self );
    9569             : ulong fd_txn_error_enum_footprint( void );
    9570             : ulong fd_txn_error_enum_align( void );
    9571             : int fd_txn_error_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9572             : int fd_txn_error_enum_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9573             : void * fd_txn_error_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9574             : void fd_txn_error_enum_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9575             : void * fd_txn_error_enum_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9576             : void fd_txn_error_enum_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9577             : int fd_txn_error_enum_convert_global_to_local( void const * global_self, fd_txn_error_enum_t * self, fd_bincode_decode_ctx_t * ctx );
    9578             : 
    9579             : FD_FN_PURE uchar fd_txn_error_enum_is_account_in_use( fd_txn_error_enum_t const * self );
    9580             : FD_FN_PURE uchar fd_txn_error_enum_is_account_loaded_twice( fd_txn_error_enum_t const * self );
    9581             : FD_FN_PURE uchar fd_txn_error_enum_is_account_not_found( fd_txn_error_enum_t const * self );
    9582             : FD_FN_PURE uchar fd_txn_error_enum_is_program_account_not_found( fd_txn_error_enum_t const * self );
    9583             : FD_FN_PURE uchar fd_txn_error_enum_is_insufficient_funds_for_fee( fd_txn_error_enum_t const * self );
    9584             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_account_for_fee( fd_txn_error_enum_t const * self );
    9585             : FD_FN_PURE uchar fd_txn_error_enum_is_already_processed( fd_txn_error_enum_t const * self );
    9586             : FD_FN_PURE uchar fd_txn_error_enum_is_blockhash_not_found( fd_txn_error_enum_t const * self );
    9587             : FD_FN_PURE uchar fd_txn_error_enum_is_instruction_error( fd_txn_error_enum_t const * self );
    9588             : FD_FN_PURE uchar fd_txn_error_enum_is_call_chain_too_deep( fd_txn_error_enum_t const * self );
    9589             : FD_FN_PURE uchar fd_txn_error_enum_is_missing_signature_for_fee( fd_txn_error_enum_t const * self );
    9590             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_account_index( fd_txn_error_enum_t const * self );
    9591             : FD_FN_PURE uchar fd_txn_error_enum_is_signature_failure( fd_txn_error_enum_t const * self );
    9592             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_program_for_execution( fd_txn_error_enum_t const * self );
    9593             : FD_FN_PURE uchar fd_txn_error_enum_is_sanitize_failure( fd_txn_error_enum_t const * self );
    9594             : FD_FN_PURE uchar fd_txn_error_enum_is_cluster_maintenance( fd_txn_error_enum_t const * self );
    9595             : FD_FN_PURE uchar fd_txn_error_enum_is_account_borrow_outstanding( fd_txn_error_enum_t const * self );
    9596             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_block_cost_limit( fd_txn_error_enum_t const * self );
    9597             : FD_FN_PURE uchar fd_txn_error_enum_is_unsupported_version( fd_txn_error_enum_t const * self );
    9598             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_writable_account( fd_txn_error_enum_t const * self );
    9599             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_account_cost_limit( fd_txn_error_enum_t const * self );
    9600             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_account_data_block_limit( fd_txn_error_enum_t const * self );
    9601             : FD_FN_PURE uchar fd_txn_error_enum_is_too_many_account_locks( fd_txn_error_enum_t const * self );
    9602             : FD_FN_PURE uchar fd_txn_error_enum_is_address_lookup_table_not_found( fd_txn_error_enum_t const * self );
    9603             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_owner( fd_txn_error_enum_t const * self );
    9604             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_data( fd_txn_error_enum_t const * self );
    9605             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_index( fd_txn_error_enum_t const * self );
    9606             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_rent_paying_account( fd_txn_error_enum_t const * self );
    9607             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_vote_cost_limit( fd_txn_error_enum_t const * self );
    9608             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_account_data_total_limit( fd_txn_error_enum_t const * self );
    9609             : FD_FN_PURE uchar fd_txn_error_enum_is_duplicate_instruction( fd_txn_error_enum_t const * self );
    9610             : FD_FN_PURE uchar fd_txn_error_enum_is_insufficient_funds_for_rent( fd_txn_error_enum_t const * self );
    9611             : FD_FN_PURE uchar fd_txn_error_enum_is_max_loaded_accounts_data_size_exceeded( fd_txn_error_enum_t const * self );
    9612             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_loaded_accounts_data_size_limit( fd_txn_error_enum_t const * self );
    9613             : FD_FN_PURE uchar fd_txn_error_enum_is_resanitization_needed( fd_txn_error_enum_t const * self );
    9614             : FD_FN_PURE uchar fd_txn_error_enum_is_program_execution_temporarily_restricted( fd_txn_error_enum_t const * self );
    9615             : FD_FN_PURE uchar fd_txn_error_enum_is_unbalanced_transaction( fd_txn_error_enum_t const * self );
    9616             : enum {
    9617             : fd_txn_error_enum_enum_account_in_use = 0,
    9618             : fd_txn_error_enum_enum_account_loaded_twice = 1,
    9619             : fd_txn_error_enum_enum_account_not_found = 2,
    9620             : fd_txn_error_enum_enum_program_account_not_found = 3,
    9621             : fd_txn_error_enum_enum_insufficient_funds_for_fee = 4,
    9622             : fd_txn_error_enum_enum_invalid_account_for_fee = 5,
    9623             : fd_txn_error_enum_enum_already_processed = 6,
    9624             : fd_txn_error_enum_enum_blockhash_not_found = 7,
    9625             : fd_txn_error_enum_enum_instruction_error = 8,
    9626             : fd_txn_error_enum_enum_call_chain_too_deep = 9,
    9627             : fd_txn_error_enum_enum_missing_signature_for_fee = 10,
    9628             : fd_txn_error_enum_enum_invalid_account_index = 11,
    9629             : fd_txn_error_enum_enum_signature_failure = 12,
    9630             : fd_txn_error_enum_enum_invalid_program_for_execution = 13,
    9631             : fd_txn_error_enum_enum_sanitize_failure = 14,
    9632             : fd_txn_error_enum_enum_cluster_maintenance = 15,
    9633             : fd_txn_error_enum_enum_account_borrow_outstanding = 16,
    9634             : fd_txn_error_enum_enum_would_exceed_max_block_cost_limit = 17,
    9635             : fd_txn_error_enum_enum_unsupported_version = 18,
    9636             : fd_txn_error_enum_enum_invalid_writable_account = 19,
    9637             : fd_txn_error_enum_enum_would_exceed_max_account_cost_limit = 20,
    9638             : fd_txn_error_enum_enum_would_exceed_account_data_block_limit = 21,
    9639             : fd_txn_error_enum_enum_too_many_account_locks = 22,
    9640             : fd_txn_error_enum_enum_address_lookup_table_not_found = 23,
    9641             : fd_txn_error_enum_enum_invalid_address_lookup_table_owner = 24,
    9642             : fd_txn_error_enum_enum_invalid_address_lookup_table_data = 25,
    9643             : fd_txn_error_enum_enum_invalid_address_lookup_table_index = 26,
    9644             : fd_txn_error_enum_enum_invalid_rent_paying_account = 27,
    9645             : fd_txn_error_enum_enum_would_exceed_max_vote_cost_limit = 28,
    9646             : fd_txn_error_enum_enum_would_exceed_account_data_total_limit = 29,
    9647             : fd_txn_error_enum_enum_duplicate_instruction = 30,
    9648             : fd_txn_error_enum_enum_insufficient_funds_for_rent = 31,
    9649             : fd_txn_error_enum_enum_max_loaded_accounts_data_size_exceeded = 32,
    9650             : fd_txn_error_enum_enum_invalid_loaded_accounts_data_size_limit = 33,
    9651             : fd_txn_error_enum_enum_resanitization_needed = 34,
    9652             : fd_txn_error_enum_enum_program_execution_temporarily_restricted = 35,
    9653             : fd_txn_error_enum_enum_unbalanced_transaction = 36,
    9654             : };
    9655             : void fd_txn_result_new_disc( fd_txn_result_t * self, uint discriminant );
    9656             : void fd_txn_result_new( fd_txn_result_t * self );
    9657             : int fd_txn_result_encode( fd_txn_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    9658             : void fd_txn_result_destroy( fd_txn_result_t * self );
    9659             : void fd_txn_result_walk( void * w, fd_txn_result_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9660             : ulong fd_txn_result_size( fd_txn_result_t const * self );
    9661             : ulong fd_txn_result_footprint( void );
    9662             : ulong fd_txn_result_align( void );
    9663             : int fd_txn_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9664             : int fd_txn_result_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9665             : void * fd_txn_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9666             : void fd_txn_result_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9667             : void * fd_txn_result_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9668             : void fd_txn_result_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9669             : int fd_txn_result_convert_global_to_local( void const * global_self, fd_txn_result_t * self, fd_bincode_decode_ctx_t * ctx );
    9670             : 
    9671             : FD_FN_PURE uchar fd_txn_result_is_ok( fd_txn_result_t const * self );
    9672             : FD_FN_PURE uchar fd_txn_result_is_error( fd_txn_result_t const * self );
    9673             : enum {
    9674             : fd_txn_result_enum_ok = 0,
    9675             : fd_txn_result_enum_error = 1,
    9676             : };
    9677             : void fd_cache_status_new( fd_cache_status_t * self );
    9678             : int fd_cache_status_encode( fd_cache_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    9679             : void fd_cache_status_destroy( fd_cache_status_t * self );
    9680             : void fd_cache_status_walk( void * w, fd_cache_status_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9681             : ulong fd_cache_status_size( fd_cache_status_t const * self );
    9682             : ulong fd_cache_status_footprint( void );
    9683             : ulong fd_cache_status_align( void );
    9684             : int fd_cache_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9685             : int fd_cache_status_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9686             : void * fd_cache_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9687             : void fd_cache_status_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9688             : void * fd_cache_status_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9689             : void fd_cache_status_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9690             : int fd_cache_status_convert_global_to_local( void const * global_self, fd_cache_status_t * self, fd_bincode_decode_ctx_t * ctx );
    9691             : 
    9692             : void fd_status_value_new( fd_status_value_t * self );
    9693             : int fd_status_value_encode( fd_status_value_t const * self, fd_bincode_encode_ctx_t * ctx );
    9694             : void fd_status_value_destroy( fd_status_value_t * self );
    9695             : void fd_status_value_walk( void * w, fd_status_value_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9696             : ulong fd_status_value_size( fd_status_value_t const * self );
    9697             : ulong fd_status_value_footprint( void );
    9698             : ulong fd_status_value_align( void );
    9699             : int fd_status_value_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9700             : int fd_status_value_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9701             : void * fd_status_value_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9702             : void fd_status_value_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9703             : void * fd_status_value_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9704             : void fd_status_value_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9705             : int fd_status_value_convert_global_to_local( void const * global_self, fd_status_value_t * self, fd_bincode_decode_ctx_t * ctx );
    9706             : 
    9707             : void fd_status_pair_new( fd_status_pair_t * self );
    9708             : int fd_status_pair_encode( fd_status_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    9709             : void fd_status_pair_destroy( fd_status_pair_t * self );
    9710             : void fd_status_pair_walk( void * w, fd_status_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9711             : ulong fd_status_pair_size( fd_status_pair_t const * self );
    9712             : ulong fd_status_pair_footprint( void );
    9713             : ulong fd_status_pair_align( void );
    9714             : int fd_status_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9715             : int fd_status_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9716             : void * fd_status_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9717             : void fd_status_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9718             : void * fd_status_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9719             : void fd_status_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9720             : int fd_status_pair_convert_global_to_local( void const * global_self, fd_status_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    9721             : 
    9722             : void fd_slot_delta_new( fd_slot_delta_t * self );
    9723             : int fd_slot_delta_encode( fd_slot_delta_t const * self, fd_bincode_encode_ctx_t * ctx );
    9724             : void fd_slot_delta_destroy( fd_slot_delta_t * self );
    9725             : void fd_slot_delta_walk( void * w, fd_slot_delta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9726             : ulong fd_slot_delta_size( fd_slot_delta_t const * self );
    9727             : ulong fd_slot_delta_footprint( void );
    9728             : ulong fd_slot_delta_align( void );
    9729             : int fd_slot_delta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9730             : int fd_slot_delta_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9731             : void * fd_slot_delta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9732             : void fd_slot_delta_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9733             : void * fd_slot_delta_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9734             : void fd_slot_delta_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9735             : int fd_slot_delta_convert_global_to_local( void const * global_self, fd_slot_delta_t * self, fd_bincode_decode_ctx_t * ctx );
    9736             : 
    9737             : void fd_bank_slot_deltas_new( fd_bank_slot_deltas_t * self );
    9738             : int fd_bank_slot_deltas_encode( fd_bank_slot_deltas_t const * self, fd_bincode_encode_ctx_t * ctx );
    9739             : void fd_bank_slot_deltas_destroy( fd_bank_slot_deltas_t * self );
    9740             : void fd_bank_slot_deltas_walk( void * w, fd_bank_slot_deltas_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9741             : ulong fd_bank_slot_deltas_size( fd_bank_slot_deltas_t const * self );
    9742             : ulong fd_bank_slot_deltas_footprint( void );
    9743             : ulong fd_bank_slot_deltas_align( void );
    9744             : int fd_bank_slot_deltas_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9745             : int fd_bank_slot_deltas_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9746             : void * fd_bank_slot_deltas_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9747             : void fd_bank_slot_deltas_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9748             : void * fd_bank_slot_deltas_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9749             : void fd_bank_slot_deltas_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9750             : int fd_bank_slot_deltas_convert_global_to_local( void const * global_self, fd_bank_slot_deltas_t * self, fd_bincode_decode_ctx_t * ctx );
    9751             : 
    9752             : void fd_pubkey_rewardinfo_pair_new( fd_pubkey_rewardinfo_pair_t * self );
    9753             : int fd_pubkey_rewardinfo_pair_encode( fd_pubkey_rewardinfo_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    9754             : void fd_pubkey_rewardinfo_pair_destroy( fd_pubkey_rewardinfo_pair_t * self );
    9755             : void fd_pubkey_rewardinfo_pair_walk( void * w, fd_pubkey_rewardinfo_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9756             : ulong fd_pubkey_rewardinfo_pair_size( fd_pubkey_rewardinfo_pair_t const * self );
    9757             : ulong fd_pubkey_rewardinfo_pair_footprint( void );
    9758             : ulong fd_pubkey_rewardinfo_pair_align( void );
    9759             : int fd_pubkey_rewardinfo_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9760             : int fd_pubkey_rewardinfo_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9761             : void * fd_pubkey_rewardinfo_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9762             : void fd_pubkey_rewardinfo_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9763             : void * fd_pubkey_rewardinfo_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9764             : void fd_pubkey_rewardinfo_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9765             : int fd_pubkey_rewardinfo_pair_convert_global_to_local( void const * global_self, fd_pubkey_rewardinfo_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    9766             : 
    9767             : void fd_optional_account_new( fd_optional_account_t * self );
    9768             : int fd_optional_account_encode( fd_optional_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    9769             : void fd_optional_account_destroy( fd_optional_account_t * self );
    9770             : void fd_optional_account_walk( void * w, fd_optional_account_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9771             : ulong fd_optional_account_size( fd_optional_account_t const * self );
    9772             : ulong fd_optional_account_footprint( void );
    9773             : ulong fd_optional_account_align( void );
    9774             : int fd_optional_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9775             : int fd_optional_account_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9776             : void * fd_optional_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9777             : void fd_optional_account_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9778             : void * fd_optional_account_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9779             : void fd_optional_account_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9780             : int fd_optional_account_convert_global_to_local( void const * global_self, fd_optional_account_t * self, fd_bincode_decode_ctx_t * ctx );
    9781             : 
    9782             : void fd_calculated_stake_points_new( fd_calculated_stake_points_t * self );
    9783             : int fd_calculated_stake_points_encode( fd_calculated_stake_points_t const * self, fd_bincode_encode_ctx_t * ctx );
    9784             : void fd_calculated_stake_points_destroy( fd_calculated_stake_points_t * self );
    9785             : void fd_calculated_stake_points_walk( void * w, fd_calculated_stake_points_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9786             : ulong fd_calculated_stake_points_size( fd_calculated_stake_points_t const * self );
    9787             : ulong fd_calculated_stake_points_footprint( void );
    9788             : ulong fd_calculated_stake_points_align( void );
    9789             : int fd_calculated_stake_points_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9790             : int fd_calculated_stake_points_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9791             : void * fd_calculated_stake_points_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9792             : void fd_calculated_stake_points_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9793             : void * fd_calculated_stake_points_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9794             : void fd_calculated_stake_points_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9795             : int fd_calculated_stake_points_convert_global_to_local( void const * global_self, fd_calculated_stake_points_t * self, fd_bincode_decode_ctx_t * ctx );
    9796             : 
    9797             : void fd_calculated_stake_rewards_new( fd_calculated_stake_rewards_t * self );
    9798             : int fd_calculated_stake_rewards_encode( fd_calculated_stake_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    9799             : void fd_calculated_stake_rewards_destroy( fd_calculated_stake_rewards_t * self );
    9800             : void fd_calculated_stake_rewards_walk( void * w, fd_calculated_stake_rewards_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9801             : ulong fd_calculated_stake_rewards_size( fd_calculated_stake_rewards_t const * self );
    9802             : ulong fd_calculated_stake_rewards_footprint( void );
    9803             : ulong fd_calculated_stake_rewards_align( void );
    9804             : int fd_calculated_stake_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9805             : int fd_calculated_stake_rewards_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9806             : void * fd_calculated_stake_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9807             : void fd_calculated_stake_rewards_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9808             : void * fd_calculated_stake_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9809             : void fd_calculated_stake_rewards_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9810             : int fd_calculated_stake_rewards_convert_global_to_local( void const * global_self, fd_calculated_stake_rewards_t * self, fd_bincode_decode_ctx_t * ctx );
    9811             : 
    9812             : void fd_duplicate_slot_proof_new( fd_duplicate_slot_proof_t * self );
    9813             : int fd_duplicate_slot_proof_encode( fd_duplicate_slot_proof_t const * self, fd_bincode_encode_ctx_t * ctx );
    9814             : void fd_duplicate_slot_proof_destroy( fd_duplicate_slot_proof_t * self );
    9815             : void fd_duplicate_slot_proof_walk( void * w, fd_duplicate_slot_proof_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9816             : ulong fd_duplicate_slot_proof_size( fd_duplicate_slot_proof_t const * self );
    9817             : ulong fd_duplicate_slot_proof_footprint( void );
    9818             : ulong fd_duplicate_slot_proof_align( void );
    9819             : int fd_duplicate_slot_proof_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9820             : int fd_duplicate_slot_proof_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9821             : void * fd_duplicate_slot_proof_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9822             : void fd_duplicate_slot_proof_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9823             : void * fd_duplicate_slot_proof_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9824             : void fd_duplicate_slot_proof_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9825             : int fd_duplicate_slot_proof_convert_global_to_local( void const * global_self, fd_duplicate_slot_proof_t * self, fd_bincode_decode_ctx_t * ctx );
    9826             : 
    9827             : void fd_epoch_info_pair_new( fd_epoch_info_pair_t * self );
    9828             : int fd_epoch_info_pair_encode( fd_epoch_info_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    9829             : void fd_epoch_info_pair_destroy( fd_epoch_info_pair_t * self );
    9830             : void fd_epoch_info_pair_walk( void * w, fd_epoch_info_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9831             : ulong fd_epoch_info_pair_size( fd_epoch_info_pair_t const * self );
    9832             : ulong fd_epoch_info_pair_footprint( void );
    9833             : ulong fd_epoch_info_pair_align( void );
    9834             : int fd_epoch_info_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9835             : int fd_epoch_info_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9836             : void * fd_epoch_info_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9837             : void fd_epoch_info_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9838             : void * fd_epoch_info_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9839             : void fd_epoch_info_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9840             : int fd_epoch_info_pair_convert_global_to_local( void const * global_self, fd_epoch_info_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    9841             : 
    9842             : void fd_vote_info_pair_new( fd_vote_info_pair_t * self );
    9843             : int fd_vote_info_pair_encode( fd_vote_info_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    9844             : void fd_vote_info_pair_destroy( fd_vote_info_pair_t * self );
    9845             : void fd_vote_info_pair_walk( void * w, fd_vote_info_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9846             : ulong fd_vote_info_pair_size( fd_vote_info_pair_t const * self );
    9847             : ulong fd_vote_info_pair_footprint( void );
    9848             : ulong fd_vote_info_pair_align( void );
    9849             : int fd_vote_info_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9850             : int fd_vote_info_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9851             : void * fd_vote_info_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9852             : void fd_vote_info_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9853             : void * fd_vote_info_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9854             : void fd_vote_info_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9855             : int fd_vote_info_pair_convert_global_to_local( void const * global_self, fd_vote_info_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    9856             : 
    9857             : void fd_epoch_info_new( fd_epoch_info_t * self );
    9858             : int fd_epoch_info_encode( fd_epoch_info_t const * self, fd_bincode_encode_ctx_t * ctx );
    9859             : void fd_epoch_info_destroy( fd_epoch_info_t * self );
    9860             : void fd_epoch_info_walk( void * w, fd_epoch_info_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9861             : ulong fd_epoch_info_size( fd_epoch_info_t const * self );
    9862             : ulong fd_epoch_info_footprint( void );
    9863             : ulong fd_epoch_info_align( void );
    9864             : int fd_epoch_info_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9865             : int fd_epoch_info_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9866             : void * fd_epoch_info_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9867             : void fd_epoch_info_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9868             : void * fd_epoch_info_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9869             : void fd_epoch_info_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9870             : int fd_epoch_info_convert_global_to_local( void const * global_self, fd_epoch_info_t * self, fd_bincode_decode_ctx_t * ctx );
    9871             : 
    9872             : void fd_usage_cost_details_new( fd_usage_cost_details_t * self );
    9873             : int fd_usage_cost_details_encode( fd_usage_cost_details_t const * self, fd_bincode_encode_ctx_t * ctx );
    9874             : void fd_usage_cost_details_destroy( fd_usage_cost_details_t * self );
    9875             : void fd_usage_cost_details_walk( void * w, fd_usage_cost_details_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9876             : ulong fd_usage_cost_details_size( fd_usage_cost_details_t const * self );
    9877             : ulong fd_usage_cost_details_footprint( void );
    9878             : ulong fd_usage_cost_details_align( void );
    9879             : int fd_usage_cost_details_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9880             : int fd_usage_cost_details_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9881             : void * fd_usage_cost_details_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9882             : void fd_usage_cost_details_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9883             : void * fd_usage_cost_details_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9884             : void fd_usage_cost_details_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9885             : int fd_usage_cost_details_convert_global_to_local( void const * global_self, fd_usage_cost_details_t * self, fd_bincode_decode_ctx_t * ctx );
    9886             : 
    9887             : void fd_transaction_cost_new_disc( fd_transaction_cost_t * self, uint discriminant );
    9888             : void fd_transaction_cost_new( fd_transaction_cost_t * self );
    9889             : int fd_transaction_cost_encode( fd_transaction_cost_t const * self, fd_bincode_encode_ctx_t * ctx );
    9890             : void fd_transaction_cost_destroy( fd_transaction_cost_t * self );
    9891             : void fd_transaction_cost_walk( void * w, fd_transaction_cost_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9892             : ulong fd_transaction_cost_size( fd_transaction_cost_t const * self );
    9893             : ulong fd_transaction_cost_footprint( void );
    9894             : ulong fd_transaction_cost_align( void );
    9895             : int fd_transaction_cost_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9896             : int fd_transaction_cost_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9897             : void * fd_transaction_cost_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9898             : void fd_transaction_cost_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9899             : void * fd_transaction_cost_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9900             : void fd_transaction_cost_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9901             : int fd_transaction_cost_convert_global_to_local( void const * global_self, fd_transaction_cost_t * self, fd_bincode_decode_ctx_t * ctx );
    9902             : 
    9903             : FD_FN_PURE uchar fd_transaction_cost_is_simple_vote( fd_transaction_cost_t const * self );
    9904             : FD_FN_PURE uchar fd_transaction_cost_is_transaction( fd_transaction_cost_t const * self );
    9905             : enum {
    9906             : fd_transaction_cost_enum_simple_vote = 0,
    9907             : fd_transaction_cost_enum_transaction = 1,
    9908             : };
    9909             : void fd_account_costs_pair_new( fd_account_costs_pair_t * self );
    9910             : int fd_account_costs_pair_encode( fd_account_costs_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    9911             : void fd_account_costs_pair_destroy( fd_account_costs_pair_t * self );
    9912             : void fd_account_costs_pair_walk( void * w, fd_account_costs_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9913             : ulong fd_account_costs_pair_size( fd_account_costs_pair_t const * self );
    9914             : ulong fd_account_costs_pair_footprint( void );
    9915             : ulong fd_account_costs_pair_align( void );
    9916             : int fd_account_costs_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9917             : int fd_account_costs_pair_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9918             : void * fd_account_costs_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9919             : void fd_account_costs_pair_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9920             : void * fd_account_costs_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9921             : void fd_account_costs_pair_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9922             : int fd_account_costs_pair_convert_global_to_local( void const * global_self, fd_account_costs_pair_t * self, fd_bincode_decode_ctx_t * ctx );
    9923             : 
    9924             : void fd_account_costs_new( fd_account_costs_t * self );
    9925             : int fd_account_costs_encode( fd_account_costs_t const * self, fd_bincode_encode_ctx_t * ctx );
    9926             : void fd_account_costs_destroy( fd_account_costs_t * self );
    9927             : void fd_account_costs_walk( void * w, fd_account_costs_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9928             : ulong fd_account_costs_size( fd_account_costs_t const * self );
    9929             : ulong fd_account_costs_footprint( void );
    9930             : ulong fd_account_costs_align( void );
    9931             : int fd_account_costs_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9932             : int fd_account_costs_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9933             : void * fd_account_costs_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9934             : void fd_account_costs_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9935             : void * fd_account_costs_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9936             : void fd_account_costs_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9937             : int fd_account_costs_convert_global_to_local( void const * global_self, fd_account_costs_t * self, fd_bincode_decode_ctx_t * ctx );
    9938             : 
    9939             : void fd_cost_tracker_new( fd_cost_tracker_t * self );
    9940             : int fd_cost_tracker_encode( fd_cost_tracker_t const * self, fd_bincode_encode_ctx_t * ctx );
    9941             : void fd_cost_tracker_destroy( fd_cost_tracker_t * self );
    9942             : void fd_cost_tracker_walk( void * w, fd_cost_tracker_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9943             : ulong fd_cost_tracker_size( fd_cost_tracker_t const * self );
    9944             : ulong fd_cost_tracker_footprint( void );
    9945             : ulong fd_cost_tracker_align( void );
    9946             : int fd_cost_tracker_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9947             : int fd_cost_tracker_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9948             : void * fd_cost_tracker_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9949             : void fd_cost_tracker_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9950             : void * fd_cost_tracker_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9951             : void fd_cost_tracker_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9952             : int fd_cost_tracker_convert_global_to_local( void const * global_self, fd_cost_tracker_t * self, fd_bincode_decode_ctx_t * ctx );
    9953             : 
    9954             : void fd_pubkey_node_new( fd_pubkey_node_t * self );
    9955             : int fd_pubkey_node_encode( fd_pubkey_node_t const * self, fd_bincode_encode_ctx_t * ctx );
    9956             : void fd_pubkey_node_destroy( fd_pubkey_node_t * self );
    9957             : void fd_pubkey_node_walk( void * w, fd_pubkey_node_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9958             : ulong fd_pubkey_node_size( fd_pubkey_node_t const * self );
    9959             : ulong fd_pubkey_node_footprint( void );
    9960             : ulong fd_pubkey_node_align( void );
    9961             : int fd_pubkey_node_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9962             : int fd_pubkey_node_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9963             : void * fd_pubkey_node_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9964             : void fd_pubkey_node_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9965             : void * fd_pubkey_node_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9966             : void fd_pubkey_node_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9967             : int fd_pubkey_node_convert_global_to_local( void const * global_self, fd_pubkey_node_t * self, fd_bincode_decode_ctx_t * ctx );
    9968             : 
    9969             : void fd_rent_fresh_accounts_partition_new( fd_rent_fresh_accounts_partition_t * self );
    9970             : int fd_rent_fresh_accounts_partition_encode( fd_rent_fresh_accounts_partition_t const * self, fd_bincode_encode_ctx_t * ctx );
    9971             : void fd_rent_fresh_accounts_partition_destroy( fd_rent_fresh_accounts_partition_t * self );
    9972             : void fd_rent_fresh_accounts_partition_walk( void * w, fd_rent_fresh_accounts_partition_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9973             : ulong fd_rent_fresh_accounts_partition_size( fd_rent_fresh_accounts_partition_t const * self );
    9974             : ulong fd_rent_fresh_accounts_partition_footprint( void );
    9975             : ulong fd_rent_fresh_accounts_partition_align( void );
    9976             : int fd_rent_fresh_accounts_partition_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9977             : int fd_rent_fresh_accounts_partition_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9978             : void * fd_rent_fresh_accounts_partition_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9979             : void fd_rent_fresh_accounts_partition_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9980             : void * fd_rent_fresh_accounts_partition_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9981             : void fd_rent_fresh_accounts_partition_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9982             : int fd_rent_fresh_accounts_partition_convert_global_to_local( void const * global_self, fd_rent_fresh_accounts_partition_t * self, fd_bincode_decode_ctx_t * ctx );
    9983             : 
    9984             : void fd_rent_fresh_accounts_new( fd_rent_fresh_accounts_t * self );
    9985             : int fd_rent_fresh_accounts_encode( fd_rent_fresh_accounts_t const * self, fd_bincode_encode_ctx_t * ctx );
    9986             : void fd_rent_fresh_accounts_destroy( fd_rent_fresh_accounts_t * self );
    9987             : void fd_rent_fresh_accounts_walk( void * w, fd_rent_fresh_accounts_t const * self, fd_types_walk_fn_t fun, const char *name, uint level );
    9988             : ulong fd_rent_fresh_accounts_size( fd_rent_fresh_accounts_t const * self );
    9989             : ulong fd_rent_fresh_accounts_footprint( void );
    9990             : ulong fd_rent_fresh_accounts_align( void );
    9991             : int fd_rent_fresh_accounts_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9992             : int fd_rent_fresh_accounts_decode_footprint_inner( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    9993             : void * fd_rent_fresh_accounts_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    9994             : void fd_rent_fresh_accounts_decode_inner( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9995             : void * fd_rent_fresh_accounts_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    9996             : void fd_rent_fresh_accounts_decode_inner_global( void * struct_mem, void * * alloc_mem, fd_bincode_decode_ctx_t * ctx );
    9997             : int fd_rent_fresh_accounts_convert_global_to_local( void const * global_self, fd_rent_fresh_accounts_t * self, fd_bincode_decode_ctx_t * ctx );
    9998             : 
    9999             : FD_PROTOTYPES_END
   10000             : 
   10001             : #endif // HEADER_FD_RUNTIME_TYPES

Generated by: LCOV version 1.14