LCOV - code coverage report
Current view: top level - flamenco/types - fd_types.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 89 867 10.3 %
Date: 2025-09-16 04:29:32 Functions: 35 78196 0.1 %

          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             : 
       9             : /* sdk/program/src/feature.rs#L22 */
      10             : /* Encoded Size: Dynamic */
      11             : struct fd_feature {
      12             :   ulong activated_at;
      13             :   uchar has_activated_at;
      14             : };
      15             : typedef struct fd_feature fd_feature_t;
      16           0 : #define FD_FEATURE_ALIGN alignof(fd_feature_t)
      17             : 
      18             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/fee_calculator.rs#L9 */
      19             : /* Encoded Size: Fixed (8 bytes) */
      20             : struct fd_fee_calculator {
      21             :   ulong lamports_per_signature;
      22             : };
      23             : typedef struct fd_fee_calculator fd_fee_calculator_t;
      24             : #define FD_FEE_CALCULATOR_ALIGN alignof(fd_fee_calculator_t)
      25             : 
      26             : /* Encoded Size: Fixed (33 bytes) */
      27             : struct fd_fee_rate_governor {
      28             :   ulong target_lamports_per_signature;
      29             :   ulong target_signatures_per_slot;
      30             :   ulong min_lamports_per_signature;
      31             :   ulong max_lamports_per_signature;
      32             :   uchar burn_percent;
      33             : };
      34             : typedef struct fd_fee_rate_governor fd_fee_rate_governor_t;
      35             : #define FD_FEE_RATE_GOVERNOR_ALIGN alignof(fd_fee_rate_governor_t)
      36             : 
      37             : /* Encoded Size: Fixed (16 bytes) */
      38             : struct fd_slot_pair {
      39             :   ulong slot;
      40             :   ulong val;
      41             : };
      42             : typedef struct fd_slot_pair fd_slot_pair_t;
      43           0 : #define FD_SLOT_PAIR_ALIGN alignof(fd_slot_pair_t)
      44             : 
      45             : /* Encoded Size: Dynamic */
      46             : struct fd_hard_forks {
      47             :   ulong hard_forks_len;
      48             :   fd_slot_pair_t * hard_forks;
      49             : };
      50             : typedef struct fd_hard_forks fd_hard_forks_t;
      51             : #define FD_HARD_FORKS_ALIGN alignof(fd_hard_forks_t)
      52             : 
      53             : struct fd_hard_forks_global {
      54             :   ulong hard_forks_len;
      55             :   ulong hard_forks_offset;
      56             : };
      57             : typedef struct fd_hard_forks_global fd_hard_forks_global_t;
      58             : #define FD_HARD_FORKS_GLOBAL_ALIGN alignof(fd_hard_forks_global_t)
      59             : 
      60           0 : FD_FN_UNUSED static fd_slot_pair_t * fd_hard_forks_hard_forks_join( fd_hard_forks_global_t const * struct_mem ) { // vector
      61           0 :   return struct_mem->hard_forks_offset ? (fd_slot_pair_t *)fd_type_pun( (uchar *)struct_mem + struct_mem->hard_forks_offset ) : NULL;
      62           0 : }
      63           0 : FD_FN_UNUSED static void fd_hard_forks_hard_forks_update( fd_hard_forks_global_t * struct_mem, fd_slot_pair_t * vec ) {
      64           0 :   struct_mem->hard_forks_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
      65           0 : }
      66             : /* Encoded Size: Fixed (48 bytes) */
      67             : struct fd_inflation {
      68             :   double initial;
      69             :   double terminal;
      70             :   double taper;
      71             :   double foundation;
      72             :   double foundation_term;
      73             :   double unused;
      74             : };
      75             : typedef struct fd_inflation fd_inflation_t;
      76             : #define FD_INFLATION_ALIGN alignof(fd_inflation_t)
      77             : 
      78             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/rent.rs#L11 */
      79             : /* Encoded Size: Fixed (17 bytes) */
      80             : struct fd_rent {
      81             :   ulong lamports_per_uint8_year;
      82             :   double exemption_threshold;
      83             :   uchar burn_percent;
      84             : };
      85             : typedef struct fd_rent fd_rent_t;
      86           3 : #define FD_RENT_ALIGN alignof(fd_rent_t)
      87             : 
      88             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/epoch_schedule.rs#L26 */
      89             : /* Encoded Size: Fixed (33 bytes) */
      90             : struct fd_epoch_schedule {
      91             :   ulong slots_per_epoch;
      92             :   ulong leader_schedule_slot_offset;
      93             :   uchar warmup;
      94             :   ulong first_normal_epoch;
      95             :   ulong first_normal_slot;
      96             : };
      97             : typedef struct fd_epoch_schedule fd_epoch_schedule_t;
      98           3 : #define FD_EPOCH_SCHEDULE_ALIGN alignof(fd_epoch_schedule_t)
      99             : 
     100             : /* Encoded Size: Fixed (66 bytes) */
     101             : struct fd_rent_collector {
     102             :   ulong epoch;
     103             :   fd_epoch_schedule_t epoch_schedule;
     104             :   double slots_per_year;
     105             :   fd_rent_t rent;
     106             : };
     107             : typedef struct fd_rent_collector fd_rent_collector_t;
     108             : #define FD_RENT_COLLECTOR_ALIGN alignof(fd_rent_collector_t)
     109             : 
     110             : /* https://github.com/solana-program/stake/blob/330d89c6246ab3fd35d02803386fa700be0455d6/interface/src/stake_history.rs#L17 */
     111             : /* Encoded Size: Fixed (24 bytes) */
     112             : struct fd_stake_history_entry {
     113             :   ulong effective;
     114             :   ulong activating;
     115             :   ulong deactivating;
     116             : };
     117             : typedef struct fd_stake_history_entry fd_stake_history_entry_t;
     118             : #define FD_STAKE_HISTORY_ENTRY_ALIGN alignof(fd_stake_history_entry_t)
     119             : 
     120             : /* https://github.com/solana-program/stake/blob/330d89c6246ab3fd35d02803386fa700be0455d6/interface/src/stake_history.rs#L66 */
     121             : /* Encoded Size: Fixed (32 bytes) */
     122             : struct fd_epoch_stake_history_entry_pair {
     123             :   ulong epoch;
     124             :   fd_stake_history_entry_t entry;
     125             : };
     126             : typedef struct fd_epoch_stake_history_entry_pair fd_epoch_stake_history_entry_pair_t;
     127             : #define FD_EPOCH_STAKE_HISTORY_ENTRY_PAIR_ALIGN alignof(fd_epoch_stake_history_entry_pair_t)
     128             : 
     129             : /* https://github.com/solana-program/stake/blob/330d89c6246ab3fd35d02803386fa700be0455d6/interface/src/stake_history.rs#L66 */
     130             : /* Encoded Size: Fixed (16392 bytes) */
     131             : struct fd_stake_history {
     132             :   ulong fd_stake_history_len;
     133             :   ulong fd_stake_history_size;
     134             :   ulong fd_stake_history_offset;
     135             :   fd_epoch_stake_history_entry_pair_t fd_stake_history[512];
     136             : };
     137             : typedef struct fd_stake_history fd_stake_history_t;
     138           9 : #define FD_STAKE_HISTORY_ALIGN alignof(fd_stake_history_t)
     139             : 
     140             : /* https://github.com/anza-xyz/agave/blob/6ac4fe32e28d8ceb4085072b61fa0c6cb09baac1/sdk/src/account.rs#L37 */
     141             : /* Encoded Size: Dynamic */
     142             : struct fd_solana_account {
     143             :   ulong lamports;
     144             :   ulong data_len;
     145             :   uchar* data;
     146             :   fd_pubkey_t owner;
     147             :   uchar executable;
     148             :   ulong rent_epoch;
     149             : };
     150             : typedef struct fd_solana_account fd_solana_account_t;
     151             : #define FD_SOLANA_ACCOUNT_ALIGN alignof(fd_solana_account_t)
     152             : 
     153             : /* Encoded Size: Fixed (48 bytes) */
     154             : struct __attribute__((packed)) fd_solana_account_stored_meta {
     155             :   ulong write_version_obsolete;
     156             :   ulong data_len;
     157             :   uchar pubkey[32];
     158             : };
     159             : typedef struct fd_solana_account_stored_meta fd_solana_account_stored_meta_t;
     160             : #define FD_SOLANA_ACCOUNT_STORED_META_ALIGN (8UL)
     161             : 
     162             : /* Encoded Size: Fixed (52 bytes) */
     163             : struct __attribute__((packed)) fd_solana_account_meta {
     164             :   ulong lamports;
     165             :   ulong rent_epoch;
     166             :   uchar owner[32];
     167             :   uchar executable;
     168             :   uchar padding[3];
     169             : };
     170             : typedef struct fd_solana_account_meta fd_solana_account_meta_t;
     171             : #define FD_SOLANA_ACCOUNT_META_ALIGN (8UL)
     172             : 
     173             : /* Encoded Size: Fixed (136 bytes) */
     174             : struct __attribute__((packed)) fd_solana_account_hdr {
     175             :   fd_solana_account_stored_meta_t meta;
     176             :   fd_solana_account_meta_t info;
     177             :   uchar padding[4];
     178             :   fd_hash_t hash;
     179             : };
     180             : typedef struct fd_solana_account_hdr fd_solana_account_hdr_t;
     181             : #define FD_SOLANA_ACCOUNT_HDR_ALIGN (8UL)
     182             : 
     183             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L303 */
     184             : /* Encoded Size: Fixed (64 bytes) */
     185             : struct fd_delegation {
     186             :   fd_pubkey_t voter_pubkey;
     187             :   ulong stake;
     188             :   ulong activation_epoch;
     189             :   ulong deactivation_epoch;
     190             :   double warmup_cooldown_rate;
     191             : };
     192             : typedef struct fd_delegation fd_delegation_t;
     193             : #define FD_DELEGATION_ALIGN alignof(fd_delegation_t)
     194             : 
     195             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L539 */
     196             : /* Encoded Size: Fixed (72 bytes) */
     197             : struct fd_stake {
     198             :   fd_delegation_t delegation;
     199             :   ulong credits_observed;
     200             : };
     201             : typedef struct fd_stake fd_stake_t;
     202             : #define FD_STAKE_ALIGN alignof(fd_stake_t)
     203             : 
     204             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/sdk/src/reward_type.rs#L7 */
     205             : struct fd_reward_type {
     206             :   uint discriminant;
     207             : };
     208             : typedef struct fd_reward_type fd_reward_type_t;
     209             : #define FD_REWARD_TYPE_ALIGN alignof(fd_reward_type_t)
     210             : 
     211             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/sdk/src/reward_info.rs#L5 */
     212             : /* Encoded Size: Fixed (28 bytes) */
     213             : struct fd_reward_info {
     214             :   fd_reward_type_t reward_type;
     215             :   ulong lamports;
     216             :   ulong post_balance;
     217             :   ulong commission;
     218             : };
     219             : typedef struct fd_reward_info fd_reward_info_t;
     220             : #define FD_REWARD_INFO_ALIGN alignof(fd_reward_info_t)
     221             : 
     222             : /* Encoded Size: Fixed (12 bytes) */
     223             : struct fd_rust_duration {
     224             :   ulong seconds;
     225             :   uint nanoseconds;
     226             : };
     227             : typedef struct fd_rust_duration fd_rust_duration_t;
     228             : #define FD_RUST_DURATION_ALIGN alignof(fd_rust_duration_t)
     229             : 
     230             : /* Encoded Size: Dynamic */
     231             : struct fd_poh_config {
     232             :   fd_rust_duration_t target_tick_duration;
     233             :   ulong target_tick_count;
     234             :   uchar has_target_tick_count;
     235             :   ulong hashes_per_tick;
     236             :   uchar has_hashes_per_tick;
     237             : };
     238             : typedef struct fd_poh_config fd_poh_config_t;
     239             : #define FD_POH_CONFIG_ALIGN alignof(fd_poh_config_t)
     240             : 
     241             : /* Encoded Size: Dynamic */
     242             : struct fd_string_pubkey_pair {
     243             :   ulong string_len;
     244             :   uchar* string;
     245             :   fd_pubkey_t pubkey;
     246             : };
     247             : typedef struct fd_string_pubkey_pair fd_string_pubkey_pair_t;
     248           0 : #define FD_STRING_PUBKEY_PAIR_ALIGN alignof(fd_string_pubkey_pair_t)
     249             : 
     250             : /* Encoded Size: Dynamic */
     251             : struct fd_pubkey_account_pair {
     252             :   fd_pubkey_t key;
     253             :   fd_solana_account_t account;
     254             : };
     255             : typedef struct fd_pubkey_account_pair fd_pubkey_account_pair_t;
     256           0 : #define FD_PUBKEY_ACCOUNT_PAIR_ALIGN alignof(fd_pubkey_account_pair_t)
     257             : 
     258             : /* Encoded Size: Dynamic */
     259             : struct fd_genesis_solana {
     260             :   ulong creation_time;
     261             :   ulong accounts_len;
     262             :   fd_pubkey_account_pair_t * accounts;
     263             :   ulong native_instruction_processors_len;
     264             :   fd_string_pubkey_pair_t * native_instruction_processors;
     265             :   ulong rewards_pools_len;
     266             :   fd_pubkey_account_pair_t * rewards_pools;
     267             :   ulong ticks_per_slot;
     268             :   ulong unused;
     269             :   fd_poh_config_t poh_config;
     270             :   ulong __backwards_compat_with_v0_23;
     271             :   fd_fee_rate_governor_t fee_rate_governor;
     272             :   fd_rent_t rent;
     273             :   fd_inflation_t inflation;
     274             :   fd_epoch_schedule_t epoch_schedule;
     275             :   uint cluster_type;
     276             : };
     277             : typedef struct fd_genesis_solana fd_genesis_solana_t;
     278           0 : #define FD_GENESIS_SOLANA_ALIGN alignof(fd_genesis_solana_t)
     279             : 
     280             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/clock.rs#L114 */
     281             : /* Encoded Size: Fixed (40 bytes) */
     282             : struct fd_sol_sysvar_clock {
     283             :   ulong slot;
     284             :   long epoch_start_timestamp;
     285             :   ulong epoch;
     286             :   ulong leader_schedule_epoch;
     287             :   long unix_timestamp;
     288             : };
     289             : typedef struct fd_sol_sysvar_clock fd_sol_sysvar_clock_t;
     290           3 : #define FD_SOL_SYSVAR_CLOCK_ALIGN alignof(fd_sol_sysvar_clock_t)
     291             : 
     292             : /* https://github.com/solana-labs/solana/blob/30531d7a5b74f914dde53bfbb0bc2144f2ac92bb/sdk/program/src/last_restart_slot.rs#L7 */
     293             : /* Encoded Size: Fixed (8 bytes) */
     294             : struct fd_sol_sysvar_last_restart_slot {
     295             :   ulong slot;
     296             : };
     297             : typedef struct fd_sol_sysvar_last_restart_slot fd_sol_sysvar_last_restart_slot_t;
     298           3 : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN alignof(fd_sol_sysvar_last_restart_slot_t)
     299             : 
     300             : /* Encoded Size: Fixed (12 bytes) */
     301             : struct fd_vote_lockout {
     302             :   ulong slot;
     303             :   uint confirmation_count;
     304             : };
     305             : typedef struct fd_vote_lockout fd_vote_lockout_t;
     306             : #define FD_VOTE_LOCKOUT_ALIGN alignof(fd_vote_lockout_t)
     307             : 
     308             : /* Encoded Size: Dynamic */
     309             : struct fd_lockout_offset {
     310             :   ulong offset;
     311             :   uchar confirmation_count;
     312             : };
     313             : typedef struct fd_lockout_offset fd_lockout_offset_t;
     314           0 : #define FD_LOCKOUT_OFFSET_ALIGN alignof(fd_lockout_offset_t)
     315             : 
     316             : /* https://github.com/firedancer-io/solana/blob/da470eef4652b3b22598a1f379cacfe82bd5928d/sdk/program/src/vote/authorized_voters.rs#L9 */
     317             : /* Encoded Size: Fixed (40 bytes) */
     318             : struct fd_vote_authorized_voter {
     319             :   ulong epoch;
     320             :   fd_pubkey_t pubkey;
     321             :   ulong parent;
     322             :   ulong left;
     323             :   ulong right;
     324             :   ulong prio;
     325             : };
     326             : typedef struct fd_vote_authorized_voter fd_vote_authorized_voter_t;
     327             : #define FD_VOTE_AUTHORIZED_VOTER_ALIGN alignof(fd_vote_authorized_voter_t)
     328             : 
     329             : /* Encoded Size: Fixed (48 bytes) */
     330             : struct fd_vote_prior_voter {
     331             :   fd_pubkey_t pubkey;
     332             :   ulong epoch_start;
     333             :   ulong epoch_end;
     334             : };
     335             : typedef struct fd_vote_prior_voter fd_vote_prior_voter_t;
     336             : #define FD_VOTE_PRIOR_VOTER_ALIGN alignof(fd_vote_prior_voter_t)
     337             : 
     338             : /* Encoded Size: Fixed (56 bytes) */
     339             : struct fd_vote_prior_voter_0_23_5 {
     340             :   fd_pubkey_t pubkey;
     341             :   ulong epoch_start;
     342             :   ulong epoch_end;
     343             :   ulong slot;
     344             : };
     345             : typedef struct fd_vote_prior_voter_0_23_5 fd_vote_prior_voter_0_23_5_t;
     346             : #define FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN alignof(fd_vote_prior_voter_0_23_5_t)
     347             : 
     348             : /* Encoded Size: Fixed (24 bytes) */
     349             : struct fd_vote_epoch_credits {
     350             :   ulong epoch;
     351             :   ulong credits;
     352             :   ulong prev_credits;
     353             : };
     354             : typedef struct fd_vote_epoch_credits fd_vote_epoch_credits_t;
     355             : #define FD_VOTE_EPOCH_CREDITS_ALIGN alignof(fd_vote_epoch_credits_t)
     356             : 
     357             : /* Encoded Size: Fixed (16 bytes) */
     358             : struct fd_vote_block_timestamp {
     359             :   ulong slot;
     360             :   long timestamp;
     361             : };
     362             : typedef struct fd_vote_block_timestamp fd_vote_block_timestamp_t;
     363             : #define FD_VOTE_BLOCK_TIMESTAMP_ALIGN alignof(fd_vote_block_timestamp_t)
     364             : 
     365             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     366             : /* Encoded Size: Fixed (1545 bytes) */
     367             : struct fd_vote_prior_voters {
     368             :   fd_vote_prior_voter_t buf[32];
     369             :   ulong idx;
     370             :   uchar is_empty;
     371             : };
     372             : typedef struct fd_vote_prior_voters fd_vote_prior_voters_t;
     373             : #define FD_VOTE_PRIOR_VOTERS_ALIGN alignof(fd_vote_prior_voters_t)
     374             : 
     375             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     376             : /* Encoded Size: Fixed (1800 bytes) */
     377             : struct fd_vote_prior_voters_0_23_5 {
     378             :   fd_vote_prior_voter_0_23_5_t buf[32];
     379             :   ulong idx;
     380             : };
     381             : typedef struct fd_vote_prior_voters_0_23_5 fd_vote_prior_voters_0_23_5_t;
     382             : #define FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN alignof(fd_vote_prior_voters_0_23_5_t)
     383             : 
     384             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     385             : /* Encoded Size: Fixed (13 bytes) */
     386             : struct fd_landed_vote {
     387             :   uchar latency;
     388             :   fd_vote_lockout_t lockout;
     389             : };
     390             : typedef struct fd_landed_vote fd_landed_vote_t;
     391             : #define FD_LANDED_VOTE_ALIGN alignof(fd_landed_vote_t)
     392             : 
     393             : #define DEQUE_NAME deq_fd_vote_lockout_t
     394           0 : #define DEQUE_T fd_vote_lockout_t
     395             : #include "../../util/tmpl/fd_deque_dynamic.c"
     396             : #undef DEQUE_NAME
     397             : #undef DEQUE_T
     398             : #undef DEQUE_MAX
     399             : static inline fd_vote_lockout_t *
     400           0 : deq_fd_vote_lockout_t_join_new( void * * alloc_mem, ulong max ) {
     401           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     402           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_lockout_t_align() );
     403           0 :   void * deque_mem = *alloc_mem;
     404           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_lockout_t_footprint( max );
     405           0 :   return deq_fd_vote_lockout_t_join( deq_fd_vote_lockout_t_new( deque_mem, max ) );
     406           0 : }
     407             : 
     408             : #define DEQUE_NAME deq_fd_vote_epoch_credits_t
     409         393 : #define DEQUE_T fd_vote_epoch_credits_t
     410             : #include "../../util/tmpl/fd_deque_dynamic.c"
     411             : #undef DEQUE_NAME
     412             : #undef DEQUE_T
     413             : #undef DEQUE_MAX
     414             : static inline fd_vote_epoch_credits_t *
     415          15 : deq_fd_vote_epoch_credits_t_join_new( void * * alloc_mem, ulong max ) {
     416          15 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     417          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_epoch_credits_t_align() );
     418          15 :   void * deque_mem = *alloc_mem;
     419          15 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_epoch_credits_t_footprint( max );
     420          15 :   return deq_fd_vote_epoch_credits_t_join( deq_fd_vote_epoch_credits_t_new( deque_mem, max ) );
     421          15 : }
     422             : 
     423             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_0_23_5.rs#L6 */
     424             : /* Encoded Size: Dynamic */
     425             : struct fd_vote_state_0_23_5 {
     426             :   fd_pubkey_t node_pubkey;
     427             :   fd_pubkey_t authorized_voter;
     428             :   ulong authorized_voter_epoch;
     429             :   fd_vote_prior_voters_0_23_5_t prior_voters;
     430             :   fd_pubkey_t authorized_withdrawer;
     431             :   uchar commission;
     432             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
     433             :   ulong root_slot;
     434             :   uchar has_root_slot;
     435             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     436             :   fd_vote_block_timestamp_t last_timestamp;
     437             : };
     438             : typedef struct fd_vote_state_0_23_5 fd_vote_state_0_23_5_t;
     439             : #define FD_VOTE_STATE_0_23_5_ALIGN alignof(fd_vote_state_0_23_5_t)
     440             : 
     441          30 : #define FD_VOTE_AUTHORIZED_VOTERS_MIN 64
     442             : #define POOL_NAME fd_vote_authorized_voters_pool
     443          54 : #define POOL_T fd_vote_authorized_voter_t
     444         999 : #define POOL_NEXT parent
     445             : #include "../../util/tmpl/fd_pool.c"
     446             : static inline fd_vote_authorized_voter_t *
     447          15 : fd_vote_authorized_voters_pool_join_new( void * * alloc_mem, ulong num ) {
     448          15 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     449          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_pool_align() );
     450          15 :   void * pool_mem = *alloc_mem;
     451          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_pool_footprint( num );
     452          15 :   return fd_vote_authorized_voters_pool_join( fd_vote_authorized_voters_pool_new( pool_mem, num ) );
     453          15 : }
     454             : #define TREAP_NAME fd_vote_authorized_voters_treap
     455             : #define TREAP_T fd_vote_authorized_voter_t
     456             : #define TREAP_QUERY_T ulong
     457           0 : #define TREAP_CMP(q,e) ( (q == (e)->epoch) ? 0 : ( (q < (e)->epoch) ? -1 : 1 ) )
     458           0 : #define TREAP_LT(e0,e1) ((e0)->epoch<(e1)->epoch)
     459             : #include "../../util/tmpl/fd_treap.c"
     460             : static inline fd_vote_authorized_voters_treap_t *
     461          15 : fd_vote_authorized_voters_treap_join_new( void * * alloc_mem, ulong num ) {
     462          15 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     463          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_treap_align() );
     464          15 :   void * treap_mem = *alloc_mem;
     465          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_treap_footprint( num );
     466          15 :   return fd_vote_authorized_voters_treap_join( fd_vote_authorized_voters_treap_new( treap_mem, num ) );
     467          15 : }
     468             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     469             : /* Encoded Size: Dynamic */
     470             : struct fd_vote_authorized_voters {
     471             :   fd_vote_authorized_voter_t * pool;
     472             :   fd_vote_authorized_voters_treap_t * treap;
     473             : };
     474             : typedef struct fd_vote_authorized_voters fd_vote_authorized_voters_t;
     475             : #define FD_VOTE_AUTHORIZED_VOTERS_ALIGN alignof(fd_vote_authorized_voters_t)
     476             : 
     477             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     478             : /* Encoded Size: Dynamic */
     479             : struct fd_vote_state_1_14_11 {
     480             :   fd_pubkey_t node_pubkey;
     481             :   fd_pubkey_t authorized_withdrawer;
     482             :   uchar commission;
     483             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
     484             :   ulong root_slot;
     485             :   uchar has_root_slot;
     486             :   fd_vote_authorized_voters_t authorized_voters;
     487             :   fd_vote_prior_voters_t prior_voters;
     488             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     489             :   fd_vote_block_timestamp_t last_timestamp;
     490             : };
     491             : typedef struct fd_vote_state_1_14_11 fd_vote_state_1_14_11_t;
     492             : #define FD_VOTE_STATE_1_14_11_ALIGN alignof(fd_vote_state_1_14_11_t)
     493             : 
     494             : #define DEQUE_NAME deq_fd_landed_vote_t
     495         195 : #define DEQUE_T fd_landed_vote_t
     496             : #include "../../util/tmpl/fd_deque_dynamic.c"
     497             : #undef DEQUE_NAME
     498             : #undef DEQUE_T
     499             : #undef DEQUE_MAX
     500             : static inline fd_landed_vote_t *
     501          15 : deq_fd_landed_vote_t_join_new( void * * alloc_mem, ulong max ) {
     502          15 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     503          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_landed_vote_t_align() );
     504          15 :   void * deque_mem = *alloc_mem;
     505          15 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_landed_vote_t_footprint( max );
     506          15 :   return deq_fd_landed_vote_t_join( deq_fd_landed_vote_t_new( deque_mem, max ) );
     507          15 : }
     508             : 
     509             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     510             : /* Encoded Size: Dynamic */
     511             : struct fd_vote_state {
     512             :   fd_pubkey_t node_pubkey;
     513             :   fd_pubkey_t authorized_withdrawer;
     514             :   uchar commission;
     515             :   fd_landed_vote_t * votes; /* fd_deque_dynamic (min cnt 32) */
     516             :   ulong root_slot;
     517             :   uchar has_root_slot;
     518             :   fd_vote_authorized_voters_t authorized_voters;
     519             :   fd_vote_prior_voters_t prior_voters;
     520             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     521             :   fd_vote_block_timestamp_t last_timestamp;
     522             : };
     523             : typedef struct fd_vote_state fd_vote_state_t;
     524             : #define FD_VOTE_STATE_ALIGN alignof(fd_vote_state_t)
     525             : 
     526             : union fd_vote_state_versioned_inner {
     527             :   fd_vote_state_0_23_5_t v0_23_5;
     528             :   fd_vote_state_1_14_11_t v1_14_11;
     529             :   fd_vote_state_t current;
     530             : };
     531             : typedef union fd_vote_state_versioned_inner fd_vote_state_versioned_inner_t;
     532             : 
     533             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_versions.rs#L4 */
     534             : struct fd_vote_state_versioned {
     535             :   uint discriminant;
     536             :   fd_vote_state_versioned_inner_t inner;
     537             : };
     538             : typedef struct fd_vote_state_versioned fd_vote_state_versioned_t;
     539          33 : #define FD_VOTE_STATE_VERSIONED_ALIGN alignof(fd_vote_state_versioned_t)
     540             : 
     541             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
     542             : /* Encoded Size: Dynamic */
     543             : struct fd_vote_state_update {
     544             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic (min cnt 32) */
     545             :   ulong root;
     546             :   uchar has_root;
     547             :   fd_hash_t hash;
     548             :   long timestamp;
     549             :   uchar has_timestamp;
     550             : };
     551             : typedef struct fd_vote_state_update fd_vote_state_update_t;
     552             : #define FD_VOTE_STATE_UPDATE_ALIGN alignof(fd_vote_state_update_t)
     553             : 
     554             : /* Encoded Size: Dynamic */
     555             : struct fd_compact_vote_state_update {
     556             :   ulong root;
     557             :   ushort lockouts_len;
     558             :   fd_lockout_offset_t * lockouts;
     559             :   fd_hash_t hash;
     560             :   long timestamp;
     561             :   uchar has_timestamp;
     562             : };
     563             : typedef struct fd_compact_vote_state_update fd_compact_vote_state_update_t;
     564             : #define FD_COMPACT_VOTE_STATE_UPDATE_ALIGN alignof(fd_compact_vote_state_update_t)
     565             : 
     566             : /* https://github.com/solana-labs/solana/blob/252438e28fbfb2c695fe1215171b83456e4b761c/programs/vote/src/vote_instruction.rs#L143 */
     567             : /* Encoded Size: Dynamic */
     568             : struct fd_compact_vote_state_update_switch {
     569             :   fd_compact_vote_state_update_t compact_vote_state_update;
     570             :   fd_hash_t hash;
     571             : };
     572             : typedef struct fd_compact_vote_state_update_switch fd_compact_vote_state_update_switch_t;
     573             : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN alignof(fd_compact_vote_state_update_switch_t)
     574             : 
     575             : #define DEQUE_NAME deq_fd_lockout_offset_t
     576           0 : #define DEQUE_T fd_lockout_offset_t
     577             : #include "../../util/tmpl/fd_deque_dynamic.c"
     578             : #undef DEQUE_NAME
     579             : #undef DEQUE_T
     580             : #undef DEQUE_MAX
     581             : static inline fd_lockout_offset_t *
     582           0 : deq_fd_lockout_offset_t_join_new( void * * alloc_mem, ulong max ) {
     583           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     584           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_lockout_offset_t_align() );
     585           0 :   void * deque_mem = *alloc_mem;
     586           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_lockout_offset_t_footprint( max );
     587           0 :   return deq_fd_lockout_offset_t_join( deq_fd_lockout_offset_t_new( deque_mem, max ) );
     588           0 : }
     589             : 
     590             : /* https://github.com/anza-xyz/agave/blob/20ee70cd1829cd414d09040460defecf9792a370/sdk/program/src/vote/state/mod.rs#L990 */
     591             : /* Encoded Size: Dynamic */
     592             : struct fd_compact_tower_sync {
     593             :   ulong root;
     594             :   fd_lockout_offset_t * lockout_offsets; /* fd_deque_dynamic (min cnt 32) */
     595             :   fd_hash_t hash;
     596             :   long timestamp;
     597             :   uchar has_timestamp;
     598             :   fd_hash_t block_id;
     599             : };
     600             : typedef struct fd_compact_tower_sync fd_compact_tower_sync_t;
     601             : #define FD_COMPACT_TOWER_SYNC_ALIGN alignof(fd_compact_tower_sync_t)
     602             : 
     603             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
     604             : /* Encoded Size: Dynamic */
     605             : struct fd_tower_sync {
     606             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic */
     607             :   ulong lockouts_cnt;
     608             :   ulong root;
     609             :   uchar has_root;
     610             :   fd_hash_t hash;
     611             :   long timestamp;
     612             :   uchar has_timestamp;
     613             :   fd_hash_t block_id;
     614             : };
     615             : typedef struct fd_tower_sync fd_tower_sync_t;
     616             : #define FD_TOWER_SYNC_ALIGN alignof(fd_tower_sync_t)
     617             : 
     618             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
     619             : /* Encoded Size: Dynamic */
     620             : struct fd_tower_sync_switch {
     621             :   fd_tower_sync_t tower_sync;
     622             :   fd_hash_t hash;
     623             : };
     624             : typedef struct fd_tower_sync_switch fd_tower_sync_switch_t;
     625             : #define FD_TOWER_SYNC_SWITCH_ALIGN alignof(fd_tower_sync_switch_t)
     626             : 
     627             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_history.rs#L11 */
     628             : /* Encoded Size: Dynamic */
     629             : struct fd_slot_history {
     630             :   uchar has_bits;
     631             :   ulong bits_bitvec_len;
     632             :   ulong* bits_bitvec;
     633             :   ulong bits_len;
     634             :   ulong next_slot;
     635             : };
     636             : typedef struct fd_slot_history fd_slot_history_t;
     637           3 : #define FD_SLOT_HISTORY_ALIGN alignof(fd_slot_history_t)
     638             : 
     639             : struct fd_slot_history_global {
     640             :   uchar has_bits;
     641             :   ulong bits_bitvec_len;
     642             :   ulong bits_bitvec_offset;
     643             :   ulong bits_len;
     644             :   ulong next_slot;
     645             : };
     646             : typedef struct fd_slot_history_global fd_slot_history_global_t;
     647             : #define FD_SLOT_HISTORY_GLOBAL_ALIGN alignof(fd_slot_history_global_t)
     648             : 
     649             : /* Encoded Size: Fixed (40 bytes) */
     650             : struct fd_slot_hash {
     651             :   ulong slot;
     652             :   fd_hash_t hash;
     653             : };
     654             : typedef struct fd_slot_hash fd_slot_hash_t;
     655           6 : #define FD_SLOT_HASH_ALIGN alignof(fd_slot_hash_t)
     656             : 
     657             : #define DEQUE_NAME deq_fd_slot_hash_t
     658           0 : #define DEQUE_T fd_slot_hash_t
     659             : #include "../../util/tmpl/fd_deque_dynamic.c"
     660             : #undef DEQUE_NAME
     661             : #undef DEQUE_T
     662             : #undef DEQUE_MAX
     663             : static inline fd_slot_hash_t *
     664           0 : deq_fd_slot_hash_t_join_new( void * * alloc_mem, ulong max ) {
     665           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     666           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_slot_hash_t_align() );
     667           0 :   void * deque_mem = *alloc_mem;
     668           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_slot_hash_t_footprint( max );
     669           0 :   return deq_fd_slot_hash_t_join( deq_fd_slot_hash_t_new( deque_mem, max ) );
     670           0 : }
     671             : 
     672             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_hashes.rs#L31 */
     673             : /* Encoded Size: Dynamic */
     674             : struct fd_slot_hashes {
     675             :   fd_slot_hash_t * hashes; /* fd_deque_dynamic (min cnt 512) */
     676             : };
     677             : typedef struct fd_slot_hashes fd_slot_hashes_t;
     678           3 : #define FD_SLOT_HASHES_ALIGN alignof(fd_slot_hashes_t)
     679             : 
     680             : struct fd_slot_hashes_global {
     681             :   ulong hashes_offset; /* fd_deque_dynamic (min cnt 512) */
     682             : };
     683             : typedef struct fd_slot_hashes_global fd_slot_hashes_global_t;
     684             : #define FD_SLOT_HASHES_GLOBAL_ALIGN alignof(fd_slot_hashes_global_t)
     685             : 
     686           0 : static FD_FN_UNUSED fd_slot_hash_t * fd_slot_hashes_hashes_join( fd_slot_hashes_global_t * type ) { // deque
     687           0 :   return type->hashes_offset ? (fd_slot_hash_t *)deq_fd_slot_hash_t_join( fd_type_pun( (uchar *)type + type->hashes_offset ) ) : NULL;
     688           0 : }
     689             : /* Encoded Size: Fixed (40 bytes) */
     690             : struct fd_block_block_hash_entry {
     691             :   fd_hash_t blockhash;
     692             :   fd_fee_calculator_t fee_calculator;
     693             : };
     694             : typedef struct fd_block_block_hash_entry fd_block_block_hash_entry_t;
     695             : #define FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN alignof(fd_block_block_hash_entry_t)
     696             : 
     697             : #define DEQUE_NAME deq_fd_block_block_hash_entry_t
     698           0 : #define DEQUE_T fd_block_block_hash_entry_t
     699             : #include "../../util/tmpl/fd_deque_dynamic.c"
     700             : #undef DEQUE_NAME
     701             : #undef DEQUE_T
     702             : #undef DEQUE_MAX
     703             : static inline fd_block_block_hash_entry_t *
     704           0 : deq_fd_block_block_hash_entry_t_join_new( void * * alloc_mem, ulong max ) {
     705           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     706           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_block_block_hash_entry_t_align() );
     707           0 :   void * deque_mem = *alloc_mem;
     708           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_block_block_hash_entry_t_footprint( max );
     709           0 :   return deq_fd_block_block_hash_entry_t_join( deq_fd_block_block_hash_entry_t_new( deque_mem, max ) );
     710           0 : }
     711             : 
     712             : /* Encoded Size: Dynamic */
     713             : struct fd_recent_block_hashes {
     714             :   fd_block_block_hash_entry_t * hashes; /* fd_deque_dynamic (min cnt 151) */
     715             : };
     716             : typedef struct fd_recent_block_hashes fd_recent_block_hashes_t;
     717           0 : #define FD_RECENT_BLOCK_HASHES_ALIGN alignof(fd_recent_block_hashes_t)
     718             : 
     719             : struct fd_recent_block_hashes_global {
     720             :   ulong hashes_offset; /* fd_deque_dynamic (min cnt 151) */
     721             : };
     722             : typedef struct fd_recent_block_hashes_global fd_recent_block_hashes_global_t;
     723             : #define FD_RECENT_BLOCK_HASHES_GLOBAL_ALIGN alignof(fd_recent_block_hashes_global_t)
     724             : 
     725           0 : static FD_FN_UNUSED fd_block_block_hash_entry_t * fd_recent_block_hashes_hashes_join( fd_recent_block_hashes_global_t * type ) { // deque
     726           0 :   return type->hashes_offset ? (fd_block_block_hash_entry_t *)deq_fd_block_block_hash_entry_t_join( fd_type_pun( (uchar *)type + type->hashes_offset ) ) : NULL;
     727           0 : }
     728             : /* Encoded Size: Dynamic */
     729             : struct fd_slot_meta {
     730             :   ulong slot;
     731             :   ulong consumed;
     732             :   ulong received;
     733             :   long first_shred_timestamp;
     734             :   ulong last_index;
     735             :   ulong parent_slot;
     736             :   ulong next_slot_len;
     737             :   ulong* next_slot;
     738             :   uchar is_connected;
     739             :   ulong entry_end_indexes_len;
     740             :   uint* entry_end_indexes;
     741             : };
     742             : typedef struct fd_slot_meta fd_slot_meta_t;
     743           0 : #define FD_SLOT_META_ALIGN alignof(fd_slot_meta_t)
     744             : 
     745             : /* A validator timestamp oracle vote received from a voting node */
     746             : /* Encoded Size: Fixed (48 bytes) */
     747             : struct fd_clock_timestamp_vote {
     748             :   fd_pubkey_t pubkey;
     749             :   long timestamp;
     750             :   ulong slot;
     751             : };
     752             : typedef struct fd_clock_timestamp_vote fd_clock_timestamp_vote_t;
     753             : #define FD_CLOCK_TIMESTAMP_VOTE_ALIGN alignof(fd_clock_timestamp_vote_t)
     754             : 
     755             : typedef struct fd_clock_timestamp_vote_t_mapnode fd_clock_timestamp_vote_t_mapnode_t;
     756             : #define REDBLK_T fd_clock_timestamp_vote_t_mapnode_t
     757             : #define REDBLK_NAME fd_clock_timestamp_vote_t_map
     758             : #define REDBLK_IMPL_STYLE 1
     759             : #include "../../util/tmpl/fd_redblack.c"
     760             : struct fd_clock_timestamp_vote_t_mapnode {
     761             :     fd_clock_timestamp_vote_t elem;
     762             :     ulong redblack_parent;
     763             :     ulong redblack_left;
     764             :     ulong redblack_right;
     765             :     int redblack_color;
     766             : };
     767             : static inline fd_clock_timestamp_vote_t_mapnode_t *
     768           0 : fd_clock_timestamp_vote_t_map_join_new( void * * alloc_mem, ulong len ) {
     769           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     770           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_clock_timestamp_vote_t_map_align() );
     771           0 :   void * map_mem = *alloc_mem;
     772           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_clock_timestamp_vote_t_map_footprint( len );
     773           0 :   return fd_clock_timestamp_vote_t_map_join( fd_clock_timestamp_vote_t_map_new( map_mem, len ) );
     774           0 : }
     775             : /* Validator timestamp oracle votes received from voting nodes. TODO: make this a map */
     776             : /* Encoded Size: Dynamic */
     777             : struct fd_clock_timestamp_votes {
     778             :   fd_clock_timestamp_vote_t_mapnode_t * votes_pool;
     779             :   fd_clock_timestamp_vote_t_mapnode_t * votes_root;
     780             : };
     781             : typedef struct fd_clock_timestamp_votes fd_clock_timestamp_votes_t;
     782             : #define FD_CLOCK_TIMESTAMP_VOTES_ALIGN alignof(fd_clock_timestamp_votes_t)
     783             : 
     784             : struct fd_clock_timestamp_votes_global {
     785             :   ulong votes_pool_offset;
     786             :   ulong votes_root_offset;
     787             : };
     788             : typedef struct fd_clock_timestamp_votes_global fd_clock_timestamp_votes_global_t;
     789             : #define FD_CLOCK_TIMESTAMP_VOTES_GLOBAL_ALIGN alignof(fd_clock_timestamp_votes_global_t)
     790             : 
     791           0 : static FD_FN_UNUSED fd_clock_timestamp_vote_t_mapnode_t * fd_clock_timestamp_votes_votes_pool_join( fd_clock_timestamp_votes_global_t const * type ) {
     792           0 :   if( FD_UNLIKELY( !type ) ) return NULL;
     793           0 :   return !!type->votes_pool_offset ? (fd_clock_timestamp_vote_t_mapnode_t *)fd_clock_timestamp_vote_t_map_join( fd_type_pun( (uchar *)type + type->votes_pool_offset ) ) : NULL;
     794           0 : }
     795           0 : static FD_FN_UNUSED fd_clock_timestamp_vote_t_mapnode_t * fd_clock_timestamp_votes_votes_root_join( fd_clock_timestamp_votes_global_t const * type ) {
     796           0 :   if( FD_UNLIKELY( !type ) ) return NULL;
     797           0 :   return !!type->votes_root_offset ? (fd_clock_timestamp_vote_t_mapnode_t *)fd_type_pun( (uchar *)type + type->votes_root_offset ) : NULL;
     798           0 : }
     799           0 : static FD_FN_UNUSED void fd_clock_timestamp_votes_votes_pool_update( fd_clock_timestamp_votes_global_t * type, fd_clock_timestamp_vote_t_mapnode_t * pool ) {
     800           0 :   type->votes_pool_offset = !!pool ? (ulong)fd_clock_timestamp_vote_t_map_leave( pool ) - (ulong)type : 0UL;
     801           0 : }
     802           0 : static FD_FN_UNUSED void fd_clock_timestamp_votes_votes_root_update( fd_clock_timestamp_votes_global_t * type, fd_clock_timestamp_vote_t_mapnode_t * root ) {
     803           0 :   type->votes_root_offset = !!root ? (ulong)root - (ulong)type : 0UL;
     804           0 : }
     805             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/sysvar/fees.rs#L21 */
     806             : /* Encoded Size: Fixed (8 bytes) */
     807             : struct fd_sysvar_fees {
     808             :   fd_fee_calculator_t fee_calculator;
     809             : };
     810             : typedef struct fd_sysvar_fees fd_sysvar_fees_t;
     811             : #define FD_SYSVAR_FEES_ALIGN alignof(fd_sysvar_fees_t)
     812             : 
     813             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/sdk/program/src/epoch_rewards.rs#L14 */
     814             : /* Encoded Size: Fixed (81 bytes) */
     815             : struct fd_sysvar_epoch_rewards {
     816             :   ulong distribution_starting_block_height;
     817             :   ulong num_partitions;
     818             :   fd_hash_t parent_blockhash;
     819             :   uint128 total_points;
     820             :   ulong total_rewards;
     821             :   ulong distributed_rewards;
     822             :   uchar active;
     823             : };
     824             : typedef struct fd_sysvar_epoch_rewards fd_sysvar_epoch_rewards_t;
     825           3 : #define FD_SYSVAR_EPOCH_REWARDS_ALIGN alignof(fd_sysvar_epoch_rewards_t)
     826             : 
     827             : /* Encoded Size: Fixed (33 bytes) */
     828             : struct fd_config_keys_pair {
     829             :   fd_pubkey_t key;
     830             :   uchar signer;
     831             : };
     832             : typedef struct fd_config_keys_pair fd_config_keys_pair_t;
     833           0 : #define FD_CONFIG_KEYS_PAIR_ALIGN alignof(fd_config_keys_pair_t)
     834             : 
     835             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/config.rs#L14 */
     836             : /* Encoded Size: Dynamic */
     837             : struct fd_stake_config {
     838             :   ushort config_keys_len;
     839             :   fd_config_keys_pair_t * config_keys;
     840             :   double warmup_cooldown_rate;
     841             :   uchar slash_penalty;
     842             : };
     843             : typedef struct fd_stake_config fd_stake_config_t;
     844             : #define FD_STAKE_CONFIG_ALIGN alignof(fd_stake_config_t)
     845             : 
     846             : /* Encoded Size: Dynamic */
     847             : struct fd_feature_entry {
     848             :   fd_pubkey_t pubkey;
     849             :   ulong description_len;
     850             :   uchar* description;
     851             :   ulong since_slot;
     852             : };
     853             : typedef struct fd_feature_entry fd_feature_entry_t;
     854             : #define FD_FEATURE_ENTRY_ALIGN alignof(fd_feature_entry_t)
     855             : 
     856             : struct fd_cluster_type {
     857             :   uint discriminant;
     858             : };
     859             : typedef struct fd_cluster_type fd_cluster_type_t;
     860             : #define FD_CLUSTER_TYPE_ALIGN alignof(fd_cluster_type_t)
     861             : 
     862             : /* Encoded Size: Fixed (12 bytes) */
     863             : struct fd_cluster_version {
     864             :   uint major;
     865             :   uint minor;
     866             :   uint patch;
     867             : };
     868             : typedef struct fd_cluster_version fd_cluster_version_t;
     869             : #define FD_CLUSTER_VERSION_ALIGN alignof(fd_cluster_version_t)
     870             : 
     871             : /* Encoded Size: Fixed (49 bytes) */
     872             : struct fd_stake_reward {
     873             :   ulong prev;
     874             :   ulong next;
     875             :   ulong parent;
     876             :   fd_pubkey_t stake_pubkey;
     877             :   ulong credits_observed;
     878             :   ulong lamports;
     879             :   uchar valid;
     880             : };
     881             : typedef struct fd_stake_reward fd_stake_reward_t;
     882             : #define FD_STAKE_REWARD_ALIGN alignof(fd_stake_reward_t)
     883             : 
     884             : /* Encoded Size: Fixed (42 bytes) */
     885             : struct fd_vote_reward {
     886             :   fd_pubkey_t pubkey;
     887             :   ulong vote_rewards;
     888             :   uchar commission;
     889             :   uchar needs_store;
     890             : };
     891             : typedef struct fd_vote_reward fd_vote_reward_t;
     892             : #define FD_VOTE_REWARD_ALIGN alignof(fd_vote_reward_t)
     893             : 
     894             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/points.rs#L21 */
     895             : /* Encoded Size: Fixed (24 bytes) */
     896             : struct fd_point_value {
     897             :   ulong rewards;
     898             :   uint128 points;
     899             : };
     900             : typedef struct fd_point_value fd_point_value_t;
     901             : #define FD_POINT_VALUE_ALIGN alignof(fd_point_value_t)
     902             : 
     903             : #define POOL_NAME fd_partitioned_stake_rewards_pool
     904           0 : #define POOL_T fd_stake_reward_t
     905           0 : #define POOL_NEXT parent
     906             : #include "../../util/tmpl/fd_pool.c"
     907             : static inline fd_stake_reward_t *
     908           0 : fd_partitioned_stake_rewards_pool_join_new( void * * alloc_mem, ulong num ) {
     909           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     910           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_partitioned_stake_rewards_pool_align() );
     911           0 :   void * pool_mem = *alloc_mem;
     912           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_partitioned_stake_rewards_pool_footprint( num );
     913           0 :   return fd_partitioned_stake_rewards_pool_join( fd_partitioned_stake_rewards_pool_new( pool_mem, num ) );
     914           0 : }
     915             : #define DLIST_NAME fd_partitioned_stake_rewards_dlist
     916             : #define DLIST_ELE_T fd_stake_reward_t
     917             : #include "../../util/tmpl/fd_dlist.c"
     918             : static inline fd_partitioned_stake_rewards_dlist_t *
     919           0 : fd_partitioned_stake_rewards_dlist_join_new( void * * alloc_mem, ulong num ) {
     920           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     921           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_partitioned_stake_rewards_dlist_align() );
     922           0 :   void * dlist_mem = *alloc_mem;
     923           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_partitioned_stake_rewards_dlist_footprint();
     924           0 :   return fd_partitioned_stake_rewards_dlist_join( fd_partitioned_stake_rewards_dlist_new( dlist_mem ) );
     925           0 : }
     926             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L56 */
     927             : /* Encoded Size: Dynamic */
     928             : struct fd_partitioned_stake_rewards {
     929             :   ulong partitions_len;
     930             :   ulong partitions_lengths[4096];
     931             :   fd_partitioned_stake_rewards_dlist_t * partitions;
     932             :   fd_stake_reward_t * pool;
     933             : };
     934             : typedef struct fd_partitioned_stake_rewards fd_partitioned_stake_rewards_t;
     935             : #define FD_PARTITIONED_STAKE_REWARDS_ALIGN alignof(fd_partitioned_stake_rewards_t)
     936             : 
     937             : struct fd_partitioned_stake_rewards_global {
     938             :   ulong partitions_len;
     939             :   ulong partitions_lengths[4096];
     940             :   ulong partitions_offset;
     941             :   ulong pool_offset;
     942             : };
     943             : typedef struct fd_partitioned_stake_rewards_global fd_partitioned_stake_rewards_global_t;
     944             : #define FD_PARTITIONED_STAKE_REWARDS_GLOBAL_ALIGN alignof(fd_partitioned_stake_rewards_global_t)
     945             : 
     946             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L131 */
     947             : /* Encoded Size: Dynamic */
     948             : struct fd_stake_reward_calculation_partitioned {
     949             :   fd_partitioned_stake_rewards_t partitioned_stake_rewards;
     950             :   ulong total_stake_rewards_lamports;
     951             : };
     952             : typedef struct fd_stake_reward_calculation_partitioned fd_stake_reward_calculation_partitioned_t;
     953             : #define FD_STAKE_REWARD_CALCULATION_PARTITIONED_ALIGN alignof(fd_stake_reward_calculation_partitioned_t)
     954             : 
     955             : #define POOL_NAME fd_stake_reward_calculation_pool
     956           0 : #define POOL_T fd_stake_reward_t
     957           0 : #define POOL_NEXT parent
     958             : #include "../../util/tmpl/fd_pool.c"
     959             : static inline fd_stake_reward_t *
     960           0 : fd_stake_reward_calculation_pool_join_new( void * * alloc_mem, ulong num ) {
     961           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     962           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_stake_reward_calculation_pool_align() );
     963           0 :   void * pool_mem = *alloc_mem;
     964           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_stake_reward_calculation_pool_footprint( num );
     965           0 :   return fd_stake_reward_calculation_pool_join( fd_stake_reward_calculation_pool_new( pool_mem, num ) );
     966           0 : }
     967             : #define DLIST_NAME fd_stake_reward_calculation_dlist
     968             : #define DLIST_ELE_T fd_stake_reward_t
     969             : #include "../../util/tmpl/fd_dlist.c"
     970             : static inline fd_stake_reward_calculation_dlist_t *
     971           0 : fd_stake_reward_calculation_dlist_join_new( void * * alloc_mem, ulong num ) {
     972           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     973           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_stake_reward_calculation_dlist_align() );
     974           0 :   void * dlist_mem = *alloc_mem;
     975           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_stake_reward_calculation_dlist_footprint();
     976           0 :   return fd_stake_reward_calculation_dlist_join( fd_stake_reward_calculation_dlist_new( dlist_mem ) );
     977           0 : }
     978             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L94 */
     979             : /* Encoded Size: Dynamic */
     980             : struct fd_stake_reward_calculation {
     981             :   ulong stake_rewards_len;
     982             :   fd_stake_reward_calculation_dlist_t * stake_rewards;
     983             :   fd_stake_reward_t * pool;
     984             :   ulong total_stake_rewards_lamports;
     985             : };
     986             : typedef struct fd_stake_reward_calculation fd_stake_reward_calculation_t;
     987             : #define FD_STAKE_REWARD_CALCULATION_ALIGN alignof(fd_stake_reward_calculation_t)
     988             : 
     989             : typedef struct fd_vote_reward_t_mapnode fd_vote_reward_t_mapnode_t;
     990             : #define REDBLK_T fd_vote_reward_t_mapnode_t
     991             : #define REDBLK_NAME fd_vote_reward_t_map
     992             : #define REDBLK_IMPL_STYLE 1
     993             : #include "../../util/tmpl/fd_redblack.c"
     994             : struct fd_vote_reward_t_mapnode {
     995             :     fd_vote_reward_t elem;
     996             :     ulong redblack_parent;
     997             :     ulong redblack_left;
     998             :     ulong redblack_right;
     999             :     int redblack_color;
    1000             : };
    1001             : static inline fd_vote_reward_t_mapnode_t *
    1002           0 : fd_vote_reward_t_map_join_new( void * * alloc_mem, ulong len ) {
    1003           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    1004           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_reward_t_map_align() );
    1005           0 :   void * map_mem = *alloc_mem;
    1006           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_reward_t_map_footprint( len );
    1007           0 :   return fd_vote_reward_t_map_join( fd_vote_reward_t_map_new( map_mem, len ) );
    1008           0 : }
    1009             : /* Encoded Size: Dynamic */
    1010             : struct fd_calculate_stake_vote_rewards_result {
    1011             :   fd_stake_reward_calculation_t stake_reward_calculation;
    1012             :   fd_vote_reward_t_mapnode_t * vote_reward_map_pool;
    1013             :   fd_vote_reward_t_mapnode_t * vote_reward_map_root;
    1014             : };
    1015             : typedef struct fd_calculate_stake_vote_rewards_result fd_calculate_stake_vote_rewards_result_t;
    1016             : #define FD_CALCULATE_STAKE_VOTE_REWARDS_RESULT_ALIGN alignof(fd_calculate_stake_vote_rewards_result_t)
    1017             : 
    1018             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L102 */
    1019             : /* Encoded Size: Dynamic */
    1020             : struct fd_calculate_validator_rewards_result {
    1021             :   fd_calculate_stake_vote_rewards_result_t calculate_stake_vote_rewards_result;
    1022             :   fd_point_value_t point_value;
    1023             : };
    1024             : typedef struct fd_calculate_validator_rewards_result fd_calculate_validator_rewards_result_t;
    1025             : #define FD_CALCULATE_VALIDATOR_REWARDS_RESULT_ALIGN alignof(fd_calculate_validator_rewards_result_t)
    1026             : 
    1027             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L118 */
    1028             : /* Encoded Size: Dynamic */
    1029             : struct fd_partitioned_rewards_calculation {
    1030             :   fd_vote_reward_t_mapnode_t * vote_reward_map_pool;
    1031             :   fd_vote_reward_t_mapnode_t * vote_reward_map_root;
    1032             :   fd_stake_reward_calculation_partitioned_t stake_rewards_by_partition;
    1033             :   ulong old_vote_balance_and_staked;
    1034             :   ulong validator_rewards;
    1035             :   double validator_rate;
    1036             :   double foundation_rate;
    1037             :   double prev_epoch_duration_in_years;
    1038             :   ulong capitalization;
    1039             :   fd_point_value_t point_value;
    1040             : };
    1041             : typedef struct fd_partitioned_rewards_calculation fd_partitioned_rewards_calculation_t;
    1042             : #define FD_PARTITIONED_REWARDS_CALCULATION_ALIGN alignof(fd_partitioned_rewards_calculation_t)
    1043             : 
    1044             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L60 */
    1045             : /* Encoded Size: Dynamic */
    1046             : struct fd_start_block_height_and_rewards {
    1047             :   ulong distribution_starting_block_height;
    1048             :   fd_partitioned_stake_rewards_t partitioned_stake_rewards;
    1049             : };
    1050             : typedef struct fd_start_block_height_and_rewards fd_start_block_height_and_rewards_t;
    1051             : #define FD_START_BLOCK_HEIGHT_AND_REWARDS_ALIGN alignof(fd_start_block_height_and_rewards_t)
    1052             : 
    1053             : struct fd_start_block_height_and_rewards_global {
    1054             :   ulong distribution_starting_block_height;
    1055             :   fd_partitioned_stake_rewards_global_t partitioned_stake_rewards;
    1056             : };
    1057             : typedef struct fd_start_block_height_and_rewards_global fd_start_block_height_and_rewards_global_t;
    1058             : #define FD_START_BLOCK_HEIGHT_AND_REWARDS_GLOBAL_ALIGN alignof(fd_start_block_height_and_rewards_global_t)
    1059             : 
    1060             : /* Encoded Size: Dynamic */
    1061             : struct fd_fd_epoch_reward_status_inner {
    1062             :   fd_start_block_height_and_rewards_t Active;
    1063             : };
    1064             : typedef struct fd_fd_epoch_reward_status_inner fd_fd_epoch_reward_status_inner_t;
    1065             : #define FD_FD_EPOCH_REWARD_STATUS_INNER_ALIGN alignof(fd_fd_epoch_reward_status_inner_t)
    1066             : 
    1067             : union fd_epoch_reward_status_inner {
    1068             :   fd_start_block_height_and_rewards_t Active;
    1069             : };
    1070             : typedef union fd_epoch_reward_status_inner fd_epoch_reward_status_inner_t;
    1071             : 
    1072             : union fd_epoch_reward_status_inner_global {
    1073             :   fd_start_block_height_and_rewards_global_t Active;
    1074             : };
    1075             : typedef union fd_epoch_reward_status_inner_global fd_epoch_reward_status_inner_global_t;
    1076             : 
    1077             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L70 */
    1078             : struct fd_epoch_reward_status {
    1079             :   uint discriminant;
    1080             :   fd_epoch_reward_status_inner_t inner;
    1081             : };
    1082             : typedef struct fd_epoch_reward_status fd_epoch_reward_status_t;
    1083             : #define FD_EPOCH_REWARD_STATUS_ALIGN alignof(fd_epoch_reward_status_t)
    1084             : struct fd_epoch_reward_status_global {
    1085             :   uint discriminant;
    1086             :   fd_epoch_reward_status_inner_global_t inner;
    1087             : };
    1088             : typedef struct fd_epoch_reward_status_global fd_epoch_reward_status_global_t;
    1089             : #define FD_EPOCH_REWARD_STATUS_GLOBAL_ALIGN alignof(fd_epoch_reward_status_global_t)
    1090             : 
    1091             : /* Encoded Size: Fixed (32 bytes) */
    1092             : struct fd_prev_epoch_inflation_rewards {
    1093             :   ulong validator_rewards;
    1094             :   double prev_epoch_duration_in_years;
    1095             :   double validator_rate;
    1096             :   double foundation_rate;
    1097             : };
    1098             : typedef struct fd_prev_epoch_inflation_rewards fd_prev_epoch_inflation_rewards_t;
    1099             : #define FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN alignof(fd_prev_epoch_inflation_rewards_t)
    1100             : 
    1101             : #define DEQUE_NAME deq_ulong
    1102           0 : #define DEQUE_T ulong
    1103             : #include "../../util/tmpl/fd_deque_dynamic.c"
    1104             : #undef DEQUE_NAME
    1105             : #undef DEQUE_T
    1106             : #undef DEQUE_MAX
    1107             : static inline ulong *
    1108           0 : deq_ulong_join_new( void * * alloc_mem, ulong max ) {
    1109           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    1110           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_ulong_align() );
    1111           0 :   void * deque_mem = *alloc_mem;
    1112           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_ulong_footprint( max );
    1113           0 :   return deq_ulong_join( deq_ulong_new( deque_mem, max ) );
    1114           0 : }
    1115             : 
    1116             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L133 */
    1117             : /* Encoded Size: Dynamic */
    1118             : struct fd_vote {
    1119             :   ulong * slots; /* fd_deque_dynamic */
    1120             :   fd_hash_t hash;
    1121             :   long timestamp;
    1122             :   uchar has_timestamp;
    1123             : };
    1124             : typedef struct fd_vote fd_vote_t;
    1125             : #define FD_VOTE_ALIGN alignof(fd_vote_t)
    1126             : 
    1127             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L230 */
    1128             : /* Encoded Size: Fixed (97 bytes) */
    1129             : struct fd_vote_init {
    1130             :   fd_pubkey_t node_pubkey;
    1131             :   fd_pubkey_t authorized_voter;
    1132             :   fd_pubkey_t authorized_withdrawer;
    1133             :   uchar commission;
    1134             : };
    1135             : typedef struct fd_vote_init fd_vote_init_t;
    1136             : #define FD_VOTE_INIT_ALIGN alignof(fd_vote_init_t)
    1137             : 
    1138             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L238 */
    1139             : struct fd_vote_authorize {
    1140             :   uint discriminant;
    1141             : };
    1142             : typedef struct fd_vote_authorize fd_vote_authorize_t;
    1143             : #define FD_VOTE_AUTHORIZE_ALIGN alignof(fd_vote_authorize_t)
    1144             : 
    1145             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L37 */
    1146             : /* Encoded Size: Fixed (36 bytes) */
    1147             : struct fd_vote_authorize_pubkey {
    1148             :   fd_pubkey_t pubkey;
    1149             :   fd_vote_authorize_t vote_authorize;
    1150             : };
    1151             : typedef struct fd_vote_authorize_pubkey fd_vote_authorize_pubkey_t;
    1152             : #define FD_VOTE_AUTHORIZE_PUBKEY_ALIGN alignof(fd_vote_authorize_pubkey_t)
    1153             : 
    1154             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L78 */
    1155             : /* Encoded Size: Dynamic */
    1156             : struct fd_vote_switch {
    1157             :   fd_vote_t vote;
    1158             :   fd_hash_t hash;
    1159             : };
    1160             : typedef struct fd_vote_switch fd_vote_switch_t;
    1161             : #define FD_VOTE_SWITCH_ALIGN alignof(fd_vote_switch_t)
    1162             : 
    1163             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
    1164             : /* Encoded Size: Dynamic */
    1165             : struct fd_update_vote_state_switch {
    1166             :   fd_vote_state_update_t vote_state_update;
    1167             :   fd_hash_t hash;
    1168             : };
    1169             : typedef struct fd_update_vote_state_switch fd_update_vote_state_switch_t;
    1170             : #define FD_UPDATE_VOTE_STATE_SWITCH_ALIGN alignof(fd_update_vote_state_switch_t)
    1171             : 
    1172             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L244 */
    1173             : /* Encoded Size: Dynamic */
    1174             : struct fd_vote_authorize_with_seed_args {
    1175             :   fd_vote_authorize_t authorization_type;
    1176             :   fd_pubkey_t current_authority_derived_key_owner;
    1177             :   ulong current_authority_derived_key_seed_len;
    1178             :   uchar* current_authority_derived_key_seed;
    1179             :   fd_pubkey_t new_authority;
    1180             : };
    1181             : typedef struct fd_vote_authorize_with_seed_args fd_vote_authorize_with_seed_args_t;
    1182             : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN alignof(fd_vote_authorize_with_seed_args_t)
    1183             : 
    1184             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L252 */
    1185             : /* Encoded Size: Dynamic */
    1186             : struct fd_vote_authorize_checked_with_seed_args {
    1187             :   fd_vote_authorize_t authorization_type;
    1188             :   fd_pubkey_t current_authority_derived_key_owner;
    1189             :   ulong current_authority_derived_key_seed_len;
    1190             :   uchar* current_authority_derived_key_seed;
    1191             : };
    1192             : typedef struct fd_vote_authorize_checked_with_seed_args fd_vote_authorize_checked_with_seed_args_t;
    1193             : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN alignof(fd_vote_authorize_checked_with_seed_args_t)
    1194             : 
    1195             : union fd_vote_instruction_inner {
    1196             :   fd_vote_init_t initialize_account;
    1197             :   fd_vote_authorize_pubkey_t authorize;
    1198             :   fd_vote_t vote;
    1199             :   ulong withdraw;
    1200             :   uchar update_commission;
    1201             :   fd_vote_switch_t vote_switch;
    1202             :   fd_vote_authorize_t authorize_checked;
    1203             :   fd_vote_state_update_t update_vote_state;
    1204             :   fd_update_vote_state_switch_t update_vote_state_switch;
    1205             :   fd_vote_authorize_with_seed_args_t authorize_with_seed;
    1206             :   fd_vote_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    1207             :   fd_compact_vote_state_update_t compact_update_vote_state;
    1208             :   fd_compact_vote_state_update_switch_t compact_update_vote_state_switch;
    1209             :   fd_tower_sync_t tower_sync;
    1210             :   fd_tower_sync_switch_t tower_sync_switch;
    1211             : };
    1212             : typedef union fd_vote_instruction_inner fd_vote_instruction_inner_t;
    1213             : 
    1214             : /* https://github.com/firedancer-io/solana/blob/53a4e5d6c58b2ffe89b09304e4437f8ca198dadd/programs/vote/src/vote_instruction.rs#L21 */
    1215             : struct fd_vote_instruction {
    1216             :   uint discriminant;
    1217             :   fd_vote_instruction_inner_t inner;
    1218             : };
    1219             : typedef struct fd_vote_instruction fd_vote_instruction_t;
    1220           0 : #define FD_VOTE_INSTRUCTION_ALIGN alignof(fd_vote_instruction_t)
    1221             : 
    1222             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L158 */
    1223             : /* Encoded Size: Fixed (48 bytes) */
    1224             : struct fd_system_program_instruction_create_account {
    1225             :   ulong lamports;
    1226             :   ulong space;
    1227             :   fd_pubkey_t owner;
    1228             : };
    1229             : typedef struct fd_system_program_instruction_create_account fd_system_program_instruction_create_account_t;
    1230             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN alignof(fd_system_program_instruction_create_account_t)
    1231             : 
    1232             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L193 */
    1233             : /* Encoded Size: Dynamic */
    1234             : struct fd_system_program_instruction_create_account_with_seed {
    1235             :   fd_pubkey_t base;
    1236             :   ulong seed_len;
    1237             :   uchar* seed;
    1238             :   ulong lamports;
    1239             :   ulong space;
    1240             :   fd_pubkey_t owner;
    1241             : };
    1242             : typedef struct fd_system_program_instruction_create_account_with_seed fd_system_program_instruction_create_account_with_seed_t;
    1243             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN alignof(fd_system_program_instruction_create_account_with_seed_t)
    1244             : 
    1245             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L269 */
    1246             : /* Encoded Size: Dynamic */
    1247             : struct fd_system_program_instruction_allocate_with_seed {
    1248             :   fd_pubkey_t base;
    1249             :   ulong seed_len;
    1250             :   uchar* seed;
    1251             :   ulong space;
    1252             :   fd_pubkey_t owner;
    1253             : };
    1254             : typedef struct fd_system_program_instruction_allocate_with_seed fd_system_program_instruction_allocate_with_seed_t;
    1255             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN alignof(fd_system_program_instruction_allocate_with_seed_t)
    1256             : 
    1257             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    1258             : /* Encoded Size: Dynamic */
    1259             : struct fd_system_program_instruction_assign_with_seed {
    1260             :   fd_pubkey_t base;
    1261             :   ulong seed_len;
    1262             :   uchar* seed;
    1263             :   fd_pubkey_t owner;
    1264             : };
    1265             : typedef struct fd_system_program_instruction_assign_with_seed fd_system_program_instruction_assign_with_seed_t;
    1266             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN alignof(fd_system_program_instruction_assign_with_seed_t)
    1267             : 
    1268             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    1269             : /* Encoded Size: Dynamic */
    1270             : struct fd_system_program_instruction_transfer_with_seed {
    1271             :   ulong lamports;
    1272             :   ulong from_seed_len;
    1273             :   uchar* from_seed;
    1274             :   fd_pubkey_t from_owner;
    1275             : };
    1276             : typedef struct fd_system_program_instruction_transfer_with_seed fd_system_program_instruction_transfer_with_seed_t;
    1277             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN alignof(fd_system_program_instruction_transfer_with_seed_t)
    1278             : 
    1279             : union fd_system_program_instruction_inner {
    1280             :   fd_system_program_instruction_create_account_t create_account;
    1281             :   fd_pubkey_t assign;
    1282             :   ulong transfer;
    1283             :   fd_system_program_instruction_create_account_with_seed_t create_account_with_seed;
    1284             :   ulong withdraw_nonce_account;
    1285             :   fd_pubkey_t initialize_nonce_account;
    1286             :   fd_pubkey_t authorize_nonce_account;
    1287             :   ulong allocate;
    1288             :   fd_system_program_instruction_allocate_with_seed_t allocate_with_seed;
    1289             :   fd_system_program_instruction_assign_with_seed_t assign_with_seed;
    1290             :   fd_system_program_instruction_transfer_with_seed_t transfer_with_seed;
    1291             : };
    1292             : typedef union fd_system_program_instruction_inner fd_system_program_instruction_inner_t;
    1293             : 
    1294             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L152 */
    1295             : struct fd_system_program_instruction {
    1296             :   uint discriminant;
    1297             :   fd_system_program_instruction_inner_t inner;
    1298             : };
    1299             : typedef struct fd_system_program_instruction fd_system_program_instruction_t;
    1300           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN alignof(fd_system_program_instruction_t)
    1301             : 
    1302             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L16 */
    1303             : struct fd_system_error {
    1304             :   uint discriminant;
    1305             : };
    1306             : typedef struct fd_system_error fd_system_error_t;
    1307             : #define FD_SYSTEM_ERROR_ALIGN alignof(fd_system_error_t)
    1308             : 
    1309             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L169 */
    1310             : /* Encoded Size: Fixed (64 bytes) */
    1311             : struct fd_stake_authorized {
    1312             :   fd_pubkey_t staker;
    1313             :   fd_pubkey_t withdrawer;
    1314             : };
    1315             : typedef struct fd_stake_authorized fd_stake_authorized_t;
    1316             : #define FD_STAKE_AUTHORIZED_ALIGN alignof(fd_stake_authorized_t)
    1317             : 
    1318             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L135 */
    1319             : /* Encoded Size: Fixed (48 bytes) */
    1320             : struct fd_stake_lockup {
    1321             :   long unix_timestamp;
    1322             :   ulong epoch;
    1323             :   fd_pubkey_t custodian;
    1324             : };
    1325             : typedef struct fd_stake_lockup fd_stake_lockup_t;
    1326             : #define FD_STAKE_LOCKUP_ALIGN alignof(fd_stake_lockup_t)
    1327             : 
    1328             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L68 */
    1329             : /* Encoded Size: Fixed (112 bytes) */
    1330             : struct fd_stake_instruction_initialize {
    1331             :   fd_stake_authorized_t authorized;
    1332             :   fd_stake_lockup_t lockup;
    1333             : };
    1334             : typedef struct fd_stake_instruction_initialize fd_stake_instruction_initialize_t;
    1335             : #define FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN alignof(fd_stake_instruction_initialize_t)
    1336             : 
    1337             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    1338             : /* Encoded Size: Dynamic */
    1339             : struct fd_stake_lockup_custodian_args {
    1340             :   fd_stake_lockup_t lockup;
    1341             :   fd_sol_sysvar_clock_t clock;
    1342             :   fd_pubkey_t * custodian;
    1343             : };
    1344             : typedef struct fd_stake_lockup_custodian_args fd_stake_lockup_custodian_args_t;
    1345             : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN alignof(fd_stake_lockup_custodian_args_t)
    1346             : 
    1347             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L117 */
    1348             : struct fd_stake_authorize {
    1349             :   uint discriminant;
    1350             : };
    1351             : typedef struct fd_stake_authorize fd_stake_authorize_t;
    1352             : #define FD_STAKE_AUTHORIZE_ALIGN alignof(fd_stake_authorize_t)
    1353             : 
    1354             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    1355             : /* Encoded Size: Fixed (36 bytes) */
    1356             : struct fd_stake_instruction_authorize {
    1357             :   fd_pubkey_t pubkey;
    1358             :   fd_stake_authorize_t stake_authorize;
    1359             : };
    1360             : typedef struct fd_stake_instruction_authorize fd_stake_instruction_authorize_t;
    1361             : #define FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN alignof(fd_stake_instruction_authorize_t)
    1362             : 
    1363             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L241 */
    1364             : /* Encoded Size: Dynamic */
    1365             : struct fd_authorize_with_seed_args {
    1366             :   fd_pubkey_t new_authorized_pubkey;
    1367             :   fd_stake_authorize_t stake_authorize;
    1368             :   ulong authority_seed_len;
    1369             :   uchar* authority_seed;
    1370             :   fd_pubkey_t authority_owner;
    1371             : };
    1372             : typedef struct fd_authorize_with_seed_args fd_authorize_with_seed_args_t;
    1373             : #define FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN alignof(fd_authorize_with_seed_args_t)
    1374             : 
    1375             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L249 */
    1376             : /* Encoded Size: Dynamic */
    1377             : struct fd_authorize_checked_with_seed_args {
    1378             :   fd_stake_authorize_t stake_authorize;
    1379             :   ulong authority_seed_len;
    1380             :   uchar* authority_seed;
    1381             :   fd_pubkey_t authority_owner;
    1382             : };
    1383             : typedef struct fd_authorize_checked_with_seed_args fd_authorize_checked_with_seed_args_t;
    1384             : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN alignof(fd_authorize_checked_with_seed_args_t)
    1385             : 
    1386             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L235 */
    1387             : /* Encoded Size: Dynamic */
    1388             : struct fd_lockup_checked_args {
    1389             :   long* unix_timestamp;
    1390             :   ulong* epoch;
    1391             : };
    1392             : typedef struct fd_lockup_checked_args fd_lockup_checked_args_t;
    1393             : #define FD_LOCKUP_CHECKED_ARGS_ALIGN alignof(fd_lockup_checked_args_t)
    1394             : 
    1395             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L228 */
    1396             : /* Encoded Size: Dynamic */
    1397             : struct fd_lockup_args {
    1398             :   long* unix_timestamp;
    1399             :   ulong* epoch;
    1400             :   fd_pubkey_t * custodian;
    1401             : };
    1402             : typedef struct fd_lockup_args fd_lockup_args_t;
    1403             : #define FD_LOCKUP_ARGS_ALIGN alignof(fd_lockup_args_t)
    1404             : 
    1405             : union fd_stake_instruction_inner {
    1406             :   fd_stake_instruction_initialize_t initialize;
    1407             :   fd_stake_instruction_authorize_t authorize;
    1408             :   ulong split;
    1409             :   ulong withdraw;
    1410             :   fd_lockup_args_t set_lockup;
    1411             :   fd_authorize_with_seed_args_t authorize_with_seed;
    1412             :   fd_stake_authorize_t authorize_checked;
    1413             :   fd_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    1414             :   fd_lockup_checked_args_t set_lockup_checked;
    1415             :   ulong move_stake;
    1416             :   ulong move_lamports;
    1417             : };
    1418             : typedef union fd_stake_instruction_inner fd_stake_instruction_inner_t;
    1419             : 
    1420             : /* https://github.com/anza-xyz/agave/blob/cdff19c7807b006dd63429114fb1d9573bf74172/sdk/program/src/stake/instruction.rs#L96 */
    1421             : struct fd_stake_instruction {
    1422             :   uint discriminant;
    1423             :   fd_stake_instruction_inner_t inner;
    1424             : };
    1425             : typedef struct fd_stake_instruction fd_stake_instruction_t;
    1426           0 : #define FD_STAKE_INSTRUCTION_ALIGN alignof(fd_stake_instruction_t)
    1427             : 
    1428             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L248 */
    1429             : /* Encoded Size: Fixed (120 bytes) */
    1430             : struct fd_stake_meta {
    1431             :   ulong rent_exempt_reserve;
    1432             :   fd_stake_authorized_t authorized;
    1433             :   fd_stake_lockup_t lockup;
    1434             : };
    1435             : typedef struct fd_stake_meta fd_stake_meta_t;
    1436             : #define FD_STAKE_META_ALIGN alignof(fd_stake_meta_t)
    1437             : 
    1438             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/stake_flags.rs#L21 */
    1439             : /* Encoded Size: Fixed (1 bytes) */
    1440             : struct fd_stake_flags {
    1441             :   uchar bits;
    1442             : };
    1443             : typedef struct fd_stake_flags fd_stake_flags_t;
    1444             : #define FD_STAKE_FLAGS_ALIGN alignof(fd_stake_flags_t)
    1445             : 
    1446             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L135 */
    1447             : /* Encoded Size: Fixed (120 bytes) */
    1448             : struct fd_stake_state_v2_initialized {
    1449             :   fd_stake_meta_t meta;
    1450             : };
    1451             : typedef struct fd_stake_state_v2_initialized fd_stake_state_v2_initialized_t;
    1452             : #define FD_STAKE_STATE_V2_INITIALIZED_ALIGN alignof(fd_stake_state_v2_initialized_t)
    1453             : 
    1454             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L136 */
    1455             : /* Encoded Size: Fixed (193 bytes) */
    1456             : struct fd_stake_state_v2_stake {
    1457             :   fd_stake_meta_t meta;
    1458             :   fd_stake_t stake;
    1459             :   fd_stake_flags_t stake_flags;
    1460             : };
    1461             : typedef struct fd_stake_state_v2_stake fd_stake_state_v2_stake_t;
    1462             : #define FD_STAKE_STATE_V2_STAKE_ALIGN alignof(fd_stake_state_v2_stake_t)
    1463             : 
    1464             : union fd_stake_state_v2_inner {
    1465             :   fd_stake_state_v2_initialized_t initialized;
    1466             :   fd_stake_state_v2_stake_t stake;
    1467             : };
    1468             : typedef union fd_stake_state_v2_inner fd_stake_state_v2_inner_t;
    1469             : 
    1470             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L132 */
    1471             : struct fd_stake_state_v2 {
    1472             :   uint discriminant;
    1473             :   fd_stake_state_v2_inner_t inner;
    1474             : };
    1475             : typedef struct fd_stake_state_v2 fd_stake_state_v2_t;
    1476           0 : #define FD_STAKE_STATE_V2_ALIGN alignof(fd_stake_state_v2_t)
    1477             : 
    1478             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L17 */
    1479             : /* Encoded Size: Fixed (72 bytes) */
    1480             : struct fd_nonce_data {
    1481             :   fd_pubkey_t authority;
    1482             :   fd_hash_t durable_nonce;
    1483             :   fd_fee_calculator_t fee_calculator;
    1484             : };
    1485             : typedef struct fd_nonce_data fd_nonce_data_t;
    1486             : #define FD_NONCE_DATA_ALIGN alignof(fd_nonce_data_t)
    1487             : 
    1488             : union fd_nonce_state_inner {
    1489             :   fd_nonce_data_t initialized;
    1490             : };
    1491             : typedef union fd_nonce_state_inner fd_nonce_state_inner_t;
    1492             : 
    1493             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L65 */
    1494             : struct fd_nonce_state {
    1495             :   uint discriminant;
    1496             :   fd_nonce_state_inner_t inner;
    1497             : };
    1498             : typedef struct fd_nonce_state fd_nonce_state_t;
    1499             : #define FD_NONCE_STATE_ALIGN alignof(fd_nonce_state_t)
    1500             : 
    1501             : union fd_nonce_state_versions_inner {
    1502             :   fd_nonce_state_t legacy;
    1503             :   fd_nonce_state_t current;
    1504             : };
    1505             : typedef union fd_nonce_state_versions_inner fd_nonce_state_versions_inner_t;
    1506             : 
    1507             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/mod.rs#L9 */
    1508             : struct fd_nonce_state_versions {
    1509             :   uint discriminant;
    1510             :   fd_nonce_state_versions_inner_t inner;
    1511             : };
    1512             : typedef struct fd_nonce_state_versions fd_nonce_state_versions_t;
    1513           0 : #define FD_NONCE_STATE_VERSIONS_ALIGN alignof(fd_nonce_state_versions_t)
    1514             : 
    1515             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L28 */
    1516             : /* Encoded Size: Fixed (8 bytes) */
    1517             : struct fd_compute_budget_program_instruction_request_units_deprecated {
    1518             :   uint units;
    1519             :   uint additional_fee;
    1520             : };
    1521             : typedef struct fd_compute_budget_program_instruction_request_units_deprecated fd_compute_budget_program_instruction_request_units_deprecated_t;
    1522             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN alignof(fd_compute_budget_program_instruction_request_units_deprecated_t)
    1523             : 
    1524             : union fd_compute_budget_program_instruction_inner {
    1525             :   fd_compute_budget_program_instruction_request_units_deprecated_t request_units_deprecated;
    1526             :   uint request_heap_frame;
    1527             :   uint set_compute_unit_limit;
    1528             :   ulong set_compute_unit_price;
    1529             :   uint set_loaded_accounts_data_size_limit;
    1530             : };
    1531             : typedef union fd_compute_budget_program_instruction_inner fd_compute_budget_program_instruction_inner_t;
    1532             : 
    1533             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L25 */
    1534             : struct fd_compute_budget_program_instruction {
    1535             :   uint discriminant;
    1536             :   fd_compute_budget_program_instruction_inner_t inner;
    1537             : };
    1538             : typedef struct fd_compute_budget_program_instruction fd_compute_budget_program_instruction_t;
    1539           0 : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN alignof(fd_compute_budget_program_instruction_t)
    1540             : 
    1541             : /* https://github.com/solana-labs/solana/blob/a03ae63daff987912c48ee286eb8ee7e8a84bf01/programs/config/src/lib.rs#L32 */
    1542             : /* Encoded Size: Dynamic */
    1543             : struct fd_config_keys {
    1544             :   ushort keys_len;
    1545             :   fd_config_keys_pair_t * keys;
    1546             : };
    1547             : typedef struct fd_config_keys fd_config_keys_t;
    1548           0 : #define FD_CONFIG_KEYS_ALIGN alignof(fd_config_keys_t)
    1549             : 
    1550             : /* Encoded Size: Dynamic */
    1551             : struct fd_bpf_loader_program_instruction_write {
    1552             :   uint offset;
    1553             :   ulong bytes_len;
    1554             :   uchar* bytes;
    1555             : };
    1556             : typedef struct fd_bpf_loader_program_instruction_write fd_bpf_loader_program_instruction_write_t;
    1557             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_bpf_loader_program_instruction_write_t)
    1558             : 
    1559             : union fd_bpf_loader_program_instruction_inner {
    1560             :   fd_bpf_loader_program_instruction_write_t write;
    1561             : };
    1562             : typedef union fd_bpf_loader_program_instruction_inner fd_bpf_loader_program_instruction_inner_t;
    1563             : 
    1564             : struct fd_bpf_loader_program_instruction {
    1565             :   uint discriminant;
    1566             :   fd_bpf_loader_program_instruction_inner_t inner;
    1567             : };
    1568             : typedef struct fd_bpf_loader_program_instruction fd_bpf_loader_program_instruction_t;
    1569             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN alignof(fd_bpf_loader_program_instruction_t)
    1570             : 
    1571             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L21-L27 */
    1572             : /* Encoded Size: Dynamic */
    1573             : struct fd_loader_v4_program_instruction_write {
    1574             :   uint offset;
    1575             :   ulong bytes_len;
    1576             :   uchar* bytes;
    1577             : };
    1578             : typedef struct fd_loader_v4_program_instruction_write fd_loader_v4_program_instruction_write_t;
    1579             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_loader_v4_program_instruction_write_t)
    1580             : 
    1581             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L35-L42 */
    1582             : /* Encoded Size: Fixed (12 bytes) */
    1583             : struct fd_loader_v4_program_instruction_copy {
    1584             :   uint destination_offset;
    1585             :   uint source_offset;
    1586             :   uint length;
    1587             : };
    1588             : typedef struct fd_loader_v4_program_instruction_copy fd_loader_v4_program_instruction_copy_t;
    1589             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_COPY_ALIGN alignof(fd_loader_v4_program_instruction_copy_t)
    1590             : 
    1591             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L57-L60 */
    1592             : /* Encoded Size: Fixed (4 bytes) */
    1593             : struct fd_loader_v4_program_instruction_set_program_length {
    1594             :   uint new_size;
    1595             : };
    1596             : typedef struct fd_loader_v4_program_instruction_set_program_length fd_loader_v4_program_instruction_set_program_length_t;
    1597             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_SET_PROGRAM_LENGTH_ALIGN alignof(fd_loader_v4_program_instruction_set_program_length_t)
    1598             : 
    1599             : union fd_loader_v4_program_instruction_inner {
    1600             :   fd_loader_v4_program_instruction_write_t write;
    1601             :   fd_loader_v4_program_instruction_copy_t copy;
    1602             :   fd_loader_v4_program_instruction_set_program_length_t set_program_length;
    1603             : };
    1604             : typedef union fd_loader_v4_program_instruction_inner fd_loader_v4_program_instruction_inner_t;
    1605             : 
    1606             : /* https://github.com/anza-xyz/agave/blob/007194391ca8313b2854d523769d0bedf040ef92/sdk/program/src/loader_v4_instruction.rs#L5 */
    1607             : struct fd_loader_v4_program_instruction {
    1608             :   uint discriminant;
    1609             :   fd_loader_v4_program_instruction_inner_t inner;
    1610             : };
    1611             : typedef struct fd_loader_v4_program_instruction fd_loader_v4_program_instruction_t;
    1612           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN alignof(fd_loader_v4_program_instruction_t)
    1613             : 
    1614             : /* Encoded Size: Dynamic */
    1615             : struct fd_bpf_upgradeable_loader_program_instruction_write {
    1616             :   uint offset;
    1617             :   ulong bytes_len;
    1618             :   uchar* bytes;
    1619             : };
    1620             : typedef struct fd_bpf_upgradeable_loader_program_instruction_write fd_bpf_upgradeable_loader_program_instruction_write_t;
    1621             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_write_t)
    1622             : 
    1623             : /* Encoded Size: Fixed (8 bytes) */
    1624             : struct fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len {
    1625             :   ulong max_data_len;
    1626             : };
    1627             : 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;
    1628             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_DEPLOY_WITH_MAX_DATA_LEN_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t)
    1629             : 
    1630             : /* Encoded Size: Fixed (4 bytes) */
    1631             : struct fd_bpf_upgradeable_loader_program_instruction_extend_program {
    1632             :   uint additional_bytes;
    1633             : };
    1634             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program fd_bpf_upgradeable_loader_program_instruction_extend_program_t;
    1635             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t)
    1636             : 
    1637             : /* Encoded Size: Fixed (4 bytes) */
    1638             : struct fd_bpf_upgradeable_loader_program_instruction_extend_program_checked {
    1639             :   uint additional_bytes;
    1640             : };
    1641             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program_checked fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t;
    1642             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_CHECKED_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t)
    1643             : 
    1644             : union fd_bpf_upgradeable_loader_program_instruction_inner {
    1645             :   fd_bpf_upgradeable_loader_program_instruction_write_t write;
    1646             :   fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t deploy_with_max_data_len;
    1647             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_t extend_program;
    1648             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t extend_program_checked;
    1649             : };
    1650             : typedef union fd_bpf_upgradeable_loader_program_instruction_inner fd_bpf_upgradeable_loader_program_instruction_inner_t;
    1651             : 
    1652             : struct fd_bpf_upgradeable_loader_program_instruction {
    1653             :   uint discriminant;
    1654             :   fd_bpf_upgradeable_loader_program_instruction_inner_t inner;
    1655             : };
    1656             : typedef struct fd_bpf_upgradeable_loader_program_instruction fd_bpf_upgradeable_loader_program_instruction_t;
    1657           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_t)
    1658             : 
    1659             : /* Encoded Size: Dynamic */
    1660             : struct fd_bpf_upgradeable_loader_state_buffer {
    1661             :   fd_pubkey_t authority_address;
    1662             :   uchar has_authority_address;
    1663             : };
    1664             : typedef struct fd_bpf_upgradeable_loader_state_buffer fd_bpf_upgradeable_loader_state_buffer_t;
    1665             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN alignof(fd_bpf_upgradeable_loader_state_buffer_t)
    1666             : 
    1667             : /* Encoded Size: Fixed (32 bytes) */
    1668             : struct fd_bpf_upgradeable_loader_state_program {
    1669             :   fd_pubkey_t programdata_address;
    1670             : };
    1671             : typedef struct fd_bpf_upgradeable_loader_state_program fd_bpf_upgradeable_loader_state_program_t;
    1672             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN alignof(fd_bpf_upgradeable_loader_state_program_t)
    1673             : 
    1674             : /* Encoded Size: Dynamic */
    1675             : struct fd_bpf_upgradeable_loader_state_program_data {
    1676             :   ulong slot;
    1677             :   fd_pubkey_t upgrade_authority_address;
    1678             :   uchar has_upgrade_authority_address;
    1679             : };
    1680             : typedef struct fd_bpf_upgradeable_loader_state_program_data fd_bpf_upgradeable_loader_state_program_data_t;
    1681             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN alignof(fd_bpf_upgradeable_loader_state_program_data_t)
    1682             : 
    1683             : union fd_bpf_upgradeable_loader_state_inner {
    1684             :   fd_bpf_upgradeable_loader_state_buffer_t buffer;
    1685             :   fd_bpf_upgradeable_loader_state_program_t program;
    1686             :   fd_bpf_upgradeable_loader_state_program_data_t program_data;
    1687             : };
    1688             : typedef union fd_bpf_upgradeable_loader_state_inner fd_bpf_upgradeable_loader_state_inner_t;
    1689             : 
    1690             : struct fd_bpf_upgradeable_loader_state {
    1691             :   uint discriminant;
    1692             :   fd_bpf_upgradeable_loader_state_inner_t inner;
    1693             : };
    1694             : typedef struct fd_bpf_upgradeable_loader_state fd_bpf_upgradeable_loader_state_t;
    1695           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN alignof(fd_bpf_upgradeable_loader_state_t)
    1696             : 
    1697             : /* https://github.com/anza-xyz/agave/blob/v2.1.4/sdk/program/src/loader_v4.rs#L33-L43 */
    1698             : /* Encoded Size: Fixed (48 bytes) */
    1699             : struct fd_loader_v4_state {
    1700             :   ulong slot;
    1701             :   fd_pubkey_t authority_address_or_next_version;
    1702             :   ulong status;
    1703             : };
    1704             : typedef struct fd_loader_v4_state fd_loader_v4_state_t;
    1705             : #define FD_LOADER_V4_STATE_ALIGN alignof(fd_loader_v4_state_t)
    1706             : 
    1707             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L178 */
    1708             : /* Encoded Size: Fixed (33 bytes) */
    1709             : struct fd_frozen_hash_status {
    1710             :   fd_hash_t frozen_hash;
    1711             :   uchar is_duplicate_confirmed;
    1712             : };
    1713             : typedef struct fd_frozen_hash_status fd_frozen_hash_status_t;
    1714             : #define FD_FROZEN_HASH_STATUS_ALIGN alignof(fd_frozen_hash_status_t)
    1715             : 
    1716             : union fd_frozen_hash_versioned_inner {
    1717             :   fd_frozen_hash_status_t current;
    1718             : };
    1719             : typedef union fd_frozen_hash_versioned_inner fd_frozen_hash_versioned_inner_t;
    1720             : 
    1721             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L157 */
    1722             : struct fd_frozen_hash_versioned {
    1723             :   uint discriminant;
    1724             :   fd_frozen_hash_versioned_inner_t inner;
    1725             : };
    1726             : typedef struct fd_frozen_hash_versioned fd_frozen_hash_versioned_t;
    1727           0 : #define FD_FROZEN_HASH_VERSIONED_ALIGN alignof(fd_frozen_hash_versioned_t)
    1728             : 
    1729             : /* Encoded Size: Dynamic */
    1730             : struct fd_lookup_table_meta {
    1731             :   ulong deactivation_slot;
    1732             :   ulong last_extended_slot;
    1733             :   uchar last_extended_slot_start_index;
    1734             :   fd_pubkey_t authority;
    1735             :   uchar has_authority;
    1736             :   ushort _padding;
    1737             : };
    1738             : typedef struct fd_lookup_table_meta fd_lookup_table_meta_t;
    1739             : #define FD_LOOKUP_TABLE_META_ALIGN alignof(fd_lookup_table_meta_t)
    1740             : 
    1741             : /* Encoded Size: Dynamic */
    1742             : struct fd_address_lookup_table {
    1743             :   fd_lookup_table_meta_t meta;
    1744             : };
    1745             : typedef struct fd_address_lookup_table fd_address_lookup_table_t;
    1746             : #define FD_ADDRESS_LOOKUP_TABLE_ALIGN alignof(fd_address_lookup_table_t)
    1747             : 
    1748             : union fd_address_lookup_table_state_inner {
    1749             :   fd_address_lookup_table_t lookup_table;
    1750             : };
    1751             : typedef union fd_address_lookup_table_state_inner fd_address_lookup_table_state_inner_t;
    1752             : 
    1753             : struct fd_address_lookup_table_state {
    1754             :   uint discriminant;
    1755             :   fd_address_lookup_table_state_inner_t inner;
    1756             : };
    1757             : typedef struct fd_address_lookup_table_state fd_address_lookup_table_state_t;
    1758             : #define FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN alignof(fd_address_lookup_table_state_t)
    1759             : 
    1760             : /* https://github.com/solana-labs/solana/blob/52616cf7aa424a80f770e5ec3f2cd49d1cfeb845/gossip/src/ping_pong.rs#L22 */
    1761             : /* Encoded Size: Fixed (128 bytes) */
    1762             : struct fd_gossip_ping {
    1763             :   fd_pubkey_t from;
    1764             :   fd_hash_t token;
    1765             :   fd_signature_t signature;
    1766             : };
    1767             : typedef struct fd_gossip_ping fd_gossip_ping_t;
    1768             : #define FD_GOSSIP_PING_ALIGN alignof(fd_gossip_ping_t)
    1769             : 
    1770             : union fd_gossip_ip_addr_inner {
    1771             :   fd_gossip_ip4_addr_t ip4;
    1772             :   fd_gossip_ip6_addr_t ip6;
    1773             : };
    1774             : typedef union fd_gossip_ip_addr_inner fd_gossip_ip_addr_inner_t;
    1775             : 
    1776             : /* https://doc.rust-lang.org/beta/src/core/net/socket_addr.rs.html#33 */
    1777             : struct fd_gossip_ip_addr {
    1778             :   uint discriminant;
    1779             :   fd_gossip_ip_addr_inner_t inner;
    1780             : };
    1781             : typedef struct fd_gossip_ip_addr fd_gossip_ip_addr_t;
    1782           6 : #define FD_GOSSIP_IP_ADDR_ALIGN alignof(fd_gossip_ip_addr_t)
    1783             : 
    1784             : /* Encoded Size: Dynamic */
    1785             : struct fd_gossip_prune_data {
    1786             :   fd_pubkey_t pubkey;
    1787             :   ulong prunes_len;
    1788             :   fd_pubkey_t * prunes;
    1789             :   fd_signature_t signature;
    1790             :   fd_pubkey_t destination;
    1791             :   ulong wallclock;
    1792             : };
    1793             : typedef struct fd_gossip_prune_data fd_gossip_prune_data_t;
    1794             : #define FD_GOSSIP_PRUNE_DATA_ALIGN alignof(fd_gossip_prune_data_t)
    1795             : 
    1796             : /* Encoded Size: Dynamic */
    1797             : struct fd_gossip_prune_sign_data {
    1798             :   fd_pubkey_t pubkey;
    1799             :   ulong prunes_len;
    1800             :   fd_pubkey_t * prunes;
    1801             :   fd_pubkey_t destination;
    1802             :   ulong wallclock;
    1803             : };
    1804             : typedef struct fd_gossip_prune_sign_data fd_gossip_prune_sign_data_t;
    1805             : #define FD_GOSSIP_PRUNE_SIGN_DATA_ALIGN alignof(fd_gossip_prune_sign_data_t)
    1806             : 
    1807             : /* Encoded Size: Dynamic */
    1808             : struct fd_gossip_prune_sign_data_with_prefix {
    1809             :   ulong prefix_len;
    1810             :   uchar* prefix;
    1811             :   fd_gossip_prune_sign_data_t data;
    1812             : };
    1813             : typedef struct fd_gossip_prune_sign_data_with_prefix fd_gossip_prune_sign_data_with_prefix_t;
    1814             : #define FD_GOSSIP_PRUNE_SIGN_DATA_WITH_PREFIX_ALIGN alignof(fd_gossip_prune_sign_data_with_prefix_t)
    1815             : 
    1816             : /* Encoded Size: Dynamic */
    1817             : struct fd_gossip_socket_addr_old {
    1818             :   fd_gossip_ip_addr_t addr;
    1819             :   ushort port;
    1820             : };
    1821             : typedef struct fd_gossip_socket_addr_old fd_gossip_socket_addr_old_t;
    1822             : #define FD_GOSSIP_SOCKET_ADDR_OLD_ALIGN alignof(fd_gossip_socket_addr_old_t)
    1823             : 
    1824             : /* Encoded Size: Dynamic */
    1825             : struct fd_gossip_socket_addr_ip4 {
    1826             :   fd_gossip_ip4_addr_t addr;
    1827             :   ushort port;
    1828             : };
    1829             : typedef struct fd_gossip_socket_addr_ip4 fd_gossip_socket_addr_ip4_t;
    1830             : #define FD_GOSSIP_SOCKET_ADDR_IP4_ALIGN alignof(fd_gossip_socket_addr_ip4_t)
    1831             : 
    1832             : /* https://doc.rust-lang.org/beta/src/core/net/socket_addr.rs.html#147 */
    1833             : /* Encoded Size: Fixed (18 bytes) */
    1834             : struct fd_gossip_socket_addr_ip6 {
    1835             :   fd_gossip_ip6_addr_t addr;
    1836             :   ushort port;
    1837             : };
    1838             : typedef struct fd_gossip_socket_addr_ip6 fd_gossip_socket_addr_ip6_t;
    1839             : #define FD_GOSSIP_SOCKET_ADDR_IP6_ALIGN alignof(fd_gossip_socket_addr_ip6_t)
    1840             : 
    1841             : union fd_gossip_socket_addr_inner {
    1842             :   fd_gossip_socket_addr_ip4_t ip4;
    1843             :   fd_gossip_socket_addr_ip6_t ip6;
    1844             : };
    1845             : typedef union fd_gossip_socket_addr_inner fd_gossip_socket_addr_inner_t;
    1846             : 
    1847             : /* https://doc.rust-lang.org/beta/src/core/net/socket_addr.rs.html#33 */
    1848             : struct fd_gossip_socket_addr {
    1849             :   uint discriminant;
    1850             :   fd_gossip_socket_addr_inner_t inner;
    1851             : };
    1852             : typedef struct fd_gossip_socket_addr fd_gossip_socket_addr_t;
    1853             : #define FD_GOSSIP_SOCKET_ADDR_ALIGN alignof(fd_gossip_socket_addr_t)
    1854             : 
    1855             : /* https://github.com/firedancer-io/agave/blob/540d5bc56cd44e3cc61b179bd52e9a782a2c99e4/gossip/src/legacy_contact_info.rs#L14 */
    1856             : /* Encoded Size: Dynamic */
    1857             : struct fd_gossip_contact_info_v1 {
    1858             :   fd_pubkey_t id;
    1859             :   fd_gossip_socket_addr_t gossip;
    1860             :   fd_gossip_socket_addr_t tvu;
    1861             :   fd_gossip_socket_addr_t tvu_fwd;
    1862             :   fd_gossip_socket_addr_t repair;
    1863             :   fd_gossip_socket_addr_t tpu;
    1864             :   fd_gossip_socket_addr_t tpu_fwd;
    1865             :   fd_gossip_socket_addr_t tpu_vote;
    1866             :   fd_gossip_socket_addr_t rpc;
    1867             :   fd_gossip_socket_addr_t rpc_pubsub;
    1868             :   fd_gossip_socket_addr_t serve_repair;
    1869             :   ulong wallclock;
    1870             :   ushort shred_version;
    1871             : };
    1872             : typedef struct fd_gossip_contact_info_v1 fd_gossip_contact_info_v1_t;
    1873             : #define FD_GOSSIP_CONTACT_INFO_V1_ALIGN alignof(fd_gossip_contact_info_v1_t)
    1874             : 
    1875             : /* Encoded Size: Dynamic */
    1876             : struct fd_gossip_vote_old {
    1877             :   uchar index;
    1878             :   fd_pubkey_t from;
    1879             :   fd_flamenco_txn_t txn;
    1880             :   ulong wallclock;
    1881             : };
    1882             : typedef struct fd_gossip_vote_old fd_gossip_vote_old_t;
    1883             : #define FD_GOSSIP_VOTE_OLD_ALIGN alignof(fd_gossip_vote_old_t)
    1884             : 
    1885             : struct fd_gossip_deprecated_compression_type {
    1886             :   uint discriminant;
    1887             : };
    1888             : typedef struct fd_gossip_deprecated_compression_type fd_gossip_deprecated_compression_type_t;
    1889             : #define FD_GOSSIP_DEPRECATED_COMPRESSION_TYPE_ALIGN alignof(fd_gossip_deprecated_compression_type_t)
    1890             : 
    1891             : /* Encoded Size: Dynamic */
    1892             : struct fd_gossip_deprecated_epoch_incomplete_slots {
    1893             :   ulong first;
    1894             :   fd_gossip_deprecated_compression_type_t compression;
    1895             :   ulong compressed_list_len;
    1896             :   uchar* compressed_list;
    1897             : };
    1898             : typedef struct fd_gossip_deprecated_epoch_incomplete_slots fd_gossip_deprecated_epoch_incomplete_slots_t;
    1899           0 : #define FD_GOSSIP_DEPRECATED_EPOCH_INCOMPLETE_SLOTS_ALIGN alignof(fd_gossip_deprecated_epoch_incomplete_slots_t)
    1900             : 
    1901             : /* Encoded Size: Dynamic */
    1902             : struct fd_gossip_lowest_slot {
    1903             :   uchar u8;
    1904             :   fd_pubkey_t from;
    1905             :   ulong root;
    1906             :   ulong lowest;
    1907             :   ulong slots_len;
    1908             :   ulong* slots;
    1909             :   ulong stash_len;
    1910             :   fd_gossip_deprecated_epoch_incomplete_slots_t * stash;
    1911             :   ulong wallclock;
    1912             : };
    1913             : typedef struct fd_gossip_lowest_slot fd_gossip_lowest_slot_t;
    1914             : #define FD_GOSSIP_LOWEST_SLOT_ALIGN alignof(fd_gossip_lowest_slot_t)
    1915             : 
    1916             : /* Encoded Size: Dynamic */
    1917             : struct fd_gossip_slot_hashes {
    1918             :   fd_pubkey_t from;
    1919             :   ulong hashes_len;
    1920             :   fd_slot_hash_t * hashes;
    1921             :   ulong wallclock;
    1922             : };
    1923             : typedef struct fd_gossip_slot_hashes fd_gossip_slot_hashes_t;
    1924             : #define FD_GOSSIP_SLOT_HASHES_ALIGN alignof(fd_gossip_slot_hashes_t)
    1925             : 
    1926             : /* Encoded Size: Dynamic */
    1927             : struct fd_gossip_slots {
    1928             :   ulong first_slot;
    1929             :   ulong num;
    1930             :   uchar has_slots;
    1931             :   ulong slots_bitvec_len;
    1932             :   uchar* slots_bitvec;
    1933             :   ulong slots_len;
    1934             : };
    1935             : typedef struct fd_gossip_slots fd_gossip_slots_t;
    1936             : #define FD_GOSSIP_SLOTS_ALIGN alignof(fd_gossip_slots_t)
    1937             : 
    1938             : /* Encoded Size: Dynamic */
    1939             : struct fd_gossip_flate2_slots {
    1940             :   ulong first_slot;
    1941             :   ulong num;
    1942             :   ulong compressed_len;
    1943             :   uchar* compressed;
    1944             : };
    1945             : typedef struct fd_gossip_flate2_slots fd_gossip_flate2_slots_t;
    1946             : #define FD_GOSSIP_FLATE2_SLOTS_ALIGN alignof(fd_gossip_flate2_slots_t)
    1947             : 
    1948             : union fd_gossip_slots_enum_inner {
    1949             :   fd_gossip_flate2_slots_t flate2;
    1950             :   fd_gossip_slots_t uncompressed;
    1951             : };
    1952             : typedef union fd_gossip_slots_enum_inner fd_gossip_slots_enum_inner_t;
    1953             : 
    1954             : struct fd_gossip_slots_enum {
    1955             :   uint discriminant;
    1956             :   fd_gossip_slots_enum_inner_t inner;
    1957             : };
    1958             : typedef struct fd_gossip_slots_enum fd_gossip_slots_enum_t;
    1959           0 : #define FD_GOSSIP_SLOTS_ENUM_ALIGN alignof(fd_gossip_slots_enum_t)
    1960             : 
    1961             : /* Encoded Size: Dynamic */
    1962             : struct fd_gossip_epoch_slots {
    1963             :   uchar u8;
    1964             :   fd_pubkey_t from;
    1965             :   ulong slots_len;
    1966             :   fd_gossip_slots_enum_t * slots;
    1967             :   ulong wallclock;
    1968             : };
    1969             : typedef struct fd_gossip_epoch_slots fd_gossip_epoch_slots_t;
    1970             : #define FD_GOSSIP_EPOCH_SLOTS_ALIGN alignof(fd_gossip_epoch_slots_t)
    1971             : 
    1972             : /* Encoded Size: Dynamic */
    1973             : struct fd_gossip_version_v1 {
    1974             :   fd_pubkey_t from;
    1975             :   ulong wallclock;
    1976             :   ushort major;
    1977             :   ushort minor;
    1978             :   ushort patch;
    1979             :   uint commit;
    1980             :   uchar has_commit;
    1981             : };
    1982             : typedef struct fd_gossip_version_v1 fd_gossip_version_v1_t;
    1983             : #define FD_GOSSIP_VERSION_V1_ALIGN alignof(fd_gossip_version_v1_t)
    1984             : 
    1985             : /* Encoded Size: Dynamic */
    1986             : struct fd_gossip_version_v2 {
    1987             :   fd_pubkey_t from;
    1988             :   ulong wallclock;
    1989             :   ushort major;
    1990             :   ushort minor;
    1991             :   ushort patch;
    1992             :   uint commit;
    1993             :   uchar has_commit;
    1994             :   uint feature_set;
    1995             : };
    1996             : typedef struct fd_gossip_version_v2 fd_gossip_version_v2_t;
    1997             : #define FD_GOSSIP_VERSION_V2_ALIGN alignof(fd_gossip_version_v2_t)
    1998             : 
    1999             : /* Encoded Size: Dynamic */
    2000             : struct fd_gossip_version_v3 {
    2001             :   ushort major;
    2002             :   ushort minor;
    2003             :   ushort patch;
    2004             :   uint commit;
    2005             :   uint feature_set;
    2006             :   ushort client;
    2007             : };
    2008             : typedef struct fd_gossip_version_v3 fd_gossip_version_v3_t;
    2009             : #define FD_GOSSIP_VERSION_V3_ALIGN alignof(fd_gossip_version_v3_t)
    2010             : 
    2011             : /* Encoded Size: Fixed (56 bytes) */
    2012             : struct fd_gossip_node_instance {
    2013             :   fd_pubkey_t from;
    2014             :   ulong wallclock;
    2015             :   ulong timestamp;
    2016             :   ulong token;
    2017             : };
    2018             : typedef struct fd_gossip_node_instance fd_gossip_node_instance_t;
    2019             : #define FD_GOSSIP_NODE_INSTANCE_ALIGN alignof(fd_gossip_node_instance_t)
    2020             : 
    2021             : /* https://github.com/firedancer-io/agave/blob/540d5bc56cd44e3cc61b179bd52e9a782a2c99e4/gossip/src/duplicate_shred.rs#L25 */
    2022             : /* Encoded Size: Dynamic */
    2023             : struct fd_gossip_duplicate_shred_old {
    2024             :   ushort duplicate_shred_index;
    2025             :   fd_pubkey_t from;
    2026             :   ulong wallclock;
    2027             :   ulong slot;
    2028             :   uint _unused;
    2029             :   uchar _unused_shred_type;
    2030             :   uchar num_chunks;
    2031             :   uchar chunk_index;
    2032             :   ulong chunk_len;
    2033             :   uchar* chunk;
    2034             : };
    2035             : typedef struct fd_gossip_duplicate_shred_old fd_gossip_duplicate_shred_old_t;
    2036             : #define FD_GOSSIP_DUPLICATE_SHRED_OLD_ALIGN alignof(fd_gossip_duplicate_shred_old_t)
    2037             : 
    2038             : /* Encoded Size: Dynamic */
    2039             : struct fd_gossip_incremental_snapshot_hashes {
    2040             :   fd_pubkey_t from;
    2041             :   fd_slot_hash_t base_hash;
    2042             :   ulong hashes_len;
    2043             :   fd_slot_hash_t * hashes;
    2044             :   ulong wallclock;
    2045             : };
    2046             : typedef struct fd_gossip_incremental_snapshot_hashes fd_gossip_incremental_snapshot_hashes_t;
    2047             : #define FD_GOSSIP_INCREMENTAL_SNAPSHOT_HASHES_ALIGN alignof(fd_gossip_incremental_snapshot_hashes_t)
    2048             : 
    2049             : /* Encoded Size: Dynamic */
    2050             : struct fd_gossip_socket_entry {
    2051             :   uchar key;
    2052             :   uchar index;
    2053             :   ushort offset;
    2054             : };
    2055             : typedef struct fd_gossip_socket_entry fd_gossip_socket_entry_t;
    2056           6 : #define FD_GOSSIP_SOCKET_ENTRY_ALIGN alignof(fd_gossip_socket_entry_t)
    2057             : 
    2058             : /* https://github.com/firedancer-io/agave/blob/540d5bc56cd44e3cc61b179bd52e9a782a2c99e4/gossip/src/contact_info.rs#L85 */
    2059             : /* Encoded Size: Dynamic */
    2060             : struct fd_gossip_contact_info_v2 {
    2061             :   fd_pubkey_t from;
    2062             :   ulong wallclock;
    2063             :   ulong outset;
    2064             :   ushort shred_version;
    2065             :   fd_gossip_version_v3_t version;
    2066             :   ushort addrs_len;
    2067             :   fd_gossip_ip_addr_t * addrs;
    2068             :   ushort sockets_len;
    2069             :   fd_gossip_socket_entry_t * sockets;
    2070             :   ushort extensions_len;
    2071             :   uint* extensions;
    2072             : };
    2073             : typedef struct fd_gossip_contact_info_v2 fd_gossip_contact_info_v2_t;
    2074             : #define FD_GOSSIP_CONTACT_INFO_V2_ALIGN alignof(fd_gossip_contact_info_v2_t)
    2075             : 
    2076             : /* Encoded Size: Dynamic */
    2077             : struct fd_restart_run_length_encoding_inner {
    2078             :   ushort bits;
    2079             : };
    2080             : typedef struct fd_restart_run_length_encoding_inner fd_restart_run_length_encoding_inner_t;
    2081           0 : #define FD_RESTART_RUN_LENGTH_ENCODING_INNER_ALIGN alignof(fd_restart_run_length_encoding_inner_t)
    2082             : 
    2083             : /* Encoded Size: Dynamic */
    2084             : struct fd_restart_run_length_encoding {
    2085             :   ulong offsets_len;
    2086             :   fd_restart_run_length_encoding_inner_t * offsets;
    2087             : };
    2088             : typedef struct fd_restart_run_length_encoding fd_restart_run_length_encoding_t;
    2089             : #define FD_RESTART_RUN_LENGTH_ENCODING_ALIGN alignof(fd_restart_run_length_encoding_t)
    2090             : 
    2091             : /* Encoded Size: Dynamic */
    2092             : struct fd_restart_raw_offsets {
    2093             :   uchar has_offsets;
    2094             :   ulong offsets_bitvec_len;
    2095             :   uchar* offsets_bitvec;
    2096             :   ulong offsets_len;
    2097             : };
    2098             : typedef struct fd_restart_raw_offsets fd_restart_raw_offsets_t;
    2099             : #define FD_RESTART_RAW_OFFSETS_ALIGN alignof(fd_restart_raw_offsets_t)
    2100             : 
    2101             : union fd_restart_slots_offsets_inner {
    2102             :   fd_restart_run_length_encoding_t run_length_encoding;
    2103             :   fd_restart_raw_offsets_t raw_offsets;
    2104             : };
    2105             : typedef union fd_restart_slots_offsets_inner fd_restart_slots_offsets_inner_t;
    2106             : 
    2107             : struct fd_restart_slots_offsets {
    2108             :   uint discriminant;
    2109             :   fd_restart_slots_offsets_inner_t inner;
    2110             : };
    2111             : typedef struct fd_restart_slots_offsets fd_restart_slots_offsets_t;
    2112             : #define FD_RESTART_SLOTS_OFFSETS_ALIGN alignof(fd_restart_slots_offsets_t)
    2113             : 
    2114             : /* Encoded Size: Dynamic */
    2115             : struct fd_gossip_restart_last_voted_fork_slots {
    2116             :   fd_pubkey_t from;
    2117             :   ulong wallclock;
    2118             :   fd_restart_slots_offsets_t offsets;
    2119             :   ulong last_voted_slot;
    2120             :   fd_hash_t last_voted_hash;
    2121             :   ushort shred_version;
    2122             : };
    2123             : typedef struct fd_gossip_restart_last_voted_fork_slots fd_gossip_restart_last_voted_fork_slots_t;
    2124             : #define FD_GOSSIP_RESTART_LAST_VOTED_FORK_SLOTS_ALIGN alignof(fd_gossip_restart_last_voted_fork_slots_t)
    2125             : 
    2126             : /* Encoded Size: Fixed (90 bytes) */
    2127             : struct fd_gossip_restart_heaviest_fork {
    2128             :   fd_pubkey_t from;
    2129             :   ulong wallclock;
    2130             :   ulong last_slot;
    2131             :   fd_hash_t last_slot_hash;
    2132             :   ulong observed_stake;
    2133             :   ushort shred_version;
    2134             : };
    2135             : typedef struct fd_gossip_restart_heaviest_fork fd_gossip_restart_heaviest_fork_t;
    2136             : #define FD_GOSSIP_RESTART_HEAVIEST_FORK_ALIGN alignof(fd_gossip_restart_heaviest_fork_t)
    2137             : 
    2138             : union fd_crds_data_inner {
    2139             :   fd_gossip_contact_info_v1_t contact_info_v1;
    2140             :   fd_gossip_vote_old_t vote;
    2141             :   fd_gossip_lowest_slot_t lowest_slot;
    2142             :   fd_gossip_slot_hashes_t snapshot_hashes;
    2143             :   fd_gossip_slot_hashes_t accounts_hashes;
    2144             :   fd_gossip_epoch_slots_t epoch_slots;
    2145             :   fd_gossip_version_v1_t version_v1;
    2146             :   fd_gossip_version_v2_t version_v2;
    2147             :   fd_gossip_node_instance_t node_instance;
    2148             :   fd_gossip_duplicate_shred_old_t duplicate_shred;
    2149             :   fd_gossip_incremental_snapshot_hashes_t incremental_snapshot_hashes;
    2150             :   fd_gossip_contact_info_v2_t contact_info_v2;
    2151             :   fd_gossip_restart_last_voted_fork_slots_t restart_last_voted_fork_slots;
    2152             :   fd_gossip_restart_heaviest_fork_t restart_heaviest_fork;
    2153             : };
    2154             : typedef union fd_crds_data_inner fd_crds_data_inner_t;
    2155             : 
    2156             : struct fd_crds_data {
    2157             :   uint discriminant;
    2158             :   fd_crds_data_inner_t inner;
    2159             : };
    2160             : typedef struct fd_crds_data fd_crds_data_t;
    2161             : #define FD_CRDS_DATA_ALIGN alignof(fd_crds_data_t)
    2162             : 
    2163             : /* https://github.com/firedancer-io/agave/blob/540d5bc56cd44e3cc61b179bd52e9a782a2c99e4/bloom/src/bloom.rs#L26 */
    2164             : /* Encoded Size: Dynamic */
    2165             : struct fd_crds_bloom {
    2166             :   ulong keys_len;
    2167             :   ulong* keys;
    2168             :   uchar has_bits;
    2169             :   ulong bits_bitvec_len;
    2170             :   ulong* bits_bitvec;
    2171             :   ulong bits_len;
    2172             :   ulong num_bits_set;
    2173             : };
    2174             : typedef struct fd_crds_bloom fd_crds_bloom_t;
    2175             : #define FD_CRDS_BLOOM_ALIGN alignof(fd_crds_bloom_t)
    2176             : 
    2177             : /* https://github.com/firedancer-io/agave/blob/540d5bc56cd44e3cc61b179bd52e9a782a2c99e4/gossip/src/crds_gossip_pull.rs#L60 */
    2178             : /* Encoded Size: Dynamic */
    2179             : struct fd_crds_filter {
    2180             :   fd_crds_bloom_t filter;
    2181             :   ulong mask;
    2182             :   uint mask_bits;
    2183             : };
    2184             : typedef struct fd_crds_filter fd_crds_filter_t;
    2185             : #define FD_CRDS_FILTER_ALIGN alignof(fd_crds_filter_t)
    2186             : 
    2187             : /* Encoded Size: Dynamic */
    2188             : struct fd_crds_value {
    2189             :   fd_signature_t signature;
    2190             :   fd_crds_data_t data;
    2191             : };
    2192             : typedef struct fd_crds_value fd_crds_value_t;
    2193          36 : #define FD_CRDS_VALUE_ALIGN alignof(fd_crds_value_t)
    2194             : 
    2195             : /* Encoded Size: Dynamic */
    2196             : struct fd_gossip_pull_req {
    2197             :   fd_crds_filter_t filter;
    2198             :   fd_crds_value_t value;
    2199             : };
    2200             : typedef struct fd_gossip_pull_req fd_gossip_pull_req_t;
    2201             : #define FD_GOSSIP_PULL_REQ_ALIGN alignof(fd_gossip_pull_req_t)
    2202             : 
    2203             : /* Encoded Size: Dynamic */
    2204             : struct fd_gossip_pull_resp {
    2205             :   fd_pubkey_t pubkey;
    2206             :   ulong crds_len;
    2207             :   fd_crds_value_t * crds;
    2208             : };
    2209             : typedef struct fd_gossip_pull_resp fd_gossip_pull_resp_t;
    2210             : #define FD_GOSSIP_PULL_RESP_ALIGN alignof(fd_gossip_pull_resp_t)
    2211             : 
    2212             : /* Encoded Size: Dynamic */
    2213             : struct fd_gossip_push_msg {
    2214             :   fd_pubkey_t pubkey;
    2215             :   ulong crds_len;
    2216             :   fd_crds_value_t * crds;
    2217             : };
    2218             : typedef struct fd_gossip_push_msg fd_gossip_push_msg_t;
    2219             : #define FD_GOSSIP_PUSH_MSG_ALIGN alignof(fd_gossip_push_msg_t)
    2220             : 
    2221             : /* Encoded Size: Dynamic */
    2222             : struct fd_gossip_prune_msg {
    2223             :   fd_pubkey_t pubkey;
    2224             :   fd_gossip_prune_data_t data;
    2225             : };
    2226             : typedef struct fd_gossip_prune_msg fd_gossip_prune_msg_t;
    2227             : #define FD_GOSSIP_PRUNE_MSG_ALIGN alignof(fd_gossip_prune_msg_t)
    2228             : 
    2229             : union fd_gossip_msg_inner {
    2230             :   fd_gossip_pull_req_t pull_req;
    2231             :   fd_gossip_pull_resp_t pull_resp;
    2232             :   fd_gossip_push_msg_t push_msg;
    2233             :   fd_gossip_prune_msg_t prune_msg;
    2234             :   fd_gossip_ping_t ping;
    2235             :   fd_gossip_ping_t pong;
    2236             : };
    2237             : typedef union fd_gossip_msg_inner fd_gossip_msg_inner_t;
    2238             : 
    2239             : /* UDP payloads of the Solana gossip protocol */
    2240             : struct fd_gossip_msg {
    2241             :   uint discriminant;
    2242             :   fd_gossip_msg_inner_t inner;
    2243             : };
    2244             : typedef struct fd_gossip_msg fd_gossip_msg_t;
    2245          42 : #define FD_GOSSIP_MSG_ALIGN alignof(fd_gossip_msg_t)
    2246             : 
    2247             : /* Encoded Size: Fixed (9 bytes) */
    2248             : struct fd_addrlut_create {
    2249             :   ulong recent_slot;
    2250             :   uchar bump_seed;
    2251             : };
    2252             : typedef struct fd_addrlut_create fd_addrlut_create_t;
    2253             : #define FD_ADDRLUT_CREATE_ALIGN alignof(fd_addrlut_create_t)
    2254             : 
    2255             : /* Encoded Size: Dynamic */
    2256             : struct fd_addrlut_extend {
    2257             :   ulong new_addrs_len;
    2258             :   fd_pubkey_t * new_addrs;
    2259             : };
    2260             : typedef struct fd_addrlut_extend fd_addrlut_extend_t;
    2261             : #define FD_ADDRLUT_EXTEND_ALIGN alignof(fd_addrlut_extend_t)
    2262             : 
    2263             : union fd_addrlut_instruction_inner {
    2264             :   fd_addrlut_create_t create_lut;
    2265             :   fd_addrlut_extend_t extend_lut;
    2266             : };
    2267             : typedef union fd_addrlut_instruction_inner fd_addrlut_instruction_inner_t;
    2268             : 
    2269             : /* https://github.com/solana-labs/solana/blob/fb80288f885a62bcd923f4c9579fd0edeafaff9b/sdk/program/src/address_lookup_table/instruction.rs#L13 */
    2270             : struct fd_addrlut_instruction {
    2271             :   uint discriminant;
    2272             :   fd_addrlut_instruction_inner_t inner;
    2273             : };
    2274             : typedef struct fd_addrlut_instruction fd_addrlut_instruction_t;
    2275           0 : #define FD_ADDRLUT_INSTRUCTION_ALIGN alignof(fd_addrlut_instruction_t)
    2276             : 
    2277             : /* https://github.com/anza-xyz/agave/blob/v2.2.7/core/src/repair/serve_repair.rs#L204-L210 */
    2278             : /* Encoded Size: Fixed (140 bytes) */
    2279             : struct fd_repair_request_header {
    2280             :   fd_signature_t signature;
    2281             :   fd_pubkey_t sender;
    2282             :   fd_pubkey_t recipient;
    2283             :   ulong timestamp;
    2284             :   uint nonce;
    2285             : };
    2286             : typedef struct fd_repair_request_header fd_repair_request_header_t;
    2287             : #define FD_REPAIR_REQUEST_HEADER_ALIGN alignof(fd_repair_request_header_t)
    2288             : 
    2289             : /* Encoded Size: Fixed (156 bytes) */
    2290             : struct fd_repair_window_index {
    2291             :   fd_repair_request_header_t header;
    2292             :   ulong slot;
    2293             :   ulong shred_index;
    2294             : };
    2295             : typedef struct fd_repair_window_index fd_repair_window_index_t;
    2296             : #define FD_REPAIR_WINDOW_INDEX_ALIGN alignof(fd_repair_window_index_t)
    2297             : 
    2298             : /* Encoded Size: Fixed (156 bytes) */
    2299             : struct fd_repair_highest_window_index {
    2300             :   fd_repair_request_header_t header;
    2301             :   ulong slot;
    2302             :   ulong shred_index;
    2303             : };
    2304             : typedef struct fd_repair_highest_window_index fd_repair_highest_window_index_t;
    2305             : #define FD_REPAIR_HIGHEST_WINDOW_INDEX_ALIGN alignof(fd_repair_highest_window_index_t)
    2306             : 
    2307             : /* Encoded Size: Fixed (148 bytes) */
    2308             : struct fd_repair_orphan {
    2309             :   fd_repair_request_header_t header;
    2310             :   ulong slot;
    2311             : };
    2312             : typedef struct fd_repair_orphan fd_repair_orphan_t;
    2313             : #define FD_REPAIR_ORPHAN_ALIGN alignof(fd_repair_orphan_t)
    2314             : 
    2315             : /* Encoded Size: Fixed (148 bytes) */
    2316             : struct fd_repair_ancestor_hashes {
    2317             :   fd_repair_request_header_t header;
    2318             :   ulong slot;
    2319             : };
    2320             : typedef struct fd_repair_ancestor_hashes fd_repair_ancestor_hashes_t;
    2321             : #define FD_REPAIR_ANCESTOR_HASHES_ALIGN alignof(fd_repair_ancestor_hashes_t)
    2322             : 
    2323             : union fd_repair_protocol_inner {
    2324             :   fd_gossip_ping_t pong;
    2325             :   fd_repair_window_index_t window_index;
    2326             :   fd_repair_highest_window_index_t highest_window_index;
    2327             :   fd_repair_orphan_t orphan;
    2328             :   fd_repair_ancestor_hashes_t ancestor_hashes;
    2329             : };
    2330             : typedef union fd_repair_protocol_inner fd_repair_protocol_inner_t;
    2331             : 
    2332             : struct fd_repair_protocol {
    2333             :   uint discriminant;
    2334             :   fd_repair_protocol_inner_t inner;
    2335             : };
    2336             : typedef struct fd_repair_protocol fd_repair_protocol_t;
    2337          18 : #define FD_REPAIR_PROTOCOL_ALIGN alignof(fd_repair_protocol_t)
    2338             : 
    2339             : union fd_repair_response_inner {
    2340             :   fd_gossip_ping_t ping;
    2341             : };
    2342             : typedef union fd_repair_response_inner fd_repair_response_inner_t;
    2343             : 
    2344             : struct fd_repair_response {
    2345             :   uint discriminant;
    2346             :   fd_repair_response_inner_t inner;
    2347             : };
    2348             : typedef struct fd_repair_response fd_repair_response_t;
    2349           0 : #define FD_REPAIR_RESPONSE_ALIGN alignof(fd_repair_response_t)
    2350             : 
    2351             : union fd_instr_error_enum_inner {
    2352             :   uint custom;
    2353             :   char* borsh_io_error;
    2354             : };
    2355             : typedef union fd_instr_error_enum_inner fd_instr_error_enum_inner_t;
    2356             : 
    2357             : struct fd_instr_error_enum {
    2358             :   uint discriminant;
    2359             :   fd_instr_error_enum_inner_t inner;
    2360             : };
    2361             : typedef struct fd_instr_error_enum fd_instr_error_enum_t;
    2362             : #define FD_INSTR_ERROR_ENUM_ALIGN alignof(fd_instr_error_enum_t)
    2363             : 
    2364             : /* Encoded Size: Dynamic */
    2365             : struct fd_txn_instr_error {
    2366             :   uchar instr_idx;
    2367             :   fd_instr_error_enum_t error;
    2368             : };
    2369             : typedef struct fd_txn_instr_error fd_txn_instr_error_t;
    2370             : #define FD_TXN_INSTR_ERROR_ALIGN alignof(fd_txn_instr_error_t)
    2371             : 
    2372             : union fd_txn_error_enum_inner {
    2373             :   fd_txn_instr_error_t instruction_error;
    2374             :   uchar duplicate_instruction;
    2375             :   uchar insufficient_funds_for_rent;
    2376             :   uchar program_execution_temporarily_restricted;
    2377             : };
    2378             : typedef union fd_txn_error_enum_inner fd_txn_error_enum_inner_t;
    2379             : 
    2380             : struct fd_txn_error_enum {
    2381             :   uint discriminant;
    2382             :   fd_txn_error_enum_inner_t inner;
    2383             : };
    2384             : typedef struct fd_txn_error_enum fd_txn_error_enum_t;
    2385             : #define FD_TXN_ERROR_ENUM_ALIGN alignof(fd_txn_error_enum_t)
    2386             : 
    2387             : union fd_txn_result_inner {
    2388             :   fd_txn_error_enum_t error;
    2389             : };
    2390             : typedef union fd_txn_result_inner fd_txn_result_inner_t;
    2391             : 
    2392             : struct fd_txn_result {
    2393             :   uint discriminant;
    2394             :   fd_txn_result_inner_t inner;
    2395             : };
    2396             : typedef struct fd_txn_result fd_txn_result_t;
    2397             : #define FD_TXN_RESULT_ALIGN alignof(fd_txn_result_t)
    2398             : 
    2399             : /* Encoded Size: Dynamic */
    2400             : struct fd_cache_status {
    2401             :   uchar key_slice[20];
    2402             :   fd_txn_result_t result;
    2403             : };
    2404             : typedef struct fd_cache_status fd_cache_status_t;
    2405           0 : #define FD_CACHE_STATUS_ALIGN alignof(fd_cache_status_t)
    2406             : 
    2407             : /* Encoded Size: Dynamic */
    2408             : struct fd_status_value {
    2409             :   ulong txn_idx;
    2410             :   ulong statuses_len;
    2411             :   fd_cache_status_t * statuses;
    2412             : };
    2413             : typedef struct fd_status_value fd_status_value_t;
    2414             : #define FD_STATUS_VALUE_ALIGN alignof(fd_status_value_t)
    2415             : 
    2416             : /* Encoded Size: Dynamic */
    2417             : struct fd_status_pair {
    2418             :   fd_hash_t hash;
    2419             :   fd_status_value_t value;
    2420             : };
    2421             : typedef struct fd_status_pair fd_status_pair_t;
    2422           0 : #define FD_STATUS_PAIR_ALIGN alignof(fd_status_pair_t)
    2423             : 
    2424             : /* Encoded Size: Dynamic */
    2425             : struct fd_slot_delta {
    2426             :   ulong slot;
    2427             :   uchar is_root;
    2428             :   ulong slot_delta_vec_len;
    2429             :   fd_status_pair_t * slot_delta_vec;
    2430             : };
    2431             : typedef struct fd_slot_delta fd_slot_delta_t;
    2432           0 : #define FD_SLOT_DELTA_ALIGN alignof(fd_slot_delta_t)
    2433             : 
    2434             : /* Encoded Size: Dynamic */
    2435             : struct fd_bank_slot_deltas {
    2436             :   ulong slot_deltas_len;
    2437             :   fd_slot_delta_t * slot_deltas;
    2438             : };
    2439             : typedef struct fd_bank_slot_deltas fd_bank_slot_deltas_t;
    2440             : #define FD_BANK_SLOT_DELTAS_ALIGN alignof(fd_bank_slot_deltas_t)
    2441             : 
    2442             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L85 */
    2443             : /* Encoded Size: Fixed (60 bytes) */
    2444             : struct fd_pubkey_rewardinfo_pair {
    2445             :   fd_pubkey_t pubkey;
    2446             :   fd_reward_info_t reward_info;
    2447             : };
    2448             : typedef struct fd_pubkey_rewardinfo_pair fd_pubkey_rewardinfo_pair_t;
    2449             : #define FD_PUBKEY_REWARDINFO_PAIR_ALIGN alignof(fd_pubkey_rewardinfo_pair_t)
    2450             : 
    2451             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/points.rs#L27 */
    2452             : /* Encoded Size: Fixed (25 bytes) */
    2453             : struct fd_calculated_stake_points {
    2454             :   uint128 points;
    2455             :   ulong new_credits_observed;
    2456             :   uchar force_credits_update_with_skipped_reward;
    2457             : };
    2458             : typedef struct fd_calculated_stake_points fd_calculated_stake_points_t;
    2459             : #define FD_CALCULATED_STAKE_POINTS_ALIGN alignof(fd_calculated_stake_points_t)
    2460             : 
    2461             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/rewards.rs#L24 */
    2462             : /* Encoded Size: Fixed (24 bytes) */
    2463             : struct fd_calculated_stake_rewards {
    2464             :   ulong staker_rewards;
    2465             :   ulong voter_rewards;
    2466             :   ulong new_credits_observed;
    2467             : };
    2468             : typedef struct fd_calculated_stake_rewards fd_calculated_stake_rewards_t;
    2469             : #define FD_CALCULATED_STAKE_REWARDS_ALIGN alignof(fd_calculated_stake_rewards_t)
    2470             : 
    2471             : /* https://github.com/anza-xyz/agave/blob/v2.0.3/ledger/src/blockstore_meta.rs#L150-L156 */
    2472             : /* Encoded Size: Dynamic */
    2473             : struct fd_duplicate_slot_proof {
    2474             :   ulong shred1_len;
    2475             :   uchar* shred1;
    2476             :   ulong shred2_len;
    2477             :   uchar* shred2;
    2478             : };
    2479             : typedef struct fd_duplicate_slot_proof fd_duplicate_slot_proof_t;
    2480             : #define FD_DUPLICATE_SLOT_PROOF_ALIGN alignof(fd_duplicate_slot_proof_t)
    2481             : 
    2482             : /* Encoded Size: Fixed (104 bytes) */
    2483             : struct fd_epoch_info_pair {
    2484             :   fd_pubkey_t account;
    2485             :   fd_stake_t stake;
    2486             : };
    2487             : typedef struct fd_epoch_info_pair fd_epoch_info_pair_t;
    2488             : #define FD_EPOCH_INFO_PAIR_ALIGN alignof(fd_epoch_info_pair_t)
    2489             : 
    2490             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L153-L161 */
    2491             : /* Encoded Size: Fixed (48 bytes) */
    2492             : struct fd_usage_cost_details {
    2493             :   ulong signature_cost;
    2494             :   ulong write_lock_cost;
    2495             :   ulong data_bytes_cost;
    2496             :   ulong programs_execution_cost;
    2497             :   ulong loaded_accounts_data_size_cost;
    2498             :   ulong allocated_accounts_data_size;
    2499             : };
    2500             : typedef struct fd_usage_cost_details fd_usage_cost_details_t;
    2501             : #define FD_USAGE_COST_DETAILS_ALIGN alignof(fd_usage_cost_details_t)
    2502             : 
    2503             : union fd_transaction_cost_inner {
    2504             :   fd_usage_cost_details_t transaction;
    2505             : };
    2506             : typedef union fd_transaction_cost_inner fd_transaction_cost_inner_t;
    2507             : 
    2508             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L20-L23 */
    2509             : struct fd_transaction_cost {
    2510             :   uint discriminant;
    2511             :   fd_transaction_cost_inner_t inner;
    2512             : };
    2513             : typedef struct fd_transaction_cost fd_transaction_cost_t;
    2514             : #define FD_TRANSACTION_COST_ALIGN alignof(fd_transaction_cost_t)
    2515             : 
    2516             : /* Encoded Size: Fixed (16 bytes) */
    2517             : struct fd_rent_paying {
    2518             :   ulong lamports;
    2519             :   ulong data_size;
    2520             : };
    2521             : typedef struct fd_rent_paying fd_rent_paying_t;
    2522             : #define FD_RENT_PAYING_ALIGN alignof(fd_rent_paying_t)
    2523             : 
    2524             : union fd_rent_state_inner {
    2525             :   fd_rent_paying_t rent_paying;
    2526             : };
    2527             : typedef union fd_rent_state_inner fd_rent_state_inner_t;
    2528             : 
    2529             : /* https://github.com/anza-xyz/agave/blob/v2.2.13/svm-rent-collector/src/rent_state.rs#L5-L15 */
    2530             : struct fd_rent_state {
    2531             :   uint discriminant;
    2532             :   fd_rent_state_inner_t inner;
    2533             : };
    2534             : typedef struct fd_rent_state fd_rent_state_t;
    2535             : #define FD_RENT_STATE_ALIGN alignof(fd_rent_state_t)
    2536             : 
    2537             : 
    2538             : FD_PROTOTYPES_BEGIN
    2539             : 
    2540          24 : static inline void fd_hash_new( fd_hash_t * self ) { (void)self; }
    2541             : int fd_hash_encode( fd_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    2542             : void fd_hash_walk( void * w, fd_hash_t const * self, fd_types_walk_fn_t fun, const char * name, uint level, uint varint );
    2543           0 : static inline ulong fd_hash_size( fd_hash_t const * self ) { (void)self; return sizeof(fd_hash_t); }
    2544           0 : static inline ulong fd_hash_align( void ) { return alignof(fd_hash_t); }
    2545             : int fd_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2546             : void * fd_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2547             : 
    2548          27 : static inline void fd_signature_new( fd_signature_t * self ) { (void)self; }
    2549             : int fd_signature_encode( fd_signature_t const * self, fd_bincode_encode_ctx_t * ctx );
    2550             : void fd_signature_walk( void * w, fd_signature_t const * self, fd_types_walk_fn_t fun, const char * name, uint level, uint varint );
    2551           0 : static inline ulong fd_signature_size( fd_signature_t const * self ) { (void)self; return sizeof(fd_signature_t); }
    2552           0 : static inline ulong fd_signature_align( void ) { return alignof(fd_signature_t); }
    2553             : int fd_signature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2554             : void * fd_signature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2555             : 
    2556           0 : static inline void fd_gossip_ip4_addr_new( fd_gossip_ip4_addr_t * self ) { (void)self; }
    2557             : int fd_gossip_ip4_addr_encode( fd_gossip_ip4_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    2558             : 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, uint varint );
    2559           0 : static inline ulong fd_gossip_ip4_addr_size( fd_gossip_ip4_addr_t const * self ) { (void)self; return sizeof(fd_gossip_ip4_addr_t); }
    2560           0 : static inline ulong fd_gossip_ip4_addr_align( void ) { return alignof(fd_gossip_ip4_addr_t); }
    2561             : int fd_gossip_ip4_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2562             : void * fd_gossip_ip4_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2563             : 
    2564           0 : static inline void fd_gossip_ip6_addr_new( fd_gossip_ip6_addr_t * self ) { (void)self; }
    2565             : int fd_gossip_ip6_addr_encode( fd_gossip_ip6_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    2566             : 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, uint varint );
    2567           0 : static inline ulong fd_gossip_ip6_addr_size( fd_gossip_ip6_addr_t const * self ) { (void)self; return sizeof(fd_gossip_ip6_addr_t); }
    2568           0 : static inline ulong fd_gossip_ip6_addr_align( void ) { return alignof(fd_gossip_ip6_addr_t); }
    2569             : int fd_gossip_ip6_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2570             : void * fd_gossip_ip6_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2571             : 
    2572             : void fd_feature_new( fd_feature_t * self );
    2573             : int fd_feature_encode( fd_feature_t const * self, fd_bincode_encode_ctx_t * ctx );
    2574             : void fd_feature_walk( void * w, fd_feature_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2575             : ulong fd_feature_size( fd_feature_t const * self );
    2576           0 : static inline ulong fd_feature_align( void ) { return FD_FEATURE_ALIGN; }
    2577             : int fd_feature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2578             : void * fd_feature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2579             : 
    2580           0 : static inline void fd_fee_calculator_new( fd_fee_calculator_t * self ) { fd_memset( self, 0, sizeof(fd_fee_calculator_t) ); }
    2581             : int fd_fee_calculator_encode( fd_fee_calculator_t const * self, fd_bincode_encode_ctx_t * ctx );
    2582             : void fd_fee_calculator_walk( void * w, fd_fee_calculator_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2583           0 : static inline ulong fd_fee_calculator_size( fd_fee_calculator_t const * self ) { (void)self; return 8UL; }
    2584           0 : static inline ulong fd_fee_calculator_align( void ) { return FD_FEE_CALCULATOR_ALIGN; }
    2585           0 : static inline int fd_fee_calculator_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2586           0 :   *total_sz += sizeof(fd_fee_calculator_t);
    2587           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2588           0 :   return 0;
    2589           0 : }
    2590             : void * fd_fee_calculator_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2591             : 
    2592          12 : static inline void fd_fee_rate_governor_new( fd_fee_rate_governor_t * self ) { fd_memset( self, 0, sizeof(fd_fee_rate_governor_t) ); }
    2593             : int fd_fee_rate_governor_encode( fd_fee_rate_governor_t const * self, fd_bincode_encode_ctx_t * ctx );
    2594             : 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, uint varint );
    2595           0 : static inline ulong fd_fee_rate_governor_size( fd_fee_rate_governor_t const * self ) { (void)self; return 33UL; }
    2596           0 : static inline ulong fd_fee_rate_governor_align( void ) { return FD_FEE_RATE_GOVERNOR_ALIGN; }
    2597           0 : static inline int fd_fee_rate_governor_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2598           0 :   *total_sz += sizeof(fd_fee_rate_governor_t);
    2599           0 :   if( (ulong)ctx->data + 33UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2600           0 :   return 0;
    2601           0 : }
    2602             : void * fd_fee_rate_governor_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2603             : 
    2604           0 : static inline void fd_slot_pair_new( fd_slot_pair_t * self ) { fd_memset( self, 0, sizeof(fd_slot_pair_t) ); }
    2605             : int fd_slot_pair_encode( fd_slot_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2606             : void fd_slot_pair_walk( void * w, fd_slot_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2607           0 : static inline ulong fd_slot_pair_size( fd_slot_pair_t const * self ) { (void)self; return 16UL; }
    2608           0 : static inline ulong fd_slot_pair_align( void ) { return FD_SLOT_PAIR_ALIGN; }
    2609           0 : static inline int fd_slot_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2610           0 :   *total_sz += sizeof(fd_slot_pair_t);
    2611           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2612           0 :   return 0;
    2613           0 : }
    2614             : void * fd_slot_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2615             : 
    2616             : void fd_hard_forks_new( fd_hard_forks_t * self );
    2617             : int fd_hard_forks_encode( fd_hard_forks_t const * self, fd_bincode_encode_ctx_t * ctx );
    2618             : void fd_hard_forks_walk( void * w, fd_hard_forks_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2619             : ulong fd_hard_forks_size( fd_hard_forks_t const * self );
    2620           0 : static inline ulong fd_hard_forks_align( void ) { return FD_HARD_FORKS_ALIGN; }
    2621             : int fd_hard_forks_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2622             : void * fd_hard_forks_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2623             : void * fd_hard_forks_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2624             : int fd_hard_forks_encode_global( fd_hard_forks_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2625             : ulong fd_hard_forks_size_global( fd_hard_forks_global_t const * self );
    2626             : 
    2627          12 : static inline void fd_inflation_new( fd_inflation_t * self ) { fd_memset( self, 0, sizeof(fd_inflation_t) ); }
    2628             : int fd_inflation_encode( fd_inflation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2629             : void fd_inflation_walk( void * w, fd_inflation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2630           0 : static inline ulong fd_inflation_size( fd_inflation_t const * self ) { (void)self; return 48UL; }
    2631           0 : static inline ulong fd_inflation_align( void ) { return FD_INFLATION_ALIGN; }
    2632           0 : static inline int fd_inflation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2633           0 :   *total_sz += sizeof(fd_inflation_t);
    2634           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2635           0 :   return 0;
    2636           0 : }
    2637             : void * fd_inflation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2638             : 
    2639          12 : static inline void fd_rent_new( fd_rent_t * self ) { fd_memset( self, 0, sizeof(fd_rent_t) ); }
    2640             : int fd_rent_encode( fd_rent_t const * self, fd_bincode_encode_ctx_t * ctx );
    2641             : void fd_rent_walk( void * w, fd_rent_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2642           0 : static inline ulong fd_rent_size( fd_rent_t const * self ) { (void)self; return 17UL; }
    2643           3 : static inline ulong fd_rent_align( void ) { return FD_RENT_ALIGN; }
    2644           3 : static inline int fd_rent_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2645           3 :   *total_sz += sizeof(fd_rent_t);
    2646           3 :   if( (ulong)ctx->data + 17UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2647           3 :   return 0;
    2648           3 : }
    2649             : void * fd_rent_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2650             : 
    2651             : void fd_epoch_schedule_new( fd_epoch_schedule_t * self );
    2652             : int fd_epoch_schedule_encode( fd_epoch_schedule_t const * self, fd_bincode_encode_ctx_t * ctx );
    2653             : void fd_epoch_schedule_walk( void * w, fd_epoch_schedule_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2654           0 : static inline ulong fd_epoch_schedule_size( fd_epoch_schedule_t const * self ) { (void)self; return 33UL; }
    2655           3 : static inline ulong fd_epoch_schedule_align( void ) { return FD_EPOCH_SCHEDULE_ALIGN; }
    2656             : int fd_epoch_schedule_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2657             : void * fd_epoch_schedule_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2658             : 
    2659             : void fd_rent_collector_new( fd_rent_collector_t * self );
    2660             : int fd_rent_collector_encode( fd_rent_collector_t const * self, fd_bincode_encode_ctx_t * ctx );
    2661             : void fd_rent_collector_walk( void * w, fd_rent_collector_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2662           0 : static inline ulong fd_rent_collector_size( fd_rent_collector_t const * self ) { (void)self; return 66UL; }
    2663           0 : static inline ulong fd_rent_collector_align( void ) { return FD_RENT_COLLECTOR_ALIGN; }
    2664             : int fd_rent_collector_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2665             : void * fd_rent_collector_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2666             : 
    2667           0 : static inline void fd_stake_history_entry_new( fd_stake_history_entry_t * self ) { fd_memset( self, 0, sizeof(fd_stake_history_entry_t) ); }
    2668             : int fd_stake_history_entry_encode( fd_stake_history_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    2669             : 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, uint varint );
    2670           0 : static inline ulong fd_stake_history_entry_size( fd_stake_history_entry_t const * self ) { (void)self; return 24UL; }
    2671           0 : static inline ulong fd_stake_history_entry_align( void ) { return FD_STAKE_HISTORY_ENTRY_ALIGN; }
    2672           0 : static inline int fd_stake_history_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2673           0 :   *total_sz += sizeof(fd_stake_history_entry_t);
    2674           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2675           0 :   return 0;
    2676           0 : }
    2677             : void * fd_stake_history_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2678             : 
    2679        7680 : static inline void fd_epoch_stake_history_entry_pair_new( fd_epoch_stake_history_entry_pair_t * self ) { fd_memset( self, 0, sizeof(fd_epoch_stake_history_entry_pair_t) ); }
    2680             : int fd_epoch_stake_history_entry_pair_encode( fd_epoch_stake_history_entry_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2681             : void fd_epoch_stake_history_entry_pair_walk( void * w, fd_epoch_stake_history_entry_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2682           0 : static inline ulong fd_epoch_stake_history_entry_pair_size( fd_epoch_stake_history_entry_pair_t const * self ) { (void)self; return 32UL; }
    2683           0 : static inline ulong fd_epoch_stake_history_entry_pair_align( void ) { return FD_EPOCH_STAKE_HISTORY_ENTRY_PAIR_ALIGN; }
    2684           0 : static inline int fd_epoch_stake_history_entry_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2685           0 :   *total_sz += sizeof(fd_epoch_stake_history_entry_pair_t);
    2686           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2687           0 :   return 0;
    2688           0 : }
    2689             : void * fd_epoch_stake_history_entry_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2690             : 
    2691             : void fd_stake_history_new( fd_stake_history_t * self );
    2692             : int fd_stake_history_encode( fd_stake_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    2693             : void fd_stake_history_walk( void * w, fd_stake_history_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2694           0 : static inline ulong fd_stake_history_size( fd_stake_history_t const * self ) { (void)self; return 16392UL; }
    2695           9 : static inline ulong fd_stake_history_align( void ) { return FD_STAKE_HISTORY_ALIGN; }
    2696             : int fd_stake_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2697             : void * fd_stake_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2698             : 
    2699             : void fd_solana_account_new( fd_solana_account_t * self );
    2700             : int fd_solana_account_encode( fd_solana_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    2701             : void fd_solana_account_walk( void * w, fd_solana_account_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2702             : ulong fd_solana_account_size( fd_solana_account_t const * self );
    2703           0 : static inline ulong fd_solana_account_align( void ) { return FD_SOLANA_ACCOUNT_ALIGN; }
    2704             : int fd_solana_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2705             : void * fd_solana_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2706             : 
    2707           0 : static inline void fd_solana_account_stored_meta_new( fd_solana_account_stored_meta_t * self ) { fd_memset( self, 0, sizeof(fd_solana_account_stored_meta_t) ); }
    2708             : int fd_solana_account_stored_meta_encode( fd_solana_account_stored_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2709             : void fd_solana_account_stored_meta_walk( void * w, fd_solana_account_stored_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2710           0 : static inline ulong fd_solana_account_stored_meta_size( fd_solana_account_stored_meta_t const * self ) { (void)self; return 48UL; }
    2711           0 : static inline ulong fd_solana_account_stored_meta_align( void ) { return FD_SOLANA_ACCOUNT_STORED_META_ALIGN; }
    2712           0 : static inline int fd_solana_account_stored_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2713           0 :   *total_sz += sizeof(fd_solana_account_stored_meta_t);
    2714           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2715           0 :   return 0;
    2716           0 : }
    2717             : void * fd_solana_account_stored_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2718             : 
    2719             : void fd_solana_account_meta_new( fd_solana_account_meta_t * self );
    2720             : int fd_solana_account_meta_encode( fd_solana_account_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2721             : void fd_solana_account_meta_walk( void * w, fd_solana_account_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2722           0 : static inline ulong fd_solana_account_meta_size( fd_solana_account_meta_t const * self ) { (void)self; return 52UL; }
    2723           0 : static inline ulong fd_solana_account_meta_align( void ) { return FD_SOLANA_ACCOUNT_META_ALIGN; }
    2724             : int fd_solana_account_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2725             : void * fd_solana_account_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2726             : 
    2727             : void fd_solana_account_hdr_new( fd_solana_account_hdr_t * self );
    2728             : int fd_solana_account_hdr_encode( fd_solana_account_hdr_t const * self, fd_bincode_encode_ctx_t * ctx );
    2729             : void fd_solana_account_hdr_walk( void * w, fd_solana_account_hdr_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2730           0 : static inline ulong fd_solana_account_hdr_size( fd_solana_account_hdr_t const * self ) { (void)self; return 136UL; }
    2731           0 : static inline ulong fd_solana_account_hdr_align( void ) { return FD_SOLANA_ACCOUNT_HDR_ALIGN; }
    2732             : int fd_solana_account_hdr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2733             : void * fd_solana_account_hdr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2734             : 
    2735           0 : static inline void fd_delegation_new( fd_delegation_t * self ) { fd_memset( self, 0, sizeof(fd_delegation_t) ); }
    2736             : int fd_delegation_encode( fd_delegation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2737             : void fd_delegation_walk( void * w, fd_delegation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2738           0 : static inline ulong fd_delegation_size( fd_delegation_t const * self ) { (void)self; return 64UL; }
    2739           0 : static inline ulong fd_delegation_align( void ) { return FD_DELEGATION_ALIGN; }
    2740           0 : static inline int fd_delegation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2741           0 :   *total_sz += sizeof(fd_delegation_t);
    2742           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2743           0 :   return 0;
    2744           0 : }
    2745             : void * fd_delegation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2746             : 
    2747           0 : static inline void fd_stake_new( fd_stake_t * self ) { fd_memset( self, 0, sizeof(fd_stake_t) ); }
    2748             : int fd_stake_encode( fd_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    2749             : void fd_stake_walk( void * w, fd_stake_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2750           0 : static inline ulong fd_stake_size( fd_stake_t const * self ) { (void)self; return 72UL; }
    2751           0 : static inline ulong fd_stake_align( void ) { return FD_STAKE_ALIGN; }
    2752           0 : static inline int fd_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2753           0 :   *total_sz += sizeof(fd_stake_t);
    2754           0 :   if( (ulong)ctx->data + 72UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2755           0 :   return 0;
    2756           0 : }
    2757             : void * fd_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2758             : 
    2759           0 : static inline void fd_reward_type_new_disc( fd_reward_type_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2760           0 : static inline void fd_reward_type_new( fd_reward_type_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2761             : int fd_reward_type_encode( fd_reward_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    2762             : void fd_reward_type_walk( void * w, fd_reward_type_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2763             : ulong fd_reward_type_size( fd_reward_type_t const * self );
    2764           0 : static inline ulong fd_reward_type_align( void ) { return FD_REWARD_TYPE_ALIGN; }
    2765             : int fd_reward_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2766             : void * fd_reward_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2767             : 
    2768             : FD_FN_PURE uchar fd_reward_type_is_fee( fd_reward_type_t const * self );
    2769             : FD_FN_PURE uchar fd_reward_type_is_rent( fd_reward_type_t const * self );
    2770             : FD_FN_PURE uchar fd_reward_type_is_staking( fd_reward_type_t const * self );
    2771             : FD_FN_PURE uchar fd_reward_type_is_voting( fd_reward_type_t const * self );
    2772             : enum {
    2773             : fd_reward_type_enum_fee = 0,
    2774             : fd_reward_type_enum_rent = 1,
    2775             : fd_reward_type_enum_staking = 2,
    2776             : fd_reward_type_enum_voting = 3,
    2777             : };
    2778             : void fd_reward_info_new( fd_reward_info_t * self );
    2779             : int fd_reward_info_encode( fd_reward_info_t const * self, fd_bincode_encode_ctx_t * ctx );
    2780             : void fd_reward_info_walk( void * w, fd_reward_info_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2781           0 : static inline ulong fd_reward_info_size( fd_reward_info_t const * self ) { (void)self; return 28UL; }
    2782           0 : static inline ulong fd_reward_info_align( void ) { return FD_REWARD_INFO_ALIGN; }
    2783             : int fd_reward_info_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2784             : void * fd_reward_info_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2785             : 
    2786          12 : static inline void fd_rust_duration_new( fd_rust_duration_t * self ) { fd_memset( self, 0, sizeof(fd_rust_duration_t) ); }
    2787             : int fd_rust_duration_encode( fd_rust_duration_t const * self, fd_bincode_encode_ctx_t * ctx );
    2788             : void fd_rust_duration_walk( void * w, fd_rust_duration_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2789           0 : static inline ulong fd_rust_duration_size( fd_rust_duration_t const * self ) { (void)self; return 12UL; }
    2790           0 : static inline ulong fd_rust_duration_align( void ) { return FD_RUST_DURATION_ALIGN; }
    2791           0 : static inline int fd_rust_duration_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2792           0 :   *total_sz += sizeof(fd_rust_duration_t);
    2793           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2794           0 :   return 0;
    2795           0 : }
    2796             : void * fd_rust_duration_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2797             : 
    2798             : void fd_poh_config_new( fd_poh_config_t * self );
    2799             : int fd_poh_config_encode( fd_poh_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    2800             : void fd_poh_config_walk( void * w, fd_poh_config_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2801             : ulong fd_poh_config_size( fd_poh_config_t const * self );
    2802           0 : static inline ulong fd_poh_config_align( void ) { return FD_POH_CONFIG_ALIGN; }
    2803             : int fd_poh_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2804             : void * fd_poh_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2805             : 
    2806             : void fd_string_pubkey_pair_new( fd_string_pubkey_pair_t * self );
    2807             : int fd_string_pubkey_pair_encode( fd_string_pubkey_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2808             : 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, uint varint );
    2809             : ulong fd_string_pubkey_pair_size( fd_string_pubkey_pair_t const * self );
    2810           0 : static inline ulong fd_string_pubkey_pair_align( void ) { return FD_STRING_PUBKEY_PAIR_ALIGN; }
    2811             : int fd_string_pubkey_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2812             : void * fd_string_pubkey_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2813             : 
    2814             : void fd_pubkey_account_pair_new( fd_pubkey_account_pair_t * self );
    2815             : int fd_pubkey_account_pair_encode( fd_pubkey_account_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2816             : 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, uint varint );
    2817             : ulong fd_pubkey_account_pair_size( fd_pubkey_account_pair_t const * self );
    2818           0 : static inline ulong fd_pubkey_account_pair_align( void ) { return FD_PUBKEY_ACCOUNT_PAIR_ALIGN; }
    2819             : int fd_pubkey_account_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2820             : void * fd_pubkey_account_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2821             : 
    2822             : void fd_genesis_solana_new( fd_genesis_solana_t * self );
    2823             : int fd_genesis_solana_encode( fd_genesis_solana_t const * self, fd_bincode_encode_ctx_t * ctx );
    2824             : void fd_genesis_solana_walk( void * w, fd_genesis_solana_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2825             : ulong fd_genesis_solana_size( fd_genesis_solana_t const * self );
    2826           0 : static inline ulong fd_genesis_solana_align( void ) { return FD_GENESIS_SOLANA_ALIGN; }
    2827             : int fd_genesis_solana_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2828             : void * fd_genesis_solana_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2829             : 
    2830           3 : static inline void fd_sol_sysvar_clock_new( fd_sol_sysvar_clock_t * self ) { fd_memset( self, 0, sizeof(fd_sol_sysvar_clock_t) ); }
    2831             : int fd_sol_sysvar_clock_encode( fd_sol_sysvar_clock_t const * self, fd_bincode_encode_ctx_t * ctx );
    2832             : 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, uint varint );
    2833           0 : static inline ulong fd_sol_sysvar_clock_size( fd_sol_sysvar_clock_t const * self ) { (void)self; return 40UL; }
    2834           3 : static inline ulong fd_sol_sysvar_clock_align( void ) { return FD_SOL_SYSVAR_CLOCK_ALIGN; }
    2835           9 : static inline int fd_sol_sysvar_clock_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2836           9 :   *total_sz += sizeof(fd_sol_sysvar_clock_t);
    2837           9 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2838           6 :   return 0;
    2839           9 : }
    2840             : void * fd_sol_sysvar_clock_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2841             : 
    2842           0 : static inline void fd_sol_sysvar_last_restart_slot_new( fd_sol_sysvar_last_restart_slot_t * self ) { fd_memset( self, 0, sizeof(fd_sol_sysvar_last_restart_slot_t) ); }
    2843             : int fd_sol_sysvar_last_restart_slot_encode( fd_sol_sysvar_last_restart_slot_t const * self, fd_bincode_encode_ctx_t * ctx );
    2844             : 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, uint varint );
    2845           0 : static inline ulong fd_sol_sysvar_last_restart_slot_size( fd_sol_sysvar_last_restart_slot_t const * self ) { (void)self; return 8UL; }
    2846           3 : static inline ulong fd_sol_sysvar_last_restart_slot_align( void ) { return FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN; }
    2847           3 : static inline int fd_sol_sysvar_last_restart_slot_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2848           3 :   *total_sz += sizeof(fd_sol_sysvar_last_restart_slot_t);
    2849           3 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2850           3 :   return 0;
    2851           3 : }
    2852             : void * fd_sol_sysvar_last_restart_slot_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2853             : 
    2854           0 : static inline void fd_vote_lockout_new( fd_vote_lockout_t * self ) { fd_memset( self, 0, sizeof(fd_vote_lockout_t) ); }
    2855             : int fd_vote_lockout_encode( fd_vote_lockout_t const * self, fd_bincode_encode_ctx_t * ctx );
    2856             : void fd_vote_lockout_walk( void * w, fd_vote_lockout_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2857           0 : static inline ulong fd_vote_lockout_size( fd_vote_lockout_t const * self ) { (void)self; return 12UL; }
    2858           0 : static inline ulong fd_vote_lockout_align( void ) { return FD_VOTE_LOCKOUT_ALIGN; }
    2859           0 : static inline int fd_vote_lockout_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2860           0 :   *total_sz += sizeof(fd_vote_lockout_t);
    2861           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2862           0 :   return 0;
    2863           0 : }
    2864             : void * fd_vote_lockout_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2865             : 
    2866             : void fd_lockout_offset_new( fd_lockout_offset_t * self );
    2867             : int fd_lockout_offset_encode( fd_lockout_offset_t const * self, fd_bincode_encode_ctx_t * ctx );
    2868             : void fd_lockout_offset_walk( void * w, fd_lockout_offset_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2869             : ulong fd_lockout_offset_size( fd_lockout_offset_t const * self );
    2870           0 : static inline ulong fd_lockout_offset_align( void ) { return FD_LOCKOUT_OFFSET_ALIGN; }
    2871             : int fd_lockout_offset_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2872             : void * fd_lockout_offset_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2873             : 
    2874          15 : static inline void fd_vote_authorized_voter_new( fd_vote_authorized_voter_t * self ) { fd_memset( self, 0, sizeof(fd_vote_authorized_voter_t) ); }
    2875             : int fd_vote_authorized_voter_encode( fd_vote_authorized_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    2876             : 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, uint varint );
    2877           0 : static inline ulong fd_vote_authorized_voter_size( fd_vote_authorized_voter_t const * self ) { (void)self; return 40UL; }
    2878           0 : static inline ulong fd_vote_authorized_voter_align( void ) { return FD_VOTE_AUTHORIZED_VOTER_ALIGN; }
    2879           0 : static inline int fd_vote_authorized_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2880           0 :   *total_sz += sizeof(fd_vote_authorized_voter_t);
    2881           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2882           0 :   return 0;
    2883           0 : }
    2884             : void * fd_vote_authorized_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2885             : 
    2886         384 : static inline void fd_vote_prior_voter_new( fd_vote_prior_voter_t * self ) { fd_memset( self, 0, sizeof(fd_vote_prior_voter_t) ); }
    2887             : int fd_vote_prior_voter_encode( fd_vote_prior_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    2888             : 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, uint varint );
    2889           0 : static inline ulong fd_vote_prior_voter_size( fd_vote_prior_voter_t const * self ) { (void)self; return 48UL; }
    2890           0 : static inline ulong fd_vote_prior_voter_align( void ) { return FD_VOTE_PRIOR_VOTER_ALIGN; }
    2891           0 : static inline int fd_vote_prior_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2892           0 :   *total_sz += sizeof(fd_vote_prior_voter_t);
    2893           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2894           0 :   return 0;
    2895           0 : }
    2896             : void * fd_vote_prior_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2897             : 
    2898           0 : static inline void fd_vote_prior_voter_0_23_5_new( fd_vote_prior_voter_0_23_5_t * self ) { fd_memset( self, 0, sizeof(fd_vote_prior_voter_0_23_5_t) ); }
    2899             : 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 );
    2900             : 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, uint varint );
    2901           0 : static inline ulong fd_vote_prior_voter_0_23_5_size( fd_vote_prior_voter_0_23_5_t const * self ) { (void)self; return 56UL; }
    2902           0 : static inline ulong fd_vote_prior_voter_0_23_5_align( void ) { return FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN; }
    2903           0 : static inline int fd_vote_prior_voter_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2904           0 :   *total_sz += sizeof(fd_vote_prior_voter_0_23_5_t);
    2905           0 :   if( (ulong)ctx->data + 56UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2906           0 :   return 0;
    2907           0 : }
    2908             : void * fd_vote_prior_voter_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2909             : 
    2910         393 : static inline void fd_vote_epoch_credits_new( fd_vote_epoch_credits_t * self ) { fd_memset( self, 0, sizeof(fd_vote_epoch_credits_t) ); }
    2911             : int fd_vote_epoch_credits_encode( fd_vote_epoch_credits_t const * self, fd_bincode_encode_ctx_t * ctx );
    2912             : 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, uint varint );
    2913           0 : static inline ulong fd_vote_epoch_credits_size( fd_vote_epoch_credits_t const * self ) { (void)self; return 24UL; }
    2914           0 : static inline ulong fd_vote_epoch_credits_align( void ) { return FD_VOTE_EPOCH_CREDITS_ALIGN; }
    2915           0 : static inline int fd_vote_epoch_credits_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2916           0 :   *total_sz += sizeof(fd_vote_epoch_credits_t);
    2917           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2918           0 :   return 0;
    2919           0 : }
    2920             : void * fd_vote_epoch_credits_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2921             : 
    2922          12 : static inline void fd_vote_block_timestamp_new( fd_vote_block_timestamp_t * self ) { fd_memset( self, 0, sizeof(fd_vote_block_timestamp_t) ); }
    2923             : int fd_vote_block_timestamp_encode( fd_vote_block_timestamp_t const * self, fd_bincode_encode_ctx_t * ctx );
    2924             : 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, uint varint );
    2925           0 : static inline ulong fd_vote_block_timestamp_size( fd_vote_block_timestamp_t const * self ) { (void)self; return 16UL; }
    2926           0 : static inline ulong fd_vote_block_timestamp_align( void ) { return FD_VOTE_BLOCK_TIMESTAMP_ALIGN; }
    2927           0 : static inline int fd_vote_block_timestamp_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2928           0 :   *total_sz += sizeof(fd_vote_block_timestamp_t);
    2929           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2930           0 :   return 0;
    2931           0 : }
    2932             : void * fd_vote_block_timestamp_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2933             : 
    2934             : void fd_vote_prior_voters_new( fd_vote_prior_voters_t * self );
    2935             : int fd_vote_prior_voters_encode( fd_vote_prior_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    2936             : 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, uint varint );
    2937           0 : static inline ulong fd_vote_prior_voters_size( fd_vote_prior_voters_t const * self ) { (void)self; return 1545UL; }
    2938           0 : static inline ulong fd_vote_prior_voters_align( void ) { return FD_VOTE_PRIOR_VOTERS_ALIGN; }
    2939             : int fd_vote_prior_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2940             : void * fd_vote_prior_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2941             : 
    2942           0 : static inline void fd_vote_prior_voters_0_23_5_new( fd_vote_prior_voters_0_23_5_t * self ) { fd_memset( self, 0, sizeof(fd_vote_prior_voters_0_23_5_t) ); }
    2943             : 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 );
    2944             : 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, uint varint );
    2945           0 : static inline ulong fd_vote_prior_voters_0_23_5_size( fd_vote_prior_voters_0_23_5_t const * self ) { (void)self; return 1800UL; }
    2946           0 : static inline ulong fd_vote_prior_voters_0_23_5_align( void ) { return FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN; }
    2947           0 : static inline int fd_vote_prior_voters_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2948           0 :   *total_sz += sizeof(fd_vote_prior_voters_0_23_5_t);
    2949           0 :   if( (ulong)ctx->data + 1800UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2950           0 :   return 0;
    2951           0 : }
    2952             : void * fd_vote_prior_voters_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2953             : 
    2954         195 : static inline void fd_landed_vote_new( fd_landed_vote_t * self ) { fd_memset( self, 0, sizeof(fd_landed_vote_t) ); }
    2955             : int fd_landed_vote_encode( fd_landed_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    2956             : void fd_landed_vote_walk( void * w, fd_landed_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2957           0 : static inline ulong fd_landed_vote_size( fd_landed_vote_t const * self ) { (void)self; return 13UL; }
    2958           0 : static inline ulong fd_landed_vote_align( void ) { return FD_LANDED_VOTE_ALIGN; }
    2959           0 : static inline int fd_landed_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2960           0 :   *total_sz += sizeof(fd_landed_vote_t);
    2961           0 :   if( (ulong)ctx->data + 13UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2962           0 :   return 0;
    2963           0 : }
    2964             : void * fd_landed_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2965             : 
    2966             : void fd_vote_state_0_23_5_new( fd_vote_state_0_23_5_t * self );
    2967             : int fd_vote_state_0_23_5_encode( fd_vote_state_0_23_5_t const * self, fd_bincode_encode_ctx_t * ctx );
    2968             : 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, uint varint );
    2969             : ulong fd_vote_state_0_23_5_size( fd_vote_state_0_23_5_t const * self );
    2970           0 : static inline ulong fd_vote_state_0_23_5_align( void ) { return FD_VOTE_STATE_0_23_5_ALIGN; }
    2971             : int fd_vote_state_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2972             : void * fd_vote_state_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2973             : 
    2974             : void fd_vote_authorized_voters_new( fd_vote_authorized_voters_t * self );
    2975             : int fd_vote_authorized_voters_encode( fd_vote_authorized_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    2976             : 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, uint varint );
    2977             : ulong fd_vote_authorized_voters_size( fd_vote_authorized_voters_t const * self );
    2978           0 : static inline ulong fd_vote_authorized_voters_align( void ) { return FD_VOTE_AUTHORIZED_VOTERS_ALIGN; }
    2979             : int fd_vote_authorized_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2980             : void * fd_vote_authorized_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2981             : 
    2982             : void fd_vote_state_1_14_11_new( fd_vote_state_1_14_11_t * self );
    2983             : int fd_vote_state_1_14_11_encode( fd_vote_state_1_14_11_t const * self, fd_bincode_encode_ctx_t * ctx );
    2984             : 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, uint varint );
    2985             : ulong fd_vote_state_1_14_11_size( fd_vote_state_1_14_11_t const * self );
    2986           0 : static inline ulong fd_vote_state_1_14_11_align( void ) { return FD_VOTE_STATE_1_14_11_ALIGN; }
    2987             : int fd_vote_state_1_14_11_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2988             : void * fd_vote_state_1_14_11_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2989             : 
    2990             : void fd_vote_state_new( fd_vote_state_t * self );
    2991             : int fd_vote_state_encode( fd_vote_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    2992             : void fd_vote_state_walk( void * w, fd_vote_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2993             : ulong fd_vote_state_size( fd_vote_state_t const * self );
    2994           0 : static inline ulong fd_vote_state_align( void ) { return FD_VOTE_STATE_ALIGN; }
    2995             : int fd_vote_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2996             : void * fd_vote_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2997             : 
    2998             : void fd_vote_state_versioned_new_disc( fd_vote_state_versioned_t * self, uint discriminant );
    2999             : void fd_vote_state_versioned_new( fd_vote_state_versioned_t * self );
    3000             : int fd_vote_state_versioned_encode( fd_vote_state_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    3001             : 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, uint varint );
    3002             : ulong fd_vote_state_versioned_size( fd_vote_state_versioned_t const * self );
    3003          33 : static inline ulong fd_vote_state_versioned_align( void ) { return FD_VOTE_STATE_VERSIONED_ALIGN; }
    3004             : int fd_vote_state_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3005             : void * fd_vote_state_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3006             : 
    3007             : FD_FN_PURE uchar fd_vote_state_versioned_is_v0_23_5( fd_vote_state_versioned_t const * self );
    3008             : FD_FN_PURE uchar fd_vote_state_versioned_is_v1_14_11( fd_vote_state_versioned_t const * self );
    3009             : FD_FN_PURE uchar fd_vote_state_versioned_is_current( fd_vote_state_versioned_t const * self );
    3010             : enum {
    3011             : fd_vote_state_versioned_enum_v0_23_5 = 0,
    3012             : fd_vote_state_versioned_enum_v1_14_11 = 1,
    3013             : fd_vote_state_versioned_enum_current = 2,
    3014             : };
    3015             : void fd_vote_state_update_new( fd_vote_state_update_t * self );
    3016             : int fd_vote_state_update_encode( fd_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    3017             : 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, uint varint );
    3018             : ulong fd_vote_state_update_size( fd_vote_state_update_t const * self );
    3019           0 : static inline ulong fd_vote_state_update_align( void ) { return FD_VOTE_STATE_UPDATE_ALIGN; }
    3020             : int fd_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3021             : void * fd_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3022             : 
    3023             : void fd_compact_vote_state_update_new( fd_compact_vote_state_update_t * self );
    3024             : int fd_compact_vote_state_update_encode( fd_compact_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    3025             : 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, uint varint );
    3026             : ulong fd_compact_vote_state_update_size( fd_compact_vote_state_update_t const * self );
    3027           0 : static inline ulong fd_compact_vote_state_update_align( void ) { return FD_COMPACT_VOTE_STATE_UPDATE_ALIGN; }
    3028             : int fd_compact_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3029             : void * fd_compact_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3030             : 
    3031             : void fd_compact_vote_state_update_switch_new( fd_compact_vote_state_update_switch_t * self );
    3032             : int fd_compact_vote_state_update_switch_encode( fd_compact_vote_state_update_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    3033             : 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, uint varint );
    3034             : ulong fd_compact_vote_state_update_switch_size( fd_compact_vote_state_update_switch_t const * self );
    3035           0 : static inline ulong fd_compact_vote_state_update_switch_align( void ) { return FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN; }
    3036             : int fd_compact_vote_state_update_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3037             : void * fd_compact_vote_state_update_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3038             : 
    3039             : void fd_compact_tower_sync_new( fd_compact_tower_sync_t * self );
    3040             : int fd_compact_tower_sync_encode( fd_compact_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    3041             : 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, uint varint );
    3042             : ulong fd_compact_tower_sync_size( fd_compact_tower_sync_t const * self );
    3043           0 : static inline ulong fd_compact_tower_sync_align( void ) { return FD_COMPACT_TOWER_SYNC_ALIGN; }
    3044             : int fd_compact_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3045             : void * fd_compact_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3046             : 
    3047             : void fd_tower_sync_new( fd_tower_sync_t * self );
    3048             : int fd_tower_sync_encode( fd_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    3049             : void fd_tower_sync_walk( void * w, fd_tower_sync_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3050             : ulong fd_tower_sync_size( fd_tower_sync_t const * self );
    3051           0 : static inline ulong fd_tower_sync_align( void ) { return FD_TOWER_SYNC_ALIGN; }
    3052             : int fd_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3053             : void * fd_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3054             : 
    3055             : void fd_tower_sync_switch_new( fd_tower_sync_switch_t * self );
    3056             : int fd_tower_sync_switch_encode( fd_tower_sync_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    3057             : 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, uint varint );
    3058             : ulong fd_tower_sync_switch_size( fd_tower_sync_switch_t const * self );
    3059           0 : static inline ulong fd_tower_sync_switch_align( void ) { return FD_TOWER_SYNC_SWITCH_ALIGN; }
    3060             : int fd_tower_sync_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3061             : void * fd_tower_sync_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3062             : 
    3063             : void fd_slot_history_new( fd_slot_history_t * self );
    3064             : int fd_slot_history_encode( fd_slot_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    3065             : void fd_slot_history_walk( void * w, fd_slot_history_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3066             : ulong fd_slot_history_size( fd_slot_history_t const * self );
    3067           3 : static inline ulong fd_slot_history_align( void ) { return FD_SLOT_HISTORY_ALIGN; }
    3068             : int fd_slot_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3069             : void * fd_slot_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3070             : void * fd_slot_history_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3071             : int fd_slot_history_encode_global( fd_slot_history_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3072             : ulong fd_slot_history_size_global( fd_slot_history_global_t const * self );
    3073             : 
    3074           3 : static inline void fd_slot_hash_new( fd_slot_hash_t * self ) { fd_memset( self, 0, sizeof(fd_slot_hash_t) ); }
    3075             : int fd_slot_hash_encode( fd_slot_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    3076             : void fd_slot_hash_walk( void * w, fd_slot_hash_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3077           0 : static inline ulong fd_slot_hash_size( fd_slot_hash_t const * self ) { (void)self; return 40UL; }
    3078           0 : static inline ulong fd_slot_hash_align( void ) { return FD_SLOT_HASH_ALIGN; }
    3079           0 : static inline int fd_slot_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3080           0 :   *total_sz += sizeof(fd_slot_hash_t);
    3081           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3082           0 :   return 0;
    3083           0 : }
    3084             : void * fd_slot_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3085             : 
    3086             : void fd_slot_hashes_new( fd_slot_hashes_t * self );
    3087             : int fd_slot_hashes_encode( fd_slot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    3088             : void fd_slot_hashes_walk( void * w, fd_slot_hashes_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3089             : ulong fd_slot_hashes_size( fd_slot_hashes_t const * self );
    3090           3 : static inline ulong fd_slot_hashes_align( void ) { return FD_SLOT_HASHES_ALIGN; }
    3091             : int fd_slot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3092             : void * fd_slot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3093             : void * fd_slot_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3094             : int fd_slot_hashes_encode_global( fd_slot_hashes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3095             : ulong fd_slot_hashes_size_global( fd_slot_hashes_global_t const * self );
    3096             : 
    3097           0 : static inline void fd_block_block_hash_entry_new( fd_block_block_hash_entry_t * self ) { fd_memset( self, 0, sizeof(fd_block_block_hash_entry_t) ); }
    3098             : int fd_block_block_hash_entry_encode( fd_block_block_hash_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    3099             : 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, uint varint );
    3100           0 : static inline ulong fd_block_block_hash_entry_size( fd_block_block_hash_entry_t const * self ) { (void)self; return 40UL; }
    3101           0 : static inline ulong fd_block_block_hash_entry_align( void ) { return FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN; }
    3102           0 : static inline int fd_block_block_hash_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3103           0 :   *total_sz += sizeof(fd_block_block_hash_entry_t);
    3104           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3105           0 :   return 0;
    3106           0 : }
    3107             : void * fd_block_block_hash_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3108             : 
    3109             : void fd_recent_block_hashes_new( fd_recent_block_hashes_t * self );
    3110             : int fd_recent_block_hashes_encode( fd_recent_block_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    3111             : 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, uint varint );
    3112             : ulong fd_recent_block_hashes_size( fd_recent_block_hashes_t const * self );
    3113           0 : static inline ulong fd_recent_block_hashes_align( void ) { return FD_RECENT_BLOCK_HASHES_ALIGN; }
    3114             : int fd_recent_block_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3115             : void * fd_recent_block_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3116             : void * fd_recent_block_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3117             : int fd_recent_block_hashes_encode_global( fd_recent_block_hashes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3118             : ulong fd_recent_block_hashes_size_global( fd_recent_block_hashes_global_t const * self );
    3119             : 
    3120             : void fd_slot_meta_new( fd_slot_meta_t * self );
    3121             : int fd_slot_meta_encode( fd_slot_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    3122             : void fd_slot_meta_walk( void * w, fd_slot_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3123             : ulong fd_slot_meta_size( fd_slot_meta_t const * self );
    3124           0 : static inline ulong fd_slot_meta_align( void ) { return FD_SLOT_META_ALIGN; }
    3125             : int fd_slot_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3126             : void * fd_slot_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3127             : 
    3128           0 : static inline void fd_clock_timestamp_vote_new( fd_clock_timestamp_vote_t * self ) { fd_memset( self, 0, sizeof(fd_clock_timestamp_vote_t) ); }
    3129             : int fd_clock_timestamp_vote_encode( fd_clock_timestamp_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    3130             : 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, uint varint );
    3131           0 : static inline ulong fd_clock_timestamp_vote_size( fd_clock_timestamp_vote_t const * self ) { (void)self; return 48UL; }
    3132           0 : static inline ulong fd_clock_timestamp_vote_align( void ) { return FD_CLOCK_TIMESTAMP_VOTE_ALIGN; }
    3133           0 : static inline int fd_clock_timestamp_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3134           0 :   *total_sz += sizeof(fd_clock_timestamp_vote_t);
    3135           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3136           0 :   return 0;
    3137           0 : }
    3138             : void * fd_clock_timestamp_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3139             : 
    3140             : void fd_clock_timestamp_votes_new( fd_clock_timestamp_votes_t * self );
    3141             : int fd_clock_timestamp_votes_encode( fd_clock_timestamp_votes_t const * self, fd_bincode_encode_ctx_t * ctx );
    3142             : 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, uint varint );
    3143             : ulong fd_clock_timestamp_votes_size( fd_clock_timestamp_votes_t const * self );
    3144           0 : static inline ulong fd_clock_timestamp_votes_align( void ) { return FD_CLOCK_TIMESTAMP_VOTES_ALIGN; }
    3145             : int fd_clock_timestamp_votes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3146             : void * fd_clock_timestamp_votes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3147             : void * fd_clock_timestamp_votes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3148             : int fd_clock_timestamp_votes_encode_global( fd_clock_timestamp_votes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3149             : ulong fd_clock_timestamp_votes_size_global( fd_clock_timestamp_votes_global_t const * self );
    3150             : 
    3151           0 : static inline void fd_sysvar_fees_new( fd_sysvar_fees_t * self ) { fd_memset( self, 0, sizeof(fd_sysvar_fees_t) ); }
    3152             : int fd_sysvar_fees_encode( fd_sysvar_fees_t const * self, fd_bincode_encode_ctx_t * ctx );
    3153             : void fd_sysvar_fees_walk( void * w, fd_sysvar_fees_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3154           0 : static inline ulong fd_sysvar_fees_size( fd_sysvar_fees_t const * self ) { (void)self; return 8UL; }
    3155           0 : static inline ulong fd_sysvar_fees_align( void ) { return FD_SYSVAR_FEES_ALIGN; }
    3156           0 : static inline int fd_sysvar_fees_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3157           0 :   *total_sz += sizeof(fd_sysvar_fees_t);
    3158           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3159           0 :   return 0;
    3160           0 : }
    3161             : void * fd_sysvar_fees_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3162             : 
    3163             : void fd_sysvar_epoch_rewards_new( fd_sysvar_epoch_rewards_t * self );
    3164             : int fd_sysvar_epoch_rewards_encode( fd_sysvar_epoch_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    3165             : 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, uint varint );
    3166           0 : static inline ulong fd_sysvar_epoch_rewards_size( fd_sysvar_epoch_rewards_t const * self ) { (void)self; return 81UL; }
    3167           3 : static inline ulong fd_sysvar_epoch_rewards_align( void ) { return FD_SYSVAR_EPOCH_REWARDS_ALIGN; }
    3168             : int fd_sysvar_epoch_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3169             : void * fd_sysvar_epoch_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3170             : 
    3171             : void fd_config_keys_pair_new( fd_config_keys_pair_t * self );
    3172             : int fd_config_keys_pair_encode( fd_config_keys_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    3173             : 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, uint varint );
    3174           0 : static inline ulong fd_config_keys_pair_size( fd_config_keys_pair_t const * self ) { (void)self; return 33UL; }
    3175           0 : static inline ulong fd_config_keys_pair_align( void ) { return FD_CONFIG_KEYS_PAIR_ALIGN; }
    3176             : int fd_config_keys_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3177             : void * fd_config_keys_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3178             : 
    3179             : void fd_stake_config_new( fd_stake_config_t * self );
    3180             : int fd_stake_config_encode( fd_stake_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    3181             : void fd_stake_config_walk( void * w, fd_stake_config_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3182             : ulong fd_stake_config_size( fd_stake_config_t const * self );
    3183           0 : static inline ulong fd_stake_config_align( void ) { return FD_STAKE_CONFIG_ALIGN; }
    3184             : int fd_stake_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3185             : void * fd_stake_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3186             : 
    3187             : void fd_feature_entry_new( fd_feature_entry_t * self );
    3188             : int fd_feature_entry_encode( fd_feature_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    3189             : void fd_feature_entry_walk( void * w, fd_feature_entry_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3190             : ulong fd_feature_entry_size( fd_feature_entry_t const * self );
    3191           0 : static inline ulong fd_feature_entry_align( void ) { return FD_FEATURE_ENTRY_ALIGN; }
    3192             : int fd_feature_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3193             : void * fd_feature_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3194             : 
    3195           0 : static inline void fd_cluster_type_new_disc( fd_cluster_type_t * self, uint discriminant ) { self->discriminant = discriminant; }
    3196           0 : static inline void fd_cluster_type_new( fd_cluster_type_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    3197             : int fd_cluster_type_encode( fd_cluster_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    3198             : void fd_cluster_type_walk( void * w, fd_cluster_type_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3199             : ulong fd_cluster_type_size( fd_cluster_type_t const * self );
    3200           0 : static inline ulong fd_cluster_type_align( void ) { return FD_CLUSTER_TYPE_ALIGN; }
    3201             : int fd_cluster_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3202             : void * fd_cluster_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3203             : 
    3204             : FD_FN_PURE uchar fd_cluster_type_is_Testnet( fd_cluster_type_t const * self );
    3205             : FD_FN_PURE uchar fd_cluster_type_is_MainnetBeta( fd_cluster_type_t const * self );
    3206             : FD_FN_PURE uchar fd_cluster_type_is_Devnet( fd_cluster_type_t const * self );
    3207             : FD_FN_PURE uchar fd_cluster_type_is_Development( fd_cluster_type_t const * self );
    3208             : enum {
    3209             : fd_cluster_type_enum_Testnet = 0,
    3210             : fd_cluster_type_enum_MainnetBeta = 1,
    3211             : fd_cluster_type_enum_Devnet = 2,
    3212             : fd_cluster_type_enum_Development = 3,
    3213             : };
    3214           0 : static inline void fd_cluster_version_new( fd_cluster_version_t * self ) { fd_memset( self, 0, sizeof(fd_cluster_version_t) ); }
    3215             : int fd_cluster_version_encode( fd_cluster_version_t const * self, fd_bincode_encode_ctx_t * ctx );
    3216             : void fd_cluster_version_walk( void * w, fd_cluster_version_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3217           0 : static inline ulong fd_cluster_version_size( fd_cluster_version_t const * self ) { (void)self; return 12UL; }
    3218           0 : static inline ulong fd_cluster_version_align( void ) { return FD_CLUSTER_VERSION_ALIGN; }
    3219           0 : static inline int fd_cluster_version_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3220           0 :   *total_sz += sizeof(fd_cluster_version_t);
    3221           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3222           0 :   return 0;
    3223           0 : }
    3224             : void * fd_cluster_version_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3225             : 
    3226           0 : static inline void fd_stake_reward_new( fd_stake_reward_t * self ) { fd_memset( self, 0, sizeof(fd_stake_reward_t) ); }
    3227             : int fd_stake_reward_encode( fd_stake_reward_t const * self, fd_bincode_encode_ctx_t * ctx );
    3228             : void fd_stake_reward_walk( void * w, fd_stake_reward_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3229           0 : static inline ulong fd_stake_reward_size( fd_stake_reward_t const * self ) { (void)self; return 49UL; }
    3230           0 : static inline ulong fd_stake_reward_align( void ) { return FD_STAKE_REWARD_ALIGN; }
    3231           0 : static inline int fd_stake_reward_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3232           0 :   *total_sz += sizeof(fd_stake_reward_t);
    3233           0 :   if( (ulong)ctx->data + 49UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3234           0 :   return 0;
    3235           0 : }
    3236             : void * fd_stake_reward_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3237             : 
    3238           0 : static inline void fd_vote_reward_new( fd_vote_reward_t * self ) { fd_memset( self, 0, sizeof(fd_vote_reward_t) ); }
    3239             : int fd_vote_reward_encode( fd_vote_reward_t const * self, fd_bincode_encode_ctx_t * ctx );
    3240             : void fd_vote_reward_walk( void * w, fd_vote_reward_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3241           0 : static inline ulong fd_vote_reward_size( fd_vote_reward_t const * self ) { (void)self; return 42UL; }
    3242           0 : static inline ulong fd_vote_reward_align( void ) { return FD_VOTE_REWARD_ALIGN; }
    3243           0 : static inline int fd_vote_reward_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3244           0 :   *total_sz += sizeof(fd_vote_reward_t);
    3245           0 :   if( (ulong)ctx->data + 42UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3246           0 :   return 0;
    3247           0 : }
    3248             : void * fd_vote_reward_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3249             : 
    3250           0 : static inline void fd_point_value_new( fd_point_value_t * self ) { fd_memset( self, 0, sizeof(fd_point_value_t) ); }
    3251             : int fd_point_value_encode( fd_point_value_t const * self, fd_bincode_encode_ctx_t * ctx );
    3252             : void fd_point_value_walk( void * w, fd_point_value_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3253           0 : static inline ulong fd_point_value_size( fd_point_value_t const * self ) { (void)self; return 24UL; }
    3254           0 : static inline ulong fd_point_value_align( void ) { return FD_POINT_VALUE_ALIGN; }
    3255           0 : static inline int fd_point_value_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3256           0 :   *total_sz += sizeof(fd_point_value_t);
    3257           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3258           0 :   return 0;
    3259           0 : }
    3260             : void * fd_point_value_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3261             : 
    3262             : void fd_partitioned_stake_rewards_new( fd_partitioned_stake_rewards_t * self );
    3263             : int fd_partitioned_stake_rewards_encode( fd_partitioned_stake_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    3264             : void fd_partitioned_stake_rewards_walk( void * w, fd_partitioned_stake_rewards_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3265             : ulong fd_partitioned_stake_rewards_size( fd_partitioned_stake_rewards_t const * self );
    3266           0 : static inline ulong fd_partitioned_stake_rewards_align( void ) { return FD_PARTITIONED_STAKE_REWARDS_ALIGN; }
    3267             : int fd_partitioned_stake_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3268             : void * fd_partitioned_stake_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3269             : void * fd_partitioned_stake_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3270             : int fd_partitioned_stake_rewards_encode_global( fd_partitioned_stake_rewards_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3271             : ulong fd_partitioned_stake_rewards_size_global( fd_partitioned_stake_rewards_global_t const * self );
    3272             : 
    3273             : void fd_stake_reward_calculation_partitioned_new( fd_stake_reward_calculation_partitioned_t * self );
    3274             : int fd_stake_reward_calculation_partitioned_encode( fd_stake_reward_calculation_partitioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    3275             : void fd_stake_reward_calculation_partitioned_walk( void * w, fd_stake_reward_calculation_partitioned_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3276             : ulong fd_stake_reward_calculation_partitioned_size( fd_stake_reward_calculation_partitioned_t const * self );
    3277           0 : static inline ulong fd_stake_reward_calculation_partitioned_align( void ) { return FD_STAKE_REWARD_CALCULATION_PARTITIONED_ALIGN; }
    3278             : int fd_stake_reward_calculation_partitioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3279             : void * fd_stake_reward_calculation_partitioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3280             : 
    3281             : void fd_stake_reward_calculation_new( fd_stake_reward_calculation_t * self );
    3282             : int fd_stake_reward_calculation_encode( fd_stake_reward_calculation_t const * self, fd_bincode_encode_ctx_t * ctx );
    3283             : void fd_stake_reward_calculation_walk( void * w, fd_stake_reward_calculation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3284             : ulong fd_stake_reward_calculation_size( fd_stake_reward_calculation_t const * self );
    3285           0 : static inline ulong fd_stake_reward_calculation_align( void ) { return FD_STAKE_REWARD_CALCULATION_ALIGN; }
    3286             : int fd_stake_reward_calculation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3287             : void * fd_stake_reward_calculation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3288             : 
    3289             : void fd_calculate_stake_vote_rewards_result_new( fd_calculate_stake_vote_rewards_result_t * self );
    3290             : int fd_calculate_stake_vote_rewards_result_encode( fd_calculate_stake_vote_rewards_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    3291             : void fd_calculate_stake_vote_rewards_result_walk( void * w, fd_calculate_stake_vote_rewards_result_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3292             : ulong fd_calculate_stake_vote_rewards_result_size( fd_calculate_stake_vote_rewards_result_t const * self );
    3293           0 : static inline ulong fd_calculate_stake_vote_rewards_result_align( void ) { return FD_CALCULATE_STAKE_VOTE_REWARDS_RESULT_ALIGN; }
    3294             : int fd_calculate_stake_vote_rewards_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3295             : void * fd_calculate_stake_vote_rewards_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3296             : 
    3297             : void fd_calculate_validator_rewards_result_new( fd_calculate_validator_rewards_result_t * self );
    3298             : int fd_calculate_validator_rewards_result_encode( fd_calculate_validator_rewards_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    3299             : void fd_calculate_validator_rewards_result_walk( void * w, fd_calculate_validator_rewards_result_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3300             : ulong fd_calculate_validator_rewards_result_size( fd_calculate_validator_rewards_result_t const * self );
    3301           0 : static inline ulong fd_calculate_validator_rewards_result_align( void ) { return FD_CALCULATE_VALIDATOR_REWARDS_RESULT_ALIGN; }
    3302             : int fd_calculate_validator_rewards_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3303             : void * fd_calculate_validator_rewards_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3304             : 
    3305             : void fd_partitioned_rewards_calculation_new( fd_partitioned_rewards_calculation_t * self );
    3306             : int fd_partitioned_rewards_calculation_encode( fd_partitioned_rewards_calculation_t const * self, fd_bincode_encode_ctx_t * ctx );
    3307             : void fd_partitioned_rewards_calculation_walk( void * w, fd_partitioned_rewards_calculation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3308             : ulong fd_partitioned_rewards_calculation_size( fd_partitioned_rewards_calculation_t const * self );
    3309           0 : static inline ulong fd_partitioned_rewards_calculation_align( void ) { return FD_PARTITIONED_REWARDS_CALCULATION_ALIGN; }
    3310             : int fd_partitioned_rewards_calculation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3311             : void * fd_partitioned_rewards_calculation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3312             : 
    3313             : void fd_start_block_height_and_rewards_new( fd_start_block_height_and_rewards_t * self );
    3314             : int fd_start_block_height_and_rewards_encode( fd_start_block_height_and_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    3315             : void fd_start_block_height_and_rewards_walk( void * w, fd_start_block_height_and_rewards_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3316             : ulong fd_start_block_height_and_rewards_size( fd_start_block_height_and_rewards_t const * self );
    3317           0 : static inline ulong fd_start_block_height_and_rewards_align( void ) { return FD_START_BLOCK_HEIGHT_AND_REWARDS_ALIGN; }
    3318             : int fd_start_block_height_and_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3319             : void * fd_start_block_height_and_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3320             : void * fd_start_block_height_and_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3321             : int fd_start_block_height_and_rewards_encode_global( fd_start_block_height_and_rewards_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3322             : ulong fd_start_block_height_and_rewards_size_global( fd_start_block_height_and_rewards_global_t const * self );
    3323             : 
    3324             : void fd_fd_epoch_reward_status_inner_new( fd_fd_epoch_reward_status_inner_t * self );
    3325             : int fd_fd_epoch_reward_status_inner_encode( fd_fd_epoch_reward_status_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    3326             : void fd_fd_epoch_reward_status_inner_walk( void * w, fd_fd_epoch_reward_status_inner_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3327             : ulong fd_fd_epoch_reward_status_inner_size( fd_fd_epoch_reward_status_inner_t const * self );
    3328           0 : static inline ulong fd_fd_epoch_reward_status_inner_align( void ) { return FD_FD_EPOCH_REWARD_STATUS_INNER_ALIGN; }
    3329             : int fd_fd_epoch_reward_status_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3330             : void * fd_fd_epoch_reward_status_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3331             : 
    3332             : void fd_epoch_reward_status_new_disc( fd_epoch_reward_status_t * self, uint discriminant );
    3333             : void fd_epoch_reward_status_new( fd_epoch_reward_status_t * self );
    3334             : int fd_epoch_reward_status_encode( fd_epoch_reward_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    3335             : void fd_epoch_reward_status_walk( void * w, fd_epoch_reward_status_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3336             : ulong fd_epoch_reward_status_size( fd_epoch_reward_status_t const * self );
    3337           0 : static inline ulong fd_epoch_reward_status_align( void ) { return FD_EPOCH_REWARD_STATUS_ALIGN; }
    3338             : int fd_epoch_reward_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3339             : void * fd_epoch_reward_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3340             : void * fd_epoch_reward_status_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    3341             : int fd_epoch_reward_status_encode_global( fd_epoch_reward_status_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    3342             : ulong fd_epoch_reward_status_size_global( fd_epoch_reward_status_global_t const * self );
    3343             : 
    3344             : FD_FN_PURE uchar fd_epoch_reward_status_is_Active( fd_epoch_reward_status_t const * self );
    3345             : FD_FN_PURE uchar fd_epoch_reward_status_is_Inactive( fd_epoch_reward_status_t const * self );
    3346             : enum {
    3347             : fd_epoch_reward_status_enum_Active = 0,
    3348             : fd_epoch_reward_status_enum_Inactive = 1,
    3349             : };
    3350           0 : static inline void fd_prev_epoch_inflation_rewards_new( fd_prev_epoch_inflation_rewards_t * self ) { fd_memset( self, 0, sizeof(fd_prev_epoch_inflation_rewards_t) ); }
    3351             : int fd_prev_epoch_inflation_rewards_encode( fd_prev_epoch_inflation_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    3352             : 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, uint varint );
    3353           0 : static inline ulong fd_prev_epoch_inflation_rewards_size( fd_prev_epoch_inflation_rewards_t const * self ) { (void)self; return 32UL; }
    3354           0 : static inline ulong fd_prev_epoch_inflation_rewards_align( void ) { return FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN; }
    3355           0 : static inline int fd_prev_epoch_inflation_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3356           0 :   *total_sz += sizeof(fd_prev_epoch_inflation_rewards_t);
    3357           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3358           0 :   return 0;
    3359           0 : }
    3360             : void * fd_prev_epoch_inflation_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3361             : 
    3362             : void fd_vote_new( fd_vote_t * self );
    3363             : int fd_vote_encode( fd_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    3364             : void fd_vote_walk( void * w, fd_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3365             : ulong fd_vote_size( fd_vote_t const * self );
    3366           0 : static inline ulong fd_vote_align( void ) { return FD_VOTE_ALIGN; }
    3367             : int fd_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3368             : void * fd_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3369             : 
    3370           0 : static inline void fd_vote_init_new( fd_vote_init_t * self ) { fd_memset( self, 0, sizeof(fd_vote_init_t) ); }
    3371             : int fd_vote_init_encode( fd_vote_init_t const * self, fd_bincode_encode_ctx_t * ctx );
    3372             : void fd_vote_init_walk( void * w, fd_vote_init_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3373           0 : static inline ulong fd_vote_init_size( fd_vote_init_t const * self ) { (void)self; return 97UL; }
    3374           0 : static inline ulong fd_vote_init_align( void ) { return FD_VOTE_INIT_ALIGN; }
    3375           0 : static inline int fd_vote_init_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3376           0 :   *total_sz += sizeof(fd_vote_init_t);
    3377           0 :   if( (ulong)ctx->data + 97UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3378           0 :   return 0;
    3379           0 : }
    3380             : void * fd_vote_init_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3381             : 
    3382           0 : static inline void fd_vote_authorize_new_disc( fd_vote_authorize_t * self, uint discriminant ) { self->discriminant = discriminant; }
    3383           0 : static inline void fd_vote_authorize_new( fd_vote_authorize_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    3384             : int fd_vote_authorize_encode( fd_vote_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3385             : void fd_vote_authorize_walk( void * w, fd_vote_authorize_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3386             : ulong fd_vote_authorize_size( fd_vote_authorize_t const * self );
    3387           0 : static inline ulong fd_vote_authorize_align( void ) { return FD_VOTE_AUTHORIZE_ALIGN; }
    3388             : int fd_vote_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3389             : void * fd_vote_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3390             : 
    3391             : FD_FN_PURE uchar fd_vote_authorize_is_voter( fd_vote_authorize_t const * self );
    3392             : FD_FN_PURE uchar fd_vote_authorize_is_withdrawer( fd_vote_authorize_t const * self );
    3393             : enum {
    3394             : fd_vote_authorize_enum_voter = 0,
    3395             : fd_vote_authorize_enum_withdrawer = 1,
    3396             : };
    3397             : void fd_vote_authorize_pubkey_new( fd_vote_authorize_pubkey_t * self );
    3398             : int fd_vote_authorize_pubkey_encode( fd_vote_authorize_pubkey_t const * self, fd_bincode_encode_ctx_t * ctx );
    3399             : 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, uint varint );
    3400           0 : static inline ulong fd_vote_authorize_pubkey_size( fd_vote_authorize_pubkey_t const * self ) { (void)self; return 36UL; }
    3401           0 : static inline ulong fd_vote_authorize_pubkey_align( void ) { return FD_VOTE_AUTHORIZE_PUBKEY_ALIGN; }
    3402             : int fd_vote_authorize_pubkey_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3403             : void * fd_vote_authorize_pubkey_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3404             : 
    3405             : void fd_vote_switch_new( fd_vote_switch_t * self );
    3406             : int fd_vote_switch_encode( fd_vote_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    3407             : void fd_vote_switch_walk( void * w, fd_vote_switch_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3408             : ulong fd_vote_switch_size( fd_vote_switch_t const * self );
    3409           0 : static inline ulong fd_vote_switch_align( void ) { return FD_VOTE_SWITCH_ALIGN; }
    3410             : int fd_vote_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3411             : void * fd_vote_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3412             : 
    3413             : void fd_update_vote_state_switch_new( fd_update_vote_state_switch_t * self );
    3414             : int fd_update_vote_state_switch_encode( fd_update_vote_state_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    3415             : 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, uint varint );
    3416             : ulong fd_update_vote_state_switch_size( fd_update_vote_state_switch_t const * self );
    3417           0 : static inline ulong fd_update_vote_state_switch_align( void ) { return FD_UPDATE_VOTE_STATE_SWITCH_ALIGN; }
    3418             : int fd_update_vote_state_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3419             : void * fd_update_vote_state_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3420             : 
    3421             : void fd_vote_authorize_with_seed_args_new( fd_vote_authorize_with_seed_args_t * self );
    3422             : int fd_vote_authorize_with_seed_args_encode( fd_vote_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3423             : 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, uint varint );
    3424             : ulong fd_vote_authorize_with_seed_args_size( fd_vote_authorize_with_seed_args_t const * self );
    3425           0 : static inline ulong fd_vote_authorize_with_seed_args_align( void ) { return FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN; }
    3426             : int fd_vote_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3427             : void * fd_vote_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3428             : 
    3429             : void fd_vote_authorize_checked_with_seed_args_new( fd_vote_authorize_checked_with_seed_args_t * self );
    3430             : 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 );
    3431             : 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, uint varint );
    3432             : ulong fd_vote_authorize_checked_with_seed_args_size( fd_vote_authorize_checked_with_seed_args_t const * self );
    3433           0 : static inline ulong fd_vote_authorize_checked_with_seed_args_align( void ) { return FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN; }
    3434             : int fd_vote_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3435             : void * fd_vote_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3436             : 
    3437             : void fd_vote_instruction_new_disc( fd_vote_instruction_t * self, uint discriminant );
    3438             : void fd_vote_instruction_new( fd_vote_instruction_t * self );
    3439             : int fd_vote_instruction_encode( fd_vote_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3440             : void fd_vote_instruction_walk( void * w, fd_vote_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3441             : ulong fd_vote_instruction_size( fd_vote_instruction_t const * self );
    3442           0 : static inline ulong fd_vote_instruction_align( void ) { return FD_VOTE_INSTRUCTION_ALIGN; }
    3443             : int fd_vote_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3444             : void * fd_vote_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3445             : 
    3446             : FD_FN_PURE uchar fd_vote_instruction_is_initialize_account( fd_vote_instruction_t const * self );
    3447             : FD_FN_PURE uchar fd_vote_instruction_is_authorize( fd_vote_instruction_t const * self );
    3448             : FD_FN_PURE uchar fd_vote_instruction_is_vote( fd_vote_instruction_t const * self );
    3449             : FD_FN_PURE uchar fd_vote_instruction_is_withdraw( fd_vote_instruction_t const * self );
    3450             : FD_FN_PURE uchar fd_vote_instruction_is_update_validator_identity( fd_vote_instruction_t const * self );
    3451             : FD_FN_PURE uchar fd_vote_instruction_is_update_commission( fd_vote_instruction_t const * self );
    3452             : FD_FN_PURE uchar fd_vote_instruction_is_vote_switch( fd_vote_instruction_t const * self );
    3453             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked( fd_vote_instruction_t const * self );
    3454             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state( fd_vote_instruction_t const * self );
    3455             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state_switch( fd_vote_instruction_t const * self );
    3456             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_with_seed( fd_vote_instruction_t const * self );
    3457             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked_with_seed( fd_vote_instruction_t const * self );
    3458             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state( fd_vote_instruction_t const * self );
    3459             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state_switch( fd_vote_instruction_t const * self );
    3460             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync( fd_vote_instruction_t const * self );
    3461             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync_switch( fd_vote_instruction_t const * self );
    3462             : enum {
    3463             : fd_vote_instruction_enum_initialize_account = 0,
    3464             : fd_vote_instruction_enum_authorize = 1,
    3465             : fd_vote_instruction_enum_vote = 2,
    3466             : fd_vote_instruction_enum_withdraw = 3,
    3467             : fd_vote_instruction_enum_update_validator_identity = 4,
    3468             : fd_vote_instruction_enum_update_commission = 5,
    3469             : fd_vote_instruction_enum_vote_switch = 6,
    3470             : fd_vote_instruction_enum_authorize_checked = 7,
    3471             : fd_vote_instruction_enum_update_vote_state = 8,
    3472             : fd_vote_instruction_enum_update_vote_state_switch = 9,
    3473             : fd_vote_instruction_enum_authorize_with_seed = 10,
    3474             : fd_vote_instruction_enum_authorize_checked_with_seed = 11,
    3475             : fd_vote_instruction_enum_compact_update_vote_state = 12,
    3476             : fd_vote_instruction_enum_compact_update_vote_state_switch = 13,
    3477             : fd_vote_instruction_enum_tower_sync = 14,
    3478             : fd_vote_instruction_enum_tower_sync_switch = 15,
    3479             : };
    3480           0 : static inline void fd_system_program_instruction_create_account_new( fd_system_program_instruction_create_account_t * self ) { fd_memset( self, 0, sizeof(fd_system_program_instruction_create_account_t) ); }
    3481             : int fd_system_program_instruction_create_account_encode( fd_system_program_instruction_create_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    3482             : 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, uint varint );
    3483           0 : static inline ulong fd_system_program_instruction_create_account_size( fd_system_program_instruction_create_account_t const * self ) { (void)self; return 48UL; }
    3484           0 : static inline ulong fd_system_program_instruction_create_account_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN; }
    3485           0 : static inline int fd_system_program_instruction_create_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3486           0 :   *total_sz += sizeof(fd_system_program_instruction_create_account_t);
    3487           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3488           0 :   return 0;
    3489           0 : }
    3490             : void * fd_system_program_instruction_create_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3491             : 
    3492             : void fd_system_program_instruction_create_account_with_seed_new( fd_system_program_instruction_create_account_with_seed_t * self );
    3493             : 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 );
    3494             : 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, uint varint );
    3495             : ulong fd_system_program_instruction_create_account_with_seed_size( fd_system_program_instruction_create_account_with_seed_t const * self );
    3496           0 : static inline ulong fd_system_program_instruction_create_account_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN; }
    3497             : int fd_system_program_instruction_create_account_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3498             : void * fd_system_program_instruction_create_account_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3499             : 
    3500             : void fd_system_program_instruction_allocate_with_seed_new( fd_system_program_instruction_allocate_with_seed_t * self );
    3501             : 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 );
    3502             : 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, uint varint );
    3503             : ulong fd_system_program_instruction_allocate_with_seed_size( fd_system_program_instruction_allocate_with_seed_t const * self );
    3504           0 : static inline ulong fd_system_program_instruction_allocate_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN; }
    3505             : int fd_system_program_instruction_allocate_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3506             : void * fd_system_program_instruction_allocate_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3507             : 
    3508             : void fd_system_program_instruction_assign_with_seed_new( fd_system_program_instruction_assign_with_seed_t * self );
    3509             : 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 );
    3510             : 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, uint varint );
    3511             : ulong fd_system_program_instruction_assign_with_seed_size( fd_system_program_instruction_assign_with_seed_t const * self );
    3512           0 : static inline ulong fd_system_program_instruction_assign_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN; }
    3513             : int fd_system_program_instruction_assign_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3514             : void * fd_system_program_instruction_assign_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3515             : 
    3516             : void fd_system_program_instruction_transfer_with_seed_new( fd_system_program_instruction_transfer_with_seed_t * self );
    3517             : 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 );
    3518             : 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, uint varint );
    3519             : ulong fd_system_program_instruction_transfer_with_seed_size( fd_system_program_instruction_transfer_with_seed_t const * self );
    3520           0 : static inline ulong fd_system_program_instruction_transfer_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN; }
    3521             : int fd_system_program_instruction_transfer_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3522             : void * fd_system_program_instruction_transfer_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3523             : 
    3524             : void fd_system_program_instruction_new_disc( fd_system_program_instruction_t * self, uint discriminant );
    3525             : void fd_system_program_instruction_new( fd_system_program_instruction_t * self );
    3526             : int fd_system_program_instruction_encode( fd_system_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3527             : 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, uint varint );
    3528             : ulong fd_system_program_instruction_size( fd_system_program_instruction_t const * self );
    3529           0 : static inline ulong fd_system_program_instruction_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN; }
    3530             : int fd_system_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3531             : void * fd_system_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3532             : 
    3533             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account( fd_system_program_instruction_t const * self );
    3534             : FD_FN_PURE uchar fd_system_program_instruction_is_assign( fd_system_program_instruction_t const * self );
    3535             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer( fd_system_program_instruction_t const * self );
    3536             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account_with_seed( fd_system_program_instruction_t const * self );
    3537             : FD_FN_PURE uchar fd_system_program_instruction_is_advance_nonce_account( fd_system_program_instruction_t const * self );
    3538             : FD_FN_PURE uchar fd_system_program_instruction_is_withdraw_nonce_account( fd_system_program_instruction_t const * self );
    3539             : FD_FN_PURE uchar fd_system_program_instruction_is_initialize_nonce_account( fd_system_program_instruction_t const * self );
    3540             : FD_FN_PURE uchar fd_system_program_instruction_is_authorize_nonce_account( fd_system_program_instruction_t const * self );
    3541             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate( fd_system_program_instruction_t const * self );
    3542             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate_with_seed( fd_system_program_instruction_t const * self );
    3543             : FD_FN_PURE uchar fd_system_program_instruction_is_assign_with_seed( fd_system_program_instruction_t const * self );
    3544             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer_with_seed( fd_system_program_instruction_t const * self );
    3545             : FD_FN_PURE uchar fd_system_program_instruction_is_upgrade_nonce_account( fd_system_program_instruction_t const * self );
    3546             : enum {
    3547             : fd_system_program_instruction_enum_create_account = 0,
    3548             : fd_system_program_instruction_enum_assign = 1,
    3549             : fd_system_program_instruction_enum_transfer = 2,
    3550             : fd_system_program_instruction_enum_create_account_with_seed = 3,
    3551             : fd_system_program_instruction_enum_advance_nonce_account = 4,
    3552             : fd_system_program_instruction_enum_withdraw_nonce_account = 5,
    3553             : fd_system_program_instruction_enum_initialize_nonce_account = 6,
    3554             : fd_system_program_instruction_enum_authorize_nonce_account = 7,
    3555             : fd_system_program_instruction_enum_allocate = 8,
    3556             : fd_system_program_instruction_enum_allocate_with_seed = 9,
    3557             : fd_system_program_instruction_enum_assign_with_seed = 10,
    3558             : fd_system_program_instruction_enum_transfer_with_seed = 11,
    3559             : fd_system_program_instruction_enum_upgrade_nonce_account = 12,
    3560             : };
    3561           0 : static inline void fd_system_error_new_disc( fd_system_error_t * self, uint discriminant ) { self->discriminant = discriminant; }
    3562           0 : static inline void fd_system_error_new( fd_system_error_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    3563             : int fd_system_error_encode( fd_system_error_t const * self, fd_bincode_encode_ctx_t * ctx );
    3564             : void fd_system_error_walk( void * w, fd_system_error_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3565             : ulong fd_system_error_size( fd_system_error_t const * self );
    3566           0 : static inline ulong fd_system_error_align( void ) { return FD_SYSTEM_ERROR_ALIGN; }
    3567             : int fd_system_error_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3568             : void * fd_system_error_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3569             : 
    3570             : FD_FN_PURE uchar fd_system_error_is_account_already_in_use( fd_system_error_t const * self );
    3571             : FD_FN_PURE uchar fd_system_error_is_result_with_negative_lamports( fd_system_error_t const * self );
    3572             : FD_FN_PURE uchar fd_system_error_is_invalid_program_id( fd_system_error_t const * self );
    3573             : FD_FN_PURE uchar fd_system_error_is_invalid_account_data_length( fd_system_error_t const * self );
    3574             : FD_FN_PURE uchar fd_system_error_is_max_seed_length_exceeded( fd_system_error_t const * self );
    3575             : FD_FN_PURE uchar fd_system_error_is_address_with_seed_mismatch( fd_system_error_t const * self );
    3576             : FD_FN_PURE uchar fd_system_error_is_nonce_no_recent_blockhashes( fd_system_error_t const * self );
    3577             : FD_FN_PURE uchar fd_system_error_is_nonce_blockhash_not_expired( fd_system_error_t const * self );
    3578             : FD_FN_PURE uchar fd_system_error_is_nonce_unexpected_blockhash_value( fd_system_error_t const * self );
    3579             : enum {
    3580             : fd_system_error_enum_account_already_in_use = 0,
    3581             : fd_system_error_enum_result_with_negative_lamports = 1,
    3582             : fd_system_error_enum_invalid_program_id = 2,
    3583             : fd_system_error_enum_invalid_account_data_length = 3,
    3584             : fd_system_error_enum_max_seed_length_exceeded = 4,
    3585             : fd_system_error_enum_address_with_seed_mismatch = 5,
    3586             : fd_system_error_enum_nonce_no_recent_blockhashes = 6,
    3587             : fd_system_error_enum_nonce_blockhash_not_expired = 7,
    3588             : fd_system_error_enum_nonce_unexpected_blockhash_value = 8,
    3589             : };
    3590           0 : static inline void fd_stake_authorized_new( fd_stake_authorized_t * self ) { fd_memset( self, 0, sizeof(fd_stake_authorized_t) ); }
    3591             : int fd_stake_authorized_encode( fd_stake_authorized_t const * self, fd_bincode_encode_ctx_t * ctx );
    3592             : void fd_stake_authorized_walk( void * w, fd_stake_authorized_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3593           0 : static inline ulong fd_stake_authorized_size( fd_stake_authorized_t const * self ) { (void)self; return 64UL; }
    3594           0 : static inline ulong fd_stake_authorized_align( void ) { return FD_STAKE_AUTHORIZED_ALIGN; }
    3595           0 : static inline int fd_stake_authorized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3596           0 :   *total_sz += sizeof(fd_stake_authorized_t);
    3597           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3598           0 :   return 0;
    3599           0 : }
    3600             : void * fd_stake_authorized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3601             : 
    3602           0 : static inline void fd_stake_lockup_new( fd_stake_lockup_t * self ) { fd_memset( self, 0, sizeof(fd_stake_lockup_t) ); }
    3603             : int fd_stake_lockup_encode( fd_stake_lockup_t const * self, fd_bincode_encode_ctx_t * ctx );
    3604             : void fd_stake_lockup_walk( void * w, fd_stake_lockup_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3605           0 : static inline ulong fd_stake_lockup_size( fd_stake_lockup_t const * self ) { (void)self; return 48UL; }
    3606           0 : static inline ulong fd_stake_lockup_align( void ) { return FD_STAKE_LOCKUP_ALIGN; }
    3607           0 : static inline int fd_stake_lockup_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3608           0 :   *total_sz += sizeof(fd_stake_lockup_t);
    3609           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3610           0 :   return 0;
    3611           0 : }
    3612             : void * fd_stake_lockup_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3613             : 
    3614           0 : static inline void fd_stake_instruction_initialize_new( fd_stake_instruction_initialize_t * self ) { fd_memset( self, 0, sizeof(fd_stake_instruction_initialize_t) ); }
    3615             : int fd_stake_instruction_initialize_encode( fd_stake_instruction_initialize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3616             : 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, uint varint );
    3617           0 : static inline ulong fd_stake_instruction_initialize_size( fd_stake_instruction_initialize_t const * self ) { (void)self; return 112UL; }
    3618           0 : static inline ulong fd_stake_instruction_initialize_align( void ) { return FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN; }
    3619           0 : static inline int fd_stake_instruction_initialize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3620           0 :   *total_sz += sizeof(fd_stake_instruction_initialize_t);
    3621           0 :   if( (ulong)ctx->data + 112UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3622           0 :   return 0;
    3623           0 : }
    3624             : void * fd_stake_instruction_initialize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3625             : 
    3626             : void fd_stake_lockup_custodian_args_new( fd_stake_lockup_custodian_args_t * self );
    3627             : int fd_stake_lockup_custodian_args_encode( fd_stake_lockup_custodian_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3628             : 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, uint varint );
    3629             : ulong fd_stake_lockup_custodian_args_size( fd_stake_lockup_custodian_args_t const * self );
    3630           0 : static inline ulong fd_stake_lockup_custodian_args_align( void ) { return FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN; }
    3631             : int fd_stake_lockup_custodian_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3632             : void * fd_stake_lockup_custodian_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3633             : 
    3634           0 : static inline void fd_stake_authorize_new_disc( fd_stake_authorize_t * self, uint discriminant ) { self->discriminant = discriminant; }
    3635           0 : static inline void fd_stake_authorize_new( fd_stake_authorize_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    3636             : int fd_stake_authorize_encode( fd_stake_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3637             : void fd_stake_authorize_walk( void * w, fd_stake_authorize_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3638             : ulong fd_stake_authorize_size( fd_stake_authorize_t const * self );
    3639           0 : static inline ulong fd_stake_authorize_align( void ) { return FD_STAKE_AUTHORIZE_ALIGN; }
    3640             : int fd_stake_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3641             : void * fd_stake_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3642             : 
    3643             : FD_FN_PURE uchar fd_stake_authorize_is_staker( fd_stake_authorize_t const * self );
    3644             : FD_FN_PURE uchar fd_stake_authorize_is_withdrawer( fd_stake_authorize_t const * self );
    3645             : enum {
    3646             : fd_stake_authorize_enum_staker = 0,
    3647             : fd_stake_authorize_enum_withdrawer = 1,
    3648             : };
    3649             : void fd_stake_instruction_authorize_new( fd_stake_instruction_authorize_t * self );
    3650             : int fd_stake_instruction_authorize_encode( fd_stake_instruction_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3651             : 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, uint varint );
    3652           0 : static inline ulong fd_stake_instruction_authorize_size( fd_stake_instruction_authorize_t const * self ) { (void)self; return 36UL; }
    3653           0 : static inline ulong fd_stake_instruction_authorize_align( void ) { return FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN; }
    3654             : int fd_stake_instruction_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3655             : void * fd_stake_instruction_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3656             : 
    3657             : void fd_authorize_with_seed_args_new( fd_authorize_with_seed_args_t * self );
    3658             : int fd_authorize_with_seed_args_encode( fd_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3659             : 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, uint varint );
    3660             : ulong fd_authorize_with_seed_args_size( fd_authorize_with_seed_args_t const * self );
    3661           0 : static inline ulong fd_authorize_with_seed_args_align( void ) { return FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN; }
    3662             : int fd_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3663             : void * fd_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3664             : 
    3665             : void fd_authorize_checked_with_seed_args_new( fd_authorize_checked_with_seed_args_t * self );
    3666             : int fd_authorize_checked_with_seed_args_encode( fd_authorize_checked_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3667             : 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, uint varint );
    3668             : ulong fd_authorize_checked_with_seed_args_size( fd_authorize_checked_with_seed_args_t const * self );
    3669           0 : static inline ulong fd_authorize_checked_with_seed_args_align( void ) { return FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN; }
    3670             : int fd_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3671             : void * fd_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3672             : 
    3673             : void fd_lockup_checked_args_new( fd_lockup_checked_args_t * self );
    3674             : int fd_lockup_checked_args_encode( fd_lockup_checked_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3675             : 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, uint varint );
    3676             : ulong fd_lockup_checked_args_size( fd_lockup_checked_args_t const * self );
    3677           0 : static inline ulong fd_lockup_checked_args_align( void ) { return FD_LOCKUP_CHECKED_ARGS_ALIGN; }
    3678             : int fd_lockup_checked_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3679             : void * fd_lockup_checked_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3680             : 
    3681             : void fd_lockup_args_new( fd_lockup_args_t * self );
    3682             : int fd_lockup_args_encode( fd_lockup_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3683             : void fd_lockup_args_walk( void * w, fd_lockup_args_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3684             : ulong fd_lockup_args_size( fd_lockup_args_t const * self );
    3685           0 : static inline ulong fd_lockup_args_align( void ) { return FD_LOCKUP_ARGS_ALIGN; }
    3686             : int fd_lockup_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3687             : void * fd_lockup_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3688             : 
    3689             : void fd_stake_instruction_new_disc( fd_stake_instruction_t * self, uint discriminant );
    3690             : void fd_stake_instruction_new( fd_stake_instruction_t * self );
    3691             : int fd_stake_instruction_encode( fd_stake_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3692             : void fd_stake_instruction_walk( void * w, fd_stake_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3693             : ulong fd_stake_instruction_size( fd_stake_instruction_t const * self );
    3694           0 : static inline ulong fd_stake_instruction_align( void ) { return FD_STAKE_INSTRUCTION_ALIGN; }
    3695             : int fd_stake_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3696             : void * fd_stake_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3697             : 
    3698             : FD_FN_PURE uchar fd_stake_instruction_is_initialize( fd_stake_instruction_t const * self );
    3699             : FD_FN_PURE uchar fd_stake_instruction_is_authorize( fd_stake_instruction_t const * self );
    3700             : FD_FN_PURE uchar fd_stake_instruction_is_delegate_stake( fd_stake_instruction_t const * self );
    3701             : FD_FN_PURE uchar fd_stake_instruction_is_split( fd_stake_instruction_t const * self );
    3702             : FD_FN_PURE uchar fd_stake_instruction_is_withdraw( fd_stake_instruction_t const * self );
    3703             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate( fd_stake_instruction_t const * self );
    3704             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup( fd_stake_instruction_t const * self );
    3705             : FD_FN_PURE uchar fd_stake_instruction_is_merge( fd_stake_instruction_t const * self );
    3706             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_with_seed( fd_stake_instruction_t const * self );
    3707             : FD_FN_PURE uchar fd_stake_instruction_is_initialize_checked( fd_stake_instruction_t const * self );
    3708             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked( fd_stake_instruction_t const * self );
    3709             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked_with_seed( fd_stake_instruction_t const * self );
    3710             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup_checked( fd_stake_instruction_t const * self );
    3711             : FD_FN_PURE uchar fd_stake_instruction_is_get_minimum_delegation( fd_stake_instruction_t const * self );
    3712             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate_delinquent( fd_stake_instruction_t const * self );
    3713             : FD_FN_PURE uchar fd_stake_instruction_is_redelegate( fd_stake_instruction_t const * self );
    3714             : FD_FN_PURE uchar fd_stake_instruction_is_move_stake( fd_stake_instruction_t const * self );
    3715             : FD_FN_PURE uchar fd_stake_instruction_is_move_lamports( fd_stake_instruction_t const * self );
    3716             : enum {
    3717             : fd_stake_instruction_enum_initialize = 0,
    3718             : fd_stake_instruction_enum_authorize = 1,
    3719             : fd_stake_instruction_enum_delegate_stake = 2,
    3720             : fd_stake_instruction_enum_split = 3,
    3721             : fd_stake_instruction_enum_withdraw = 4,
    3722             : fd_stake_instruction_enum_deactivate = 5,
    3723             : fd_stake_instruction_enum_set_lockup = 6,
    3724             : fd_stake_instruction_enum_merge = 7,
    3725             : fd_stake_instruction_enum_authorize_with_seed = 8,
    3726             : fd_stake_instruction_enum_initialize_checked = 9,
    3727             : fd_stake_instruction_enum_authorize_checked = 10,
    3728             : fd_stake_instruction_enum_authorize_checked_with_seed = 11,
    3729             : fd_stake_instruction_enum_set_lockup_checked = 12,
    3730             : fd_stake_instruction_enum_get_minimum_delegation = 13,
    3731             : fd_stake_instruction_enum_deactivate_delinquent = 14,
    3732             : fd_stake_instruction_enum_redelegate = 15,
    3733             : fd_stake_instruction_enum_move_stake = 16,
    3734             : fd_stake_instruction_enum_move_lamports = 17,
    3735             : };
    3736           0 : static inline void fd_stake_meta_new( fd_stake_meta_t * self ) { fd_memset( self, 0, sizeof(fd_stake_meta_t) ); }
    3737             : int fd_stake_meta_encode( fd_stake_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    3738             : void fd_stake_meta_walk( void * w, fd_stake_meta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3739           0 : static inline ulong fd_stake_meta_size( fd_stake_meta_t const * self ) { (void)self; return 120UL; }
    3740           0 : static inline ulong fd_stake_meta_align( void ) { return FD_STAKE_META_ALIGN; }
    3741           0 : static inline int fd_stake_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3742           0 :   *total_sz += sizeof(fd_stake_meta_t);
    3743           0 :   if( (ulong)ctx->data + 120UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3744           0 :   return 0;
    3745           0 : }
    3746             : void * fd_stake_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3747             : 
    3748           0 : static inline void fd_stake_flags_new( fd_stake_flags_t * self ) { fd_memset( self, 0, sizeof(fd_stake_flags_t) ); }
    3749             : int fd_stake_flags_encode( fd_stake_flags_t const * self, fd_bincode_encode_ctx_t * ctx );
    3750             : void fd_stake_flags_walk( void * w, fd_stake_flags_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3751           0 : static inline ulong fd_stake_flags_size( fd_stake_flags_t const * self ) { (void)self; return 1UL; }
    3752           0 : static inline ulong fd_stake_flags_align( void ) { return FD_STAKE_FLAGS_ALIGN; }
    3753           0 : static inline int fd_stake_flags_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3754           0 :   *total_sz += sizeof(fd_stake_flags_t);
    3755           0 :   if( (ulong)ctx->data + 1UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3756           0 :   return 0;
    3757           0 : }
    3758             : void * fd_stake_flags_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3759             : 
    3760           0 : static inline void fd_stake_state_v2_initialized_new( fd_stake_state_v2_initialized_t * self ) { fd_memset( self, 0, sizeof(fd_stake_state_v2_initialized_t) ); }
    3761             : int fd_stake_state_v2_initialized_encode( fd_stake_state_v2_initialized_t const * self, fd_bincode_encode_ctx_t * ctx );
    3762             : 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, uint varint );
    3763           0 : static inline ulong fd_stake_state_v2_initialized_size( fd_stake_state_v2_initialized_t const * self ) { (void)self; return 120UL; }
    3764           0 : static inline ulong fd_stake_state_v2_initialized_align( void ) { return FD_STAKE_STATE_V2_INITIALIZED_ALIGN; }
    3765           0 : static inline int fd_stake_state_v2_initialized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3766           0 :   *total_sz += sizeof(fd_stake_state_v2_initialized_t);
    3767           0 :   if( (ulong)ctx->data + 120UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3768           0 :   return 0;
    3769           0 : }
    3770             : void * fd_stake_state_v2_initialized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3771             : 
    3772          12 : static inline void fd_stake_state_v2_stake_new( fd_stake_state_v2_stake_t * self ) { fd_memset( self, 0, sizeof(fd_stake_state_v2_stake_t) ); }
    3773             : int fd_stake_state_v2_stake_encode( fd_stake_state_v2_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    3774             : 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, uint varint );
    3775           0 : static inline ulong fd_stake_state_v2_stake_size( fd_stake_state_v2_stake_t const * self ) { (void)self; return 193UL; }
    3776           0 : static inline ulong fd_stake_state_v2_stake_align( void ) { return FD_STAKE_STATE_V2_STAKE_ALIGN; }
    3777           0 : static inline int fd_stake_state_v2_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3778           0 :   *total_sz += sizeof(fd_stake_state_v2_stake_t);
    3779           0 :   if( (ulong)ctx->data + 193UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3780           0 :   return 0;
    3781           0 : }
    3782             : void * fd_stake_state_v2_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3783             : 
    3784             : void fd_stake_state_v2_new_disc( fd_stake_state_v2_t * self, uint discriminant );
    3785             : void fd_stake_state_v2_new( fd_stake_state_v2_t * self );
    3786             : int fd_stake_state_v2_encode( fd_stake_state_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    3787             : 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, uint varint );
    3788             : ulong fd_stake_state_v2_size( fd_stake_state_v2_t const * self );
    3789           0 : static inline ulong fd_stake_state_v2_align( void ) { return FD_STAKE_STATE_V2_ALIGN; }
    3790             : int fd_stake_state_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3791             : void * fd_stake_state_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3792             : 
    3793             : FD_FN_PURE uchar fd_stake_state_v2_is_uninitialized( fd_stake_state_v2_t const * self );
    3794             : FD_FN_PURE uchar fd_stake_state_v2_is_initialized( fd_stake_state_v2_t const * self );
    3795             : FD_FN_PURE uchar fd_stake_state_v2_is_stake( fd_stake_state_v2_t const * self );
    3796             : FD_FN_PURE uchar fd_stake_state_v2_is_rewards_pool( fd_stake_state_v2_t const * self );
    3797             : enum {
    3798             : fd_stake_state_v2_enum_uninitialized = 0,
    3799             : fd_stake_state_v2_enum_initialized = 1,
    3800             : fd_stake_state_v2_enum_stake = 2,
    3801             : fd_stake_state_v2_enum_rewards_pool = 3,
    3802             : };
    3803           0 : static inline void fd_nonce_data_new( fd_nonce_data_t * self ) { fd_memset( self, 0, sizeof(fd_nonce_data_t) ); }
    3804             : int fd_nonce_data_encode( fd_nonce_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    3805             : void fd_nonce_data_walk( void * w, fd_nonce_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3806           0 : static inline ulong fd_nonce_data_size( fd_nonce_data_t const * self ) { (void)self; return 72UL; }
    3807           0 : static inline ulong fd_nonce_data_align( void ) { return FD_NONCE_DATA_ALIGN; }
    3808           0 : static inline int fd_nonce_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3809           0 :   *total_sz += sizeof(fd_nonce_data_t);
    3810           0 :   if( (ulong)ctx->data + 72UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3811           0 :   return 0;
    3812           0 : }
    3813             : void * fd_nonce_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3814             : 
    3815             : void fd_nonce_state_new_disc( fd_nonce_state_t * self, uint discriminant );
    3816             : void fd_nonce_state_new( fd_nonce_state_t * self );
    3817             : int fd_nonce_state_encode( fd_nonce_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3818             : void fd_nonce_state_walk( void * w, fd_nonce_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3819             : ulong fd_nonce_state_size( fd_nonce_state_t const * self );
    3820           0 : static inline ulong fd_nonce_state_align( void ) { return FD_NONCE_STATE_ALIGN; }
    3821             : int fd_nonce_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3822             : void * fd_nonce_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3823             : 
    3824             : FD_FN_PURE uchar fd_nonce_state_is_uninitialized( fd_nonce_state_t const * self );
    3825             : FD_FN_PURE uchar fd_nonce_state_is_initialized( fd_nonce_state_t const * self );
    3826             : enum {
    3827             : fd_nonce_state_enum_uninitialized = 0,
    3828             : fd_nonce_state_enum_initialized = 1,
    3829             : };
    3830             : void fd_nonce_state_versions_new_disc( fd_nonce_state_versions_t * self, uint discriminant );
    3831             : void fd_nonce_state_versions_new( fd_nonce_state_versions_t * self );
    3832             : int fd_nonce_state_versions_encode( fd_nonce_state_versions_t const * self, fd_bincode_encode_ctx_t * ctx );
    3833             : 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, uint varint );
    3834             : ulong fd_nonce_state_versions_size( fd_nonce_state_versions_t const * self );
    3835           0 : static inline ulong fd_nonce_state_versions_align( void ) { return FD_NONCE_STATE_VERSIONS_ALIGN; }
    3836             : int fd_nonce_state_versions_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3837             : void * fd_nonce_state_versions_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3838             : 
    3839             : FD_FN_PURE uchar fd_nonce_state_versions_is_legacy( fd_nonce_state_versions_t const * self );
    3840             : FD_FN_PURE uchar fd_nonce_state_versions_is_current( fd_nonce_state_versions_t const * self );
    3841             : enum {
    3842             : fd_nonce_state_versions_enum_legacy = 0,
    3843             : fd_nonce_state_versions_enum_current = 1,
    3844             : };
    3845           0 : static inline void fd_compute_budget_program_instruction_request_units_deprecated_new( fd_compute_budget_program_instruction_request_units_deprecated_t * self ) { fd_memset( self, 0, sizeof(fd_compute_budget_program_instruction_request_units_deprecated_t) ); }
    3846             : 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 );
    3847             : 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, uint varint );
    3848           0 : static inline ulong fd_compute_budget_program_instruction_request_units_deprecated_size( fd_compute_budget_program_instruction_request_units_deprecated_t const * self ) { (void)self; return 8UL; }
    3849           0 : static inline ulong fd_compute_budget_program_instruction_request_units_deprecated_align( void ) { return FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN; }
    3850           0 : static inline int fd_compute_budget_program_instruction_request_units_deprecated_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3851           0 :   *total_sz += sizeof(fd_compute_budget_program_instruction_request_units_deprecated_t);
    3852           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3853           0 :   return 0;
    3854           0 : }
    3855             : void * fd_compute_budget_program_instruction_request_units_deprecated_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3856             : 
    3857             : void fd_compute_budget_program_instruction_new_disc( fd_compute_budget_program_instruction_t * self, uint discriminant );
    3858             : void fd_compute_budget_program_instruction_new( fd_compute_budget_program_instruction_t * self );
    3859             : int fd_compute_budget_program_instruction_encode( fd_compute_budget_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3860             : 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, uint varint );
    3861             : ulong fd_compute_budget_program_instruction_size( fd_compute_budget_program_instruction_t const * self );
    3862           0 : static inline ulong fd_compute_budget_program_instruction_align( void ) { return FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN; }
    3863             : int fd_compute_budget_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3864             : void * fd_compute_budget_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3865             : 
    3866             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_units_deprecated( fd_compute_budget_program_instruction_t const * self );
    3867             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_heap_frame( fd_compute_budget_program_instruction_t const * self );
    3868             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_limit( fd_compute_budget_program_instruction_t const * self );
    3869             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_price( fd_compute_budget_program_instruction_t const * self );
    3870             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_loaded_accounts_data_size_limit( fd_compute_budget_program_instruction_t const * self );
    3871             : enum {
    3872             : fd_compute_budget_program_instruction_enum_request_units_deprecated = 0,
    3873             : fd_compute_budget_program_instruction_enum_request_heap_frame = 1,
    3874             : fd_compute_budget_program_instruction_enum_set_compute_unit_limit = 2,
    3875             : fd_compute_budget_program_instruction_enum_set_compute_unit_price = 3,
    3876             : fd_compute_budget_program_instruction_enum_set_loaded_accounts_data_size_limit = 4,
    3877             : };
    3878             : void fd_config_keys_new( fd_config_keys_t * self );
    3879             : int fd_config_keys_encode( fd_config_keys_t const * self, fd_bincode_encode_ctx_t * ctx );
    3880             : void fd_config_keys_walk( void * w, fd_config_keys_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3881             : ulong fd_config_keys_size( fd_config_keys_t const * self );
    3882           0 : static inline ulong fd_config_keys_align( void ) { return FD_CONFIG_KEYS_ALIGN; }
    3883             : int fd_config_keys_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3884             : void * fd_config_keys_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3885             : 
    3886             : void fd_bpf_loader_program_instruction_write_new( fd_bpf_loader_program_instruction_write_t * self );
    3887             : int fd_bpf_loader_program_instruction_write_encode( fd_bpf_loader_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    3888             : 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, uint varint );
    3889             : ulong fd_bpf_loader_program_instruction_write_size( fd_bpf_loader_program_instruction_write_t const * self );
    3890           0 : static inline ulong fd_bpf_loader_program_instruction_write_align( void ) { return FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    3891             : int fd_bpf_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3892             : void * fd_bpf_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3893             : 
    3894             : void fd_bpf_loader_program_instruction_new_disc( fd_bpf_loader_program_instruction_t * self, uint discriminant );
    3895             : void fd_bpf_loader_program_instruction_new( fd_bpf_loader_program_instruction_t * self );
    3896             : int fd_bpf_loader_program_instruction_encode( fd_bpf_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3897             : 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, uint varint );
    3898             : ulong fd_bpf_loader_program_instruction_size( fd_bpf_loader_program_instruction_t const * self );
    3899           0 : static inline ulong fd_bpf_loader_program_instruction_align( void ) { return FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN; }
    3900             : int fd_bpf_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3901             : void * fd_bpf_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3902             : 
    3903             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_write( fd_bpf_loader_program_instruction_t const * self );
    3904             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_finalize( fd_bpf_loader_program_instruction_t const * self );
    3905             : enum {
    3906             : fd_bpf_loader_program_instruction_enum_write = 0,
    3907             : fd_bpf_loader_program_instruction_enum_finalize = 1,
    3908             : };
    3909             : void fd_loader_v4_program_instruction_write_new( fd_loader_v4_program_instruction_write_t * self );
    3910             : int fd_loader_v4_program_instruction_write_encode( fd_loader_v4_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    3911             : 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, uint varint );
    3912             : ulong fd_loader_v4_program_instruction_write_size( fd_loader_v4_program_instruction_write_t const * self );
    3913           0 : static inline ulong fd_loader_v4_program_instruction_write_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    3914             : int fd_loader_v4_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3915             : void * fd_loader_v4_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3916             : 
    3917           0 : static inline void fd_loader_v4_program_instruction_copy_new( fd_loader_v4_program_instruction_copy_t * self ) { fd_memset( self, 0, sizeof(fd_loader_v4_program_instruction_copy_t) ); }
    3918             : int fd_loader_v4_program_instruction_copy_encode( fd_loader_v4_program_instruction_copy_t const * self, fd_bincode_encode_ctx_t * ctx );
    3919             : void fd_loader_v4_program_instruction_copy_walk( void * w, fd_loader_v4_program_instruction_copy_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3920           0 : static inline ulong fd_loader_v4_program_instruction_copy_size( fd_loader_v4_program_instruction_copy_t const * self ) { (void)self; return 12UL; }
    3921           0 : static inline ulong fd_loader_v4_program_instruction_copy_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_COPY_ALIGN; }
    3922           0 : static inline int fd_loader_v4_program_instruction_copy_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3923           0 :   *total_sz += sizeof(fd_loader_v4_program_instruction_copy_t);
    3924           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3925           0 :   return 0;
    3926           0 : }
    3927             : void * fd_loader_v4_program_instruction_copy_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3928             : 
    3929           0 : static inline void fd_loader_v4_program_instruction_set_program_length_new( fd_loader_v4_program_instruction_set_program_length_t * self ) { fd_memset( self, 0, sizeof(fd_loader_v4_program_instruction_set_program_length_t) ); }
    3930             : int fd_loader_v4_program_instruction_set_program_length_encode( fd_loader_v4_program_instruction_set_program_length_t const * self, fd_bincode_encode_ctx_t * ctx );
    3931             : void fd_loader_v4_program_instruction_set_program_length_walk( void * w, fd_loader_v4_program_instruction_set_program_length_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    3932           0 : static inline ulong fd_loader_v4_program_instruction_set_program_length_size( fd_loader_v4_program_instruction_set_program_length_t const * self ) { (void)self; return 4UL; }
    3933           0 : static inline ulong fd_loader_v4_program_instruction_set_program_length_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_SET_PROGRAM_LENGTH_ALIGN; }
    3934           0 : static inline int fd_loader_v4_program_instruction_set_program_length_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3935           0 :   *total_sz += sizeof(fd_loader_v4_program_instruction_set_program_length_t);
    3936           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3937           0 :   return 0;
    3938           0 : }
    3939             : void * fd_loader_v4_program_instruction_set_program_length_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3940             : 
    3941             : void fd_loader_v4_program_instruction_new_disc( fd_loader_v4_program_instruction_t * self, uint discriminant );
    3942             : void fd_loader_v4_program_instruction_new( fd_loader_v4_program_instruction_t * self );
    3943             : int fd_loader_v4_program_instruction_encode( fd_loader_v4_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3944             : 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, uint varint );
    3945             : ulong fd_loader_v4_program_instruction_size( fd_loader_v4_program_instruction_t const * self );
    3946           0 : static inline ulong fd_loader_v4_program_instruction_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN; }
    3947             : int fd_loader_v4_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3948             : void * fd_loader_v4_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3949             : 
    3950             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_write( fd_loader_v4_program_instruction_t const * self );
    3951             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_copy( fd_loader_v4_program_instruction_t const * self );
    3952             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_set_program_length( fd_loader_v4_program_instruction_t const * self );
    3953             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_deploy( fd_loader_v4_program_instruction_t const * self );
    3954             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_retract( fd_loader_v4_program_instruction_t const * self );
    3955             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_transfer_authority( fd_loader_v4_program_instruction_t const * self );
    3956             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_finalize( fd_loader_v4_program_instruction_t const * self );
    3957             : enum {
    3958             : fd_loader_v4_program_instruction_enum_write = 0,
    3959             : fd_loader_v4_program_instruction_enum_copy = 1,
    3960             : fd_loader_v4_program_instruction_enum_set_program_length = 2,
    3961             : fd_loader_v4_program_instruction_enum_deploy = 3,
    3962             : fd_loader_v4_program_instruction_enum_retract = 4,
    3963             : fd_loader_v4_program_instruction_enum_transfer_authority = 5,
    3964             : fd_loader_v4_program_instruction_enum_finalize = 6,
    3965             : };
    3966             : void fd_bpf_upgradeable_loader_program_instruction_write_new( fd_bpf_upgradeable_loader_program_instruction_write_t * self );
    3967             : 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 );
    3968             : 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, uint varint );
    3969             : ulong fd_bpf_upgradeable_loader_program_instruction_write_size( fd_bpf_upgradeable_loader_program_instruction_write_t const * self );
    3970           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_write_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    3971             : int fd_bpf_upgradeable_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3972             : void * fd_bpf_upgradeable_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3973             : 
    3974           0 : static inline 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 ) { fd_memset( self, 0, sizeof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t) ); }
    3975             : 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 );
    3976             : 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, uint varint );
    3977           0 : static inline 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 ) { (void)self; return 8UL; }
    3978           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_DEPLOY_WITH_MAX_DATA_LEN_ALIGN; }
    3979           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3980           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t);
    3981           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3982           0 :   return 0;
    3983           0 : }
    3984             : void * fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3985             : 
    3986           0 : static inline void fd_bpf_upgradeable_loader_program_instruction_extend_program_new( fd_bpf_upgradeable_loader_program_instruction_extend_program_t * self ) { fd_memset( self, 0, sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t) ); }
    3987             : 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 );
    3988             : 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, uint varint );
    3989           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_size( fd_bpf_upgradeable_loader_program_instruction_extend_program_t const * self ) { (void)self; return 4UL; }
    3990           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN; }
    3991           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3992           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t);
    3993           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3994           0 :   return 0;
    3995           0 : }
    3996             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3997             : 
    3998           0 : static inline void fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_new( fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t * self ) { fd_memset( self, 0, sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t) ); }
    3999             : int fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_encode( fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t const * self, fd_bincode_encode_ctx_t * ctx );
    4000             : void fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_walk( void * w, fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4001           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_size( fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t const * self ) { (void)self; return 4UL; }
    4002           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_CHECKED_ALIGN; }
    4003           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4004           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t);
    4005           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4006           0 :   return 0;
    4007           0 : }
    4008             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4009             : 
    4010             : void fd_bpf_upgradeable_loader_program_instruction_new_disc( fd_bpf_upgradeable_loader_program_instruction_t * self, uint discriminant );
    4011             : void fd_bpf_upgradeable_loader_program_instruction_new( fd_bpf_upgradeable_loader_program_instruction_t * self );
    4012             : int fd_bpf_upgradeable_loader_program_instruction_encode( fd_bpf_upgradeable_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    4013             : 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, uint varint );
    4014             : ulong fd_bpf_upgradeable_loader_program_instruction_size( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4015           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN; }
    4016             : int fd_bpf_upgradeable_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4017             : void * fd_bpf_upgradeable_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4018             : 
    4019             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_initialize_buffer( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4020             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_write( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4021             : 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 );
    4022             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_upgrade( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4023             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4024             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_close( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4025             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4026             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4027             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_migrate( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4028             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    4029             : enum {
    4030             : fd_bpf_upgradeable_loader_program_instruction_enum_initialize_buffer = 0,
    4031             : fd_bpf_upgradeable_loader_program_instruction_enum_write = 1,
    4032             : fd_bpf_upgradeable_loader_program_instruction_enum_deploy_with_max_data_len = 2,
    4033             : fd_bpf_upgradeable_loader_program_instruction_enum_upgrade = 3,
    4034             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority = 4,
    4035             : fd_bpf_upgradeable_loader_program_instruction_enum_close = 5,
    4036             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program = 6,
    4037             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority_checked = 7,
    4038             : fd_bpf_upgradeable_loader_program_instruction_enum_migrate = 8,
    4039             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program_checked = 9,
    4040             : };
    4041             : void fd_bpf_upgradeable_loader_state_buffer_new( fd_bpf_upgradeable_loader_state_buffer_t * self );
    4042             : int fd_bpf_upgradeable_loader_state_buffer_encode( fd_bpf_upgradeable_loader_state_buffer_t const * self, fd_bincode_encode_ctx_t * ctx );
    4043             : 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, uint varint );
    4044             : ulong fd_bpf_upgradeable_loader_state_buffer_size( fd_bpf_upgradeable_loader_state_buffer_t const * self );
    4045           0 : static inline ulong fd_bpf_upgradeable_loader_state_buffer_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN; }
    4046             : int fd_bpf_upgradeable_loader_state_buffer_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4047             : void * fd_bpf_upgradeable_loader_state_buffer_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4048             : 
    4049           0 : static inline void fd_bpf_upgradeable_loader_state_program_new( fd_bpf_upgradeable_loader_state_program_t * self ) { fd_memset( self, 0, sizeof(fd_bpf_upgradeable_loader_state_program_t) ); }
    4050             : int fd_bpf_upgradeable_loader_state_program_encode( fd_bpf_upgradeable_loader_state_program_t const * self, fd_bincode_encode_ctx_t * ctx );
    4051             : 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, uint varint );
    4052           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_size( fd_bpf_upgradeable_loader_state_program_t const * self ) { (void)self; return 32UL; }
    4053           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN; }
    4054           0 : static inline int fd_bpf_upgradeable_loader_state_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4055           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_state_program_t);
    4056           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4057           0 :   return 0;
    4058           0 : }
    4059             : void * fd_bpf_upgradeable_loader_state_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4060             : 
    4061             : void fd_bpf_upgradeable_loader_state_program_data_new( fd_bpf_upgradeable_loader_state_program_data_t * self );
    4062             : 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 );
    4063             : 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, uint varint );
    4064             : ulong fd_bpf_upgradeable_loader_state_program_data_size( fd_bpf_upgradeable_loader_state_program_data_t const * self );
    4065           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_data_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN; }
    4066             : int fd_bpf_upgradeable_loader_state_program_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4067             : void * fd_bpf_upgradeable_loader_state_program_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4068             : 
    4069             : void fd_bpf_upgradeable_loader_state_new_disc( fd_bpf_upgradeable_loader_state_t * self, uint discriminant );
    4070             : void fd_bpf_upgradeable_loader_state_new( fd_bpf_upgradeable_loader_state_t * self );
    4071             : int fd_bpf_upgradeable_loader_state_encode( fd_bpf_upgradeable_loader_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    4072             : 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, uint varint );
    4073             : ulong fd_bpf_upgradeable_loader_state_size( fd_bpf_upgradeable_loader_state_t const * self );
    4074           0 : static inline ulong fd_bpf_upgradeable_loader_state_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN; }
    4075             : int fd_bpf_upgradeable_loader_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4076             : void * fd_bpf_upgradeable_loader_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4077             : 
    4078             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_uninitialized( fd_bpf_upgradeable_loader_state_t const * self );
    4079             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_buffer( fd_bpf_upgradeable_loader_state_t const * self );
    4080             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program( fd_bpf_upgradeable_loader_state_t const * self );
    4081             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program_data( fd_bpf_upgradeable_loader_state_t const * self );
    4082             : enum {
    4083             : fd_bpf_upgradeable_loader_state_enum_uninitialized = 0,
    4084             : fd_bpf_upgradeable_loader_state_enum_buffer = 1,
    4085             : fd_bpf_upgradeable_loader_state_enum_program = 2,
    4086             : fd_bpf_upgradeable_loader_state_enum_program_data = 3,
    4087             : };
    4088           0 : static inline void fd_loader_v4_state_new( fd_loader_v4_state_t * self ) { fd_memset( self, 0, sizeof(fd_loader_v4_state_t) ); }
    4089             : int fd_loader_v4_state_encode( fd_loader_v4_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    4090             : 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, uint varint );
    4091           0 : static inline ulong fd_loader_v4_state_size( fd_loader_v4_state_t const * self ) { (void)self; return 48UL; }
    4092           0 : static inline ulong fd_loader_v4_state_align( void ) { return FD_LOADER_V4_STATE_ALIGN; }
    4093           0 : static inline int fd_loader_v4_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4094           0 :   *total_sz += sizeof(fd_loader_v4_state_t);
    4095           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4096           0 :   return 0;
    4097           0 : }
    4098             : void * fd_loader_v4_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4099             : 
    4100             : void fd_frozen_hash_status_new( fd_frozen_hash_status_t * self );
    4101             : int fd_frozen_hash_status_encode( fd_frozen_hash_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    4102             : 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, uint varint );
    4103           0 : static inline ulong fd_frozen_hash_status_size( fd_frozen_hash_status_t const * self ) { (void)self; return 33UL; }
    4104           0 : static inline ulong fd_frozen_hash_status_align( void ) { return FD_FROZEN_HASH_STATUS_ALIGN; }
    4105             : int fd_frozen_hash_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4106             : void * fd_frozen_hash_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4107             : 
    4108             : void fd_frozen_hash_versioned_new_disc( fd_frozen_hash_versioned_t * self, uint discriminant );
    4109             : void fd_frozen_hash_versioned_new( fd_frozen_hash_versioned_t * self );
    4110             : int fd_frozen_hash_versioned_encode( fd_frozen_hash_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    4111             : 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, uint varint );
    4112             : ulong fd_frozen_hash_versioned_size( fd_frozen_hash_versioned_t const * self );
    4113           0 : static inline ulong fd_frozen_hash_versioned_align( void ) { return FD_FROZEN_HASH_VERSIONED_ALIGN; }
    4114             : int fd_frozen_hash_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4115             : void * fd_frozen_hash_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4116             : 
    4117             : FD_FN_PURE uchar fd_frozen_hash_versioned_is_current( fd_frozen_hash_versioned_t const * self );
    4118             : enum {
    4119             : fd_frozen_hash_versioned_enum_current = 0,
    4120             : };
    4121             : void fd_lookup_table_meta_new( fd_lookup_table_meta_t * self );
    4122             : int fd_lookup_table_meta_encode( fd_lookup_table_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    4123             : 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, uint varint );
    4124             : ulong fd_lookup_table_meta_size( fd_lookup_table_meta_t const * self );
    4125           0 : static inline ulong fd_lookup_table_meta_align( void ) { return FD_LOOKUP_TABLE_META_ALIGN; }
    4126             : int fd_lookup_table_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4127             : void * fd_lookup_table_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4128             : 
    4129             : void fd_address_lookup_table_new( fd_address_lookup_table_t * self );
    4130             : int fd_address_lookup_table_encode( fd_address_lookup_table_t const * self, fd_bincode_encode_ctx_t * ctx );
    4131             : 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, uint varint );
    4132             : ulong fd_address_lookup_table_size( fd_address_lookup_table_t const * self );
    4133           0 : static inline ulong fd_address_lookup_table_align( void ) { return FD_ADDRESS_LOOKUP_TABLE_ALIGN; }
    4134             : int fd_address_lookup_table_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4135             : void * fd_address_lookup_table_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4136             : 
    4137             : void fd_address_lookup_table_state_new_disc( fd_address_lookup_table_state_t * self, uint discriminant );
    4138             : void fd_address_lookup_table_state_new( fd_address_lookup_table_state_t * self );
    4139             : int fd_address_lookup_table_state_encode( fd_address_lookup_table_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    4140             : 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, uint varint );
    4141             : ulong fd_address_lookup_table_state_size( fd_address_lookup_table_state_t const * self );
    4142           0 : static inline ulong fd_address_lookup_table_state_align( void ) { return FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN; }
    4143             : int fd_address_lookup_table_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4144             : void * fd_address_lookup_table_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4145             : 
    4146             : FD_FN_PURE uchar fd_address_lookup_table_state_is_uninitialized( fd_address_lookup_table_state_t const * self );
    4147             : FD_FN_PURE uchar fd_address_lookup_table_state_is_lookup_table( fd_address_lookup_table_state_t const * self );
    4148             : enum {
    4149             : fd_address_lookup_table_state_enum_uninitialized = 0,
    4150             : fd_address_lookup_table_state_enum_lookup_table = 1,
    4151             : };
    4152           0 : static inline void fd_gossip_ping_new( fd_gossip_ping_t * self ) { fd_memset( self, 0, sizeof(fd_gossip_ping_t) ); }
    4153             : int fd_gossip_ping_encode( fd_gossip_ping_t const * self, fd_bincode_encode_ctx_t * ctx );
    4154             : void fd_gossip_ping_walk( void * w, fd_gossip_ping_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4155           0 : static inline ulong fd_gossip_ping_size( fd_gossip_ping_t const * self ) { (void)self; return 128UL; }
    4156           0 : static inline ulong fd_gossip_ping_align( void ) { return FD_GOSSIP_PING_ALIGN; }
    4157           0 : static inline int fd_gossip_ping_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4158           0 :   *total_sz += sizeof(fd_gossip_ping_t);
    4159           0 :   if( (ulong)ctx->data + 128UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4160           0 :   return 0;
    4161           0 : }
    4162             : void * fd_gossip_ping_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4163             : 
    4164             : void fd_gossip_ip_addr_new_disc( fd_gossip_ip_addr_t * self, uint discriminant );
    4165             : void fd_gossip_ip_addr_new( fd_gossip_ip_addr_t * self );
    4166             : int fd_gossip_ip_addr_encode( fd_gossip_ip_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    4167             : 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, uint varint );
    4168             : ulong fd_gossip_ip_addr_size( fd_gossip_ip_addr_t const * self );
    4169           0 : static inline ulong fd_gossip_ip_addr_align( void ) { return FD_GOSSIP_IP_ADDR_ALIGN; }
    4170             : int fd_gossip_ip_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4171             : void * fd_gossip_ip_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4172             : 
    4173             : FD_FN_PURE uchar fd_gossip_ip_addr_is_ip4( fd_gossip_ip_addr_t const * self );
    4174             : FD_FN_PURE uchar fd_gossip_ip_addr_is_ip6( fd_gossip_ip_addr_t const * self );
    4175             : enum {
    4176             : fd_gossip_ip_addr_enum_ip4 = 0,
    4177             : fd_gossip_ip_addr_enum_ip6 = 1,
    4178             : };
    4179             : void fd_gossip_prune_data_new( fd_gossip_prune_data_t * self );
    4180             : int fd_gossip_prune_data_encode( fd_gossip_prune_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    4181             : 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, uint varint );
    4182             : ulong fd_gossip_prune_data_size( fd_gossip_prune_data_t const * self );
    4183           0 : static inline ulong fd_gossip_prune_data_align( void ) { return FD_GOSSIP_PRUNE_DATA_ALIGN; }
    4184             : int fd_gossip_prune_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4185             : void * fd_gossip_prune_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4186             : 
    4187             : void fd_gossip_prune_sign_data_new( fd_gossip_prune_sign_data_t * self );
    4188             : int fd_gossip_prune_sign_data_encode( fd_gossip_prune_sign_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    4189             : 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, uint varint );
    4190             : ulong fd_gossip_prune_sign_data_size( fd_gossip_prune_sign_data_t const * self );
    4191           0 : static inline ulong fd_gossip_prune_sign_data_align( void ) { return FD_GOSSIP_PRUNE_SIGN_DATA_ALIGN; }
    4192             : int fd_gossip_prune_sign_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4193             : void * fd_gossip_prune_sign_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4194             : 
    4195             : void fd_gossip_prune_sign_data_with_prefix_new( fd_gossip_prune_sign_data_with_prefix_t * self );
    4196             : 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 );
    4197             : 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, uint varint );
    4198             : ulong fd_gossip_prune_sign_data_with_prefix_size( fd_gossip_prune_sign_data_with_prefix_t const * self );
    4199           0 : static inline ulong fd_gossip_prune_sign_data_with_prefix_align( void ) { return FD_GOSSIP_PRUNE_SIGN_DATA_WITH_PREFIX_ALIGN; }
    4200             : int fd_gossip_prune_sign_data_with_prefix_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4201             : void * fd_gossip_prune_sign_data_with_prefix_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4202             : 
    4203             : void fd_gossip_socket_addr_old_new( fd_gossip_socket_addr_old_t * self );
    4204             : int fd_gossip_socket_addr_old_encode( fd_gossip_socket_addr_old_t const * self, fd_bincode_encode_ctx_t * ctx );
    4205             : 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, uint varint );
    4206             : ulong fd_gossip_socket_addr_old_size( fd_gossip_socket_addr_old_t const * self );
    4207           0 : static inline ulong fd_gossip_socket_addr_old_align( void ) { return FD_GOSSIP_SOCKET_ADDR_OLD_ALIGN; }
    4208             : int fd_gossip_socket_addr_old_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4209             : void * fd_gossip_socket_addr_old_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4210             : 
    4211             : void fd_gossip_socket_addr_ip4_new( fd_gossip_socket_addr_ip4_t * self );
    4212             : int fd_gossip_socket_addr_ip4_encode( fd_gossip_socket_addr_ip4_t const * self, fd_bincode_encode_ctx_t * ctx );
    4213             : 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, uint varint );
    4214             : ulong fd_gossip_socket_addr_ip4_size( fd_gossip_socket_addr_ip4_t const * self );
    4215           0 : static inline ulong fd_gossip_socket_addr_ip4_align( void ) { return FD_GOSSIP_SOCKET_ADDR_IP4_ALIGN; }
    4216             : int fd_gossip_socket_addr_ip4_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4217             : void * fd_gossip_socket_addr_ip4_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4218             : 
    4219             : void fd_gossip_socket_addr_ip6_new( fd_gossip_socket_addr_ip6_t * self );
    4220             : int fd_gossip_socket_addr_ip6_encode( fd_gossip_socket_addr_ip6_t const * self, fd_bincode_encode_ctx_t * ctx );
    4221             : 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, uint varint );
    4222           0 : static inline ulong fd_gossip_socket_addr_ip6_size( fd_gossip_socket_addr_ip6_t const * self ) { (void)self; return 18UL; }
    4223           0 : static inline ulong fd_gossip_socket_addr_ip6_align( void ) { return FD_GOSSIP_SOCKET_ADDR_IP6_ALIGN; }
    4224             : int fd_gossip_socket_addr_ip6_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4225             : void * fd_gossip_socket_addr_ip6_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4226             : 
    4227             : void fd_gossip_socket_addr_new_disc( fd_gossip_socket_addr_t * self, uint discriminant );
    4228             : void fd_gossip_socket_addr_new( fd_gossip_socket_addr_t * self );
    4229             : int fd_gossip_socket_addr_encode( fd_gossip_socket_addr_t const * self, fd_bincode_encode_ctx_t * ctx );
    4230             : 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, uint varint );
    4231             : ulong fd_gossip_socket_addr_size( fd_gossip_socket_addr_t const * self );
    4232           0 : static inline ulong fd_gossip_socket_addr_align( void ) { return FD_GOSSIP_SOCKET_ADDR_ALIGN; }
    4233             : int fd_gossip_socket_addr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4234             : void * fd_gossip_socket_addr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4235             : 
    4236             : FD_FN_PURE uchar fd_gossip_socket_addr_is_ip4( fd_gossip_socket_addr_t const * self );
    4237             : FD_FN_PURE uchar fd_gossip_socket_addr_is_ip6( fd_gossip_socket_addr_t const * self );
    4238             : enum {
    4239             : fd_gossip_socket_addr_enum_ip4 = 0,
    4240             : fd_gossip_socket_addr_enum_ip6 = 1,
    4241             : };
    4242             : void fd_gossip_contact_info_v1_new( fd_gossip_contact_info_v1_t * self );
    4243             : int fd_gossip_contact_info_v1_encode( fd_gossip_contact_info_v1_t const * self, fd_bincode_encode_ctx_t * ctx );
    4244             : 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, uint varint );
    4245             : ulong fd_gossip_contact_info_v1_size( fd_gossip_contact_info_v1_t const * self );
    4246           0 : static inline ulong fd_gossip_contact_info_v1_align( void ) { return FD_GOSSIP_CONTACT_INFO_V1_ALIGN; }
    4247             : int fd_gossip_contact_info_v1_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4248             : void * fd_gossip_contact_info_v1_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4249             : 
    4250             : void fd_gossip_vote_old_new( fd_gossip_vote_old_t * self );
    4251             : int fd_gossip_vote_old_encode( fd_gossip_vote_old_t const * self, fd_bincode_encode_ctx_t * ctx );
    4252             : void fd_gossip_vote_old_walk( void * w, fd_gossip_vote_old_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4253             : ulong fd_gossip_vote_old_size( fd_gossip_vote_old_t const * self );
    4254           0 : static inline ulong fd_gossip_vote_old_align( void ) { return FD_GOSSIP_VOTE_OLD_ALIGN; }
    4255             : int fd_gossip_vote_old_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4256             : void * fd_gossip_vote_old_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4257             : 
    4258           0 : static inline void fd_gossip_deprecated_compression_type_new_disc( fd_gossip_deprecated_compression_type_t * self, uint discriminant ) { self->discriminant = discriminant; }
    4259           0 : static inline void fd_gossip_deprecated_compression_type_new( fd_gossip_deprecated_compression_type_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    4260             : int fd_gossip_deprecated_compression_type_encode( fd_gossip_deprecated_compression_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    4261             : void fd_gossip_deprecated_compression_type_walk( void * w, fd_gossip_deprecated_compression_type_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4262             : ulong fd_gossip_deprecated_compression_type_size( fd_gossip_deprecated_compression_type_t const * self );
    4263           0 : static inline ulong fd_gossip_deprecated_compression_type_align( void ) { return FD_GOSSIP_DEPRECATED_COMPRESSION_TYPE_ALIGN; }
    4264             : int fd_gossip_deprecated_compression_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4265             : void * fd_gossip_deprecated_compression_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4266             : 
    4267             : FD_FN_PURE uchar fd_gossip_deprecated_compression_type_is_Uncompressed( fd_gossip_deprecated_compression_type_t const * self );
    4268             : FD_FN_PURE uchar fd_gossip_deprecated_compression_type_is_GZip( fd_gossip_deprecated_compression_type_t const * self );
    4269             : FD_FN_PURE uchar fd_gossip_deprecated_compression_type_is_BZip2( fd_gossip_deprecated_compression_type_t const * self );
    4270             : enum {
    4271             : fd_gossip_deprecated_compression_type_enum_Uncompressed = 0,
    4272             : fd_gossip_deprecated_compression_type_enum_GZip = 1,
    4273             : fd_gossip_deprecated_compression_type_enum_BZip2 = 2,
    4274             : };
    4275             : void fd_gossip_deprecated_epoch_incomplete_slots_new( fd_gossip_deprecated_epoch_incomplete_slots_t * self );
    4276             : int fd_gossip_deprecated_epoch_incomplete_slots_encode( fd_gossip_deprecated_epoch_incomplete_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    4277             : void fd_gossip_deprecated_epoch_incomplete_slots_walk( void * w, fd_gossip_deprecated_epoch_incomplete_slots_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4278             : ulong fd_gossip_deprecated_epoch_incomplete_slots_size( fd_gossip_deprecated_epoch_incomplete_slots_t const * self );
    4279           0 : static inline ulong fd_gossip_deprecated_epoch_incomplete_slots_align( void ) { return FD_GOSSIP_DEPRECATED_EPOCH_INCOMPLETE_SLOTS_ALIGN; }
    4280             : int fd_gossip_deprecated_epoch_incomplete_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4281             : void * fd_gossip_deprecated_epoch_incomplete_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4282             : 
    4283             : void fd_gossip_lowest_slot_new( fd_gossip_lowest_slot_t * self );
    4284             : int fd_gossip_lowest_slot_encode( fd_gossip_lowest_slot_t const * self, fd_bincode_encode_ctx_t * ctx );
    4285             : 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, uint varint );
    4286             : ulong fd_gossip_lowest_slot_size( fd_gossip_lowest_slot_t const * self );
    4287           0 : static inline ulong fd_gossip_lowest_slot_align( void ) { return FD_GOSSIP_LOWEST_SLOT_ALIGN; }
    4288             : int fd_gossip_lowest_slot_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4289             : void * fd_gossip_lowest_slot_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4290             : 
    4291             : void fd_gossip_slot_hashes_new( fd_gossip_slot_hashes_t * self );
    4292             : int fd_gossip_slot_hashes_encode( fd_gossip_slot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    4293             : 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, uint varint );
    4294             : ulong fd_gossip_slot_hashes_size( fd_gossip_slot_hashes_t const * self );
    4295           0 : static inline ulong fd_gossip_slot_hashes_align( void ) { return FD_GOSSIP_SLOT_HASHES_ALIGN; }
    4296             : int fd_gossip_slot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4297             : void * fd_gossip_slot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4298             : 
    4299             : void fd_gossip_slots_new( fd_gossip_slots_t * self );
    4300             : int fd_gossip_slots_encode( fd_gossip_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    4301             : void fd_gossip_slots_walk( void * w, fd_gossip_slots_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4302             : ulong fd_gossip_slots_size( fd_gossip_slots_t const * self );
    4303           0 : static inline ulong fd_gossip_slots_align( void ) { return FD_GOSSIP_SLOTS_ALIGN; }
    4304             : int fd_gossip_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4305             : void * fd_gossip_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4306             : 
    4307             : void fd_gossip_flate2_slots_new( fd_gossip_flate2_slots_t * self );
    4308             : int fd_gossip_flate2_slots_encode( fd_gossip_flate2_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    4309             : 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, uint varint );
    4310             : ulong fd_gossip_flate2_slots_size( fd_gossip_flate2_slots_t const * self );
    4311           0 : static inline ulong fd_gossip_flate2_slots_align( void ) { return FD_GOSSIP_FLATE2_SLOTS_ALIGN; }
    4312             : int fd_gossip_flate2_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4313             : void * fd_gossip_flate2_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4314             : 
    4315             : void fd_gossip_slots_enum_new_disc( fd_gossip_slots_enum_t * self, uint discriminant );
    4316             : void fd_gossip_slots_enum_new( fd_gossip_slots_enum_t * self );
    4317             : int fd_gossip_slots_enum_encode( fd_gossip_slots_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    4318             : 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, uint varint );
    4319             : ulong fd_gossip_slots_enum_size( fd_gossip_slots_enum_t const * self );
    4320           0 : static inline ulong fd_gossip_slots_enum_align( void ) { return FD_GOSSIP_SLOTS_ENUM_ALIGN; }
    4321             : int fd_gossip_slots_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4322             : void * fd_gossip_slots_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4323             : 
    4324             : FD_FN_PURE uchar fd_gossip_slots_enum_is_flate2( fd_gossip_slots_enum_t const * self );
    4325             : FD_FN_PURE uchar fd_gossip_slots_enum_is_uncompressed( fd_gossip_slots_enum_t const * self );
    4326             : enum {
    4327             : fd_gossip_slots_enum_enum_flate2 = 0,
    4328             : fd_gossip_slots_enum_enum_uncompressed = 1,
    4329             : };
    4330             : void fd_gossip_epoch_slots_new( fd_gossip_epoch_slots_t * self );
    4331             : int fd_gossip_epoch_slots_encode( fd_gossip_epoch_slots_t const * self, fd_bincode_encode_ctx_t * ctx );
    4332             : 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, uint varint );
    4333             : ulong fd_gossip_epoch_slots_size( fd_gossip_epoch_slots_t const * self );
    4334           0 : static inline ulong fd_gossip_epoch_slots_align( void ) { return FD_GOSSIP_EPOCH_SLOTS_ALIGN; }
    4335             : int fd_gossip_epoch_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4336             : void * fd_gossip_epoch_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4337             : 
    4338             : void fd_gossip_version_v1_new( fd_gossip_version_v1_t * self );
    4339             : int fd_gossip_version_v1_encode( fd_gossip_version_v1_t const * self, fd_bincode_encode_ctx_t * ctx );
    4340             : 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, uint varint );
    4341             : ulong fd_gossip_version_v1_size( fd_gossip_version_v1_t const * self );
    4342           0 : static inline ulong fd_gossip_version_v1_align( void ) { return FD_GOSSIP_VERSION_V1_ALIGN; }
    4343             : int fd_gossip_version_v1_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4344             : void * fd_gossip_version_v1_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4345             : 
    4346             : void fd_gossip_version_v2_new( fd_gossip_version_v2_t * self );
    4347             : int fd_gossip_version_v2_encode( fd_gossip_version_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    4348             : 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, uint varint );
    4349             : ulong fd_gossip_version_v2_size( fd_gossip_version_v2_t const * self );
    4350           0 : static inline ulong fd_gossip_version_v2_align( void ) { return FD_GOSSIP_VERSION_V2_ALIGN; }
    4351             : int fd_gossip_version_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4352             : void * fd_gossip_version_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4353             : 
    4354             : void fd_gossip_version_v3_new( fd_gossip_version_v3_t * self );
    4355             : int fd_gossip_version_v3_encode( fd_gossip_version_v3_t const * self, fd_bincode_encode_ctx_t * ctx );
    4356             : 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, uint varint );
    4357             : ulong fd_gossip_version_v3_size( fd_gossip_version_v3_t const * self );
    4358           0 : static inline ulong fd_gossip_version_v3_align( void ) { return FD_GOSSIP_VERSION_V3_ALIGN; }
    4359             : int fd_gossip_version_v3_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4360             : void * fd_gossip_version_v3_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4361             : 
    4362           0 : static inline void fd_gossip_node_instance_new( fd_gossip_node_instance_t * self ) { fd_memset( self, 0, sizeof(fd_gossip_node_instance_t) ); }
    4363             : int fd_gossip_node_instance_encode( fd_gossip_node_instance_t const * self, fd_bincode_encode_ctx_t * ctx );
    4364             : 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, uint varint );
    4365           0 : static inline ulong fd_gossip_node_instance_size( fd_gossip_node_instance_t const * self ) { (void)self; return 56UL; }
    4366           0 : static inline ulong fd_gossip_node_instance_align( void ) { return FD_GOSSIP_NODE_INSTANCE_ALIGN; }
    4367           0 : static inline int fd_gossip_node_instance_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4368           0 :   *total_sz += sizeof(fd_gossip_node_instance_t);
    4369           0 :   if( (ulong)ctx->data + 56UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4370           0 :   return 0;
    4371           0 : }
    4372             : void * fd_gossip_node_instance_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4373             : 
    4374             : void fd_gossip_duplicate_shred_old_new( fd_gossip_duplicate_shred_old_t * self );
    4375             : int fd_gossip_duplicate_shred_old_encode( fd_gossip_duplicate_shred_old_t const * self, fd_bincode_encode_ctx_t * ctx );
    4376             : void fd_gossip_duplicate_shred_old_walk( void * w, fd_gossip_duplicate_shred_old_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4377             : ulong fd_gossip_duplicate_shred_old_size( fd_gossip_duplicate_shred_old_t const * self );
    4378           0 : static inline ulong fd_gossip_duplicate_shred_old_align( void ) { return FD_GOSSIP_DUPLICATE_SHRED_OLD_ALIGN; }
    4379             : int fd_gossip_duplicate_shred_old_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4380             : void * fd_gossip_duplicate_shred_old_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4381             : 
    4382             : void fd_gossip_incremental_snapshot_hashes_new( fd_gossip_incremental_snapshot_hashes_t * self );
    4383             : int fd_gossip_incremental_snapshot_hashes_encode( fd_gossip_incremental_snapshot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    4384             : 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, uint varint );
    4385             : ulong fd_gossip_incremental_snapshot_hashes_size( fd_gossip_incremental_snapshot_hashes_t const * self );
    4386           0 : static inline ulong fd_gossip_incremental_snapshot_hashes_align( void ) { return FD_GOSSIP_INCREMENTAL_SNAPSHOT_HASHES_ALIGN; }
    4387             : int fd_gossip_incremental_snapshot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4388             : void * fd_gossip_incremental_snapshot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4389             : 
    4390             : void fd_gossip_socket_entry_new( fd_gossip_socket_entry_t * self );
    4391             : int fd_gossip_socket_entry_encode( fd_gossip_socket_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    4392             : 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, uint varint );
    4393             : ulong fd_gossip_socket_entry_size( fd_gossip_socket_entry_t const * self );
    4394           0 : static inline ulong fd_gossip_socket_entry_align( void ) { return FD_GOSSIP_SOCKET_ENTRY_ALIGN; }
    4395             : int fd_gossip_socket_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4396             : void * fd_gossip_socket_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4397             : 
    4398             : void fd_gossip_contact_info_v2_new( fd_gossip_contact_info_v2_t * self );
    4399             : int fd_gossip_contact_info_v2_encode( fd_gossip_contact_info_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    4400             : 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, uint varint );
    4401             : ulong fd_gossip_contact_info_v2_size( fd_gossip_contact_info_v2_t const * self );
    4402           0 : static inline ulong fd_gossip_contact_info_v2_align( void ) { return FD_GOSSIP_CONTACT_INFO_V2_ALIGN; }
    4403             : int fd_gossip_contact_info_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4404             : void * fd_gossip_contact_info_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4405             : 
    4406             : void fd_restart_run_length_encoding_inner_new( fd_restart_run_length_encoding_inner_t * self );
    4407             : int fd_restart_run_length_encoding_inner_encode( fd_restart_run_length_encoding_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    4408             : 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, uint varint );
    4409             : ulong fd_restart_run_length_encoding_inner_size( fd_restart_run_length_encoding_inner_t const * self );
    4410           0 : static inline ulong fd_restart_run_length_encoding_inner_align( void ) { return FD_RESTART_RUN_LENGTH_ENCODING_INNER_ALIGN; }
    4411             : int fd_restart_run_length_encoding_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4412             : void * fd_restart_run_length_encoding_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4413             : 
    4414             : void fd_restart_run_length_encoding_new( fd_restart_run_length_encoding_t * self );
    4415             : int fd_restart_run_length_encoding_encode( fd_restart_run_length_encoding_t const * self, fd_bincode_encode_ctx_t * ctx );
    4416             : 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, uint varint );
    4417             : ulong fd_restart_run_length_encoding_size( fd_restart_run_length_encoding_t const * self );
    4418           0 : static inline ulong fd_restart_run_length_encoding_align( void ) { return FD_RESTART_RUN_LENGTH_ENCODING_ALIGN; }
    4419             : int fd_restart_run_length_encoding_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4420             : void * fd_restart_run_length_encoding_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4421             : 
    4422             : void fd_restart_raw_offsets_new( fd_restart_raw_offsets_t * self );
    4423             : int fd_restart_raw_offsets_encode( fd_restart_raw_offsets_t const * self, fd_bincode_encode_ctx_t * ctx );
    4424             : 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, uint varint );
    4425             : ulong fd_restart_raw_offsets_size( fd_restart_raw_offsets_t const * self );
    4426           0 : static inline ulong fd_restart_raw_offsets_align( void ) { return FD_RESTART_RAW_OFFSETS_ALIGN; }
    4427             : int fd_restart_raw_offsets_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4428             : void * fd_restart_raw_offsets_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4429             : 
    4430             : void fd_restart_slots_offsets_new_disc( fd_restart_slots_offsets_t * self, uint discriminant );
    4431             : void fd_restart_slots_offsets_new( fd_restart_slots_offsets_t * self );
    4432             : int fd_restart_slots_offsets_encode( fd_restart_slots_offsets_t const * self, fd_bincode_encode_ctx_t * ctx );
    4433             : 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, uint varint );
    4434             : ulong fd_restart_slots_offsets_size( fd_restart_slots_offsets_t const * self );
    4435           0 : static inline ulong fd_restart_slots_offsets_align( void ) { return FD_RESTART_SLOTS_OFFSETS_ALIGN; }
    4436             : int fd_restart_slots_offsets_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4437             : void * fd_restart_slots_offsets_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4438             : 
    4439             : FD_FN_PURE uchar fd_restart_slots_offsets_is_run_length_encoding( fd_restart_slots_offsets_t const * self );
    4440             : FD_FN_PURE uchar fd_restart_slots_offsets_is_raw_offsets( fd_restart_slots_offsets_t const * self );
    4441             : enum {
    4442             : fd_restart_slots_offsets_enum_run_length_encoding = 0,
    4443             : fd_restart_slots_offsets_enum_raw_offsets = 1,
    4444             : };
    4445             : void fd_gossip_restart_last_voted_fork_slots_new( fd_gossip_restart_last_voted_fork_slots_t * self );
    4446             : 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 );
    4447             : 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, uint varint );
    4448             : ulong fd_gossip_restart_last_voted_fork_slots_size( fd_gossip_restart_last_voted_fork_slots_t const * self );
    4449           0 : static inline ulong fd_gossip_restart_last_voted_fork_slots_align( void ) { return FD_GOSSIP_RESTART_LAST_VOTED_FORK_SLOTS_ALIGN; }
    4450             : int fd_gossip_restart_last_voted_fork_slots_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4451             : void * fd_gossip_restart_last_voted_fork_slots_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4452             : 
    4453           0 : static inline void fd_gossip_restart_heaviest_fork_new( fd_gossip_restart_heaviest_fork_t * self ) { fd_memset( self, 0, sizeof(fd_gossip_restart_heaviest_fork_t) ); }
    4454             : int fd_gossip_restart_heaviest_fork_encode( fd_gossip_restart_heaviest_fork_t const * self, fd_bincode_encode_ctx_t * ctx );
    4455             : 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, uint varint );
    4456           0 : static inline ulong fd_gossip_restart_heaviest_fork_size( fd_gossip_restart_heaviest_fork_t const * self ) { (void)self; return 90UL; }
    4457           0 : static inline ulong fd_gossip_restart_heaviest_fork_align( void ) { return FD_GOSSIP_RESTART_HEAVIEST_FORK_ALIGN; }
    4458           0 : static inline int fd_gossip_restart_heaviest_fork_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4459           0 :   *total_sz += sizeof(fd_gossip_restart_heaviest_fork_t);
    4460           0 :   if( (ulong)ctx->data + 90UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4461           0 :   return 0;
    4462           0 : }
    4463             : void * fd_gossip_restart_heaviest_fork_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4464             : 
    4465             : void fd_crds_data_new_disc( fd_crds_data_t * self, uint discriminant );
    4466             : void fd_crds_data_new( fd_crds_data_t * self );
    4467             : int fd_crds_data_encode( fd_crds_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    4468             : void fd_crds_data_walk( void * w, fd_crds_data_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4469             : ulong fd_crds_data_size( fd_crds_data_t const * self );
    4470           0 : static inline ulong fd_crds_data_align( void ) { return FD_CRDS_DATA_ALIGN; }
    4471             : int fd_crds_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4472             : void * fd_crds_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4473             : 
    4474             : FD_FN_PURE uchar fd_crds_data_is_contact_info_v1( fd_crds_data_t const * self );
    4475             : FD_FN_PURE uchar fd_crds_data_is_vote( fd_crds_data_t const * self );
    4476             : FD_FN_PURE uchar fd_crds_data_is_lowest_slot( fd_crds_data_t const * self );
    4477             : FD_FN_PURE uchar fd_crds_data_is_snapshot_hashes( fd_crds_data_t const * self );
    4478             : FD_FN_PURE uchar fd_crds_data_is_accounts_hashes( fd_crds_data_t const * self );
    4479             : FD_FN_PURE uchar fd_crds_data_is_epoch_slots( fd_crds_data_t const * self );
    4480             : FD_FN_PURE uchar fd_crds_data_is_version_v1( fd_crds_data_t const * self );
    4481             : FD_FN_PURE uchar fd_crds_data_is_version_v2( fd_crds_data_t const * self );
    4482             : FD_FN_PURE uchar fd_crds_data_is_node_instance( fd_crds_data_t const * self );
    4483             : FD_FN_PURE uchar fd_crds_data_is_duplicate_shred( fd_crds_data_t const * self );
    4484             : FD_FN_PURE uchar fd_crds_data_is_incremental_snapshot_hashes( fd_crds_data_t const * self );
    4485             : FD_FN_PURE uchar fd_crds_data_is_contact_info_v2( fd_crds_data_t const * self );
    4486             : FD_FN_PURE uchar fd_crds_data_is_restart_last_voted_fork_slots( fd_crds_data_t const * self );
    4487             : FD_FN_PURE uchar fd_crds_data_is_restart_heaviest_fork( fd_crds_data_t const * self );
    4488             : enum {
    4489             : fd_crds_data_enum_contact_info_v1 = 0,
    4490             : fd_crds_data_enum_vote = 1,
    4491             : fd_crds_data_enum_lowest_slot = 2,
    4492             : fd_crds_data_enum_snapshot_hashes = 3,
    4493             : fd_crds_data_enum_accounts_hashes = 4,
    4494             : fd_crds_data_enum_epoch_slots = 5,
    4495             : fd_crds_data_enum_version_v1 = 6,
    4496             : fd_crds_data_enum_version_v2 = 7,
    4497             : fd_crds_data_enum_node_instance = 8,
    4498             : fd_crds_data_enum_duplicate_shred = 9,
    4499             : fd_crds_data_enum_incremental_snapshot_hashes = 10,
    4500             : fd_crds_data_enum_contact_info_v2 = 11,
    4501             : fd_crds_data_enum_restart_last_voted_fork_slots = 12,
    4502             : fd_crds_data_enum_restart_heaviest_fork = 13,
    4503             : };
    4504             : void fd_crds_bloom_new( fd_crds_bloom_t * self );
    4505             : int fd_crds_bloom_encode( fd_crds_bloom_t const * self, fd_bincode_encode_ctx_t * ctx );
    4506             : void fd_crds_bloom_walk( void * w, fd_crds_bloom_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4507             : ulong fd_crds_bloom_size( fd_crds_bloom_t const * self );
    4508           0 : static inline ulong fd_crds_bloom_align( void ) { return FD_CRDS_BLOOM_ALIGN; }
    4509             : int fd_crds_bloom_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4510             : void * fd_crds_bloom_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4511             : 
    4512             : void fd_crds_filter_new( fd_crds_filter_t * self );
    4513             : int fd_crds_filter_encode( fd_crds_filter_t const * self, fd_bincode_encode_ctx_t * ctx );
    4514             : void fd_crds_filter_walk( void * w, fd_crds_filter_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4515             : ulong fd_crds_filter_size( fd_crds_filter_t const * self );
    4516           0 : static inline ulong fd_crds_filter_align( void ) { return FD_CRDS_FILTER_ALIGN; }
    4517             : int fd_crds_filter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4518             : void * fd_crds_filter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4519             : 
    4520             : void fd_crds_value_new( fd_crds_value_t * self );
    4521             : int fd_crds_value_encode( fd_crds_value_t const * self, fd_bincode_encode_ctx_t * ctx );
    4522             : void fd_crds_value_walk( void * w, fd_crds_value_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4523             : ulong fd_crds_value_size( fd_crds_value_t const * self );
    4524           0 : static inline ulong fd_crds_value_align( void ) { return FD_CRDS_VALUE_ALIGN; }
    4525             : int fd_crds_value_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4526             : void * fd_crds_value_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4527             : 
    4528             : void fd_gossip_pull_req_new( fd_gossip_pull_req_t * self );
    4529             : int fd_gossip_pull_req_encode( fd_gossip_pull_req_t const * self, fd_bincode_encode_ctx_t * ctx );
    4530             : 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, uint varint );
    4531             : ulong fd_gossip_pull_req_size( fd_gossip_pull_req_t const * self );
    4532           0 : static inline ulong fd_gossip_pull_req_align( void ) { return FD_GOSSIP_PULL_REQ_ALIGN; }
    4533             : int fd_gossip_pull_req_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4534             : void * fd_gossip_pull_req_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4535             : 
    4536             : void fd_gossip_pull_resp_new( fd_gossip_pull_resp_t * self );
    4537             : int fd_gossip_pull_resp_encode( fd_gossip_pull_resp_t const * self, fd_bincode_encode_ctx_t * ctx );
    4538             : 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, uint varint );
    4539             : ulong fd_gossip_pull_resp_size( fd_gossip_pull_resp_t const * self );
    4540           0 : static inline ulong fd_gossip_pull_resp_align( void ) { return FD_GOSSIP_PULL_RESP_ALIGN; }
    4541             : int fd_gossip_pull_resp_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4542             : void * fd_gossip_pull_resp_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4543             : 
    4544             : void fd_gossip_push_msg_new( fd_gossip_push_msg_t * self );
    4545             : int fd_gossip_push_msg_encode( fd_gossip_push_msg_t const * self, fd_bincode_encode_ctx_t * ctx );
    4546             : 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, uint varint );
    4547             : ulong fd_gossip_push_msg_size( fd_gossip_push_msg_t const * self );
    4548           0 : static inline ulong fd_gossip_push_msg_align( void ) { return FD_GOSSIP_PUSH_MSG_ALIGN; }
    4549             : int fd_gossip_push_msg_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4550             : void * fd_gossip_push_msg_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4551             : 
    4552             : void fd_gossip_prune_msg_new( fd_gossip_prune_msg_t * self );
    4553             : int fd_gossip_prune_msg_encode( fd_gossip_prune_msg_t const * self, fd_bincode_encode_ctx_t * ctx );
    4554             : 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, uint varint );
    4555             : ulong fd_gossip_prune_msg_size( fd_gossip_prune_msg_t const * self );
    4556           0 : static inline ulong fd_gossip_prune_msg_align( void ) { return FD_GOSSIP_PRUNE_MSG_ALIGN; }
    4557             : int fd_gossip_prune_msg_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4558             : void * fd_gossip_prune_msg_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4559             : 
    4560             : void fd_gossip_msg_new_disc( fd_gossip_msg_t * self, uint discriminant );
    4561             : void fd_gossip_msg_new( fd_gossip_msg_t * self );
    4562             : int fd_gossip_msg_encode( fd_gossip_msg_t const * self, fd_bincode_encode_ctx_t * ctx );
    4563             : void fd_gossip_msg_walk( void * w, fd_gossip_msg_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4564             : ulong fd_gossip_msg_size( fd_gossip_msg_t const * self );
    4565          42 : static inline ulong fd_gossip_msg_align( void ) { return FD_GOSSIP_MSG_ALIGN; }
    4566             : int fd_gossip_msg_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4567             : void * fd_gossip_msg_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4568             : 
    4569             : FD_FN_PURE uchar fd_gossip_msg_is_pull_req( fd_gossip_msg_t const * self );
    4570             : FD_FN_PURE uchar fd_gossip_msg_is_pull_resp( fd_gossip_msg_t const * self );
    4571             : FD_FN_PURE uchar fd_gossip_msg_is_push_msg( fd_gossip_msg_t const * self );
    4572             : FD_FN_PURE uchar fd_gossip_msg_is_prune_msg( fd_gossip_msg_t const * self );
    4573             : FD_FN_PURE uchar fd_gossip_msg_is_ping( fd_gossip_msg_t const * self );
    4574             : FD_FN_PURE uchar fd_gossip_msg_is_pong( fd_gossip_msg_t const * self );
    4575             : enum {
    4576             : fd_gossip_msg_enum_pull_req = 0,
    4577             : fd_gossip_msg_enum_pull_resp = 1,
    4578             : fd_gossip_msg_enum_push_msg = 2,
    4579             : fd_gossip_msg_enum_prune_msg = 3,
    4580             : fd_gossip_msg_enum_ping = 4,
    4581             : fd_gossip_msg_enum_pong = 5,
    4582             : };
    4583           0 : static inline void fd_addrlut_create_new( fd_addrlut_create_t * self ) { fd_memset( self, 0, sizeof(fd_addrlut_create_t) ); }
    4584             : int fd_addrlut_create_encode( fd_addrlut_create_t const * self, fd_bincode_encode_ctx_t * ctx );
    4585             : void fd_addrlut_create_walk( void * w, fd_addrlut_create_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4586           0 : static inline ulong fd_addrlut_create_size( fd_addrlut_create_t const * self ) { (void)self; return 9UL; }
    4587           0 : static inline ulong fd_addrlut_create_align( void ) { return FD_ADDRLUT_CREATE_ALIGN; }
    4588           0 : static inline int fd_addrlut_create_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4589           0 :   *total_sz += sizeof(fd_addrlut_create_t);
    4590           0 :   if( (ulong)ctx->data + 9UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4591           0 :   return 0;
    4592           0 : }
    4593             : void * fd_addrlut_create_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4594             : 
    4595             : void fd_addrlut_extend_new( fd_addrlut_extend_t * self );
    4596             : int fd_addrlut_extend_encode( fd_addrlut_extend_t const * self, fd_bincode_encode_ctx_t * ctx );
    4597             : void fd_addrlut_extend_walk( void * w, fd_addrlut_extend_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4598             : ulong fd_addrlut_extend_size( fd_addrlut_extend_t const * self );
    4599           0 : static inline ulong fd_addrlut_extend_align( void ) { return FD_ADDRLUT_EXTEND_ALIGN; }
    4600             : int fd_addrlut_extend_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4601             : void * fd_addrlut_extend_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4602             : 
    4603             : void fd_addrlut_instruction_new_disc( fd_addrlut_instruction_t * self, uint discriminant );
    4604             : void fd_addrlut_instruction_new( fd_addrlut_instruction_t * self );
    4605             : int fd_addrlut_instruction_encode( fd_addrlut_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    4606             : void fd_addrlut_instruction_walk( void * w, fd_addrlut_instruction_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4607             : ulong fd_addrlut_instruction_size( fd_addrlut_instruction_t const * self );
    4608           0 : static inline ulong fd_addrlut_instruction_align( void ) { return FD_ADDRLUT_INSTRUCTION_ALIGN; }
    4609             : int fd_addrlut_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4610             : void * fd_addrlut_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4611             : 
    4612             : FD_FN_PURE uchar fd_addrlut_instruction_is_create_lut( fd_addrlut_instruction_t const * self );
    4613             : FD_FN_PURE uchar fd_addrlut_instruction_is_freeze_lut( fd_addrlut_instruction_t const * self );
    4614             : FD_FN_PURE uchar fd_addrlut_instruction_is_extend_lut( fd_addrlut_instruction_t const * self );
    4615             : FD_FN_PURE uchar fd_addrlut_instruction_is_deactivate_lut( fd_addrlut_instruction_t const * self );
    4616             : FD_FN_PURE uchar fd_addrlut_instruction_is_close_lut( fd_addrlut_instruction_t const * self );
    4617             : enum {
    4618             : fd_addrlut_instruction_enum_create_lut = 0,
    4619             : fd_addrlut_instruction_enum_freeze_lut = 1,
    4620             : fd_addrlut_instruction_enum_extend_lut = 2,
    4621             : fd_addrlut_instruction_enum_deactivate_lut = 3,
    4622             : fd_addrlut_instruction_enum_close_lut = 4,
    4623             : };
    4624           0 : static inline void fd_repair_request_header_new( fd_repair_request_header_t * self ) { fd_memset( self, 0, sizeof(fd_repair_request_header_t) ); }
    4625             : int fd_repair_request_header_encode( fd_repair_request_header_t const * self, fd_bincode_encode_ctx_t * ctx );
    4626             : 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, uint varint );
    4627           0 : static inline ulong fd_repair_request_header_size( fd_repair_request_header_t const * self ) { (void)self; return 140UL; }
    4628           0 : static inline ulong fd_repair_request_header_align( void ) { return FD_REPAIR_REQUEST_HEADER_ALIGN; }
    4629           0 : static inline int fd_repair_request_header_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4630           0 :   *total_sz += sizeof(fd_repair_request_header_t);
    4631           0 :   if( (ulong)ctx->data + 140UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4632           0 :   return 0;
    4633           0 : }
    4634             : void * fd_repair_request_header_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4635             : 
    4636           0 : static inline void fd_repair_window_index_new( fd_repair_window_index_t * self ) { fd_memset( self, 0, sizeof(fd_repair_window_index_t) ); }
    4637             : int fd_repair_window_index_encode( fd_repair_window_index_t const * self, fd_bincode_encode_ctx_t * ctx );
    4638             : 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, uint varint );
    4639           0 : static inline ulong fd_repair_window_index_size( fd_repair_window_index_t const * self ) { (void)self; return 156UL; }
    4640           0 : static inline ulong fd_repair_window_index_align( void ) { return FD_REPAIR_WINDOW_INDEX_ALIGN; }
    4641           0 : static inline int fd_repair_window_index_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4642           0 :   *total_sz += sizeof(fd_repair_window_index_t);
    4643           0 :   if( (ulong)ctx->data + 156UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4644           0 :   return 0;
    4645           0 : }
    4646             : void * fd_repair_window_index_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4647             : 
    4648           0 : static inline void fd_repair_highest_window_index_new( fd_repair_highest_window_index_t * self ) { fd_memset( self, 0, sizeof(fd_repair_highest_window_index_t) ); }
    4649             : int fd_repair_highest_window_index_encode( fd_repair_highest_window_index_t const * self, fd_bincode_encode_ctx_t * ctx );
    4650             : 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, uint varint );
    4651           0 : static inline ulong fd_repair_highest_window_index_size( fd_repair_highest_window_index_t const * self ) { (void)self; return 156UL; }
    4652           0 : static inline ulong fd_repair_highest_window_index_align( void ) { return FD_REPAIR_HIGHEST_WINDOW_INDEX_ALIGN; }
    4653           0 : static inline int fd_repair_highest_window_index_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4654           0 :   *total_sz += sizeof(fd_repair_highest_window_index_t);
    4655           0 :   if( (ulong)ctx->data + 156UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4656           0 :   return 0;
    4657           0 : }
    4658             : void * fd_repair_highest_window_index_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4659             : 
    4660           0 : static inline void fd_repair_orphan_new( fd_repair_orphan_t * self ) { fd_memset( self, 0, sizeof(fd_repair_orphan_t) ); }
    4661             : int fd_repair_orphan_encode( fd_repair_orphan_t const * self, fd_bincode_encode_ctx_t * ctx );
    4662             : void fd_repair_orphan_walk( void * w, fd_repair_orphan_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4663           0 : static inline ulong fd_repair_orphan_size( fd_repair_orphan_t const * self ) { (void)self; return 148UL; }
    4664           0 : static inline ulong fd_repair_orphan_align( void ) { return FD_REPAIR_ORPHAN_ALIGN; }
    4665           0 : static inline int fd_repair_orphan_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4666           0 :   *total_sz += sizeof(fd_repair_orphan_t);
    4667           0 :   if( (ulong)ctx->data + 148UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4668           0 :   return 0;
    4669           0 : }
    4670             : void * fd_repair_orphan_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4671             : 
    4672           0 : static inline void fd_repair_ancestor_hashes_new( fd_repair_ancestor_hashes_t * self ) { fd_memset( self, 0, sizeof(fd_repair_ancestor_hashes_t) ); }
    4673             : int fd_repair_ancestor_hashes_encode( fd_repair_ancestor_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    4674             : 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, uint varint );
    4675           0 : static inline ulong fd_repair_ancestor_hashes_size( fd_repair_ancestor_hashes_t const * self ) { (void)self; return 148UL; }
    4676           0 : static inline ulong fd_repair_ancestor_hashes_align( void ) { return FD_REPAIR_ANCESTOR_HASHES_ALIGN; }
    4677           0 : static inline int fd_repair_ancestor_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4678           0 :   *total_sz += sizeof(fd_repair_ancestor_hashes_t);
    4679           0 :   if( (ulong)ctx->data + 148UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4680           0 :   return 0;
    4681           0 : }
    4682             : void * fd_repair_ancestor_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4683             : 
    4684             : void fd_repair_protocol_new_disc( fd_repair_protocol_t * self, uint discriminant );
    4685             : void fd_repair_protocol_new( fd_repair_protocol_t * self );
    4686             : int fd_repair_protocol_encode( fd_repair_protocol_t const * self, fd_bincode_encode_ctx_t * ctx );
    4687             : void fd_repair_protocol_walk( void * w, fd_repair_protocol_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4688             : ulong fd_repair_protocol_size( fd_repair_protocol_t const * self );
    4689          18 : static inline ulong fd_repair_protocol_align( void ) { return FD_REPAIR_PROTOCOL_ALIGN; }
    4690             : int fd_repair_protocol_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4691             : void * fd_repair_protocol_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4692             : 
    4693             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyWindowIndex( fd_repair_protocol_t const * self );
    4694             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyHighestWindowIndex( fd_repair_protocol_t const * self );
    4695             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyOrphan( fd_repair_protocol_t const * self );
    4696             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyWindowIndexWithNonce( fd_repair_protocol_t const * self );
    4697             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyHighestWindowIndexWithNonce( fd_repair_protocol_t const * self );
    4698             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyOrphanWithNonce( fd_repair_protocol_t const * self );
    4699             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyAncestorHashes( fd_repair_protocol_t const * self );
    4700             : FD_FN_PURE uchar fd_repair_protocol_is_pong( fd_repair_protocol_t const * self );
    4701             : FD_FN_PURE uchar fd_repair_protocol_is_window_index( fd_repair_protocol_t const * self );
    4702             : FD_FN_PURE uchar fd_repair_protocol_is_highest_window_index( fd_repair_protocol_t const * self );
    4703             : FD_FN_PURE uchar fd_repair_protocol_is_orphan( fd_repair_protocol_t const * self );
    4704             : FD_FN_PURE uchar fd_repair_protocol_is_ancestor_hashes( fd_repair_protocol_t const * self );
    4705             : enum {
    4706             : fd_repair_protocol_enum_LegacyWindowIndex = 0,
    4707             : fd_repair_protocol_enum_LegacyHighestWindowIndex = 1,
    4708             : fd_repair_protocol_enum_LegacyOrphan = 2,
    4709             : fd_repair_protocol_enum_LegacyWindowIndexWithNonce = 3,
    4710             : fd_repair_protocol_enum_LegacyHighestWindowIndexWithNonce = 4,
    4711             : fd_repair_protocol_enum_LegacyOrphanWithNonce = 5,
    4712             : fd_repair_protocol_enum_LegacyAncestorHashes = 6,
    4713             : fd_repair_protocol_enum_pong = 7,
    4714             : fd_repair_protocol_enum_window_index = 8,
    4715             : fd_repair_protocol_enum_highest_window_index = 9,
    4716             : fd_repair_protocol_enum_orphan = 10,
    4717             : fd_repair_protocol_enum_ancestor_hashes = 11,
    4718             : };
    4719             : void fd_repair_response_new_disc( fd_repair_response_t * self, uint discriminant );
    4720             : void fd_repair_response_new( fd_repair_response_t * self );
    4721             : int fd_repair_response_encode( fd_repair_response_t const * self, fd_bincode_encode_ctx_t * ctx );
    4722             : void fd_repair_response_walk( void * w, fd_repair_response_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4723             : ulong fd_repair_response_size( fd_repair_response_t const * self );
    4724           0 : static inline ulong fd_repair_response_align( void ) { return FD_REPAIR_RESPONSE_ALIGN; }
    4725             : int fd_repair_response_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4726             : void * fd_repair_response_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4727             : 
    4728             : FD_FN_PURE uchar fd_repair_response_is_ping( fd_repair_response_t const * self );
    4729             : enum {
    4730             : fd_repair_response_enum_ping = 0,
    4731             : };
    4732             : void fd_instr_error_enum_new_disc( fd_instr_error_enum_t * self, uint discriminant );
    4733             : void fd_instr_error_enum_new( fd_instr_error_enum_t * self );
    4734             : int fd_instr_error_enum_encode( fd_instr_error_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    4735             : 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, uint varint );
    4736             : ulong fd_instr_error_enum_size( fd_instr_error_enum_t const * self );
    4737           0 : static inline ulong fd_instr_error_enum_align( void ) { return FD_INSTR_ERROR_ENUM_ALIGN; }
    4738             : int fd_instr_error_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4739             : void * fd_instr_error_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4740             : 
    4741             : FD_FN_PURE uchar fd_instr_error_enum_is_generic_error( fd_instr_error_enum_t const * self );
    4742             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_argument( fd_instr_error_enum_t const * self );
    4743             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_instruction_data( fd_instr_error_enum_t const * self );
    4744             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_account_data( fd_instr_error_enum_t const * self );
    4745             : FD_FN_PURE uchar fd_instr_error_enum_is_account_data_too_small( fd_instr_error_enum_t const * self );
    4746             : FD_FN_PURE uchar fd_instr_error_enum_is_insufficient_funds( fd_instr_error_enum_t const * self );
    4747             : FD_FN_PURE uchar fd_instr_error_enum_is_incorrect_program_id( fd_instr_error_enum_t const * self );
    4748             : FD_FN_PURE uchar fd_instr_error_enum_is_missing_required_signature( fd_instr_error_enum_t const * self );
    4749             : FD_FN_PURE uchar fd_instr_error_enum_is_account_already_initialized( fd_instr_error_enum_t const * self );
    4750             : FD_FN_PURE uchar fd_instr_error_enum_is_uninitialized_account( fd_instr_error_enum_t const * self );
    4751             : FD_FN_PURE uchar fd_instr_error_enum_is_unbalanced_instruction( fd_instr_error_enum_t const * self );
    4752             : FD_FN_PURE uchar fd_instr_error_enum_is_modified_program_id( fd_instr_error_enum_t const * self );
    4753             : FD_FN_PURE uchar fd_instr_error_enum_is_external_account_lamport_spend( fd_instr_error_enum_t const * self );
    4754             : FD_FN_PURE uchar fd_instr_error_enum_is_external_account_data_modified( fd_instr_error_enum_t const * self );
    4755             : FD_FN_PURE uchar fd_instr_error_enum_is_readonly_lamport_change( fd_instr_error_enum_t const * self );
    4756             : FD_FN_PURE uchar fd_instr_error_enum_is_readonly_data_modified( fd_instr_error_enum_t const * self );
    4757             : FD_FN_PURE uchar fd_instr_error_enum_is_duplicate_account_index( fd_instr_error_enum_t const * self );
    4758             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_modified( fd_instr_error_enum_t const * self );
    4759             : FD_FN_PURE uchar fd_instr_error_enum_is_rent_epoch_modified( fd_instr_error_enum_t const * self );
    4760             : FD_FN_PURE uchar fd_instr_error_enum_is_not_enough_account_keys( fd_instr_error_enum_t const * self );
    4761             : FD_FN_PURE uchar fd_instr_error_enum_is_account_data_size_changed( fd_instr_error_enum_t const * self );
    4762             : FD_FN_PURE uchar fd_instr_error_enum_is_account_not_executable( fd_instr_error_enum_t const * self );
    4763             : FD_FN_PURE uchar fd_instr_error_enum_is_account_borrow_failed( fd_instr_error_enum_t const * self );
    4764             : FD_FN_PURE uchar fd_instr_error_enum_is_account_borrow_outstanding( fd_instr_error_enum_t const * self );
    4765             : FD_FN_PURE uchar fd_instr_error_enum_is_duplicate_account_out_of_sync( fd_instr_error_enum_t const * self );
    4766             : FD_FN_PURE uchar fd_instr_error_enum_is_custom( fd_instr_error_enum_t const * self );
    4767             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_error( fd_instr_error_enum_t const * self );
    4768             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_data_modified( fd_instr_error_enum_t const * self );
    4769             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_lamport_change( fd_instr_error_enum_t const * self );
    4770             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_account_not_rent_exempt( fd_instr_error_enum_t const * self );
    4771             : FD_FN_PURE uchar fd_instr_error_enum_is_unsupported_program_id( fd_instr_error_enum_t const * self );
    4772             : FD_FN_PURE uchar fd_instr_error_enum_is_call_depth( fd_instr_error_enum_t const * self );
    4773             : FD_FN_PURE uchar fd_instr_error_enum_is_missing_account( fd_instr_error_enum_t const * self );
    4774             : FD_FN_PURE uchar fd_instr_error_enum_is_reentrancy_not_allowed( fd_instr_error_enum_t const * self );
    4775             : FD_FN_PURE uchar fd_instr_error_enum_is_max_seed_length_exceeded( fd_instr_error_enum_t const * self );
    4776             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_seeds( fd_instr_error_enum_t const * self );
    4777             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_realloc( fd_instr_error_enum_t const * self );
    4778             : FD_FN_PURE uchar fd_instr_error_enum_is_computational_budget_exceeded( fd_instr_error_enum_t const * self );
    4779             : FD_FN_PURE uchar fd_instr_error_enum_is_privilege_escalation( fd_instr_error_enum_t const * self );
    4780             : FD_FN_PURE uchar fd_instr_error_enum_is_program_environment_setup_failure( fd_instr_error_enum_t const * self );
    4781             : FD_FN_PURE uchar fd_instr_error_enum_is_program_failed_to_complete( fd_instr_error_enum_t const * self );
    4782             : FD_FN_PURE uchar fd_instr_error_enum_is_program_failed_to_compile( fd_instr_error_enum_t const * self );
    4783             : FD_FN_PURE uchar fd_instr_error_enum_is_immutable( fd_instr_error_enum_t const * self );
    4784             : FD_FN_PURE uchar fd_instr_error_enum_is_incorrect_authority( fd_instr_error_enum_t const * self );
    4785             : FD_FN_PURE uchar fd_instr_error_enum_is_borsh_io_error( fd_instr_error_enum_t const * self );
    4786             : FD_FN_PURE uchar fd_instr_error_enum_is_account_not_rent_exempt( fd_instr_error_enum_t const * self );
    4787             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_account_owner( fd_instr_error_enum_t const * self );
    4788             : FD_FN_PURE uchar fd_instr_error_enum_is_arithmetic_overflow( fd_instr_error_enum_t const * self );
    4789             : FD_FN_PURE uchar fd_instr_error_enum_is_unsupported_sysvar( fd_instr_error_enum_t const * self );
    4790             : FD_FN_PURE uchar fd_instr_error_enum_is_illegal_owner( fd_instr_error_enum_t const * self );
    4791             : FD_FN_PURE uchar fd_instr_error_enum_is_max_accounts_data_allocations_exceeded( fd_instr_error_enum_t const * self );
    4792             : FD_FN_PURE uchar fd_instr_error_enum_is_max_accounts_exceeded( fd_instr_error_enum_t const * self );
    4793             : FD_FN_PURE uchar fd_instr_error_enum_is_max_instruction_trace_length_exceeded( fd_instr_error_enum_t const * self );
    4794             : FD_FN_PURE uchar fd_instr_error_enum_is_builtin_programs_must_consume_compute_units( fd_instr_error_enum_t const * self );
    4795             : enum {
    4796             : fd_instr_error_enum_enum_generic_error = 0,
    4797             : fd_instr_error_enum_enum_invalid_argument = 1,
    4798             : fd_instr_error_enum_enum_invalid_instruction_data = 2,
    4799             : fd_instr_error_enum_enum_invalid_account_data = 3,
    4800             : fd_instr_error_enum_enum_account_data_too_small = 4,
    4801             : fd_instr_error_enum_enum_insufficient_funds = 5,
    4802             : fd_instr_error_enum_enum_incorrect_program_id = 6,
    4803             : fd_instr_error_enum_enum_missing_required_signature = 7,
    4804             : fd_instr_error_enum_enum_account_already_initialized = 8,
    4805             : fd_instr_error_enum_enum_uninitialized_account = 9,
    4806             : fd_instr_error_enum_enum_unbalanced_instruction = 10,
    4807             : fd_instr_error_enum_enum_modified_program_id = 11,
    4808             : fd_instr_error_enum_enum_external_account_lamport_spend = 12,
    4809             : fd_instr_error_enum_enum_external_account_data_modified = 13,
    4810             : fd_instr_error_enum_enum_readonly_lamport_change = 14,
    4811             : fd_instr_error_enum_enum_readonly_data_modified = 15,
    4812             : fd_instr_error_enum_enum_duplicate_account_index = 16,
    4813             : fd_instr_error_enum_enum_executable_modified = 17,
    4814             : fd_instr_error_enum_enum_rent_epoch_modified = 18,
    4815             : fd_instr_error_enum_enum_not_enough_account_keys = 19,
    4816             : fd_instr_error_enum_enum_account_data_size_changed = 20,
    4817             : fd_instr_error_enum_enum_account_not_executable = 21,
    4818             : fd_instr_error_enum_enum_account_borrow_failed = 22,
    4819             : fd_instr_error_enum_enum_account_borrow_outstanding = 23,
    4820             : fd_instr_error_enum_enum_duplicate_account_out_of_sync = 24,
    4821             : fd_instr_error_enum_enum_custom = 25,
    4822             : fd_instr_error_enum_enum_invalid_error = 26,
    4823             : fd_instr_error_enum_enum_executable_data_modified = 27,
    4824             : fd_instr_error_enum_enum_executable_lamport_change = 28,
    4825             : fd_instr_error_enum_enum_executable_account_not_rent_exempt = 29,
    4826             : fd_instr_error_enum_enum_unsupported_program_id = 30,
    4827             : fd_instr_error_enum_enum_call_depth = 31,
    4828             : fd_instr_error_enum_enum_missing_account = 32,
    4829             : fd_instr_error_enum_enum_reentrancy_not_allowed = 33,
    4830             : fd_instr_error_enum_enum_max_seed_length_exceeded = 34,
    4831             : fd_instr_error_enum_enum_invalid_seeds = 35,
    4832             : fd_instr_error_enum_enum_invalid_realloc = 36,
    4833             : fd_instr_error_enum_enum_computational_budget_exceeded = 37,
    4834             : fd_instr_error_enum_enum_privilege_escalation = 38,
    4835             : fd_instr_error_enum_enum_program_environment_setup_failure = 39,
    4836             : fd_instr_error_enum_enum_program_failed_to_complete = 40,
    4837             : fd_instr_error_enum_enum_program_failed_to_compile = 41,
    4838             : fd_instr_error_enum_enum_immutable = 42,
    4839             : fd_instr_error_enum_enum_incorrect_authority = 43,
    4840             : fd_instr_error_enum_enum_borsh_io_error = 44,
    4841             : fd_instr_error_enum_enum_account_not_rent_exempt = 45,
    4842             : fd_instr_error_enum_enum_invalid_account_owner = 46,
    4843             : fd_instr_error_enum_enum_arithmetic_overflow = 47,
    4844             : fd_instr_error_enum_enum_unsupported_sysvar = 48,
    4845             : fd_instr_error_enum_enum_illegal_owner = 49,
    4846             : fd_instr_error_enum_enum_max_accounts_data_allocations_exceeded = 50,
    4847             : fd_instr_error_enum_enum_max_accounts_exceeded = 51,
    4848             : fd_instr_error_enum_enum_max_instruction_trace_length_exceeded = 52,
    4849             : fd_instr_error_enum_enum_builtin_programs_must_consume_compute_units = 53,
    4850             : };
    4851             : void fd_txn_instr_error_new( fd_txn_instr_error_t * self );
    4852             : int fd_txn_instr_error_encode( fd_txn_instr_error_t const * self, fd_bincode_encode_ctx_t * ctx );
    4853             : 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, uint varint );
    4854             : ulong fd_txn_instr_error_size( fd_txn_instr_error_t const * self );
    4855           0 : static inline ulong fd_txn_instr_error_align( void ) { return FD_TXN_INSTR_ERROR_ALIGN; }
    4856             : int fd_txn_instr_error_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4857             : void * fd_txn_instr_error_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4858             : 
    4859             : void fd_txn_error_enum_new_disc( fd_txn_error_enum_t * self, uint discriminant );
    4860             : void fd_txn_error_enum_new( fd_txn_error_enum_t * self );
    4861             : int fd_txn_error_enum_encode( fd_txn_error_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    4862             : 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, uint varint );
    4863             : ulong fd_txn_error_enum_size( fd_txn_error_enum_t const * self );
    4864           0 : static inline ulong fd_txn_error_enum_align( void ) { return FD_TXN_ERROR_ENUM_ALIGN; }
    4865             : int fd_txn_error_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4866             : void * fd_txn_error_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4867             : 
    4868             : FD_FN_PURE uchar fd_txn_error_enum_is_account_in_use( fd_txn_error_enum_t const * self );
    4869             : FD_FN_PURE uchar fd_txn_error_enum_is_account_loaded_twice( fd_txn_error_enum_t const * self );
    4870             : FD_FN_PURE uchar fd_txn_error_enum_is_account_not_found( fd_txn_error_enum_t const * self );
    4871             : FD_FN_PURE uchar fd_txn_error_enum_is_program_account_not_found( fd_txn_error_enum_t const * self );
    4872             : FD_FN_PURE uchar fd_txn_error_enum_is_insufficient_funds_for_fee( fd_txn_error_enum_t const * self );
    4873             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_account_for_fee( fd_txn_error_enum_t const * self );
    4874             : FD_FN_PURE uchar fd_txn_error_enum_is_already_processed( fd_txn_error_enum_t const * self );
    4875             : FD_FN_PURE uchar fd_txn_error_enum_is_blockhash_not_found( fd_txn_error_enum_t const * self );
    4876             : FD_FN_PURE uchar fd_txn_error_enum_is_instruction_error( fd_txn_error_enum_t const * self );
    4877             : FD_FN_PURE uchar fd_txn_error_enum_is_call_chain_too_deep( fd_txn_error_enum_t const * self );
    4878             : FD_FN_PURE uchar fd_txn_error_enum_is_missing_signature_for_fee( fd_txn_error_enum_t const * self );
    4879             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_account_index( fd_txn_error_enum_t const * self );
    4880             : FD_FN_PURE uchar fd_txn_error_enum_is_signature_failure( fd_txn_error_enum_t const * self );
    4881             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_program_for_execution( fd_txn_error_enum_t const * self );
    4882             : FD_FN_PURE uchar fd_txn_error_enum_is_sanitize_failure( fd_txn_error_enum_t const * self );
    4883             : FD_FN_PURE uchar fd_txn_error_enum_is_cluster_maintenance( fd_txn_error_enum_t const * self );
    4884             : FD_FN_PURE uchar fd_txn_error_enum_is_account_borrow_outstanding( fd_txn_error_enum_t const * self );
    4885             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_block_cost_limit( fd_txn_error_enum_t const * self );
    4886             : FD_FN_PURE uchar fd_txn_error_enum_is_unsupported_version( fd_txn_error_enum_t const * self );
    4887             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_writable_account( fd_txn_error_enum_t const * self );
    4888             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_account_cost_limit( fd_txn_error_enum_t const * self );
    4889             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_account_data_block_limit( fd_txn_error_enum_t const * self );
    4890             : FD_FN_PURE uchar fd_txn_error_enum_is_too_many_account_locks( fd_txn_error_enum_t const * self );
    4891             : FD_FN_PURE uchar fd_txn_error_enum_is_address_lookup_table_not_found( fd_txn_error_enum_t const * self );
    4892             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_owner( fd_txn_error_enum_t const * self );
    4893             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_data( fd_txn_error_enum_t const * self );
    4894             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_index( fd_txn_error_enum_t const * self );
    4895             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_rent_paying_account( fd_txn_error_enum_t const * self );
    4896             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_vote_cost_limit( fd_txn_error_enum_t const * self );
    4897             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_account_data_total_limit( fd_txn_error_enum_t const * self );
    4898             : FD_FN_PURE uchar fd_txn_error_enum_is_duplicate_instruction( fd_txn_error_enum_t const * self );
    4899             : FD_FN_PURE uchar fd_txn_error_enum_is_insufficient_funds_for_rent( fd_txn_error_enum_t const * self );
    4900             : FD_FN_PURE uchar fd_txn_error_enum_is_max_loaded_accounts_data_size_exceeded( fd_txn_error_enum_t const * self );
    4901             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_loaded_accounts_data_size_limit( fd_txn_error_enum_t const * self );
    4902             : FD_FN_PURE uchar fd_txn_error_enum_is_resanitization_needed( fd_txn_error_enum_t const * self );
    4903             : FD_FN_PURE uchar fd_txn_error_enum_is_program_execution_temporarily_restricted( fd_txn_error_enum_t const * self );
    4904             : FD_FN_PURE uchar fd_txn_error_enum_is_unbalanced_transaction( fd_txn_error_enum_t const * self );
    4905             : enum {
    4906             : fd_txn_error_enum_enum_account_in_use = 0,
    4907             : fd_txn_error_enum_enum_account_loaded_twice = 1,
    4908             : fd_txn_error_enum_enum_account_not_found = 2,
    4909             : fd_txn_error_enum_enum_program_account_not_found = 3,
    4910             : fd_txn_error_enum_enum_insufficient_funds_for_fee = 4,
    4911             : fd_txn_error_enum_enum_invalid_account_for_fee = 5,
    4912             : fd_txn_error_enum_enum_already_processed = 6,
    4913             : fd_txn_error_enum_enum_blockhash_not_found = 7,
    4914             : fd_txn_error_enum_enum_instruction_error = 8,
    4915             : fd_txn_error_enum_enum_call_chain_too_deep = 9,
    4916             : fd_txn_error_enum_enum_missing_signature_for_fee = 10,
    4917             : fd_txn_error_enum_enum_invalid_account_index = 11,
    4918             : fd_txn_error_enum_enum_signature_failure = 12,
    4919             : fd_txn_error_enum_enum_invalid_program_for_execution = 13,
    4920             : fd_txn_error_enum_enum_sanitize_failure = 14,
    4921             : fd_txn_error_enum_enum_cluster_maintenance = 15,
    4922             : fd_txn_error_enum_enum_account_borrow_outstanding = 16,
    4923             : fd_txn_error_enum_enum_would_exceed_max_block_cost_limit = 17,
    4924             : fd_txn_error_enum_enum_unsupported_version = 18,
    4925             : fd_txn_error_enum_enum_invalid_writable_account = 19,
    4926             : fd_txn_error_enum_enum_would_exceed_max_account_cost_limit = 20,
    4927             : fd_txn_error_enum_enum_would_exceed_account_data_block_limit = 21,
    4928             : fd_txn_error_enum_enum_too_many_account_locks = 22,
    4929             : fd_txn_error_enum_enum_address_lookup_table_not_found = 23,
    4930             : fd_txn_error_enum_enum_invalid_address_lookup_table_owner = 24,
    4931             : fd_txn_error_enum_enum_invalid_address_lookup_table_data = 25,
    4932             : fd_txn_error_enum_enum_invalid_address_lookup_table_index = 26,
    4933             : fd_txn_error_enum_enum_invalid_rent_paying_account = 27,
    4934             : fd_txn_error_enum_enum_would_exceed_max_vote_cost_limit = 28,
    4935             : fd_txn_error_enum_enum_would_exceed_account_data_total_limit = 29,
    4936             : fd_txn_error_enum_enum_duplicate_instruction = 30,
    4937             : fd_txn_error_enum_enum_insufficient_funds_for_rent = 31,
    4938             : fd_txn_error_enum_enum_max_loaded_accounts_data_size_exceeded = 32,
    4939             : fd_txn_error_enum_enum_invalid_loaded_accounts_data_size_limit = 33,
    4940             : fd_txn_error_enum_enum_resanitization_needed = 34,
    4941             : fd_txn_error_enum_enum_program_execution_temporarily_restricted = 35,
    4942             : fd_txn_error_enum_enum_unbalanced_transaction = 36,
    4943             : };
    4944             : void fd_txn_result_new_disc( fd_txn_result_t * self, uint discriminant );
    4945             : void fd_txn_result_new( fd_txn_result_t * self );
    4946             : int fd_txn_result_encode( fd_txn_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    4947             : void fd_txn_result_walk( void * w, fd_txn_result_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4948             : ulong fd_txn_result_size( fd_txn_result_t const * self );
    4949           0 : static inline ulong fd_txn_result_align( void ) { return FD_TXN_RESULT_ALIGN; }
    4950             : int fd_txn_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4951             : void * fd_txn_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4952             : 
    4953             : FD_FN_PURE uchar fd_txn_result_is_ok( fd_txn_result_t const * self );
    4954             : FD_FN_PURE uchar fd_txn_result_is_error( fd_txn_result_t const * self );
    4955             : enum {
    4956             : fd_txn_result_enum_ok = 0,
    4957             : fd_txn_result_enum_error = 1,
    4958             : };
    4959             : void fd_cache_status_new( fd_cache_status_t * self );
    4960             : int fd_cache_status_encode( fd_cache_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    4961             : void fd_cache_status_walk( void * w, fd_cache_status_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4962             : ulong fd_cache_status_size( fd_cache_status_t const * self );
    4963           0 : static inline ulong fd_cache_status_align( void ) { return FD_CACHE_STATUS_ALIGN; }
    4964             : int fd_cache_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4965             : void * fd_cache_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4966             : 
    4967             : void fd_status_value_new( fd_status_value_t * self );
    4968             : int fd_status_value_encode( fd_status_value_t const * self, fd_bincode_encode_ctx_t * ctx );
    4969             : void fd_status_value_walk( void * w, fd_status_value_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4970             : ulong fd_status_value_size( fd_status_value_t const * self );
    4971           0 : static inline ulong fd_status_value_align( void ) { return FD_STATUS_VALUE_ALIGN; }
    4972             : int fd_status_value_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4973             : void * fd_status_value_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4974             : 
    4975             : void fd_status_pair_new( fd_status_pair_t * self );
    4976             : int fd_status_pair_encode( fd_status_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    4977             : void fd_status_pair_walk( void * w, fd_status_pair_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4978             : ulong fd_status_pair_size( fd_status_pair_t const * self );
    4979           0 : static inline ulong fd_status_pair_align( void ) { return FD_STATUS_PAIR_ALIGN; }
    4980             : int fd_status_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4981             : void * fd_status_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4982             : 
    4983             : void fd_slot_delta_new( fd_slot_delta_t * self );
    4984             : int fd_slot_delta_encode( fd_slot_delta_t const * self, fd_bincode_encode_ctx_t * ctx );
    4985             : void fd_slot_delta_walk( void * w, fd_slot_delta_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    4986             : ulong fd_slot_delta_size( fd_slot_delta_t const * self );
    4987           0 : static inline ulong fd_slot_delta_align( void ) { return FD_SLOT_DELTA_ALIGN; }
    4988             : int fd_slot_delta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4989             : void * fd_slot_delta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4990             : 
    4991             : void fd_bank_slot_deltas_new( fd_bank_slot_deltas_t * self );
    4992             : int fd_bank_slot_deltas_encode( fd_bank_slot_deltas_t const * self, fd_bincode_encode_ctx_t * ctx );
    4993             : 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, uint varint );
    4994             : ulong fd_bank_slot_deltas_size( fd_bank_slot_deltas_t const * self );
    4995           0 : static inline ulong fd_bank_slot_deltas_align( void ) { return FD_BANK_SLOT_DELTAS_ALIGN; }
    4996             : int fd_bank_slot_deltas_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4997             : void * fd_bank_slot_deltas_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4998             : 
    4999             : void fd_pubkey_rewardinfo_pair_new( fd_pubkey_rewardinfo_pair_t * self );
    5000             : int fd_pubkey_rewardinfo_pair_encode( fd_pubkey_rewardinfo_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    5001             : 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, uint varint );
    5002           0 : static inline ulong fd_pubkey_rewardinfo_pair_size( fd_pubkey_rewardinfo_pair_t const * self ) { (void)self; return 60UL; }
    5003           0 : static inline ulong fd_pubkey_rewardinfo_pair_align( void ) { return FD_PUBKEY_REWARDINFO_PAIR_ALIGN; }
    5004             : int fd_pubkey_rewardinfo_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5005             : void * fd_pubkey_rewardinfo_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5006             : 
    5007           0 : static inline void fd_calculated_stake_points_new( fd_calculated_stake_points_t * self ) { fd_memset( self, 0, sizeof(fd_calculated_stake_points_t) ); }
    5008             : int fd_calculated_stake_points_encode( fd_calculated_stake_points_t const * self, fd_bincode_encode_ctx_t * ctx );
    5009             : 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, uint varint );
    5010           0 : static inline ulong fd_calculated_stake_points_size( fd_calculated_stake_points_t const * self ) { (void)self; return 25UL; }
    5011           0 : static inline ulong fd_calculated_stake_points_align( void ) { return FD_CALCULATED_STAKE_POINTS_ALIGN; }
    5012           0 : static inline int fd_calculated_stake_points_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    5013           0 :   *total_sz += sizeof(fd_calculated_stake_points_t);
    5014           0 :   if( (ulong)ctx->data + 25UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    5015           0 :   return 0;
    5016           0 : }
    5017             : void * fd_calculated_stake_points_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5018             : 
    5019           0 : static inline void fd_calculated_stake_rewards_new( fd_calculated_stake_rewards_t * self ) { fd_memset( self, 0, sizeof(fd_calculated_stake_rewards_t) ); }
    5020             : int fd_calculated_stake_rewards_encode( fd_calculated_stake_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    5021             : 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, uint varint );
    5022           0 : static inline ulong fd_calculated_stake_rewards_size( fd_calculated_stake_rewards_t const * self ) { (void)self; return 24UL; }
    5023           0 : static inline ulong fd_calculated_stake_rewards_align( void ) { return FD_CALCULATED_STAKE_REWARDS_ALIGN; }
    5024           0 : static inline int fd_calculated_stake_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    5025           0 :   *total_sz += sizeof(fd_calculated_stake_rewards_t);
    5026           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    5027           0 :   return 0;
    5028           0 : }
    5029             : void * fd_calculated_stake_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5030             : 
    5031             : void fd_duplicate_slot_proof_new( fd_duplicate_slot_proof_t * self );
    5032             : int fd_duplicate_slot_proof_encode( fd_duplicate_slot_proof_t const * self, fd_bincode_encode_ctx_t * ctx );
    5033             : 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, uint varint );
    5034             : ulong fd_duplicate_slot_proof_size( fd_duplicate_slot_proof_t const * self );
    5035           0 : static inline ulong fd_duplicate_slot_proof_align( void ) { return FD_DUPLICATE_SLOT_PROOF_ALIGN; }
    5036             : int fd_duplicate_slot_proof_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5037             : void * fd_duplicate_slot_proof_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5038             : 
    5039           0 : static inline void fd_epoch_info_pair_new( fd_epoch_info_pair_t * self ) { fd_memset( self, 0, sizeof(fd_epoch_info_pair_t) ); }
    5040             : int fd_epoch_info_pair_encode( fd_epoch_info_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    5041             : 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, uint varint );
    5042           0 : static inline ulong fd_epoch_info_pair_size( fd_epoch_info_pair_t const * self ) { (void)self; return 104UL; }
    5043           0 : static inline ulong fd_epoch_info_pair_align( void ) { return FD_EPOCH_INFO_PAIR_ALIGN; }
    5044           0 : static inline int fd_epoch_info_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    5045           0 :   *total_sz += sizeof(fd_epoch_info_pair_t);
    5046           0 :   if( (ulong)ctx->data + 104UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    5047           0 :   return 0;
    5048           0 : }
    5049             : void * fd_epoch_info_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5050             : 
    5051           0 : static inline void fd_usage_cost_details_new( fd_usage_cost_details_t * self ) { fd_memset( self, 0, sizeof(fd_usage_cost_details_t) ); }
    5052             : int fd_usage_cost_details_encode( fd_usage_cost_details_t const * self, fd_bincode_encode_ctx_t * ctx );
    5053             : 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, uint varint );
    5054           0 : static inline ulong fd_usage_cost_details_size( fd_usage_cost_details_t const * self ) { (void)self; return 48UL; }
    5055           0 : static inline ulong fd_usage_cost_details_align( void ) { return FD_USAGE_COST_DETAILS_ALIGN; }
    5056           0 : static inline int fd_usage_cost_details_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    5057           0 :   *total_sz += sizeof(fd_usage_cost_details_t);
    5058           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    5059           0 :   return 0;
    5060           0 : }
    5061             : void * fd_usage_cost_details_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5062             : 
    5063             : void fd_transaction_cost_new_disc( fd_transaction_cost_t * self, uint discriminant );
    5064             : void fd_transaction_cost_new( fd_transaction_cost_t * self );
    5065             : int fd_transaction_cost_encode( fd_transaction_cost_t const * self, fd_bincode_encode_ctx_t * ctx );
    5066             : void fd_transaction_cost_walk( void * w, fd_transaction_cost_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    5067             : ulong fd_transaction_cost_size( fd_transaction_cost_t const * self );
    5068           0 : static inline ulong fd_transaction_cost_align( void ) { return FD_TRANSACTION_COST_ALIGN; }
    5069             : int fd_transaction_cost_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5070             : void * fd_transaction_cost_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5071             : 
    5072             : FD_FN_PURE uchar fd_transaction_cost_is_simple_vote( fd_transaction_cost_t const * self );
    5073             : FD_FN_PURE uchar fd_transaction_cost_is_transaction( fd_transaction_cost_t const * self );
    5074             : enum {
    5075             : fd_transaction_cost_enum_simple_vote = 0,
    5076             : fd_transaction_cost_enum_transaction = 1,
    5077             : };
    5078           0 : static inline void fd_rent_paying_new( fd_rent_paying_t * self ) { fd_memset( self, 0, sizeof(fd_rent_paying_t) ); }
    5079             : int fd_rent_paying_encode( fd_rent_paying_t const * self, fd_bincode_encode_ctx_t * ctx );
    5080             : void fd_rent_paying_walk( void * w, fd_rent_paying_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    5081           0 : static inline ulong fd_rent_paying_size( fd_rent_paying_t const * self ) { (void)self; return 16UL; }
    5082           0 : static inline ulong fd_rent_paying_align( void ) { return FD_RENT_PAYING_ALIGN; }
    5083           0 : static inline int fd_rent_paying_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    5084           0 :   *total_sz += sizeof(fd_rent_paying_t);
    5085           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    5086           0 :   return 0;
    5087           0 : }
    5088             : void * fd_rent_paying_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5089             : 
    5090             : void fd_rent_state_new_disc( fd_rent_state_t * self, uint discriminant );
    5091             : void fd_rent_state_new( fd_rent_state_t * self );
    5092             : int fd_rent_state_encode( fd_rent_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    5093             : void fd_rent_state_walk( void * w, fd_rent_state_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    5094             : ulong fd_rent_state_size( fd_rent_state_t const * self );
    5095           0 : static inline ulong fd_rent_state_align( void ) { return FD_RENT_STATE_ALIGN; }
    5096             : int fd_rent_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    5097             : void * fd_rent_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    5098             : 
    5099             : FD_FN_PURE uchar fd_rent_state_is_uninitialized( fd_rent_state_t const * self );
    5100             : FD_FN_PURE uchar fd_rent_state_is_rent_paying( fd_rent_state_t const * self );
    5101             : FD_FN_PURE uchar fd_rent_state_is_rent_exempt( fd_rent_state_t const * self );
    5102             : enum {
    5103             : fd_rent_state_enum_uninitialized = 0,
    5104             : fd_rent_state_enum_rent_paying = 1,
    5105             : fd_rent_state_enum_rent_exempt = 2,
    5106             : };
    5107             : FD_PROTOTYPES_END
    5108             : 
    5109             : #endif // HEADER_FD_RUNTIME_TYPES

Generated by: LCOV version 1.14