LCOV - code coverage report
Current view: top level - flamenco/types - fd_types.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 92 814 11.3 %
Date: 2025-10-13 04:42:14 Functions: 35 67368 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             : struct fd_solana_account_global {
     154             :   ulong lamports;
     155             :   ulong data_len;
     156             :   ulong data_offset;
     157             :   fd_pubkey_t owner;
     158             :   uchar executable;
     159             :   ulong rent_epoch;
     160             : };
     161             : typedef struct fd_solana_account_global fd_solana_account_global_t;
     162             : #define FD_SOLANA_ACCOUNT_GLOBAL_ALIGN alignof(fd_solana_account_global_t)
     163             : 
     164           0 : FD_FN_UNUSED static uchar * fd_solana_account_data_join( fd_solana_account_global_t const * struct_mem ) { // vector
     165           0 :   return struct_mem->data_offset ? (uchar *)fd_type_pun( (uchar *)struct_mem + struct_mem->data_offset ) : NULL;
     166           0 : }
     167           0 : FD_FN_UNUSED static void fd_solana_account_data_update( fd_solana_account_global_t * struct_mem, uchar * vec ) {
     168           0 :   struct_mem->data_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     169           0 : }
     170             : /* Encoded Size: Fixed (48 bytes) */
     171             : struct __attribute__((packed)) fd_solana_account_stored_meta {
     172             :   ulong write_version_obsolete;
     173             :   ulong data_len;
     174             :   uchar pubkey[32];
     175             : };
     176             : typedef struct fd_solana_account_stored_meta fd_solana_account_stored_meta_t;
     177             : #define FD_SOLANA_ACCOUNT_STORED_META_ALIGN (8UL)
     178             : 
     179             : /* Encoded Size: Fixed (52 bytes) */
     180             : struct __attribute__((packed)) fd_solana_account_meta {
     181             :   ulong lamports;
     182             :   ulong rent_epoch;
     183             :   uchar owner[32];
     184             :   uchar executable;
     185             :   uchar padding[3];
     186             : };
     187             : typedef struct fd_solana_account_meta fd_solana_account_meta_t;
     188             : #define FD_SOLANA_ACCOUNT_META_ALIGN (8UL)
     189             : 
     190             : /* Encoded Size: Fixed (136 bytes) */
     191             : struct __attribute__((packed)) fd_solana_account_hdr {
     192             :   fd_solana_account_stored_meta_t meta;
     193             :   fd_solana_account_meta_t info;
     194             :   uchar padding[4];
     195             :   fd_hash_t hash;
     196             : };
     197             : typedef struct fd_solana_account_hdr fd_solana_account_hdr_t;
     198             : #define FD_SOLANA_ACCOUNT_HDR_ALIGN (8UL)
     199             : 
     200             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L303 */
     201             : /* Encoded Size: Fixed (64 bytes) */
     202             : struct fd_delegation {
     203             :   fd_pubkey_t voter_pubkey;
     204             :   ulong stake;
     205             :   ulong activation_epoch;
     206             :   ulong deactivation_epoch;
     207             :   double warmup_cooldown_rate;
     208             : };
     209             : typedef struct fd_delegation fd_delegation_t;
     210             : #define FD_DELEGATION_ALIGN alignof(fd_delegation_t)
     211             : 
     212             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L539 */
     213             : /* Encoded Size: Fixed (72 bytes) */
     214             : struct fd_stake {
     215             :   fd_delegation_t delegation;
     216             :   ulong credits_observed;
     217             : };
     218             : typedef struct fd_stake fd_stake_t;
     219             : #define FD_STAKE_ALIGN alignof(fd_stake_t)
     220             : 
     221             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/sdk/src/reward_type.rs#L7 */
     222             : struct fd_reward_type {
     223             :   uint discriminant;
     224             : };
     225             : typedef struct fd_reward_type fd_reward_type_t;
     226             : #define FD_REWARD_TYPE_ALIGN alignof(fd_reward_type_t)
     227             : 
     228             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/sdk/src/reward_info.rs#L5 */
     229             : /* Encoded Size: Fixed (28 bytes) */
     230             : struct fd_reward_info {
     231             :   fd_reward_type_t reward_type;
     232             :   ulong lamports;
     233             :   ulong post_balance;
     234             :   ulong commission;
     235             : };
     236             : typedef struct fd_reward_info fd_reward_info_t;
     237             : #define FD_REWARD_INFO_ALIGN alignof(fd_reward_info_t)
     238             : 
     239             : /* Encoded Size: Fixed (12 bytes) */
     240             : struct fd_rust_duration {
     241             :   ulong seconds;
     242             :   uint nanoseconds;
     243             : };
     244             : typedef struct fd_rust_duration fd_rust_duration_t;
     245             : #define FD_RUST_DURATION_ALIGN alignof(fd_rust_duration_t)
     246             : 
     247             : /* Encoded Size: Dynamic */
     248             : struct fd_poh_config {
     249             :   fd_rust_duration_t target_tick_duration;
     250             :   ulong target_tick_count;
     251             :   uchar has_target_tick_count;
     252             :   ulong hashes_per_tick;
     253             :   uchar has_hashes_per_tick;
     254             : };
     255             : typedef struct fd_poh_config fd_poh_config_t;
     256             : #define FD_POH_CONFIG_ALIGN alignof(fd_poh_config_t)
     257             : 
     258             : struct fd_poh_config_global {
     259             :   fd_rust_duration_t target_tick_duration;
     260             :   ulong target_tick_count;
     261             :   uchar has_target_tick_count;
     262             :   ulong hashes_per_tick;
     263             :   uchar has_hashes_per_tick;
     264             : };
     265             : typedef struct fd_poh_config_global fd_poh_config_global_t;
     266             : #define FD_POH_CONFIG_GLOBAL_ALIGN alignof(fd_poh_config_global_t)
     267             : 
     268             : /* Encoded Size: Dynamic */
     269             : struct fd_string_pubkey_pair {
     270             :   ulong string_len;
     271             :   uchar* string;
     272             :   fd_pubkey_t pubkey;
     273             : };
     274             : typedef struct fd_string_pubkey_pair fd_string_pubkey_pair_t;
     275           0 : #define FD_STRING_PUBKEY_PAIR_ALIGN alignof(fd_string_pubkey_pair_t)
     276             : 
     277             : struct fd_string_pubkey_pair_global {
     278             :   ulong string_len;
     279             :   ulong string_offset;
     280             :   fd_pubkey_t pubkey;
     281             : };
     282             : typedef struct fd_string_pubkey_pair_global fd_string_pubkey_pair_global_t;
     283             : #define FD_STRING_PUBKEY_PAIR_GLOBAL_ALIGN alignof(fd_string_pubkey_pair_global_t)
     284             : 
     285           0 : FD_FN_UNUSED static uchar * fd_string_pubkey_pair_string_join( fd_string_pubkey_pair_global_t const * struct_mem ) { // vector
     286           0 :   return struct_mem->string_offset ? (uchar *)fd_type_pun( (uchar *)struct_mem + struct_mem->string_offset ) : NULL;
     287           0 : }
     288           0 : FD_FN_UNUSED static void fd_string_pubkey_pair_string_update( fd_string_pubkey_pair_global_t * struct_mem, uchar * vec ) {
     289           0 :   struct_mem->string_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     290           0 : }
     291             : /* Encoded Size: Dynamic */
     292             : struct fd_pubkey_account_pair {
     293             :   fd_pubkey_t key;
     294             :   fd_solana_account_t account;
     295             : };
     296             : typedef struct fd_pubkey_account_pair fd_pubkey_account_pair_t;
     297           0 : #define FD_PUBKEY_ACCOUNT_PAIR_ALIGN alignof(fd_pubkey_account_pair_t)
     298             : 
     299             : struct fd_pubkey_account_pair_global {
     300             :   fd_pubkey_t key;
     301             :   fd_solana_account_global_t account;
     302             : };
     303             : typedef struct fd_pubkey_account_pair_global fd_pubkey_account_pair_global_t;
     304             : #define FD_PUBKEY_ACCOUNT_PAIR_GLOBAL_ALIGN alignof(fd_pubkey_account_pair_global_t)
     305             : 
     306             : /* Encoded Size: Dynamic */
     307             : struct fd_genesis_solana {
     308             :   ulong creation_time;
     309             :   ulong accounts_len;
     310             :   fd_pubkey_account_pair_t * accounts;
     311             :   ulong native_instruction_processors_len;
     312             :   fd_string_pubkey_pair_t * native_instruction_processors;
     313             :   ulong rewards_pools_len;
     314             :   fd_pubkey_account_pair_t * rewards_pools;
     315             :   ulong ticks_per_slot;
     316             :   ulong unused;
     317             :   fd_poh_config_t poh_config;
     318             :   ulong __backwards_compat_with_v0_23;
     319             :   fd_fee_rate_governor_t fee_rate_governor;
     320             :   fd_rent_t rent;
     321             :   fd_inflation_t inflation;
     322             :   fd_epoch_schedule_t epoch_schedule;
     323             :   uint cluster_type;
     324             : };
     325             : typedef struct fd_genesis_solana fd_genesis_solana_t;
     326             : #define FD_GENESIS_SOLANA_ALIGN alignof(fd_genesis_solana_t)
     327             : 
     328             : struct fd_genesis_solana_global {
     329             :   ulong creation_time;
     330             :   ulong accounts_len;
     331             :   ulong accounts_offset;
     332             :   ulong native_instruction_processors_len;
     333             :   ulong native_instruction_processors_offset;
     334             :   ulong rewards_pools_len;
     335             :   ulong rewards_pools_offset;
     336             :   ulong ticks_per_slot;
     337             :   ulong unused;
     338             :   fd_poh_config_global_t poh_config;
     339             :   ulong __backwards_compat_with_v0_23;
     340             :   fd_fee_rate_governor_t fee_rate_governor;
     341             :   fd_rent_t rent;
     342             :   fd_inflation_t inflation;
     343             :   fd_epoch_schedule_t epoch_schedule;
     344             :   uint cluster_type;
     345             : };
     346             : typedef struct fd_genesis_solana_global fd_genesis_solana_global_t;
     347             : #define FD_GENESIS_SOLANA_GLOBAL_ALIGN alignof(fd_genesis_solana_global_t)
     348             : 
     349           0 : FD_FN_UNUSED static fd_pubkey_account_pair_global_t * fd_genesis_solana_accounts_join( fd_genesis_solana_global_t const * struct_mem ) { // vector
     350           0 :   return struct_mem->accounts_offset ? (fd_pubkey_account_pair_global_t *)fd_type_pun( (uchar *)struct_mem + struct_mem->accounts_offset ) : NULL;
     351           0 : }
     352           0 : FD_FN_UNUSED static void fd_genesis_solana_accounts_update( fd_genesis_solana_global_t * struct_mem, fd_pubkey_account_pair_global_t * vec ) {
     353           0 :   struct_mem->accounts_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     354           0 : }
     355           0 : FD_FN_UNUSED static fd_string_pubkey_pair_global_t * fd_genesis_solana_native_instruction_processors_join( fd_genesis_solana_global_t const * struct_mem ) { // vector
     356           0 :   return struct_mem->native_instruction_processors_offset ? (fd_string_pubkey_pair_global_t *)fd_type_pun( (uchar *)struct_mem + struct_mem->native_instruction_processors_offset ) : NULL;
     357           0 : }
     358           0 : FD_FN_UNUSED static void fd_genesis_solana_native_instruction_processors_update( fd_genesis_solana_global_t * struct_mem, fd_string_pubkey_pair_global_t * vec ) {
     359           0 :   struct_mem->native_instruction_processors_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     360           0 : }
     361           0 : FD_FN_UNUSED static fd_pubkey_account_pair_global_t * fd_genesis_solana_rewards_pools_join( fd_genesis_solana_global_t const * struct_mem ) { // vector
     362           0 :   return struct_mem->rewards_pools_offset ? (fd_pubkey_account_pair_global_t *)fd_type_pun( (uchar *)struct_mem + struct_mem->rewards_pools_offset ) : NULL;
     363           0 : }
     364           0 : FD_FN_UNUSED static void fd_genesis_solana_rewards_pools_update( fd_genesis_solana_global_t * struct_mem, fd_pubkey_account_pair_global_t * vec ) {
     365           0 :   struct_mem->rewards_pools_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     366           0 : }
     367             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/clock.rs#L114 */
     368             : /* Encoded Size: Fixed (40 bytes) */
     369             : struct fd_sol_sysvar_clock {
     370             :   ulong slot;
     371             :   long epoch_start_timestamp;
     372             :   ulong epoch;
     373             :   ulong leader_schedule_epoch;
     374             :   long unix_timestamp;
     375             : };
     376             : typedef struct fd_sol_sysvar_clock fd_sol_sysvar_clock_t;
     377           3 : #define FD_SOL_SYSVAR_CLOCK_ALIGN alignof(fd_sol_sysvar_clock_t)
     378             : 
     379             : /* https://github.com/solana-labs/solana/blob/30531d7a5b74f914dde53bfbb0bc2144f2ac92bb/sdk/program/src/last_restart_slot.rs#L7 */
     380             : /* Encoded Size: Fixed (8 bytes) */
     381             : struct fd_sol_sysvar_last_restart_slot {
     382             :   ulong slot;
     383             : };
     384             : typedef struct fd_sol_sysvar_last_restart_slot fd_sol_sysvar_last_restart_slot_t;
     385           3 : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN alignof(fd_sol_sysvar_last_restart_slot_t)
     386             : 
     387             : /* Encoded Size: Fixed (12 bytes) */
     388             : struct fd_vote_lockout {
     389             :   ulong slot;
     390             :   uint confirmation_count;
     391             : };
     392             : typedef struct fd_vote_lockout fd_vote_lockout_t;
     393             : #define FD_VOTE_LOCKOUT_ALIGN alignof(fd_vote_lockout_t)
     394             : 
     395             : /* Encoded Size: Dynamic */
     396             : struct fd_lockout_offset {
     397             :   ulong offset;
     398             :   uchar confirmation_count;
     399             : };
     400             : typedef struct fd_lockout_offset fd_lockout_offset_t;
     401           0 : #define FD_LOCKOUT_OFFSET_ALIGN alignof(fd_lockout_offset_t)
     402             : 
     403             : /* https://github.com/firedancer-io/solana/blob/da470eef4652b3b22598a1f379cacfe82bd5928d/sdk/program/src/vote/authorized_voters.rs#L9 */
     404             : /* Encoded Size: Fixed (40 bytes) */
     405             : struct fd_vote_authorized_voter {
     406             :   ulong epoch;
     407             :   fd_pubkey_t pubkey;
     408             :   ulong parent;
     409             :   ulong left;
     410             :   ulong right;
     411             :   ulong prio;
     412             : };
     413             : typedef struct fd_vote_authorized_voter fd_vote_authorized_voter_t;
     414             : #define FD_VOTE_AUTHORIZED_VOTER_ALIGN alignof(fd_vote_authorized_voter_t)
     415             : 
     416             : /* Encoded Size: Fixed (48 bytes) */
     417             : struct fd_vote_prior_voter {
     418             :   fd_pubkey_t pubkey;
     419             :   ulong epoch_start;
     420             :   ulong epoch_end;
     421             : };
     422             : typedef struct fd_vote_prior_voter fd_vote_prior_voter_t;
     423             : #define FD_VOTE_PRIOR_VOTER_ALIGN alignof(fd_vote_prior_voter_t)
     424             : 
     425             : /* Encoded Size: Fixed (56 bytes) */
     426             : struct fd_vote_prior_voter_0_23_5 {
     427             :   fd_pubkey_t pubkey;
     428             :   ulong epoch_start;
     429             :   ulong epoch_end;
     430             :   ulong slot;
     431             : };
     432             : typedef struct fd_vote_prior_voter_0_23_5 fd_vote_prior_voter_0_23_5_t;
     433             : #define FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN alignof(fd_vote_prior_voter_0_23_5_t)
     434             : 
     435             : /* Encoded Size: Fixed (24 bytes) */
     436             : struct fd_vote_epoch_credits {
     437             :   ulong epoch;
     438             :   ulong credits;
     439             :   ulong prev_credits;
     440             : };
     441             : typedef struct fd_vote_epoch_credits fd_vote_epoch_credits_t;
     442             : #define FD_VOTE_EPOCH_CREDITS_ALIGN alignof(fd_vote_epoch_credits_t)
     443             : 
     444             : /* Encoded Size: Fixed (16 bytes) */
     445             : struct fd_vote_block_timestamp {
     446             :   ulong slot;
     447             :   long timestamp;
     448             : };
     449             : typedef struct fd_vote_block_timestamp fd_vote_block_timestamp_t;
     450             : #define FD_VOTE_BLOCK_TIMESTAMP_ALIGN alignof(fd_vote_block_timestamp_t)
     451             : 
     452             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     453             : /* Encoded Size: Fixed (1545 bytes) */
     454             : struct fd_vote_prior_voters {
     455             :   fd_vote_prior_voter_t buf[32];
     456             :   ulong idx;
     457             :   uchar is_empty;
     458             : };
     459             : typedef struct fd_vote_prior_voters fd_vote_prior_voters_t;
     460             : #define FD_VOTE_PRIOR_VOTERS_ALIGN alignof(fd_vote_prior_voters_t)
     461             : 
     462             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     463             : /* Encoded Size: Fixed (1800 bytes) */
     464             : struct fd_vote_prior_voters_0_23_5 {
     465             :   fd_vote_prior_voter_0_23_5_t buf[32];
     466             :   ulong idx;
     467             : };
     468             : typedef struct fd_vote_prior_voters_0_23_5 fd_vote_prior_voters_0_23_5_t;
     469             : #define FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN alignof(fd_vote_prior_voters_0_23_5_t)
     470             : 
     471             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     472             : /* Encoded Size: Fixed (13 bytes) */
     473             : struct fd_landed_vote {
     474             :   uchar latency;
     475             :   fd_vote_lockout_t lockout;
     476             : };
     477             : typedef struct fd_landed_vote fd_landed_vote_t;
     478             : #define FD_LANDED_VOTE_ALIGN alignof(fd_landed_vote_t)
     479             : 
     480             : #define DEQUE_NAME deq_fd_vote_lockout_t
     481           0 : #define DEQUE_T fd_vote_lockout_t
     482             : #include "../../util/tmpl/fd_deque_dynamic.c"
     483             : #undef DEQUE_NAME
     484             : #undef DEQUE_T
     485             : #undef DEQUE_MAX
     486             : static inline fd_vote_lockout_t *
     487           0 : deq_fd_vote_lockout_t_join_new( void * * alloc_mem, ulong max ) {
     488           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     489           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_lockout_t_align() );
     490           0 :   void * deque_mem = *alloc_mem;
     491           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_lockout_t_footprint( max );
     492           0 :   return deq_fd_vote_lockout_t_join( deq_fd_vote_lockout_t_new( deque_mem, max ) );
     493           0 : }
     494             : 
     495             : #define DEQUE_NAME deq_fd_vote_epoch_credits_t
     496         393 : #define DEQUE_T fd_vote_epoch_credits_t
     497             : #include "../../util/tmpl/fd_deque_dynamic.c"
     498             : #undef DEQUE_NAME
     499             : #undef DEQUE_T
     500             : #undef DEQUE_MAX
     501             : static inline fd_vote_epoch_credits_t *
     502          15 : deq_fd_vote_epoch_credits_t_join_new( void * * alloc_mem, ulong max ) {
     503          15 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     504          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_epoch_credits_t_align() );
     505          15 :   void * deque_mem = *alloc_mem;
     506          15 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_epoch_credits_t_footprint( max );
     507          15 :   return deq_fd_vote_epoch_credits_t_join( deq_fd_vote_epoch_credits_t_new( deque_mem, max ) );
     508          15 : }
     509             : 
     510             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_0_23_5.rs#L6 */
     511             : /* Encoded Size: Dynamic */
     512             : struct fd_vote_state_0_23_5 {
     513             :   fd_pubkey_t node_pubkey;
     514             :   fd_pubkey_t authorized_voter;
     515             :   ulong authorized_voter_epoch;
     516             :   fd_vote_prior_voters_0_23_5_t prior_voters;
     517             :   fd_pubkey_t authorized_withdrawer;
     518             :   uchar commission;
     519             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
     520             :   ulong root_slot;
     521             :   uchar has_root_slot;
     522             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     523             :   fd_vote_block_timestamp_t last_timestamp;
     524             : };
     525             : typedef struct fd_vote_state_0_23_5 fd_vote_state_0_23_5_t;
     526             : #define FD_VOTE_STATE_0_23_5_ALIGN alignof(fd_vote_state_0_23_5_t)
     527             : 
     528          30 : #define FD_VOTE_AUTHORIZED_VOTERS_MIN 64
     529             : #define POOL_NAME fd_vote_authorized_voters_pool
     530          54 : #define POOL_T fd_vote_authorized_voter_t
     531         999 : #define POOL_NEXT parent
     532             : #include "../../util/tmpl/fd_pool.c"
     533             : static inline fd_vote_authorized_voter_t *
     534          15 : fd_vote_authorized_voters_pool_join_new( void * * alloc_mem, ulong num ) {
     535          15 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     536          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_pool_align() );
     537          15 :   void * pool_mem = *alloc_mem;
     538          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_pool_footprint( num );
     539          15 :   return fd_vote_authorized_voters_pool_join( fd_vote_authorized_voters_pool_new( pool_mem, num ) );
     540          15 : }
     541             : #define TREAP_NAME fd_vote_authorized_voters_treap
     542             : #define TREAP_T fd_vote_authorized_voter_t
     543             : #define TREAP_QUERY_T ulong
     544           0 : #define TREAP_CMP(q,e) ( (q == (e)->epoch) ? 0 : ( (q < (e)->epoch) ? -1 : 1 ) )
     545           0 : #define TREAP_LT(e0,e1) ((e0)->epoch<(e1)->epoch)
     546             : #include "../../util/tmpl/fd_treap.c"
     547             : static inline fd_vote_authorized_voters_treap_t *
     548          15 : fd_vote_authorized_voters_treap_join_new( void * * alloc_mem, ulong num ) {
     549          15 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     550          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_treap_align() );
     551          15 :   void * treap_mem = *alloc_mem;
     552          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_treap_footprint( num );
     553          15 :   return fd_vote_authorized_voters_treap_join( fd_vote_authorized_voters_treap_new( treap_mem, num ) );
     554          15 : }
     555             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     556             : /* Encoded Size: Dynamic */
     557             : struct fd_vote_authorized_voters {
     558             :   fd_vote_authorized_voter_t * pool;
     559             :   fd_vote_authorized_voters_treap_t * treap;
     560             : };
     561             : typedef struct fd_vote_authorized_voters fd_vote_authorized_voters_t;
     562             : #define FD_VOTE_AUTHORIZED_VOTERS_ALIGN alignof(fd_vote_authorized_voters_t)
     563             : 
     564             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     565             : /* Encoded Size: Dynamic */
     566             : struct fd_vote_state_1_14_11 {
     567             :   fd_pubkey_t node_pubkey;
     568             :   fd_pubkey_t authorized_withdrawer;
     569             :   uchar commission;
     570             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
     571             :   ulong root_slot;
     572             :   uchar has_root_slot;
     573             :   fd_vote_authorized_voters_t authorized_voters;
     574             :   fd_vote_prior_voters_t prior_voters;
     575             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     576             :   fd_vote_block_timestamp_t last_timestamp;
     577             : };
     578             : typedef struct fd_vote_state_1_14_11 fd_vote_state_1_14_11_t;
     579             : #define FD_VOTE_STATE_1_14_11_ALIGN alignof(fd_vote_state_1_14_11_t)
     580             : 
     581             : #define DEQUE_NAME deq_fd_landed_vote_t
     582         195 : #define DEQUE_T fd_landed_vote_t
     583             : #include "../../util/tmpl/fd_deque_dynamic.c"
     584             : #undef DEQUE_NAME
     585             : #undef DEQUE_T
     586             : #undef DEQUE_MAX
     587             : static inline fd_landed_vote_t *
     588          15 : deq_fd_landed_vote_t_join_new( void * * alloc_mem, ulong max ) {
     589          15 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     590          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_landed_vote_t_align() );
     591          15 :   void * deque_mem = *alloc_mem;
     592          15 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_landed_vote_t_footprint( max );
     593          15 :   return deq_fd_landed_vote_t_join( deq_fd_landed_vote_t_new( deque_mem, max ) );
     594          15 : }
     595             : 
     596             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     597             : /* Encoded Size: Dynamic */
     598             : struct fd_vote_state {
     599             :   fd_pubkey_t node_pubkey;
     600             :   fd_pubkey_t authorized_withdrawer;
     601             :   uchar commission;
     602             :   fd_landed_vote_t * votes; /* fd_deque_dynamic (min cnt 32) */
     603             :   ulong root_slot;
     604             :   uchar has_root_slot;
     605             :   fd_vote_authorized_voters_t authorized_voters;
     606             :   fd_vote_prior_voters_t prior_voters;
     607             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     608             :   fd_vote_block_timestamp_t last_timestamp;
     609             : };
     610             : typedef struct fd_vote_state fd_vote_state_t;
     611             : #define FD_VOTE_STATE_ALIGN alignof(fd_vote_state_t)
     612             : 
     613             : union fd_vote_state_versioned_inner {
     614             :   fd_vote_state_0_23_5_t v0_23_5;
     615             :   fd_vote_state_1_14_11_t v1_14_11;
     616             :   fd_vote_state_t current;
     617             : };
     618             : typedef union fd_vote_state_versioned_inner fd_vote_state_versioned_inner_t;
     619             : 
     620             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_versions.rs#L4 */
     621             : struct fd_vote_state_versioned {
     622             :   uint discriminant;
     623             :   fd_vote_state_versioned_inner_t inner;
     624             : };
     625             : typedef struct fd_vote_state_versioned fd_vote_state_versioned_t;
     626          33 : #define FD_VOTE_STATE_VERSIONED_ALIGN alignof(fd_vote_state_versioned_t)
     627             : 
     628             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
     629             : /* Encoded Size: Dynamic */
     630             : struct fd_vote_state_update {
     631             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic (min cnt 32) */
     632             :   ulong root;
     633             :   uchar has_root;
     634             :   fd_hash_t hash;
     635             :   long timestamp;
     636             :   uchar has_timestamp;
     637             : };
     638             : typedef struct fd_vote_state_update fd_vote_state_update_t;
     639             : #define FD_VOTE_STATE_UPDATE_ALIGN alignof(fd_vote_state_update_t)
     640             : 
     641             : /* Encoded Size: Dynamic */
     642             : struct fd_compact_vote_state_update {
     643             :   ulong root;
     644             :   ushort lockouts_len;
     645             :   fd_lockout_offset_t * lockouts;
     646             :   fd_hash_t hash;
     647             :   long timestamp;
     648             :   uchar has_timestamp;
     649             : };
     650             : typedef struct fd_compact_vote_state_update fd_compact_vote_state_update_t;
     651             : #define FD_COMPACT_VOTE_STATE_UPDATE_ALIGN alignof(fd_compact_vote_state_update_t)
     652             : 
     653             : /* https://github.com/solana-labs/solana/blob/252438e28fbfb2c695fe1215171b83456e4b761c/programs/vote/src/vote_instruction.rs#L143 */
     654             : /* Encoded Size: Dynamic */
     655             : struct fd_compact_vote_state_update_switch {
     656             :   fd_compact_vote_state_update_t compact_vote_state_update;
     657             :   fd_hash_t hash;
     658             : };
     659             : typedef struct fd_compact_vote_state_update_switch fd_compact_vote_state_update_switch_t;
     660             : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN alignof(fd_compact_vote_state_update_switch_t)
     661             : 
     662             : #define DEQUE_NAME deq_fd_lockout_offset_t
     663           0 : #define DEQUE_T fd_lockout_offset_t
     664             : #include "../../util/tmpl/fd_deque_dynamic.c"
     665             : #undef DEQUE_NAME
     666             : #undef DEQUE_T
     667             : #undef DEQUE_MAX
     668             : static inline fd_lockout_offset_t *
     669           0 : deq_fd_lockout_offset_t_join_new( void * * alloc_mem, ulong max ) {
     670           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     671           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_lockout_offset_t_align() );
     672           0 :   void * deque_mem = *alloc_mem;
     673           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_lockout_offset_t_footprint( max );
     674           0 :   return deq_fd_lockout_offset_t_join( deq_fd_lockout_offset_t_new( deque_mem, max ) );
     675           0 : }
     676             : 
     677             : /* https://github.com/anza-xyz/agave/blob/20ee70cd1829cd414d09040460defecf9792a370/sdk/program/src/vote/state/mod.rs#L990 */
     678             : /* Encoded Size: Dynamic */
     679             : struct fd_compact_tower_sync {
     680             :   ulong root;
     681             :   fd_lockout_offset_t * lockout_offsets; /* fd_deque_dynamic (min cnt 32) */
     682             :   fd_hash_t hash;
     683             :   long timestamp;
     684             :   uchar has_timestamp;
     685             :   fd_hash_t block_id;
     686             : };
     687             : typedef struct fd_compact_tower_sync fd_compact_tower_sync_t;
     688             : #define FD_COMPACT_TOWER_SYNC_ALIGN alignof(fd_compact_tower_sync_t)
     689             : 
     690             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
     691             : /* Encoded Size: Dynamic */
     692             : struct fd_tower_sync {
     693             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic */
     694             :   ulong lockouts_cnt;
     695             :   ulong root;
     696             :   uchar has_root;
     697             :   fd_hash_t hash;
     698             :   long timestamp;
     699             :   uchar has_timestamp;
     700             :   fd_hash_t block_id;
     701             : };
     702             : typedef struct fd_tower_sync fd_tower_sync_t;
     703             : #define FD_TOWER_SYNC_ALIGN alignof(fd_tower_sync_t)
     704             : 
     705             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
     706             : /* Encoded Size: Dynamic */
     707             : struct fd_tower_sync_switch {
     708             :   fd_tower_sync_t tower_sync;
     709             :   fd_hash_t hash;
     710             : };
     711             : typedef struct fd_tower_sync_switch fd_tower_sync_switch_t;
     712             : #define FD_TOWER_SYNC_SWITCH_ALIGN alignof(fd_tower_sync_switch_t)
     713             : 
     714             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_history.rs#L11 */
     715             : /* Encoded Size: Dynamic */
     716             : struct fd_slot_history {
     717             :   uchar has_bits;
     718             :   ulong bits_bitvec_len;
     719             :   ulong* bits_bitvec;
     720             :   ulong bits_len;
     721             :   ulong next_slot;
     722             : };
     723             : typedef struct fd_slot_history fd_slot_history_t;
     724           3 : #define FD_SLOT_HISTORY_ALIGN alignof(fd_slot_history_t)
     725             : 
     726             : struct fd_slot_history_global {
     727             :   uchar has_bits;
     728             :   ulong bits_bitvec_len;
     729             :   ulong bits_bitvec_offset;
     730             :   ulong bits_len;
     731             :   ulong next_slot;
     732             : };
     733             : typedef struct fd_slot_history_global fd_slot_history_global_t;
     734             : #define FD_SLOT_HISTORY_GLOBAL_ALIGN alignof(fd_slot_history_global_t)
     735             : 
     736             : /* Encoded Size: Fixed (40 bytes) */
     737             : struct fd_slot_hash {
     738             :   ulong slot;
     739             :   fd_hash_t hash;
     740             : };
     741             : typedef struct fd_slot_hash fd_slot_hash_t;
     742             : #define FD_SLOT_HASH_ALIGN alignof(fd_slot_hash_t)
     743             : 
     744             : #define DEQUE_NAME deq_fd_slot_hash_t
     745           0 : #define DEQUE_T fd_slot_hash_t
     746             : #include "../../util/tmpl/fd_deque_dynamic.c"
     747             : #undef DEQUE_NAME
     748             : #undef DEQUE_T
     749             : #undef DEQUE_MAX
     750             : static inline fd_slot_hash_t *
     751           0 : deq_fd_slot_hash_t_join_new( void * * alloc_mem, ulong max ) {
     752           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     753           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_slot_hash_t_align() );
     754           0 :   void * deque_mem = *alloc_mem;
     755           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_slot_hash_t_footprint( max );
     756           0 :   return deq_fd_slot_hash_t_join( deq_fd_slot_hash_t_new( deque_mem, max ) );
     757           0 : }
     758             : 
     759             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_hashes.rs#L31 */
     760             : /* Encoded Size: Dynamic */
     761             : struct fd_slot_hashes {
     762             :   fd_slot_hash_t * hashes; /* fd_deque_dynamic (min cnt 512) */
     763             : };
     764             : typedef struct fd_slot_hashes fd_slot_hashes_t;
     765           3 : #define FD_SLOT_HASHES_ALIGN alignof(fd_slot_hashes_t)
     766             : 
     767             : struct fd_slot_hashes_global {
     768             :   ulong hashes_offset; /* fd_deque_dynamic (min cnt 512) */
     769             : };
     770             : typedef struct fd_slot_hashes_global fd_slot_hashes_global_t;
     771             : #define FD_SLOT_HASHES_GLOBAL_ALIGN alignof(fd_slot_hashes_global_t)
     772             : 
     773           0 : static FD_FN_UNUSED fd_slot_hash_t * fd_slot_hashes_hashes_join( fd_slot_hashes_global_t * type ) { // deque
     774           0 :   return type->hashes_offset ? (fd_slot_hash_t *)deq_fd_slot_hash_t_join( fd_type_pun( (uchar *)type + type->hashes_offset ) ) : NULL;
     775           0 : }
     776             : /* Encoded Size: Fixed (40 bytes) */
     777             : struct fd_block_block_hash_entry {
     778             :   fd_hash_t blockhash;
     779             :   fd_fee_calculator_t fee_calculator;
     780             : };
     781             : typedef struct fd_block_block_hash_entry fd_block_block_hash_entry_t;
     782             : #define FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN alignof(fd_block_block_hash_entry_t)
     783             : 
     784             : #define DEQUE_NAME deq_fd_block_block_hash_entry_t
     785       33975 : #define DEQUE_T fd_block_block_hash_entry_t
     786             : #include "../../util/tmpl/fd_deque_dynamic.c"
     787             : #undef DEQUE_NAME
     788             : #undef DEQUE_T
     789             : #undef DEQUE_MAX
     790             : static inline fd_block_block_hash_entry_t *
     791         453 : deq_fd_block_block_hash_entry_t_join_new( void * * alloc_mem, ulong max ) {
     792         453 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     793         453 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_block_block_hash_entry_t_align() );
     794         453 :   void * deque_mem = *alloc_mem;
     795         453 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_block_block_hash_entry_t_footprint( max );
     796         453 :   return deq_fd_block_block_hash_entry_t_join( deq_fd_block_block_hash_entry_t_new( deque_mem, max ) );
     797         453 : }
     798             : 
     799             : /* Encoded Size: Dynamic */
     800             : struct fd_recent_block_hashes {
     801             :   fd_block_block_hash_entry_t * hashes; /* fd_deque_dynamic (min cnt 151) */
     802             : };
     803             : typedef struct fd_recent_block_hashes fd_recent_block_hashes_t;
     804           3 : #define FD_RECENT_BLOCK_HASHES_ALIGN alignof(fd_recent_block_hashes_t)
     805             : 
     806             : struct fd_recent_block_hashes_global {
     807             :   ulong hashes_offset; /* fd_deque_dynamic (min cnt 151) */
     808             : };
     809             : typedef struct fd_recent_block_hashes_global fd_recent_block_hashes_global_t;
     810             : #define FD_RECENT_BLOCK_HASHES_GLOBAL_ALIGN alignof(fd_recent_block_hashes_global_t)
     811             : 
     812           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
     813           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;
     814           0 : }
     815             : /* Encoded Size: Dynamic */
     816             : struct fd_slot_meta {
     817             :   ulong slot;
     818             :   ulong consumed;
     819             :   ulong received;
     820             :   long first_shred_timestamp;
     821             :   ulong last_index;
     822             :   ulong parent_slot;
     823             :   ulong next_slot_len;
     824             :   ulong* next_slot;
     825             :   uchar is_connected;
     826             :   ulong entry_end_indexes_len;
     827             :   uint* entry_end_indexes;
     828             : };
     829             : typedef struct fd_slot_meta fd_slot_meta_t;
     830           0 : #define FD_SLOT_META_ALIGN alignof(fd_slot_meta_t)
     831             : 
     832             : /* A validator timestamp oracle vote received from a voting node */
     833             : /* Encoded Size: Fixed (48 bytes) */
     834             : struct fd_clock_timestamp_vote {
     835             :   fd_pubkey_t pubkey;
     836             :   long timestamp;
     837             :   ulong slot;
     838             : };
     839             : typedef struct fd_clock_timestamp_vote fd_clock_timestamp_vote_t;
     840             : #define FD_CLOCK_TIMESTAMP_VOTE_ALIGN alignof(fd_clock_timestamp_vote_t)
     841             : 
     842             : typedef struct fd_clock_timestamp_vote_t_mapnode fd_clock_timestamp_vote_t_mapnode_t;
     843             : #define REDBLK_T fd_clock_timestamp_vote_t_mapnode_t
     844             : #define REDBLK_NAME fd_clock_timestamp_vote_t_map
     845             : #define REDBLK_IMPL_STYLE 1
     846             : #include "../../util/tmpl/fd_redblack.c"
     847             : struct fd_clock_timestamp_vote_t_mapnode {
     848             :     fd_clock_timestamp_vote_t elem;
     849             :     ulong redblack_parent;
     850             :     ulong redblack_left;
     851             :     ulong redblack_right;
     852             :     int redblack_color;
     853             : };
     854             : static inline fd_clock_timestamp_vote_t_mapnode_t *
     855           0 : fd_clock_timestamp_vote_t_map_join_new( void * * alloc_mem, ulong len ) {
     856           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
     857           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_clock_timestamp_vote_t_map_align() );
     858           0 :   void * map_mem = *alloc_mem;
     859           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_clock_timestamp_vote_t_map_footprint( len );
     860           0 :   return fd_clock_timestamp_vote_t_map_join( fd_clock_timestamp_vote_t_map_new( map_mem, len ) );
     861           0 : }
     862             : /* Validator timestamp oracle votes received from voting nodes. TODO: make this a map */
     863             : /* Encoded Size: Dynamic */
     864             : struct fd_clock_timestamp_votes {
     865             :   fd_clock_timestamp_vote_t_mapnode_t * votes_pool;
     866             :   fd_clock_timestamp_vote_t_mapnode_t * votes_root;
     867             : };
     868             : typedef struct fd_clock_timestamp_votes fd_clock_timestamp_votes_t;
     869             : #define FD_CLOCK_TIMESTAMP_VOTES_ALIGN alignof(fd_clock_timestamp_votes_t)
     870             : 
     871             : struct fd_clock_timestamp_votes_global {
     872             :   ulong votes_pool_offset;
     873             :   ulong votes_root_offset;
     874             : };
     875             : typedef struct fd_clock_timestamp_votes_global fd_clock_timestamp_votes_global_t;
     876             : #define FD_CLOCK_TIMESTAMP_VOTES_GLOBAL_ALIGN alignof(fd_clock_timestamp_votes_global_t)
     877             : 
     878           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 ) {
     879           0 :   if( FD_UNLIKELY( !type ) ) return NULL;
     880           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;
     881           0 : }
     882           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 ) {
     883           0 :   if( FD_UNLIKELY( !type ) ) return NULL;
     884           0 :   return !!type->votes_root_offset ? (fd_clock_timestamp_vote_t_mapnode_t *)fd_type_pun( (uchar *)type + type->votes_root_offset ) : NULL;
     885           0 : }
     886           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 ) {
     887           0 :   type->votes_pool_offset = !!pool ? (ulong)fd_clock_timestamp_vote_t_map_leave( pool ) - (ulong)type : 0UL;
     888           0 : }
     889           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 ) {
     890           0 :   type->votes_root_offset = !!root ? (ulong)root - (ulong)type : 0UL;
     891           0 : }
     892             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/sysvar/fees.rs#L21 */
     893             : /* Encoded Size: Fixed (8 bytes) */
     894             : struct fd_sysvar_fees {
     895             :   fd_fee_calculator_t fee_calculator;
     896             : };
     897             : typedef struct fd_sysvar_fees fd_sysvar_fees_t;
     898             : #define FD_SYSVAR_FEES_ALIGN alignof(fd_sysvar_fees_t)
     899             : 
     900             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/sdk/program/src/epoch_rewards.rs#L14 */
     901             : /* Encoded Size: Fixed (81 bytes) */
     902             : struct fd_sysvar_epoch_rewards {
     903             :   ulong distribution_starting_block_height;
     904             :   ulong num_partitions;
     905             :   fd_hash_t parent_blockhash;
     906             :   uint128 total_points;
     907             :   ulong total_rewards;
     908             :   ulong distributed_rewards;
     909             :   uchar active;
     910             : };
     911             : typedef struct fd_sysvar_epoch_rewards fd_sysvar_epoch_rewards_t;
     912           3 : #define FD_SYSVAR_EPOCH_REWARDS_ALIGN alignof(fd_sysvar_epoch_rewards_t)
     913             : 
     914             : /* Encoded Size: Fixed (33 bytes) */
     915             : struct fd_config_keys_pair {
     916             :   fd_pubkey_t key;
     917             :   uchar signer;
     918             : };
     919             : typedef struct fd_config_keys_pair fd_config_keys_pair_t;
     920           0 : #define FD_CONFIG_KEYS_PAIR_ALIGN alignof(fd_config_keys_pair_t)
     921             : 
     922             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/config.rs#L14 */
     923             : /* Encoded Size: Dynamic */
     924             : struct fd_stake_config {
     925             :   ushort config_keys_len;
     926             :   fd_config_keys_pair_t * config_keys;
     927             :   double warmup_cooldown_rate;
     928             :   uchar slash_penalty;
     929             : };
     930             : typedef struct fd_stake_config fd_stake_config_t;
     931             : #define FD_STAKE_CONFIG_ALIGN alignof(fd_stake_config_t)
     932             : 
     933             : /* Encoded Size: Dynamic */
     934             : struct fd_feature_entry {
     935             :   fd_pubkey_t pubkey;
     936             :   ulong description_len;
     937             :   uchar* description;
     938             :   ulong since_slot;
     939             : };
     940             : typedef struct fd_feature_entry fd_feature_entry_t;
     941             : #define FD_FEATURE_ENTRY_ALIGN alignof(fd_feature_entry_t)
     942             : 
     943             : struct fd_cluster_type {
     944             :   uint discriminant;
     945             : };
     946             : typedef struct fd_cluster_type fd_cluster_type_t;
     947             : #define FD_CLUSTER_TYPE_ALIGN alignof(fd_cluster_type_t)
     948             : 
     949             : /* Encoded Size: Fixed (12 bytes) */
     950             : struct fd_cluster_version {
     951             :   uint major;
     952             :   uint minor;
     953             :   uint patch;
     954             : };
     955             : typedef struct fd_cluster_version fd_cluster_version_t;
     956             : #define FD_CLUSTER_VERSION_ALIGN alignof(fd_cluster_version_t)
     957             : 
     958             : /* Encoded Size: Fixed (49 bytes) */
     959             : struct fd_stake_reward {
     960             :   ulong prev;
     961             :   ulong next;
     962             :   ulong parent;
     963             :   fd_pubkey_t stake_pubkey;
     964             :   ulong credits_observed;
     965             :   ulong lamports;
     966             :   uchar valid;
     967             : };
     968             : typedef struct fd_stake_reward fd_stake_reward_t;
     969             : #define FD_STAKE_REWARD_ALIGN alignof(fd_stake_reward_t)
     970             : 
     971             : /* Encoded Size: Fixed (42 bytes) */
     972             : struct fd_vote_reward {
     973             :   fd_pubkey_t pubkey;
     974             :   ulong vote_rewards;
     975             :   uchar commission;
     976             :   uchar needs_store;
     977             : };
     978             : typedef struct fd_vote_reward fd_vote_reward_t;
     979             : #define FD_VOTE_REWARD_ALIGN alignof(fd_vote_reward_t)
     980             : 
     981             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/points.rs#L21 */
     982             : /* Encoded Size: Fixed (24 bytes) */
     983             : struct fd_point_value {
     984             :   ulong rewards;
     985             :   uint128 points;
     986             : };
     987             : typedef struct fd_point_value fd_point_value_t;
     988             : #define FD_POINT_VALUE_ALIGN alignof(fd_point_value_t)
     989             : 
     990             : #define POOL_NAME fd_partitioned_stake_rewards_pool
     991           0 : #define POOL_T fd_stake_reward_t
     992           0 : #define POOL_NEXT parent
     993             : #include "../../util/tmpl/fd_pool.c"
     994             : static inline fd_stake_reward_t *
     995           0 : fd_partitioned_stake_rewards_pool_join_new( void * * alloc_mem, ulong num ) {
     996           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     997           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_partitioned_stake_rewards_pool_align() );
     998           0 :   void * pool_mem = *alloc_mem;
     999           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_partitioned_stake_rewards_pool_footprint( num );
    1000           0 :   return fd_partitioned_stake_rewards_pool_join( fd_partitioned_stake_rewards_pool_new( pool_mem, num ) );
    1001           0 : }
    1002             : #define DLIST_NAME fd_partitioned_stake_rewards_dlist
    1003             : #define DLIST_ELE_T fd_stake_reward_t
    1004             : #include "../../util/tmpl/fd_dlist.c"
    1005             : static inline fd_partitioned_stake_rewards_dlist_t *
    1006           0 : fd_partitioned_stake_rewards_dlist_join_new( void * * alloc_mem, ulong num ) {
    1007           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
    1008           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_partitioned_stake_rewards_dlist_align() );
    1009           0 :   void * dlist_mem = *alloc_mem;
    1010           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_partitioned_stake_rewards_dlist_footprint();
    1011           0 :   return fd_partitioned_stake_rewards_dlist_join( fd_partitioned_stake_rewards_dlist_new( dlist_mem ) );
    1012           0 : }
    1013             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L56 */
    1014             : /* Encoded Size: Dynamic */
    1015             : struct fd_partitioned_stake_rewards {
    1016             :   ulong partitions_len;
    1017             :   ulong partitions_lengths[4096];
    1018             :   fd_partitioned_stake_rewards_dlist_t * partitions;
    1019             :   fd_stake_reward_t * pool;
    1020             : };
    1021             : typedef struct fd_partitioned_stake_rewards fd_partitioned_stake_rewards_t;
    1022             : #define FD_PARTITIONED_STAKE_REWARDS_ALIGN alignof(fd_partitioned_stake_rewards_t)
    1023             : 
    1024             : struct fd_partitioned_stake_rewards_global {
    1025             :   ulong partitions_len;
    1026             :   ulong partitions_lengths[4096];
    1027             :   ulong partitions_offset;
    1028             :   ulong pool_offset;
    1029             : };
    1030             : typedef struct fd_partitioned_stake_rewards_global fd_partitioned_stake_rewards_global_t;
    1031             : #define FD_PARTITIONED_STAKE_REWARDS_GLOBAL_ALIGN alignof(fd_partitioned_stake_rewards_global_t)
    1032             : 
    1033             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L131 */
    1034             : /* Encoded Size: Dynamic */
    1035             : struct fd_stake_reward_calculation_partitioned {
    1036             :   fd_partitioned_stake_rewards_t partitioned_stake_rewards;
    1037             :   ulong total_stake_rewards_lamports;
    1038             : };
    1039             : typedef struct fd_stake_reward_calculation_partitioned fd_stake_reward_calculation_partitioned_t;
    1040             : #define FD_STAKE_REWARD_CALCULATION_PARTITIONED_ALIGN alignof(fd_stake_reward_calculation_partitioned_t)
    1041             : 
    1042             : #define POOL_NAME fd_stake_reward_calculation_pool
    1043           0 : #define POOL_T fd_stake_reward_t
    1044           0 : #define POOL_NEXT parent
    1045             : #include "../../util/tmpl/fd_pool.c"
    1046             : static inline fd_stake_reward_t *
    1047           0 : fd_stake_reward_calculation_pool_join_new( void * * alloc_mem, ulong num ) {
    1048           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
    1049           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_stake_reward_calculation_pool_align() );
    1050           0 :   void * pool_mem = *alloc_mem;
    1051           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_stake_reward_calculation_pool_footprint( num );
    1052           0 :   return fd_stake_reward_calculation_pool_join( fd_stake_reward_calculation_pool_new( pool_mem, num ) );
    1053           0 : }
    1054             : #define DLIST_NAME fd_stake_reward_calculation_dlist
    1055             : #define DLIST_ELE_T fd_stake_reward_t
    1056             : #include "../../util/tmpl/fd_dlist.c"
    1057             : static inline fd_stake_reward_calculation_dlist_t *
    1058           0 : fd_stake_reward_calculation_dlist_join_new( void * * alloc_mem, ulong num ) {
    1059           0 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
    1060           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_stake_reward_calculation_dlist_align() );
    1061           0 :   void * dlist_mem = *alloc_mem;
    1062           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_stake_reward_calculation_dlist_footprint();
    1063           0 :   return fd_stake_reward_calculation_dlist_join( fd_stake_reward_calculation_dlist_new( dlist_mem ) );
    1064           0 : }
    1065             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L94 */
    1066             : /* Encoded Size: Dynamic */
    1067             : struct fd_stake_reward_calculation {
    1068             :   ulong stake_rewards_len;
    1069             :   fd_stake_reward_calculation_dlist_t * stake_rewards;
    1070             :   fd_stake_reward_t * pool;
    1071             :   ulong total_stake_rewards_lamports;
    1072             : };
    1073             : typedef struct fd_stake_reward_calculation fd_stake_reward_calculation_t;
    1074             : #define FD_STAKE_REWARD_CALCULATION_ALIGN alignof(fd_stake_reward_calculation_t)
    1075             : 
    1076             : typedef struct fd_vote_reward_t_mapnode fd_vote_reward_t_mapnode_t;
    1077             : #define REDBLK_T fd_vote_reward_t_mapnode_t
    1078             : #define REDBLK_NAME fd_vote_reward_t_map
    1079             : #define REDBLK_IMPL_STYLE 1
    1080             : #include "../../util/tmpl/fd_redblack.c"
    1081             : struct fd_vote_reward_t_mapnode {
    1082             :     fd_vote_reward_t elem;
    1083             :     ulong redblack_parent;
    1084             :     ulong redblack_left;
    1085             :     ulong redblack_right;
    1086             :     int redblack_color;
    1087             : };
    1088             : static inline fd_vote_reward_t_mapnode_t *
    1089           0 : fd_vote_reward_t_map_join_new( void * * alloc_mem, ulong len ) {
    1090           0 :   if( FD_UNLIKELY( 0 == len ) ) len = 1; // prevent underflow
    1091           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_reward_t_map_align() );
    1092           0 :   void * map_mem = *alloc_mem;
    1093           0 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_reward_t_map_footprint( len );
    1094           0 :   return fd_vote_reward_t_map_join( fd_vote_reward_t_map_new( map_mem, len ) );
    1095           0 : }
    1096             : /* Encoded Size: Dynamic */
    1097             : struct fd_calculate_stake_vote_rewards_result {
    1098             :   fd_stake_reward_calculation_t stake_reward_calculation;
    1099             :   fd_vote_reward_t_mapnode_t * vote_reward_map_pool;
    1100             :   fd_vote_reward_t_mapnode_t * vote_reward_map_root;
    1101             : };
    1102             : typedef struct fd_calculate_stake_vote_rewards_result fd_calculate_stake_vote_rewards_result_t;
    1103             : #define FD_CALCULATE_STAKE_VOTE_REWARDS_RESULT_ALIGN alignof(fd_calculate_stake_vote_rewards_result_t)
    1104             : 
    1105             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L102 */
    1106             : /* Encoded Size: Dynamic */
    1107             : struct fd_calculate_validator_rewards_result {
    1108             :   fd_calculate_stake_vote_rewards_result_t calculate_stake_vote_rewards_result;
    1109             :   fd_point_value_t point_value;
    1110             : };
    1111             : typedef struct fd_calculate_validator_rewards_result fd_calculate_validator_rewards_result_t;
    1112             : #define FD_CALCULATE_VALIDATOR_REWARDS_RESULT_ALIGN alignof(fd_calculate_validator_rewards_result_t)
    1113             : 
    1114             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L118 */
    1115             : /* Encoded Size: Dynamic */
    1116             : struct fd_partitioned_rewards_calculation {
    1117             :   fd_vote_reward_t_mapnode_t * vote_reward_map_pool;
    1118             :   fd_vote_reward_t_mapnode_t * vote_reward_map_root;
    1119             :   fd_stake_reward_calculation_partitioned_t stake_rewards_by_partition;
    1120             :   ulong old_vote_balance_and_staked;
    1121             :   ulong validator_rewards;
    1122             :   double validator_rate;
    1123             :   double foundation_rate;
    1124             :   double prev_epoch_duration_in_years;
    1125             :   ulong capitalization;
    1126             :   fd_point_value_t point_value;
    1127             : };
    1128             : typedef struct fd_partitioned_rewards_calculation fd_partitioned_rewards_calculation_t;
    1129             : #define FD_PARTITIONED_REWARDS_CALCULATION_ALIGN alignof(fd_partitioned_rewards_calculation_t)
    1130             : 
    1131             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L60 */
    1132             : /* Encoded Size: Dynamic */
    1133             : struct fd_start_block_height_and_rewards {
    1134             :   ulong distribution_starting_block_height;
    1135             :   fd_partitioned_stake_rewards_t partitioned_stake_rewards;
    1136             : };
    1137             : typedef struct fd_start_block_height_and_rewards fd_start_block_height_and_rewards_t;
    1138             : #define FD_START_BLOCK_HEIGHT_AND_REWARDS_ALIGN alignof(fd_start_block_height_and_rewards_t)
    1139             : 
    1140             : struct fd_start_block_height_and_rewards_global {
    1141             :   ulong distribution_starting_block_height;
    1142             :   fd_partitioned_stake_rewards_global_t partitioned_stake_rewards;
    1143             : };
    1144             : typedef struct fd_start_block_height_and_rewards_global fd_start_block_height_and_rewards_global_t;
    1145             : #define FD_START_BLOCK_HEIGHT_AND_REWARDS_GLOBAL_ALIGN alignof(fd_start_block_height_and_rewards_global_t)
    1146             : 
    1147             : /* Encoded Size: Dynamic */
    1148             : struct fd_fd_epoch_reward_status_inner {
    1149             :   fd_start_block_height_and_rewards_t Active;
    1150             : };
    1151             : typedef struct fd_fd_epoch_reward_status_inner fd_fd_epoch_reward_status_inner_t;
    1152             : #define FD_FD_EPOCH_REWARD_STATUS_INNER_ALIGN alignof(fd_fd_epoch_reward_status_inner_t)
    1153             : 
    1154             : union fd_epoch_reward_status_inner {
    1155             :   fd_start_block_height_and_rewards_t Active;
    1156             : };
    1157             : typedef union fd_epoch_reward_status_inner fd_epoch_reward_status_inner_t;
    1158             : 
    1159             : union fd_epoch_reward_status_inner_global {
    1160             :   fd_start_block_height_and_rewards_global_t Active;
    1161             : };
    1162             : typedef union fd_epoch_reward_status_inner_global fd_epoch_reward_status_inner_global_t;
    1163             : 
    1164             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L70 */
    1165             : struct fd_epoch_reward_status {
    1166             :   uint discriminant;
    1167             :   fd_epoch_reward_status_inner_t inner;
    1168             : };
    1169             : typedef struct fd_epoch_reward_status fd_epoch_reward_status_t;
    1170             : #define FD_EPOCH_REWARD_STATUS_ALIGN alignof(fd_epoch_reward_status_t)
    1171             : struct fd_epoch_reward_status_global {
    1172             :   uint discriminant;
    1173             :   fd_epoch_reward_status_inner_global_t inner;
    1174             : };
    1175             : typedef struct fd_epoch_reward_status_global fd_epoch_reward_status_global_t;
    1176             : #define FD_EPOCH_REWARD_STATUS_GLOBAL_ALIGN alignof(fd_epoch_reward_status_global_t)
    1177             : 
    1178             : /* Encoded Size: Fixed (32 bytes) */
    1179             : struct fd_prev_epoch_inflation_rewards {
    1180             :   ulong validator_rewards;
    1181             :   double prev_epoch_duration_in_years;
    1182             :   double validator_rate;
    1183             :   double foundation_rate;
    1184             : };
    1185             : typedef struct fd_prev_epoch_inflation_rewards fd_prev_epoch_inflation_rewards_t;
    1186             : #define FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN alignof(fd_prev_epoch_inflation_rewards_t)
    1187             : 
    1188             : #define DEQUE_NAME deq_ulong
    1189           0 : #define DEQUE_T ulong
    1190             : #include "../../util/tmpl/fd_deque_dynamic.c"
    1191             : #undef DEQUE_NAME
    1192             : #undef DEQUE_T
    1193             : #undef DEQUE_MAX
    1194             : static inline ulong *
    1195           0 : deq_ulong_join_new( void * * alloc_mem, ulong max ) {
    1196           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
    1197           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_ulong_align() );
    1198           0 :   void * deque_mem = *alloc_mem;
    1199           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_ulong_footprint( max );
    1200           0 :   return deq_ulong_join( deq_ulong_new( deque_mem, max ) );
    1201           0 : }
    1202             : 
    1203             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L133 */
    1204             : /* Encoded Size: Dynamic */
    1205             : struct fd_vote {
    1206             :   ulong * slots; /* fd_deque_dynamic */
    1207             :   fd_hash_t hash;
    1208             :   long timestamp;
    1209             :   uchar has_timestamp;
    1210             : };
    1211             : typedef struct fd_vote fd_vote_t;
    1212             : #define FD_VOTE_ALIGN alignof(fd_vote_t)
    1213             : 
    1214             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L230 */
    1215             : /* Encoded Size: Fixed (97 bytes) */
    1216             : struct fd_vote_init {
    1217             :   fd_pubkey_t node_pubkey;
    1218             :   fd_pubkey_t authorized_voter;
    1219             :   fd_pubkey_t authorized_withdrawer;
    1220             :   uchar commission;
    1221             : };
    1222             : typedef struct fd_vote_init fd_vote_init_t;
    1223             : #define FD_VOTE_INIT_ALIGN alignof(fd_vote_init_t)
    1224             : 
    1225             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L238 */
    1226             : struct fd_vote_authorize {
    1227             :   uint discriminant;
    1228             : };
    1229             : typedef struct fd_vote_authorize fd_vote_authorize_t;
    1230             : #define FD_VOTE_AUTHORIZE_ALIGN alignof(fd_vote_authorize_t)
    1231             : 
    1232             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L37 */
    1233             : /* Encoded Size: Fixed (36 bytes) */
    1234             : struct fd_vote_authorize_pubkey {
    1235             :   fd_pubkey_t pubkey;
    1236             :   fd_vote_authorize_t vote_authorize;
    1237             : };
    1238             : typedef struct fd_vote_authorize_pubkey fd_vote_authorize_pubkey_t;
    1239             : #define FD_VOTE_AUTHORIZE_PUBKEY_ALIGN alignof(fd_vote_authorize_pubkey_t)
    1240             : 
    1241             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L78 */
    1242             : /* Encoded Size: Dynamic */
    1243             : struct fd_vote_switch {
    1244             :   fd_vote_t vote;
    1245             :   fd_hash_t hash;
    1246             : };
    1247             : typedef struct fd_vote_switch fd_vote_switch_t;
    1248             : #define FD_VOTE_SWITCH_ALIGN alignof(fd_vote_switch_t)
    1249             : 
    1250             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
    1251             : /* Encoded Size: Dynamic */
    1252             : struct fd_update_vote_state_switch {
    1253             :   fd_vote_state_update_t vote_state_update;
    1254             :   fd_hash_t hash;
    1255             : };
    1256             : typedef struct fd_update_vote_state_switch fd_update_vote_state_switch_t;
    1257             : #define FD_UPDATE_VOTE_STATE_SWITCH_ALIGN alignof(fd_update_vote_state_switch_t)
    1258             : 
    1259             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L244 */
    1260             : /* Encoded Size: Dynamic */
    1261             : struct fd_vote_authorize_with_seed_args {
    1262             :   fd_vote_authorize_t authorization_type;
    1263             :   fd_pubkey_t current_authority_derived_key_owner;
    1264             :   ulong current_authority_derived_key_seed_len;
    1265             :   uchar* current_authority_derived_key_seed;
    1266             :   fd_pubkey_t new_authority;
    1267             : };
    1268             : typedef struct fd_vote_authorize_with_seed_args fd_vote_authorize_with_seed_args_t;
    1269             : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN alignof(fd_vote_authorize_with_seed_args_t)
    1270             : 
    1271             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L252 */
    1272             : /* Encoded Size: Dynamic */
    1273             : struct fd_vote_authorize_checked_with_seed_args {
    1274             :   fd_vote_authorize_t authorization_type;
    1275             :   fd_pubkey_t current_authority_derived_key_owner;
    1276             :   ulong current_authority_derived_key_seed_len;
    1277             :   uchar* current_authority_derived_key_seed;
    1278             : };
    1279             : typedef struct fd_vote_authorize_checked_with_seed_args fd_vote_authorize_checked_with_seed_args_t;
    1280             : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN alignof(fd_vote_authorize_checked_with_seed_args_t)
    1281             : 
    1282             : union fd_vote_instruction_inner {
    1283             :   fd_vote_init_t initialize_account;
    1284             :   fd_vote_authorize_pubkey_t authorize;
    1285             :   fd_vote_t vote;
    1286             :   ulong withdraw;
    1287             :   uchar update_commission;
    1288             :   fd_vote_switch_t vote_switch;
    1289             :   fd_vote_authorize_t authorize_checked;
    1290             :   fd_vote_state_update_t update_vote_state;
    1291             :   fd_update_vote_state_switch_t update_vote_state_switch;
    1292             :   fd_vote_authorize_with_seed_args_t authorize_with_seed;
    1293             :   fd_vote_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    1294             :   fd_compact_vote_state_update_t compact_update_vote_state;
    1295             :   fd_compact_vote_state_update_switch_t compact_update_vote_state_switch;
    1296             :   fd_tower_sync_t tower_sync;
    1297             :   fd_tower_sync_switch_t tower_sync_switch;
    1298             : };
    1299             : typedef union fd_vote_instruction_inner fd_vote_instruction_inner_t;
    1300             : 
    1301             : /* https://github.com/firedancer-io/solana/blob/53a4e5d6c58b2ffe89b09304e4437f8ca198dadd/programs/vote/src/vote_instruction.rs#L21 */
    1302             : struct fd_vote_instruction {
    1303             :   uint discriminant;
    1304             :   fd_vote_instruction_inner_t inner;
    1305             : };
    1306             : typedef struct fd_vote_instruction fd_vote_instruction_t;
    1307           0 : #define FD_VOTE_INSTRUCTION_ALIGN alignof(fd_vote_instruction_t)
    1308             : 
    1309             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L158 */
    1310             : /* Encoded Size: Fixed (48 bytes) */
    1311             : struct fd_system_program_instruction_create_account {
    1312             :   ulong lamports;
    1313             :   ulong space;
    1314             :   fd_pubkey_t owner;
    1315             : };
    1316             : typedef struct fd_system_program_instruction_create_account fd_system_program_instruction_create_account_t;
    1317             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN alignof(fd_system_program_instruction_create_account_t)
    1318             : 
    1319             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L193 */
    1320             : /* Encoded Size: Dynamic */
    1321             : struct fd_system_program_instruction_create_account_with_seed {
    1322             :   fd_pubkey_t base;
    1323             :   ulong seed_len;
    1324             :   uchar* seed;
    1325             :   ulong lamports;
    1326             :   ulong space;
    1327             :   fd_pubkey_t owner;
    1328             : };
    1329             : typedef struct fd_system_program_instruction_create_account_with_seed fd_system_program_instruction_create_account_with_seed_t;
    1330             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN alignof(fd_system_program_instruction_create_account_with_seed_t)
    1331             : 
    1332             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L269 */
    1333             : /* Encoded Size: Dynamic */
    1334             : struct fd_system_program_instruction_allocate_with_seed {
    1335             :   fd_pubkey_t base;
    1336             :   ulong seed_len;
    1337             :   uchar* seed;
    1338             :   ulong space;
    1339             :   fd_pubkey_t owner;
    1340             : };
    1341             : typedef struct fd_system_program_instruction_allocate_with_seed fd_system_program_instruction_allocate_with_seed_t;
    1342             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN alignof(fd_system_program_instruction_allocate_with_seed_t)
    1343             : 
    1344             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    1345             : /* Encoded Size: Dynamic */
    1346             : struct fd_system_program_instruction_assign_with_seed {
    1347             :   fd_pubkey_t base;
    1348             :   ulong seed_len;
    1349             :   uchar* seed;
    1350             :   fd_pubkey_t owner;
    1351             : };
    1352             : typedef struct fd_system_program_instruction_assign_with_seed fd_system_program_instruction_assign_with_seed_t;
    1353             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN alignof(fd_system_program_instruction_assign_with_seed_t)
    1354             : 
    1355             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    1356             : /* Encoded Size: Dynamic */
    1357             : struct fd_system_program_instruction_transfer_with_seed {
    1358             :   ulong lamports;
    1359             :   ulong from_seed_len;
    1360             :   uchar* from_seed;
    1361             :   fd_pubkey_t from_owner;
    1362             : };
    1363             : typedef struct fd_system_program_instruction_transfer_with_seed fd_system_program_instruction_transfer_with_seed_t;
    1364             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN alignof(fd_system_program_instruction_transfer_with_seed_t)
    1365             : 
    1366             : union fd_system_program_instruction_inner {
    1367             :   fd_system_program_instruction_create_account_t create_account;
    1368             :   fd_pubkey_t assign;
    1369             :   ulong transfer;
    1370             :   fd_system_program_instruction_create_account_with_seed_t create_account_with_seed;
    1371             :   ulong withdraw_nonce_account;
    1372             :   fd_pubkey_t initialize_nonce_account;
    1373             :   fd_pubkey_t authorize_nonce_account;
    1374             :   ulong allocate;
    1375             :   fd_system_program_instruction_allocate_with_seed_t allocate_with_seed;
    1376             :   fd_system_program_instruction_assign_with_seed_t assign_with_seed;
    1377             :   fd_system_program_instruction_transfer_with_seed_t transfer_with_seed;
    1378             : };
    1379             : typedef union fd_system_program_instruction_inner fd_system_program_instruction_inner_t;
    1380             : 
    1381             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L152 */
    1382             : struct fd_system_program_instruction {
    1383             :   uint discriminant;
    1384             :   fd_system_program_instruction_inner_t inner;
    1385             : };
    1386             : typedef struct fd_system_program_instruction fd_system_program_instruction_t;
    1387           0 : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN alignof(fd_system_program_instruction_t)
    1388             : 
    1389             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L16 */
    1390             : struct fd_system_error {
    1391             :   uint discriminant;
    1392             : };
    1393             : typedef struct fd_system_error fd_system_error_t;
    1394             : #define FD_SYSTEM_ERROR_ALIGN alignof(fd_system_error_t)
    1395             : 
    1396             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L169 */
    1397             : /* Encoded Size: Fixed (64 bytes) */
    1398             : struct fd_stake_authorized {
    1399             :   fd_pubkey_t staker;
    1400             :   fd_pubkey_t withdrawer;
    1401             : };
    1402             : typedef struct fd_stake_authorized fd_stake_authorized_t;
    1403             : #define FD_STAKE_AUTHORIZED_ALIGN alignof(fd_stake_authorized_t)
    1404             : 
    1405             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L135 */
    1406             : /* Encoded Size: Fixed (48 bytes) */
    1407             : struct fd_stake_lockup {
    1408             :   long unix_timestamp;
    1409             :   ulong epoch;
    1410             :   fd_pubkey_t custodian;
    1411             : };
    1412             : typedef struct fd_stake_lockup fd_stake_lockup_t;
    1413             : #define FD_STAKE_LOCKUP_ALIGN alignof(fd_stake_lockup_t)
    1414             : 
    1415             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L68 */
    1416             : /* Encoded Size: Fixed (112 bytes) */
    1417             : struct fd_stake_instruction_initialize {
    1418             :   fd_stake_authorized_t authorized;
    1419             :   fd_stake_lockup_t lockup;
    1420             : };
    1421             : typedef struct fd_stake_instruction_initialize fd_stake_instruction_initialize_t;
    1422             : #define FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN alignof(fd_stake_instruction_initialize_t)
    1423             : 
    1424             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    1425             : /* Encoded Size: Dynamic */
    1426             : struct fd_stake_lockup_custodian_args {
    1427             :   fd_stake_lockup_t lockup;
    1428             :   fd_sol_sysvar_clock_t clock;
    1429             :   fd_pubkey_t * custodian;
    1430             : };
    1431             : typedef struct fd_stake_lockup_custodian_args fd_stake_lockup_custodian_args_t;
    1432             : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN alignof(fd_stake_lockup_custodian_args_t)
    1433             : 
    1434             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L117 */
    1435             : struct fd_stake_authorize {
    1436             :   uint discriminant;
    1437             : };
    1438             : typedef struct fd_stake_authorize fd_stake_authorize_t;
    1439             : #define FD_STAKE_AUTHORIZE_ALIGN alignof(fd_stake_authorize_t)
    1440             : 
    1441             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    1442             : /* Encoded Size: Fixed (36 bytes) */
    1443             : struct fd_stake_instruction_authorize {
    1444             :   fd_pubkey_t pubkey;
    1445             :   fd_stake_authorize_t stake_authorize;
    1446             : };
    1447             : typedef struct fd_stake_instruction_authorize fd_stake_instruction_authorize_t;
    1448             : #define FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN alignof(fd_stake_instruction_authorize_t)
    1449             : 
    1450             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L241 */
    1451             : /* Encoded Size: Dynamic */
    1452             : struct fd_authorize_with_seed_args {
    1453             :   fd_pubkey_t new_authorized_pubkey;
    1454             :   fd_stake_authorize_t stake_authorize;
    1455             :   ulong authority_seed_len;
    1456             :   uchar* authority_seed;
    1457             :   fd_pubkey_t authority_owner;
    1458             : };
    1459             : typedef struct fd_authorize_with_seed_args fd_authorize_with_seed_args_t;
    1460             : #define FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN alignof(fd_authorize_with_seed_args_t)
    1461             : 
    1462             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L249 */
    1463             : /* Encoded Size: Dynamic */
    1464             : struct fd_authorize_checked_with_seed_args {
    1465             :   fd_stake_authorize_t stake_authorize;
    1466             :   ulong authority_seed_len;
    1467             :   uchar* authority_seed;
    1468             :   fd_pubkey_t authority_owner;
    1469             : };
    1470             : typedef struct fd_authorize_checked_with_seed_args fd_authorize_checked_with_seed_args_t;
    1471             : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN alignof(fd_authorize_checked_with_seed_args_t)
    1472             : 
    1473             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L235 */
    1474             : /* Encoded Size: Dynamic */
    1475             : struct fd_lockup_checked_args {
    1476             :   long* unix_timestamp;
    1477             :   ulong* epoch;
    1478             : };
    1479             : typedef struct fd_lockup_checked_args fd_lockup_checked_args_t;
    1480             : #define FD_LOCKUP_CHECKED_ARGS_ALIGN alignof(fd_lockup_checked_args_t)
    1481             : 
    1482             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L228 */
    1483             : /* Encoded Size: Dynamic */
    1484             : struct fd_lockup_args {
    1485             :   long* unix_timestamp;
    1486             :   ulong* epoch;
    1487             :   fd_pubkey_t * custodian;
    1488             : };
    1489             : typedef struct fd_lockup_args fd_lockup_args_t;
    1490             : #define FD_LOCKUP_ARGS_ALIGN alignof(fd_lockup_args_t)
    1491             : 
    1492             : union fd_stake_instruction_inner {
    1493             :   fd_stake_instruction_initialize_t initialize;
    1494             :   fd_stake_instruction_authorize_t authorize;
    1495             :   ulong split;
    1496             :   ulong withdraw;
    1497             :   fd_lockup_args_t set_lockup;
    1498             :   fd_authorize_with_seed_args_t authorize_with_seed;
    1499             :   fd_stake_authorize_t authorize_checked;
    1500             :   fd_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    1501             :   fd_lockup_checked_args_t set_lockup_checked;
    1502             :   ulong move_stake;
    1503             :   ulong move_lamports;
    1504             : };
    1505             : typedef union fd_stake_instruction_inner fd_stake_instruction_inner_t;
    1506             : 
    1507             : /* https://github.com/anza-xyz/agave/blob/cdff19c7807b006dd63429114fb1d9573bf74172/sdk/program/src/stake/instruction.rs#L96 */
    1508             : struct fd_stake_instruction {
    1509             :   uint discriminant;
    1510             :   fd_stake_instruction_inner_t inner;
    1511             : };
    1512             : typedef struct fd_stake_instruction fd_stake_instruction_t;
    1513           0 : #define FD_STAKE_INSTRUCTION_ALIGN alignof(fd_stake_instruction_t)
    1514             : 
    1515             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L248 */
    1516             : /* Encoded Size: Fixed (120 bytes) */
    1517             : struct fd_stake_meta {
    1518             :   ulong rent_exempt_reserve;
    1519             :   fd_stake_authorized_t authorized;
    1520             :   fd_stake_lockup_t lockup;
    1521             : };
    1522             : typedef struct fd_stake_meta fd_stake_meta_t;
    1523             : #define FD_STAKE_META_ALIGN alignof(fd_stake_meta_t)
    1524             : 
    1525             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/stake_flags.rs#L21 */
    1526             : /* Encoded Size: Fixed (1 bytes) */
    1527             : struct fd_stake_flags {
    1528             :   uchar bits;
    1529             : };
    1530             : typedef struct fd_stake_flags fd_stake_flags_t;
    1531             : #define FD_STAKE_FLAGS_ALIGN alignof(fd_stake_flags_t)
    1532             : 
    1533             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L135 */
    1534             : /* Encoded Size: Fixed (120 bytes) */
    1535             : struct fd_stake_state_v2_initialized {
    1536             :   fd_stake_meta_t meta;
    1537             : };
    1538             : typedef struct fd_stake_state_v2_initialized fd_stake_state_v2_initialized_t;
    1539             : #define FD_STAKE_STATE_V2_INITIALIZED_ALIGN alignof(fd_stake_state_v2_initialized_t)
    1540             : 
    1541             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L136 */
    1542             : /* Encoded Size: Fixed (193 bytes) */
    1543             : struct fd_stake_state_v2_stake {
    1544             :   fd_stake_meta_t meta;
    1545             :   fd_stake_t stake;
    1546             :   fd_stake_flags_t stake_flags;
    1547             : };
    1548             : typedef struct fd_stake_state_v2_stake fd_stake_state_v2_stake_t;
    1549             : #define FD_STAKE_STATE_V2_STAKE_ALIGN alignof(fd_stake_state_v2_stake_t)
    1550             : 
    1551             : union fd_stake_state_v2_inner {
    1552             :   fd_stake_state_v2_initialized_t initialized;
    1553             :   fd_stake_state_v2_stake_t stake;
    1554             : };
    1555             : typedef union fd_stake_state_v2_inner fd_stake_state_v2_inner_t;
    1556             : 
    1557             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L132 */
    1558             : struct fd_stake_state_v2 {
    1559             :   uint discriminant;
    1560             :   fd_stake_state_v2_inner_t inner;
    1561             : };
    1562             : typedef struct fd_stake_state_v2 fd_stake_state_v2_t;
    1563           0 : #define FD_STAKE_STATE_V2_ALIGN alignof(fd_stake_state_v2_t)
    1564             : 
    1565             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L17 */
    1566             : /* Encoded Size: Fixed (72 bytes) */
    1567             : struct fd_nonce_data {
    1568             :   fd_pubkey_t authority;
    1569             :   fd_hash_t durable_nonce;
    1570             :   fd_fee_calculator_t fee_calculator;
    1571             : };
    1572             : typedef struct fd_nonce_data fd_nonce_data_t;
    1573             : #define FD_NONCE_DATA_ALIGN alignof(fd_nonce_data_t)
    1574             : 
    1575             : union fd_nonce_state_inner {
    1576             :   fd_nonce_data_t initialized;
    1577             : };
    1578             : typedef union fd_nonce_state_inner fd_nonce_state_inner_t;
    1579             : 
    1580             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L65 */
    1581             : struct fd_nonce_state {
    1582             :   uint discriminant;
    1583             :   fd_nonce_state_inner_t inner;
    1584             : };
    1585             : typedef struct fd_nonce_state fd_nonce_state_t;
    1586             : #define FD_NONCE_STATE_ALIGN alignof(fd_nonce_state_t)
    1587             : 
    1588             : union fd_nonce_state_versions_inner {
    1589             :   fd_nonce_state_t legacy;
    1590             :   fd_nonce_state_t current;
    1591             : };
    1592             : typedef union fd_nonce_state_versions_inner fd_nonce_state_versions_inner_t;
    1593             : 
    1594             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/mod.rs#L9 */
    1595             : struct fd_nonce_state_versions {
    1596             :   uint discriminant;
    1597             :   fd_nonce_state_versions_inner_t inner;
    1598             : };
    1599             : typedef struct fd_nonce_state_versions fd_nonce_state_versions_t;
    1600           0 : #define FD_NONCE_STATE_VERSIONS_ALIGN alignof(fd_nonce_state_versions_t)
    1601             : 
    1602             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L28 */
    1603             : /* Encoded Size: Fixed (8 bytes) */
    1604             : struct fd_compute_budget_program_instruction_request_units_deprecated {
    1605             :   uint units;
    1606             :   uint additional_fee;
    1607             : };
    1608             : typedef struct fd_compute_budget_program_instruction_request_units_deprecated fd_compute_budget_program_instruction_request_units_deprecated_t;
    1609             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN alignof(fd_compute_budget_program_instruction_request_units_deprecated_t)
    1610             : 
    1611             : union fd_compute_budget_program_instruction_inner {
    1612             :   fd_compute_budget_program_instruction_request_units_deprecated_t request_units_deprecated;
    1613             :   uint request_heap_frame;
    1614             :   uint set_compute_unit_limit;
    1615             :   ulong set_compute_unit_price;
    1616             :   uint set_loaded_accounts_data_size_limit;
    1617             : };
    1618             : typedef union fd_compute_budget_program_instruction_inner fd_compute_budget_program_instruction_inner_t;
    1619             : 
    1620             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L25 */
    1621             : struct fd_compute_budget_program_instruction {
    1622             :   uint discriminant;
    1623             :   fd_compute_budget_program_instruction_inner_t inner;
    1624             : };
    1625             : typedef struct fd_compute_budget_program_instruction fd_compute_budget_program_instruction_t;
    1626           0 : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN alignof(fd_compute_budget_program_instruction_t)
    1627             : 
    1628             : /* https://github.com/solana-labs/solana/blob/a03ae63daff987912c48ee286eb8ee7e8a84bf01/programs/config/src/lib.rs#L32 */
    1629             : /* Encoded Size: Dynamic */
    1630             : struct fd_config_keys {
    1631             :   ushort keys_len;
    1632             :   fd_config_keys_pair_t * keys;
    1633             : };
    1634             : typedef struct fd_config_keys fd_config_keys_t;
    1635           0 : #define FD_CONFIG_KEYS_ALIGN alignof(fd_config_keys_t)
    1636             : 
    1637             : /* Encoded Size: Dynamic */
    1638             : struct fd_bpf_loader_program_instruction_write {
    1639             :   uint offset;
    1640             :   ulong bytes_len;
    1641             :   uchar* bytes;
    1642             : };
    1643             : typedef struct fd_bpf_loader_program_instruction_write fd_bpf_loader_program_instruction_write_t;
    1644             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_bpf_loader_program_instruction_write_t)
    1645             : 
    1646             : union fd_bpf_loader_program_instruction_inner {
    1647             :   fd_bpf_loader_program_instruction_write_t write;
    1648             : };
    1649             : typedef union fd_bpf_loader_program_instruction_inner fd_bpf_loader_program_instruction_inner_t;
    1650             : 
    1651             : struct fd_bpf_loader_program_instruction {
    1652             :   uint discriminant;
    1653             :   fd_bpf_loader_program_instruction_inner_t inner;
    1654             : };
    1655             : typedef struct fd_bpf_loader_program_instruction fd_bpf_loader_program_instruction_t;
    1656             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN alignof(fd_bpf_loader_program_instruction_t)
    1657             : 
    1658             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L21-L27 */
    1659             : /* Encoded Size: Dynamic */
    1660             : struct fd_loader_v4_program_instruction_write {
    1661             :   uint offset;
    1662             :   ulong bytes_len;
    1663             :   uchar* bytes;
    1664             : };
    1665             : typedef struct fd_loader_v4_program_instruction_write fd_loader_v4_program_instruction_write_t;
    1666             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_loader_v4_program_instruction_write_t)
    1667             : 
    1668             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L35-L42 */
    1669             : /* Encoded Size: Fixed (12 bytes) */
    1670             : struct fd_loader_v4_program_instruction_copy {
    1671             :   uint destination_offset;
    1672             :   uint source_offset;
    1673             :   uint length;
    1674             : };
    1675             : typedef struct fd_loader_v4_program_instruction_copy fd_loader_v4_program_instruction_copy_t;
    1676             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_COPY_ALIGN alignof(fd_loader_v4_program_instruction_copy_t)
    1677             : 
    1678             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L57-L60 */
    1679             : /* Encoded Size: Fixed (4 bytes) */
    1680             : struct fd_loader_v4_program_instruction_set_program_length {
    1681             :   uint new_size;
    1682             : };
    1683             : typedef struct fd_loader_v4_program_instruction_set_program_length fd_loader_v4_program_instruction_set_program_length_t;
    1684             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_SET_PROGRAM_LENGTH_ALIGN alignof(fd_loader_v4_program_instruction_set_program_length_t)
    1685             : 
    1686             : union fd_loader_v4_program_instruction_inner {
    1687             :   fd_loader_v4_program_instruction_write_t write;
    1688             :   fd_loader_v4_program_instruction_copy_t copy;
    1689             :   fd_loader_v4_program_instruction_set_program_length_t set_program_length;
    1690             : };
    1691             : typedef union fd_loader_v4_program_instruction_inner fd_loader_v4_program_instruction_inner_t;
    1692             : 
    1693             : /* https://github.com/anza-xyz/agave/blob/007194391ca8313b2854d523769d0bedf040ef92/sdk/program/src/loader_v4_instruction.rs#L5 */
    1694             : struct fd_loader_v4_program_instruction {
    1695             :   uint discriminant;
    1696             :   fd_loader_v4_program_instruction_inner_t inner;
    1697             : };
    1698             : typedef struct fd_loader_v4_program_instruction fd_loader_v4_program_instruction_t;
    1699           0 : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN alignof(fd_loader_v4_program_instruction_t)
    1700             : 
    1701             : /* Encoded Size: Dynamic */
    1702             : struct fd_bpf_upgradeable_loader_program_instruction_write {
    1703             :   uint offset;
    1704             :   ulong bytes_len;
    1705             :   uchar* bytes;
    1706             : };
    1707             : typedef struct fd_bpf_upgradeable_loader_program_instruction_write fd_bpf_upgradeable_loader_program_instruction_write_t;
    1708             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_write_t)
    1709             : 
    1710             : /* Encoded Size: Fixed (8 bytes) */
    1711             : struct fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len {
    1712             :   ulong max_data_len;
    1713             : };
    1714             : 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;
    1715             : #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)
    1716             : 
    1717             : /* Encoded Size: Fixed (4 bytes) */
    1718             : struct fd_bpf_upgradeable_loader_program_instruction_extend_program {
    1719             :   uint additional_bytes;
    1720             : };
    1721             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program fd_bpf_upgradeable_loader_program_instruction_extend_program_t;
    1722             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t)
    1723             : 
    1724             : /* Encoded Size: Fixed (4 bytes) */
    1725             : struct fd_bpf_upgradeable_loader_program_instruction_extend_program_checked {
    1726             :   uint additional_bytes;
    1727             : };
    1728             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program_checked fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t;
    1729             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_CHECKED_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t)
    1730             : 
    1731             : union fd_bpf_upgradeable_loader_program_instruction_inner {
    1732             :   fd_bpf_upgradeable_loader_program_instruction_write_t write;
    1733             :   fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t deploy_with_max_data_len;
    1734             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_t extend_program;
    1735             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t extend_program_checked;
    1736             : };
    1737             : typedef union fd_bpf_upgradeable_loader_program_instruction_inner fd_bpf_upgradeable_loader_program_instruction_inner_t;
    1738             : 
    1739             : struct fd_bpf_upgradeable_loader_program_instruction {
    1740             :   uint discriminant;
    1741             :   fd_bpf_upgradeable_loader_program_instruction_inner_t inner;
    1742             : };
    1743             : typedef struct fd_bpf_upgradeable_loader_program_instruction fd_bpf_upgradeable_loader_program_instruction_t;
    1744           0 : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_t)
    1745             : 
    1746             : /* Encoded Size: Dynamic */
    1747             : struct fd_bpf_upgradeable_loader_state_buffer {
    1748             :   fd_pubkey_t authority_address;
    1749             :   uchar has_authority_address;
    1750             : };
    1751             : typedef struct fd_bpf_upgradeable_loader_state_buffer fd_bpf_upgradeable_loader_state_buffer_t;
    1752             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN alignof(fd_bpf_upgradeable_loader_state_buffer_t)
    1753             : 
    1754             : /* Encoded Size: Fixed (32 bytes) */
    1755             : struct fd_bpf_upgradeable_loader_state_program {
    1756             :   fd_pubkey_t programdata_address;
    1757             : };
    1758             : typedef struct fd_bpf_upgradeable_loader_state_program fd_bpf_upgradeable_loader_state_program_t;
    1759             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN alignof(fd_bpf_upgradeable_loader_state_program_t)
    1760             : 
    1761             : /* Encoded Size: Dynamic */
    1762             : struct fd_bpf_upgradeable_loader_state_program_data {
    1763             :   ulong slot;
    1764             :   fd_pubkey_t upgrade_authority_address;
    1765             :   uchar has_upgrade_authority_address;
    1766             : };
    1767             : typedef struct fd_bpf_upgradeable_loader_state_program_data fd_bpf_upgradeable_loader_state_program_data_t;
    1768             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN alignof(fd_bpf_upgradeable_loader_state_program_data_t)
    1769             : 
    1770             : union fd_bpf_upgradeable_loader_state_inner {
    1771             :   fd_bpf_upgradeable_loader_state_buffer_t buffer;
    1772             :   fd_bpf_upgradeable_loader_state_program_t program;
    1773             :   fd_bpf_upgradeable_loader_state_program_data_t program_data;
    1774             : };
    1775             : typedef union fd_bpf_upgradeable_loader_state_inner fd_bpf_upgradeable_loader_state_inner_t;
    1776             : 
    1777             : struct fd_bpf_upgradeable_loader_state {
    1778             :   uint discriminant;
    1779             :   fd_bpf_upgradeable_loader_state_inner_t inner;
    1780             : };
    1781             : typedef struct fd_bpf_upgradeable_loader_state fd_bpf_upgradeable_loader_state_t;
    1782           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN alignof(fd_bpf_upgradeable_loader_state_t)
    1783             : 
    1784             : /* https://github.com/anza-xyz/agave/blob/v2.1.4/sdk/program/src/loader_v4.rs#L33-L43 */
    1785             : /* Encoded Size: Fixed (48 bytes) */
    1786             : struct fd_loader_v4_state {
    1787             :   ulong slot;
    1788             :   fd_pubkey_t authority_address_or_next_version;
    1789             :   ulong status;
    1790             : };
    1791             : typedef struct fd_loader_v4_state fd_loader_v4_state_t;
    1792             : #define FD_LOADER_V4_STATE_ALIGN alignof(fd_loader_v4_state_t)
    1793             : 
    1794             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L178 */
    1795             : /* Encoded Size: Fixed (33 bytes) */
    1796             : struct fd_frozen_hash_status {
    1797             :   fd_hash_t frozen_hash;
    1798             :   uchar is_duplicate_confirmed;
    1799             : };
    1800             : typedef struct fd_frozen_hash_status fd_frozen_hash_status_t;
    1801             : #define FD_FROZEN_HASH_STATUS_ALIGN alignof(fd_frozen_hash_status_t)
    1802             : 
    1803             : union fd_frozen_hash_versioned_inner {
    1804             :   fd_frozen_hash_status_t current;
    1805             : };
    1806             : typedef union fd_frozen_hash_versioned_inner fd_frozen_hash_versioned_inner_t;
    1807             : 
    1808             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L157 */
    1809             : struct fd_frozen_hash_versioned {
    1810             :   uint discriminant;
    1811             :   fd_frozen_hash_versioned_inner_t inner;
    1812             : };
    1813             : typedef struct fd_frozen_hash_versioned fd_frozen_hash_versioned_t;
    1814             : #define FD_FROZEN_HASH_VERSIONED_ALIGN alignof(fd_frozen_hash_versioned_t)
    1815             : 
    1816             : /* Encoded Size: Dynamic */
    1817             : struct fd_lookup_table_meta {
    1818             :   ulong deactivation_slot;
    1819             :   ulong last_extended_slot;
    1820             :   uchar last_extended_slot_start_index;
    1821             :   fd_pubkey_t authority;
    1822             :   uchar has_authority;
    1823             :   ushort _padding;
    1824             : };
    1825             : typedef struct fd_lookup_table_meta fd_lookup_table_meta_t;
    1826             : #define FD_LOOKUP_TABLE_META_ALIGN alignof(fd_lookup_table_meta_t)
    1827             : 
    1828             : /* Encoded Size: Dynamic */
    1829             : struct fd_address_lookup_table {
    1830             :   fd_lookup_table_meta_t meta;
    1831             : };
    1832             : typedef struct fd_address_lookup_table fd_address_lookup_table_t;
    1833             : #define FD_ADDRESS_LOOKUP_TABLE_ALIGN alignof(fd_address_lookup_table_t)
    1834             : 
    1835             : union fd_address_lookup_table_state_inner {
    1836             :   fd_address_lookup_table_t lookup_table;
    1837             : };
    1838             : typedef union fd_address_lookup_table_state_inner fd_address_lookup_table_state_inner_t;
    1839             : 
    1840             : struct fd_address_lookup_table_state {
    1841             :   uint discriminant;
    1842             :   fd_address_lookup_table_state_inner_t inner;
    1843             : };
    1844             : typedef struct fd_address_lookup_table_state fd_address_lookup_table_state_t;
    1845             : #define FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN alignof(fd_address_lookup_table_state_t)
    1846             : 
    1847             : /* https://github.com/solana-labs/solana/blob/52616cf7aa424a80f770e5ec3f2cd49d1cfeb845/gossip/src/ping_pong.rs#L22 */
    1848             : /* Encoded Size: Fixed (128 bytes) */
    1849             : struct fd_gossip_ping {
    1850             :   fd_pubkey_t from;
    1851             :   fd_hash_t token;
    1852             :   fd_signature_t signature;
    1853             : };
    1854             : typedef struct fd_gossip_ping fd_gossip_ping_t;
    1855             : #define FD_GOSSIP_PING_ALIGN alignof(fd_gossip_ping_t)
    1856             : 
    1857             : /* Encoded Size: Fixed (9 bytes) */
    1858             : struct fd_addrlut_create {
    1859             :   ulong recent_slot;
    1860             :   uchar bump_seed;
    1861             : };
    1862             : typedef struct fd_addrlut_create fd_addrlut_create_t;
    1863             : #define FD_ADDRLUT_CREATE_ALIGN alignof(fd_addrlut_create_t)
    1864             : 
    1865             : /* Encoded Size: Dynamic */
    1866             : struct fd_addrlut_extend {
    1867             :   ulong new_addrs_len;
    1868             :   fd_pubkey_t * new_addrs;
    1869             : };
    1870             : typedef struct fd_addrlut_extend fd_addrlut_extend_t;
    1871             : #define FD_ADDRLUT_EXTEND_ALIGN alignof(fd_addrlut_extend_t)
    1872             : 
    1873             : union fd_addrlut_instruction_inner {
    1874             :   fd_addrlut_create_t create_lut;
    1875             :   fd_addrlut_extend_t extend_lut;
    1876             : };
    1877             : typedef union fd_addrlut_instruction_inner fd_addrlut_instruction_inner_t;
    1878             : 
    1879             : /* https://github.com/solana-labs/solana/blob/fb80288f885a62bcd923f4c9579fd0edeafaff9b/sdk/program/src/address_lookup_table/instruction.rs#L13 */
    1880             : struct fd_addrlut_instruction {
    1881             :   uint discriminant;
    1882             :   fd_addrlut_instruction_inner_t inner;
    1883             : };
    1884             : typedef struct fd_addrlut_instruction fd_addrlut_instruction_t;
    1885           0 : #define FD_ADDRLUT_INSTRUCTION_ALIGN alignof(fd_addrlut_instruction_t)
    1886             : 
    1887             : /* https://github.com/anza-xyz/agave/blob/v2.2.7/core/src/repair/serve_repair.rs#L204-L210 */
    1888             : /* Encoded Size: Fixed (140 bytes) */
    1889             : struct fd_repair_request_header {
    1890             :   fd_signature_t signature;
    1891             :   fd_pubkey_t sender;
    1892             :   fd_pubkey_t recipient;
    1893             :   ulong timestamp;
    1894             :   uint nonce;
    1895             : };
    1896             : typedef struct fd_repair_request_header fd_repair_request_header_t;
    1897             : #define FD_REPAIR_REQUEST_HEADER_ALIGN alignof(fd_repair_request_header_t)
    1898             : 
    1899             : /* Encoded Size: Fixed (156 bytes) */
    1900             : struct fd_repair_window_index {
    1901             :   fd_repair_request_header_t header;
    1902             :   ulong slot;
    1903             :   ulong shred_index;
    1904             : };
    1905             : typedef struct fd_repair_window_index fd_repair_window_index_t;
    1906             : #define FD_REPAIR_WINDOW_INDEX_ALIGN alignof(fd_repair_window_index_t)
    1907             : 
    1908             : /* Encoded Size: Fixed (156 bytes) */
    1909             : struct fd_repair_highest_window_index {
    1910             :   fd_repair_request_header_t header;
    1911             :   ulong slot;
    1912             :   ulong shred_index;
    1913             : };
    1914             : typedef struct fd_repair_highest_window_index fd_repair_highest_window_index_t;
    1915             : #define FD_REPAIR_HIGHEST_WINDOW_INDEX_ALIGN alignof(fd_repair_highest_window_index_t)
    1916             : 
    1917             : /* Encoded Size: Fixed (148 bytes) */
    1918             : struct fd_repair_orphan {
    1919             :   fd_repair_request_header_t header;
    1920             :   ulong slot;
    1921             : };
    1922             : typedef struct fd_repair_orphan fd_repair_orphan_t;
    1923             : #define FD_REPAIR_ORPHAN_ALIGN alignof(fd_repair_orphan_t)
    1924             : 
    1925             : /* Encoded Size: Fixed (148 bytes) */
    1926             : struct fd_repair_ancestor_hashes {
    1927             :   fd_repair_request_header_t header;
    1928             :   ulong slot;
    1929             : };
    1930             : typedef struct fd_repair_ancestor_hashes fd_repair_ancestor_hashes_t;
    1931             : #define FD_REPAIR_ANCESTOR_HASHES_ALIGN alignof(fd_repair_ancestor_hashes_t)
    1932             : 
    1933             : union fd_repair_protocol_inner {
    1934             :   fd_gossip_ping_t pong;
    1935             :   fd_repair_window_index_t window_index;
    1936             :   fd_repair_highest_window_index_t highest_window_index;
    1937             :   fd_repair_orphan_t orphan;
    1938             :   fd_repair_ancestor_hashes_t ancestor_hashes;
    1939             : };
    1940             : typedef union fd_repair_protocol_inner fd_repair_protocol_inner_t;
    1941             : 
    1942             : struct fd_repair_protocol {
    1943             :   uint discriminant;
    1944             :   fd_repair_protocol_inner_t inner;
    1945             : };
    1946             : typedef struct fd_repair_protocol fd_repair_protocol_t;
    1947          18 : #define FD_REPAIR_PROTOCOL_ALIGN alignof(fd_repair_protocol_t)
    1948             : 
    1949             : union fd_repair_response_inner {
    1950             :   fd_gossip_ping_t ping;
    1951             : };
    1952             : typedef union fd_repair_response_inner fd_repair_response_inner_t;
    1953             : 
    1954             : struct fd_repair_response {
    1955             :   uint discriminant;
    1956             :   fd_repair_response_inner_t inner;
    1957             : };
    1958             : typedef struct fd_repair_response fd_repair_response_t;
    1959             : #define FD_REPAIR_RESPONSE_ALIGN alignof(fd_repair_response_t)
    1960             : 
    1961             : union fd_instr_error_enum_inner {
    1962             :   uint custom;
    1963             :   char* borsh_io_error;
    1964             : };
    1965             : typedef union fd_instr_error_enum_inner fd_instr_error_enum_inner_t;
    1966             : 
    1967             : struct fd_instr_error_enum {
    1968             :   uint discriminant;
    1969             :   fd_instr_error_enum_inner_t inner;
    1970             : };
    1971             : typedef struct fd_instr_error_enum fd_instr_error_enum_t;
    1972             : #define FD_INSTR_ERROR_ENUM_ALIGN alignof(fd_instr_error_enum_t)
    1973             : 
    1974             : /* Encoded Size: Dynamic */
    1975             : struct fd_txn_instr_error {
    1976             :   uchar instr_idx;
    1977             :   fd_instr_error_enum_t error;
    1978             : };
    1979             : typedef struct fd_txn_instr_error fd_txn_instr_error_t;
    1980             : #define FD_TXN_INSTR_ERROR_ALIGN alignof(fd_txn_instr_error_t)
    1981             : 
    1982             : union fd_txn_error_enum_inner {
    1983             :   fd_txn_instr_error_t instruction_error;
    1984             :   uchar duplicate_instruction;
    1985             :   uchar insufficient_funds_for_rent;
    1986             :   uchar program_execution_temporarily_restricted;
    1987             : };
    1988             : typedef union fd_txn_error_enum_inner fd_txn_error_enum_inner_t;
    1989             : 
    1990             : struct fd_txn_error_enum {
    1991             :   uint discriminant;
    1992             :   fd_txn_error_enum_inner_t inner;
    1993             : };
    1994             : typedef struct fd_txn_error_enum fd_txn_error_enum_t;
    1995             : #define FD_TXN_ERROR_ENUM_ALIGN alignof(fd_txn_error_enum_t)
    1996             : 
    1997             : union fd_txn_result_inner {
    1998             :   fd_txn_error_enum_t error;
    1999             : };
    2000             : typedef union fd_txn_result_inner fd_txn_result_inner_t;
    2001             : 
    2002             : struct fd_txn_result {
    2003             :   uint discriminant;
    2004             :   fd_txn_result_inner_t inner;
    2005             : };
    2006             : typedef struct fd_txn_result fd_txn_result_t;
    2007             : #define FD_TXN_RESULT_ALIGN alignof(fd_txn_result_t)
    2008             : 
    2009             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L85 */
    2010             : /* Encoded Size: Fixed (60 bytes) */
    2011             : struct fd_pubkey_rewardinfo_pair {
    2012             :   fd_pubkey_t pubkey;
    2013             :   fd_reward_info_t reward_info;
    2014             : };
    2015             : typedef struct fd_pubkey_rewardinfo_pair fd_pubkey_rewardinfo_pair_t;
    2016             : #define FD_PUBKEY_REWARDINFO_PAIR_ALIGN alignof(fd_pubkey_rewardinfo_pair_t)
    2017             : 
    2018             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/points.rs#L27 */
    2019             : /* Encoded Size: Fixed (25 bytes) */
    2020             : struct fd_calculated_stake_points {
    2021             :   uint128 points;
    2022             :   ulong new_credits_observed;
    2023             :   uchar force_credits_update_with_skipped_reward;
    2024             : };
    2025             : typedef struct fd_calculated_stake_points fd_calculated_stake_points_t;
    2026             : #define FD_CALCULATED_STAKE_POINTS_ALIGN alignof(fd_calculated_stake_points_t)
    2027             : 
    2028             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/rewards.rs#L24 */
    2029             : /* Encoded Size: Fixed (24 bytes) */
    2030             : struct fd_calculated_stake_rewards {
    2031             :   ulong staker_rewards;
    2032             :   ulong voter_rewards;
    2033             :   ulong new_credits_observed;
    2034             : };
    2035             : typedef struct fd_calculated_stake_rewards fd_calculated_stake_rewards_t;
    2036             : #define FD_CALCULATED_STAKE_REWARDS_ALIGN alignof(fd_calculated_stake_rewards_t)
    2037             : 
    2038             : /* https://github.com/anza-xyz/agave/blob/v2.0.3/ledger/src/blockstore_meta.rs#L150-L156 */
    2039             : /* Encoded Size: Dynamic */
    2040             : struct fd_duplicate_slot_proof {
    2041             :   ulong shred1_len;
    2042             :   uchar* shred1;
    2043             :   ulong shred2_len;
    2044             :   uchar* shred2;
    2045             : };
    2046             : typedef struct fd_duplicate_slot_proof fd_duplicate_slot_proof_t;
    2047             : #define FD_DUPLICATE_SLOT_PROOF_ALIGN alignof(fd_duplicate_slot_proof_t)
    2048             : 
    2049             : /* Encoded Size: Fixed (104 bytes) */
    2050             : struct fd_epoch_info_pair {
    2051             :   fd_pubkey_t account;
    2052             :   fd_stake_t stake;
    2053             : };
    2054             : typedef struct fd_epoch_info_pair fd_epoch_info_pair_t;
    2055             : #define FD_EPOCH_INFO_PAIR_ALIGN alignof(fd_epoch_info_pair_t)
    2056             : 
    2057             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L153-L161 */
    2058             : /* Encoded Size: Fixed (48 bytes) */
    2059             : struct fd_usage_cost_details {
    2060             :   ulong signature_cost;
    2061             :   ulong write_lock_cost;
    2062             :   ulong data_bytes_cost;
    2063             :   ulong programs_execution_cost;
    2064             :   ulong loaded_accounts_data_size_cost;
    2065             :   ulong allocated_accounts_data_size;
    2066             : };
    2067             : typedef struct fd_usage_cost_details fd_usage_cost_details_t;
    2068             : #define FD_USAGE_COST_DETAILS_ALIGN alignof(fd_usage_cost_details_t)
    2069             : 
    2070             : union fd_transaction_cost_inner {
    2071             :   fd_usage_cost_details_t transaction;
    2072             : };
    2073             : typedef union fd_transaction_cost_inner fd_transaction_cost_inner_t;
    2074             : 
    2075             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L20-L23 */
    2076             : struct fd_transaction_cost {
    2077             :   uint discriminant;
    2078             :   fd_transaction_cost_inner_t inner;
    2079             : };
    2080             : typedef struct fd_transaction_cost fd_transaction_cost_t;
    2081             : #define FD_TRANSACTION_COST_ALIGN alignof(fd_transaction_cost_t)
    2082             : 
    2083             : /* Encoded Size: Fixed (16 bytes) */
    2084             : struct fd_rent_paying {
    2085             :   ulong lamports;
    2086             :   ulong data_size;
    2087             : };
    2088             : typedef struct fd_rent_paying fd_rent_paying_t;
    2089             : #define FD_RENT_PAYING_ALIGN alignof(fd_rent_paying_t)
    2090             : 
    2091             : union fd_rent_state_inner {
    2092             :   fd_rent_paying_t rent_paying;
    2093             : };
    2094             : typedef union fd_rent_state_inner fd_rent_state_inner_t;
    2095             : 
    2096             : /* https://github.com/anza-xyz/agave/blob/v2.2.13/svm-rent-collector/src/rent_state.rs#L5-L15 */
    2097             : struct fd_rent_state {
    2098             :   uint discriminant;
    2099             :   fd_rent_state_inner_t inner;
    2100             : };
    2101             : typedef struct fd_rent_state fd_rent_state_t;
    2102             : #define FD_RENT_STATE_ALIGN alignof(fd_rent_state_t)
    2103             : 
    2104             : 
    2105             : FD_PROTOTYPES_BEGIN
    2106             : 
    2107          36 : static inline void fd_hash_new( fd_hash_t * self ) { (void)self; }
    2108             : int fd_hash_encode( fd_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    2109             : void fd_hash_walk( void * w, fd_hash_t const * self, fd_types_walk_fn_t fun, const char * name, uint level, uint varint );
    2110           0 : static inline ulong fd_hash_size( fd_hash_t const * self ) { (void)self; return sizeof(fd_hash_t); }
    2111           0 : static inline ulong fd_hash_align( void ) { return alignof(fd_hash_t); }
    2112             : int fd_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2113             : void * fd_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2114             : 
    2115           0 : static inline void fd_signature_new( fd_signature_t * self ) { (void)self; }
    2116             : int fd_signature_encode( fd_signature_t const * self, fd_bincode_encode_ctx_t * ctx );
    2117             : void fd_signature_walk( void * w, fd_signature_t const * self, fd_types_walk_fn_t fun, const char * name, uint level, uint varint );
    2118           0 : static inline ulong fd_signature_size( fd_signature_t const * self ) { (void)self; return sizeof(fd_signature_t); }
    2119           0 : static inline ulong fd_signature_align( void ) { return alignof(fd_signature_t); }
    2120             : int fd_signature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2121             : void * fd_signature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2122             : 
    2123             : void fd_feature_new( fd_feature_t * self );
    2124             : int fd_feature_encode( fd_feature_t const * self, fd_bincode_encode_ctx_t * ctx );
    2125             : void fd_feature_walk( void * w, fd_feature_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2126             : ulong fd_feature_size( fd_feature_t const * self );
    2127           0 : static inline ulong fd_feature_align( void ) { return FD_FEATURE_ALIGN; }
    2128             : int fd_feature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2129             : void * fd_feature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2130             : 
    2131           0 : static inline void fd_fee_calculator_new( fd_fee_calculator_t * self ) { fd_memset( self, 0, sizeof(fd_fee_calculator_t) ); }
    2132             : int fd_fee_calculator_encode( fd_fee_calculator_t const * self, fd_bincode_encode_ctx_t * ctx );
    2133             : 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 );
    2134           0 : static inline ulong fd_fee_calculator_size( fd_fee_calculator_t const * self ) { (void)self; return 8UL; }
    2135           0 : static inline ulong fd_fee_calculator_align( void ) { return FD_FEE_CALCULATOR_ALIGN; }
    2136           0 : static inline int fd_fee_calculator_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2137           0 :   *total_sz += sizeof(fd_fee_calculator_t);
    2138           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2139           0 :   return 0;
    2140           0 : }
    2141             : void * fd_fee_calculator_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2142             : 
    2143          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) ); }
    2144             : int fd_fee_rate_governor_encode( fd_fee_rate_governor_t const * self, fd_bincode_encode_ctx_t * ctx );
    2145             : 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 );
    2146           0 : static inline ulong fd_fee_rate_governor_size( fd_fee_rate_governor_t const * self ) { (void)self; return 33UL; }
    2147           0 : static inline ulong fd_fee_rate_governor_align( void ) { return FD_FEE_RATE_GOVERNOR_ALIGN; }
    2148           0 : static inline int fd_fee_rate_governor_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2149           0 :   *total_sz += sizeof(fd_fee_rate_governor_t);
    2150           0 :   if( (ulong)ctx->data + 33UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2151           0 :   return 0;
    2152           0 : }
    2153             : void * fd_fee_rate_governor_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2154             : 
    2155           0 : static inline void fd_slot_pair_new( fd_slot_pair_t * self ) { fd_memset( self, 0, sizeof(fd_slot_pair_t) ); }
    2156             : int fd_slot_pair_encode( fd_slot_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2157             : 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 );
    2158           0 : static inline ulong fd_slot_pair_size( fd_slot_pair_t const * self ) { (void)self; return 16UL; }
    2159           0 : static inline ulong fd_slot_pair_align( void ) { return FD_SLOT_PAIR_ALIGN; }
    2160           0 : static inline int fd_slot_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2161           0 :   *total_sz += sizeof(fd_slot_pair_t);
    2162           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2163           0 :   return 0;
    2164           0 : }
    2165             : void * fd_slot_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2166             : 
    2167             : void fd_hard_forks_new( fd_hard_forks_t * self );
    2168             : int fd_hard_forks_encode( fd_hard_forks_t const * self, fd_bincode_encode_ctx_t * ctx );
    2169             : 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 );
    2170             : ulong fd_hard_forks_size( fd_hard_forks_t const * self );
    2171           0 : static inline ulong fd_hard_forks_align( void ) { return FD_HARD_FORKS_ALIGN; }
    2172             : int fd_hard_forks_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2173             : void * fd_hard_forks_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2174             : void * fd_hard_forks_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2175             : int fd_hard_forks_encode_global( fd_hard_forks_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2176             : ulong fd_hard_forks_size_global( fd_hard_forks_global_t const * self );
    2177             : 
    2178          12 : static inline void fd_inflation_new( fd_inflation_t * self ) { fd_memset( self, 0, sizeof(fd_inflation_t) ); }
    2179             : int fd_inflation_encode( fd_inflation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2180             : void fd_inflation_walk( void * w, fd_inflation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2181           0 : static inline ulong fd_inflation_size( fd_inflation_t const * self ) { (void)self; return 48UL; }
    2182           0 : static inline ulong fd_inflation_align( void ) { return FD_INFLATION_ALIGN; }
    2183           0 : static inline int fd_inflation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2184           0 :   *total_sz += sizeof(fd_inflation_t);
    2185           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2186           0 :   return 0;
    2187           0 : }
    2188             : void * fd_inflation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2189             : 
    2190          12 : static inline void fd_rent_new( fd_rent_t * self ) { fd_memset( self, 0, sizeof(fd_rent_t) ); }
    2191             : int fd_rent_encode( fd_rent_t const * self, fd_bincode_encode_ctx_t * ctx );
    2192             : void fd_rent_walk( void * w, fd_rent_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2193           0 : static inline ulong fd_rent_size( fd_rent_t const * self ) { (void)self; return 17UL; }
    2194           3 : static inline ulong fd_rent_align( void ) { return FD_RENT_ALIGN; }
    2195           3 : static inline int fd_rent_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2196           3 :   *total_sz += sizeof(fd_rent_t);
    2197           3 :   if( (ulong)ctx->data + 17UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2198           3 :   return 0;
    2199           3 : }
    2200             : void * fd_rent_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2201             : 
    2202             : void fd_epoch_schedule_new( fd_epoch_schedule_t * self );
    2203             : int fd_epoch_schedule_encode( fd_epoch_schedule_t const * self, fd_bincode_encode_ctx_t * ctx );
    2204             : 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 );
    2205           0 : static inline ulong fd_epoch_schedule_size( fd_epoch_schedule_t const * self ) { (void)self; return 33UL; }
    2206           3 : static inline ulong fd_epoch_schedule_align( void ) { return FD_EPOCH_SCHEDULE_ALIGN; }
    2207             : int fd_epoch_schedule_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2208             : void * fd_epoch_schedule_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2209             : 
    2210             : void fd_rent_collector_new( fd_rent_collector_t * self );
    2211             : int fd_rent_collector_encode( fd_rent_collector_t const * self, fd_bincode_encode_ctx_t * ctx );
    2212             : 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 );
    2213           0 : static inline ulong fd_rent_collector_size( fd_rent_collector_t const * self ) { (void)self; return 66UL; }
    2214           0 : static inline ulong fd_rent_collector_align( void ) { return FD_RENT_COLLECTOR_ALIGN; }
    2215             : int fd_rent_collector_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2216             : void * fd_rent_collector_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2217             : 
    2218           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) ); }
    2219             : int fd_stake_history_entry_encode( fd_stake_history_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    2220             : 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 );
    2221           0 : static inline ulong fd_stake_history_entry_size( fd_stake_history_entry_t const * self ) { (void)self; return 24UL; }
    2222           0 : static inline ulong fd_stake_history_entry_align( void ) { return FD_STAKE_HISTORY_ENTRY_ALIGN; }
    2223           0 : static inline int fd_stake_history_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2224           0 :   *total_sz += sizeof(fd_stake_history_entry_t);
    2225           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2226           0 :   return 0;
    2227           0 : }
    2228             : void * fd_stake_history_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2229             : 
    2230        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) ); }
    2231             : int fd_epoch_stake_history_entry_pair_encode( fd_epoch_stake_history_entry_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2232             : 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 );
    2233           0 : static inline ulong fd_epoch_stake_history_entry_pair_size( fd_epoch_stake_history_entry_pair_t const * self ) { (void)self; return 32UL; }
    2234           0 : static inline ulong fd_epoch_stake_history_entry_pair_align( void ) { return FD_EPOCH_STAKE_HISTORY_ENTRY_PAIR_ALIGN; }
    2235           0 : static inline int fd_epoch_stake_history_entry_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2236           0 :   *total_sz += sizeof(fd_epoch_stake_history_entry_pair_t);
    2237           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2238           0 :   return 0;
    2239           0 : }
    2240             : void * fd_epoch_stake_history_entry_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2241             : 
    2242             : void fd_stake_history_new( fd_stake_history_t * self );
    2243             : int fd_stake_history_encode( fd_stake_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    2244             : 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 );
    2245           0 : static inline ulong fd_stake_history_size( fd_stake_history_t const * self ) { (void)self; return 16392UL; }
    2246           9 : static inline ulong fd_stake_history_align( void ) { return FD_STAKE_HISTORY_ALIGN; }
    2247             : int fd_stake_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2248             : void * fd_stake_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2249             : 
    2250             : void fd_solana_account_new( fd_solana_account_t * self );
    2251             : int fd_solana_account_encode( fd_solana_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    2252             : 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 );
    2253             : ulong fd_solana_account_size( fd_solana_account_t const * self );
    2254           0 : static inline ulong fd_solana_account_align( void ) { return FD_SOLANA_ACCOUNT_ALIGN; }
    2255             : int fd_solana_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2256             : void * fd_solana_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2257             : void * fd_solana_account_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2258             : int fd_solana_account_encode_global( fd_solana_account_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2259             : ulong fd_solana_account_size_global( fd_solana_account_global_t const * self );
    2260             : 
    2261           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) ); }
    2262             : int fd_solana_account_stored_meta_encode( fd_solana_account_stored_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2263             : 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 );
    2264           0 : static inline ulong fd_solana_account_stored_meta_size( fd_solana_account_stored_meta_t const * self ) { (void)self; return 48UL; }
    2265           0 : static inline ulong fd_solana_account_stored_meta_align( void ) { return FD_SOLANA_ACCOUNT_STORED_META_ALIGN; }
    2266           0 : static inline int fd_solana_account_stored_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2267           0 :   *total_sz += sizeof(fd_solana_account_stored_meta_t);
    2268           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2269           0 :   return 0;
    2270           0 : }
    2271             : void * fd_solana_account_stored_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2272             : 
    2273             : void fd_solana_account_meta_new( fd_solana_account_meta_t * self );
    2274             : int fd_solana_account_meta_encode( fd_solana_account_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2275             : 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 );
    2276           0 : static inline ulong fd_solana_account_meta_size( fd_solana_account_meta_t const * self ) { (void)self; return 52UL; }
    2277           0 : static inline ulong fd_solana_account_meta_align( void ) { return FD_SOLANA_ACCOUNT_META_ALIGN; }
    2278             : int fd_solana_account_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2279             : void * fd_solana_account_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2280             : 
    2281             : void fd_solana_account_hdr_new( fd_solana_account_hdr_t * self );
    2282             : int fd_solana_account_hdr_encode( fd_solana_account_hdr_t const * self, fd_bincode_encode_ctx_t * ctx );
    2283             : 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 );
    2284           0 : static inline ulong fd_solana_account_hdr_size( fd_solana_account_hdr_t const * self ) { (void)self; return 136UL; }
    2285           0 : static inline ulong fd_solana_account_hdr_align( void ) { return FD_SOLANA_ACCOUNT_HDR_ALIGN; }
    2286             : int fd_solana_account_hdr_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2287             : void * fd_solana_account_hdr_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2288             : 
    2289           0 : static inline void fd_delegation_new( fd_delegation_t * self ) { fd_memset( self, 0, sizeof(fd_delegation_t) ); }
    2290             : int fd_delegation_encode( fd_delegation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2291             : void fd_delegation_walk( void * w, fd_delegation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2292           0 : static inline ulong fd_delegation_size( fd_delegation_t const * self ) { (void)self; return 64UL; }
    2293           0 : static inline ulong fd_delegation_align( void ) { return FD_DELEGATION_ALIGN; }
    2294           0 : static inline int fd_delegation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2295           0 :   *total_sz += sizeof(fd_delegation_t);
    2296           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2297           0 :   return 0;
    2298           0 : }
    2299             : void * fd_delegation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2300             : 
    2301           0 : static inline void fd_stake_new( fd_stake_t * self ) { fd_memset( self, 0, sizeof(fd_stake_t) ); }
    2302             : int fd_stake_encode( fd_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    2303             : void fd_stake_walk( void * w, fd_stake_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2304           0 : static inline ulong fd_stake_size( fd_stake_t const * self ) { (void)self; return 72UL; }
    2305           0 : static inline ulong fd_stake_align( void ) { return FD_STAKE_ALIGN; }
    2306           0 : static inline int fd_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2307           0 :   *total_sz += sizeof(fd_stake_t);
    2308           0 :   if( (ulong)ctx->data + 72UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2309           0 :   return 0;
    2310           0 : }
    2311             : void * fd_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2312             : 
    2313           0 : static inline void fd_reward_type_new_disc( fd_reward_type_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2314           0 : static inline void fd_reward_type_new( fd_reward_type_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2315             : int fd_reward_type_encode( fd_reward_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    2316             : 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 );
    2317             : ulong fd_reward_type_size( fd_reward_type_t const * self );
    2318           0 : static inline ulong fd_reward_type_align( void ) { return FD_REWARD_TYPE_ALIGN; }
    2319             : int fd_reward_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2320             : void * fd_reward_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2321             : 
    2322             : FD_FN_PURE uchar fd_reward_type_is_fee( fd_reward_type_t const * self );
    2323             : FD_FN_PURE uchar fd_reward_type_is_rent( fd_reward_type_t const * self );
    2324             : FD_FN_PURE uchar fd_reward_type_is_staking( fd_reward_type_t const * self );
    2325             : FD_FN_PURE uchar fd_reward_type_is_voting( fd_reward_type_t const * self );
    2326             : enum {
    2327             : fd_reward_type_enum_fee = 0,
    2328             : fd_reward_type_enum_rent = 1,
    2329             : fd_reward_type_enum_staking = 2,
    2330             : fd_reward_type_enum_voting = 3,
    2331             : };
    2332             : void fd_reward_info_new( fd_reward_info_t * self );
    2333             : int fd_reward_info_encode( fd_reward_info_t const * self, fd_bincode_encode_ctx_t * ctx );
    2334             : 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 );
    2335           0 : static inline ulong fd_reward_info_size( fd_reward_info_t const * self ) { (void)self; return 28UL; }
    2336           0 : static inline ulong fd_reward_info_align( void ) { return FD_REWARD_INFO_ALIGN; }
    2337             : int fd_reward_info_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2338             : void * fd_reward_info_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2339             : 
    2340          12 : static inline void fd_rust_duration_new( fd_rust_duration_t * self ) { fd_memset( self, 0, sizeof(fd_rust_duration_t) ); }
    2341             : int fd_rust_duration_encode( fd_rust_duration_t const * self, fd_bincode_encode_ctx_t * ctx );
    2342             : 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 );
    2343           0 : static inline ulong fd_rust_duration_size( fd_rust_duration_t const * self ) { (void)self; return 12UL; }
    2344           0 : static inline ulong fd_rust_duration_align( void ) { return FD_RUST_DURATION_ALIGN; }
    2345           0 : static inline int fd_rust_duration_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2346           0 :   *total_sz += sizeof(fd_rust_duration_t);
    2347           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2348           0 :   return 0;
    2349           0 : }
    2350             : void * fd_rust_duration_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2351             : 
    2352             : void fd_poh_config_new( fd_poh_config_t * self );
    2353             : int fd_poh_config_encode( fd_poh_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    2354             : 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 );
    2355             : ulong fd_poh_config_size( fd_poh_config_t const * self );
    2356           0 : static inline ulong fd_poh_config_align( void ) { return FD_POH_CONFIG_ALIGN; }
    2357             : int fd_poh_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2358             : void * fd_poh_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2359             : void * fd_poh_config_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2360             : int fd_poh_config_encode_global( fd_poh_config_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2361             : ulong fd_poh_config_size_global( fd_poh_config_global_t const * self );
    2362             : 
    2363             : void fd_string_pubkey_pair_new( fd_string_pubkey_pair_t * self );
    2364             : int fd_string_pubkey_pair_encode( fd_string_pubkey_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2365             : 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 );
    2366             : ulong fd_string_pubkey_pair_size( fd_string_pubkey_pair_t const * self );
    2367           0 : static inline ulong fd_string_pubkey_pair_align( void ) { return FD_STRING_PUBKEY_PAIR_ALIGN; }
    2368             : int fd_string_pubkey_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2369             : void * fd_string_pubkey_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2370             : void * fd_string_pubkey_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2371             : int fd_string_pubkey_pair_encode_global( fd_string_pubkey_pair_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2372             : ulong fd_string_pubkey_pair_size_global( fd_string_pubkey_pair_global_t const * self );
    2373             : 
    2374             : void fd_pubkey_account_pair_new( fd_pubkey_account_pair_t * self );
    2375             : int fd_pubkey_account_pair_encode( fd_pubkey_account_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2376             : 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 );
    2377             : ulong fd_pubkey_account_pair_size( fd_pubkey_account_pair_t const * self );
    2378           0 : static inline ulong fd_pubkey_account_pair_align( void ) { return FD_PUBKEY_ACCOUNT_PAIR_ALIGN; }
    2379             : int fd_pubkey_account_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2380             : void * fd_pubkey_account_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2381             : void * fd_pubkey_account_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2382             : int fd_pubkey_account_pair_encode_global( fd_pubkey_account_pair_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2383             : ulong fd_pubkey_account_pair_size_global( fd_pubkey_account_pair_global_t const * self );
    2384             : 
    2385             : void fd_genesis_solana_new( fd_genesis_solana_t * self );
    2386             : int fd_genesis_solana_encode( fd_genesis_solana_t const * self, fd_bincode_encode_ctx_t * ctx );
    2387             : 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 );
    2388             : ulong fd_genesis_solana_size( fd_genesis_solana_t const * self );
    2389           0 : static inline ulong fd_genesis_solana_align( void ) { return FD_GENESIS_SOLANA_ALIGN; }
    2390             : int fd_genesis_solana_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2391             : void * fd_genesis_solana_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2392             : void * fd_genesis_solana_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2393             : int fd_genesis_solana_encode_global( fd_genesis_solana_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2394             : ulong fd_genesis_solana_size_global( fd_genesis_solana_global_t const * self );
    2395             : 
    2396           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) ); }
    2397             : int fd_sol_sysvar_clock_encode( fd_sol_sysvar_clock_t const * self, fd_bincode_encode_ctx_t * ctx );
    2398             : 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 );
    2399           0 : static inline ulong fd_sol_sysvar_clock_size( fd_sol_sysvar_clock_t const * self ) { (void)self; return 40UL; }
    2400           3 : static inline ulong fd_sol_sysvar_clock_align( void ) { return FD_SOL_SYSVAR_CLOCK_ALIGN; }
    2401           9 : static inline int fd_sol_sysvar_clock_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2402           9 :   *total_sz += sizeof(fd_sol_sysvar_clock_t);
    2403           9 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2404           6 :   return 0;
    2405           9 : }
    2406             : void * fd_sol_sysvar_clock_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2407             : 
    2408           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) ); }
    2409             : int fd_sol_sysvar_last_restart_slot_encode( fd_sol_sysvar_last_restart_slot_t const * self, fd_bincode_encode_ctx_t * ctx );
    2410             : 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 );
    2411           0 : static inline ulong fd_sol_sysvar_last_restart_slot_size( fd_sol_sysvar_last_restart_slot_t const * self ) { (void)self; return 8UL; }
    2412           3 : static inline ulong fd_sol_sysvar_last_restart_slot_align( void ) { return FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN; }
    2413           3 : static inline int fd_sol_sysvar_last_restart_slot_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2414           3 :   *total_sz += sizeof(fd_sol_sysvar_last_restart_slot_t);
    2415           3 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2416           3 :   return 0;
    2417           3 : }
    2418             : void * fd_sol_sysvar_last_restart_slot_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2419             : 
    2420           0 : static inline void fd_vote_lockout_new( fd_vote_lockout_t * self ) { fd_memset( self, 0, sizeof(fd_vote_lockout_t) ); }
    2421             : int fd_vote_lockout_encode( fd_vote_lockout_t const * self, fd_bincode_encode_ctx_t * ctx );
    2422             : 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 );
    2423           0 : static inline ulong fd_vote_lockout_size( fd_vote_lockout_t const * self ) { (void)self; return 12UL; }
    2424           0 : static inline ulong fd_vote_lockout_align( void ) { return FD_VOTE_LOCKOUT_ALIGN; }
    2425           0 : static inline int fd_vote_lockout_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2426           0 :   *total_sz += sizeof(fd_vote_lockout_t);
    2427           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2428           0 :   return 0;
    2429           0 : }
    2430             : void * fd_vote_lockout_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2431             : 
    2432             : void fd_lockout_offset_new( fd_lockout_offset_t * self );
    2433             : int fd_lockout_offset_encode( fd_lockout_offset_t const * self, fd_bincode_encode_ctx_t * ctx );
    2434             : 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 );
    2435             : ulong fd_lockout_offset_size( fd_lockout_offset_t const * self );
    2436           0 : static inline ulong fd_lockout_offset_align( void ) { return FD_LOCKOUT_OFFSET_ALIGN; }
    2437             : int fd_lockout_offset_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2438             : void * fd_lockout_offset_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2439             : 
    2440          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) ); }
    2441             : int fd_vote_authorized_voter_encode( fd_vote_authorized_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    2442             : 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 );
    2443           0 : static inline ulong fd_vote_authorized_voter_size( fd_vote_authorized_voter_t const * self ) { (void)self; return 40UL; }
    2444           0 : static inline ulong fd_vote_authorized_voter_align( void ) { return FD_VOTE_AUTHORIZED_VOTER_ALIGN; }
    2445           0 : static inline int fd_vote_authorized_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2446           0 :   *total_sz += sizeof(fd_vote_authorized_voter_t);
    2447           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2448           0 :   return 0;
    2449           0 : }
    2450             : void * fd_vote_authorized_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2451             : 
    2452         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) ); }
    2453             : int fd_vote_prior_voter_encode( fd_vote_prior_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    2454             : 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 );
    2455           0 : static inline ulong fd_vote_prior_voter_size( fd_vote_prior_voter_t const * self ) { (void)self; return 48UL; }
    2456           0 : static inline ulong fd_vote_prior_voter_align( void ) { return FD_VOTE_PRIOR_VOTER_ALIGN; }
    2457           0 : static inline int fd_vote_prior_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2458           0 :   *total_sz += sizeof(fd_vote_prior_voter_t);
    2459           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2460           0 :   return 0;
    2461           0 : }
    2462             : void * fd_vote_prior_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2463             : 
    2464           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) ); }
    2465             : 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 );
    2466             : 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 );
    2467           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; }
    2468           0 : static inline ulong fd_vote_prior_voter_0_23_5_align( void ) { return FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN; }
    2469           0 : static inline int fd_vote_prior_voter_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2470           0 :   *total_sz += sizeof(fd_vote_prior_voter_0_23_5_t);
    2471           0 :   if( (ulong)ctx->data + 56UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2472           0 :   return 0;
    2473           0 : }
    2474             : void * fd_vote_prior_voter_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2475             : 
    2476         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) ); }
    2477             : int fd_vote_epoch_credits_encode( fd_vote_epoch_credits_t const * self, fd_bincode_encode_ctx_t * ctx );
    2478             : 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 );
    2479           0 : static inline ulong fd_vote_epoch_credits_size( fd_vote_epoch_credits_t const * self ) { (void)self; return 24UL; }
    2480           0 : static inline ulong fd_vote_epoch_credits_align( void ) { return FD_VOTE_EPOCH_CREDITS_ALIGN; }
    2481           0 : static inline int fd_vote_epoch_credits_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2482           0 :   *total_sz += sizeof(fd_vote_epoch_credits_t);
    2483           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2484           0 :   return 0;
    2485           0 : }
    2486             : void * fd_vote_epoch_credits_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2487             : 
    2488          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) ); }
    2489             : int fd_vote_block_timestamp_encode( fd_vote_block_timestamp_t const * self, fd_bincode_encode_ctx_t * ctx );
    2490             : 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 );
    2491           0 : static inline ulong fd_vote_block_timestamp_size( fd_vote_block_timestamp_t const * self ) { (void)self; return 16UL; }
    2492           0 : static inline ulong fd_vote_block_timestamp_align( void ) { return FD_VOTE_BLOCK_TIMESTAMP_ALIGN; }
    2493           0 : static inline int fd_vote_block_timestamp_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2494           0 :   *total_sz += sizeof(fd_vote_block_timestamp_t);
    2495           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2496           0 :   return 0;
    2497           0 : }
    2498             : void * fd_vote_block_timestamp_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2499             : 
    2500             : void fd_vote_prior_voters_new( fd_vote_prior_voters_t * self );
    2501             : int fd_vote_prior_voters_encode( fd_vote_prior_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    2502             : 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 );
    2503           0 : static inline ulong fd_vote_prior_voters_size( fd_vote_prior_voters_t const * self ) { (void)self; return 1545UL; }
    2504           0 : static inline ulong fd_vote_prior_voters_align( void ) { return FD_VOTE_PRIOR_VOTERS_ALIGN; }
    2505             : int fd_vote_prior_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2506             : void * fd_vote_prior_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2507             : 
    2508           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) ); }
    2509             : 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 );
    2510             : 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 );
    2511           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; }
    2512           0 : static inline ulong fd_vote_prior_voters_0_23_5_align( void ) { return FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN; }
    2513           0 : static inline int fd_vote_prior_voters_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2514           0 :   *total_sz += sizeof(fd_vote_prior_voters_0_23_5_t);
    2515           0 :   if( (ulong)ctx->data + 1800UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2516           0 :   return 0;
    2517           0 : }
    2518             : void * fd_vote_prior_voters_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2519             : 
    2520         195 : static inline void fd_landed_vote_new( fd_landed_vote_t * self ) { fd_memset( self, 0, sizeof(fd_landed_vote_t) ); }
    2521             : int fd_landed_vote_encode( fd_landed_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    2522             : 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 );
    2523           0 : static inline ulong fd_landed_vote_size( fd_landed_vote_t const * self ) { (void)self; return 13UL; }
    2524           0 : static inline ulong fd_landed_vote_align( void ) { return FD_LANDED_VOTE_ALIGN; }
    2525           0 : static inline int fd_landed_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2526           0 :   *total_sz += sizeof(fd_landed_vote_t);
    2527           0 :   if( (ulong)ctx->data + 13UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2528           0 :   return 0;
    2529           0 : }
    2530             : void * fd_landed_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2531             : 
    2532             : void fd_vote_state_0_23_5_new( fd_vote_state_0_23_5_t * self );
    2533             : int fd_vote_state_0_23_5_encode( fd_vote_state_0_23_5_t const * self, fd_bincode_encode_ctx_t * ctx );
    2534             : 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 );
    2535             : ulong fd_vote_state_0_23_5_size( fd_vote_state_0_23_5_t const * self );
    2536           0 : static inline ulong fd_vote_state_0_23_5_align( void ) { return FD_VOTE_STATE_0_23_5_ALIGN; }
    2537             : int fd_vote_state_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2538             : void * fd_vote_state_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2539             : 
    2540             : void fd_vote_authorized_voters_new( fd_vote_authorized_voters_t * self );
    2541             : int fd_vote_authorized_voters_encode( fd_vote_authorized_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    2542             : 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 );
    2543             : ulong fd_vote_authorized_voters_size( fd_vote_authorized_voters_t const * self );
    2544           0 : static inline ulong fd_vote_authorized_voters_align( void ) { return FD_VOTE_AUTHORIZED_VOTERS_ALIGN; }
    2545             : int fd_vote_authorized_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2546             : void * fd_vote_authorized_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2547             : 
    2548             : void fd_vote_state_1_14_11_new( fd_vote_state_1_14_11_t * self );
    2549             : int fd_vote_state_1_14_11_encode( fd_vote_state_1_14_11_t const * self, fd_bincode_encode_ctx_t * ctx );
    2550             : 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 );
    2551             : ulong fd_vote_state_1_14_11_size( fd_vote_state_1_14_11_t const * self );
    2552           0 : static inline ulong fd_vote_state_1_14_11_align( void ) { return FD_VOTE_STATE_1_14_11_ALIGN; }
    2553             : int fd_vote_state_1_14_11_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2554             : void * fd_vote_state_1_14_11_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2555             : 
    2556             : void fd_vote_state_new( fd_vote_state_t * self );
    2557             : int fd_vote_state_encode( fd_vote_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    2558             : 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 );
    2559             : ulong fd_vote_state_size( fd_vote_state_t const * self );
    2560           0 : static inline ulong fd_vote_state_align( void ) { return FD_VOTE_STATE_ALIGN; }
    2561             : int fd_vote_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2562             : void * fd_vote_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2563             : 
    2564             : void fd_vote_state_versioned_new_disc( fd_vote_state_versioned_t * self, uint discriminant );
    2565             : void fd_vote_state_versioned_new( fd_vote_state_versioned_t * self );
    2566             : int fd_vote_state_versioned_encode( fd_vote_state_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    2567             : 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 );
    2568             : ulong fd_vote_state_versioned_size( fd_vote_state_versioned_t const * self );
    2569          33 : static inline ulong fd_vote_state_versioned_align( void ) { return FD_VOTE_STATE_VERSIONED_ALIGN; }
    2570             : int fd_vote_state_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2571             : void * fd_vote_state_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2572             : 
    2573             : FD_FN_PURE uchar fd_vote_state_versioned_is_v0_23_5( fd_vote_state_versioned_t const * self );
    2574             : FD_FN_PURE uchar fd_vote_state_versioned_is_v1_14_11( fd_vote_state_versioned_t const * self );
    2575             : FD_FN_PURE uchar fd_vote_state_versioned_is_current( fd_vote_state_versioned_t const * self );
    2576             : enum {
    2577             : fd_vote_state_versioned_enum_v0_23_5 = 0,
    2578             : fd_vote_state_versioned_enum_v1_14_11 = 1,
    2579             : fd_vote_state_versioned_enum_current = 2,
    2580             : };
    2581             : void fd_vote_state_update_new( fd_vote_state_update_t * self );
    2582             : int fd_vote_state_update_encode( fd_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    2583             : 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 );
    2584             : ulong fd_vote_state_update_size( fd_vote_state_update_t const * self );
    2585           0 : static inline ulong fd_vote_state_update_align( void ) { return FD_VOTE_STATE_UPDATE_ALIGN; }
    2586             : int fd_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2587             : void * fd_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2588             : 
    2589             : void fd_compact_vote_state_update_new( fd_compact_vote_state_update_t * self );
    2590             : int fd_compact_vote_state_update_encode( fd_compact_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    2591             : 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 );
    2592             : ulong fd_compact_vote_state_update_size( fd_compact_vote_state_update_t const * self );
    2593           0 : static inline ulong fd_compact_vote_state_update_align( void ) { return FD_COMPACT_VOTE_STATE_UPDATE_ALIGN; }
    2594             : int fd_compact_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2595             : void * fd_compact_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2596             : 
    2597             : void fd_compact_vote_state_update_switch_new( fd_compact_vote_state_update_switch_t * self );
    2598             : int fd_compact_vote_state_update_switch_encode( fd_compact_vote_state_update_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2599             : 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 );
    2600             : ulong fd_compact_vote_state_update_switch_size( fd_compact_vote_state_update_switch_t const * self );
    2601           0 : static inline ulong fd_compact_vote_state_update_switch_align( void ) { return FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN; }
    2602             : int fd_compact_vote_state_update_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2603             : void * fd_compact_vote_state_update_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2604             : 
    2605             : void fd_compact_tower_sync_new( fd_compact_tower_sync_t * self );
    2606             : int fd_compact_tower_sync_encode( fd_compact_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    2607             : 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 );
    2608             : ulong fd_compact_tower_sync_size( fd_compact_tower_sync_t const * self );
    2609           0 : static inline ulong fd_compact_tower_sync_align( void ) { return FD_COMPACT_TOWER_SYNC_ALIGN; }
    2610             : int fd_compact_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2611             : void * fd_compact_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2612             : 
    2613             : void fd_tower_sync_new( fd_tower_sync_t * self );
    2614             : int fd_tower_sync_encode( fd_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    2615             : 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 );
    2616             : ulong fd_tower_sync_size( fd_tower_sync_t const * self );
    2617           0 : static inline ulong fd_tower_sync_align( void ) { return FD_TOWER_SYNC_ALIGN; }
    2618             : int fd_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2619             : void * fd_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2620             : 
    2621             : void fd_tower_sync_switch_new( fd_tower_sync_switch_t * self );
    2622             : int fd_tower_sync_switch_encode( fd_tower_sync_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2623             : 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 );
    2624             : ulong fd_tower_sync_switch_size( fd_tower_sync_switch_t const * self );
    2625           0 : static inline ulong fd_tower_sync_switch_align( void ) { return FD_TOWER_SYNC_SWITCH_ALIGN; }
    2626             : int fd_tower_sync_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2627             : void * fd_tower_sync_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2628             : 
    2629             : void fd_slot_history_new( fd_slot_history_t * self );
    2630             : int fd_slot_history_encode( fd_slot_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    2631             : 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 );
    2632             : ulong fd_slot_history_size( fd_slot_history_t const * self );
    2633           3 : static inline ulong fd_slot_history_align( void ) { return FD_SLOT_HISTORY_ALIGN; }
    2634             : int fd_slot_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2635             : void * fd_slot_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2636             : void * fd_slot_history_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2637             : int fd_slot_history_encode_global( fd_slot_history_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2638             : ulong fd_slot_history_size_global( fd_slot_history_global_t const * self );
    2639             : 
    2640           0 : static inline void fd_slot_hash_new( fd_slot_hash_t * self ) { fd_memset( self, 0, sizeof(fd_slot_hash_t) ); }
    2641             : int fd_slot_hash_encode( fd_slot_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    2642             : 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 );
    2643           0 : static inline ulong fd_slot_hash_size( fd_slot_hash_t const * self ) { (void)self; return 40UL; }
    2644           0 : static inline ulong fd_slot_hash_align( void ) { return FD_SLOT_HASH_ALIGN; }
    2645           0 : static inline int fd_slot_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2646           0 :   *total_sz += sizeof(fd_slot_hash_t);
    2647           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2648           0 :   return 0;
    2649           0 : }
    2650             : void * fd_slot_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2651             : 
    2652             : void fd_slot_hashes_new( fd_slot_hashes_t * self );
    2653             : int fd_slot_hashes_encode( fd_slot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    2654             : 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 );
    2655             : ulong fd_slot_hashes_size( fd_slot_hashes_t const * self );
    2656           3 : static inline ulong fd_slot_hashes_align( void ) { return FD_SLOT_HASHES_ALIGN; }
    2657             : int fd_slot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2658             : void * fd_slot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2659             : void * fd_slot_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2660             : int fd_slot_hashes_encode_global( fd_slot_hashes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2661             : ulong fd_slot_hashes_size_global( fd_slot_hashes_global_t const * self );
    2662             : 
    2663       33975 : 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) ); }
    2664             : int fd_block_block_hash_entry_encode( fd_block_block_hash_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    2665             : 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 );
    2666           0 : static inline ulong fd_block_block_hash_entry_size( fd_block_block_hash_entry_t const * self ) { (void)self; return 40UL; }
    2667           0 : static inline ulong fd_block_block_hash_entry_align( void ) { return FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN; }
    2668           0 : static inline int fd_block_block_hash_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2669           0 :   *total_sz += sizeof(fd_block_block_hash_entry_t);
    2670           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2671           0 :   return 0;
    2672           0 : }
    2673             : void * fd_block_block_hash_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2674             : 
    2675             : void fd_recent_block_hashes_new( fd_recent_block_hashes_t * self );
    2676             : int fd_recent_block_hashes_encode( fd_recent_block_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    2677             : 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 );
    2678             : ulong fd_recent_block_hashes_size( fd_recent_block_hashes_t const * self );
    2679           3 : static inline ulong fd_recent_block_hashes_align( void ) { return FD_RECENT_BLOCK_HASHES_ALIGN; }
    2680             : int fd_recent_block_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2681             : void * fd_recent_block_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2682             : void * fd_recent_block_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2683             : int fd_recent_block_hashes_encode_global( fd_recent_block_hashes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2684             : ulong fd_recent_block_hashes_size_global( fd_recent_block_hashes_global_t const * self );
    2685             : 
    2686             : void fd_slot_meta_new( fd_slot_meta_t * self );
    2687             : int fd_slot_meta_encode( fd_slot_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2688             : 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 );
    2689             : ulong fd_slot_meta_size( fd_slot_meta_t const * self );
    2690           0 : static inline ulong fd_slot_meta_align( void ) { return FD_SLOT_META_ALIGN; }
    2691             : int fd_slot_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2692             : void * fd_slot_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2693             : 
    2694           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) ); }
    2695             : int fd_clock_timestamp_vote_encode( fd_clock_timestamp_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    2696             : 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 );
    2697           0 : static inline ulong fd_clock_timestamp_vote_size( fd_clock_timestamp_vote_t const * self ) { (void)self; return 48UL; }
    2698           0 : static inline ulong fd_clock_timestamp_vote_align( void ) { return FD_CLOCK_TIMESTAMP_VOTE_ALIGN; }
    2699           0 : static inline int fd_clock_timestamp_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2700           0 :   *total_sz += sizeof(fd_clock_timestamp_vote_t);
    2701           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2702           0 :   return 0;
    2703           0 : }
    2704             : void * fd_clock_timestamp_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2705             : 
    2706             : void fd_clock_timestamp_votes_new( fd_clock_timestamp_votes_t * self );
    2707             : int fd_clock_timestamp_votes_encode( fd_clock_timestamp_votes_t const * self, fd_bincode_encode_ctx_t * ctx );
    2708             : 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 );
    2709             : ulong fd_clock_timestamp_votes_size( fd_clock_timestamp_votes_t const * self );
    2710           0 : static inline ulong fd_clock_timestamp_votes_align( void ) { return FD_CLOCK_TIMESTAMP_VOTES_ALIGN; }
    2711             : int fd_clock_timestamp_votes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2712             : void * fd_clock_timestamp_votes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2713             : void * fd_clock_timestamp_votes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2714             : int fd_clock_timestamp_votes_encode_global( fd_clock_timestamp_votes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2715             : ulong fd_clock_timestamp_votes_size_global( fd_clock_timestamp_votes_global_t const * self );
    2716             : 
    2717           0 : static inline void fd_sysvar_fees_new( fd_sysvar_fees_t * self ) { fd_memset( self, 0, sizeof(fd_sysvar_fees_t) ); }
    2718             : int fd_sysvar_fees_encode( fd_sysvar_fees_t const * self, fd_bincode_encode_ctx_t * ctx );
    2719             : 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 );
    2720           0 : static inline ulong fd_sysvar_fees_size( fd_sysvar_fees_t const * self ) { (void)self; return 8UL; }
    2721           0 : static inline ulong fd_sysvar_fees_align( void ) { return FD_SYSVAR_FEES_ALIGN; }
    2722           0 : static inline int fd_sysvar_fees_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2723           0 :   *total_sz += sizeof(fd_sysvar_fees_t);
    2724           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2725           0 :   return 0;
    2726           0 : }
    2727             : void * fd_sysvar_fees_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2728             : 
    2729             : void fd_sysvar_epoch_rewards_new( fd_sysvar_epoch_rewards_t * self );
    2730             : int fd_sysvar_epoch_rewards_encode( fd_sysvar_epoch_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    2731             : 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 );
    2732           0 : static inline ulong fd_sysvar_epoch_rewards_size( fd_sysvar_epoch_rewards_t const * self ) { (void)self; return 81UL; }
    2733           3 : static inline ulong fd_sysvar_epoch_rewards_align( void ) { return FD_SYSVAR_EPOCH_REWARDS_ALIGN; }
    2734             : int fd_sysvar_epoch_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2735             : void * fd_sysvar_epoch_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2736             : 
    2737             : void fd_config_keys_pair_new( fd_config_keys_pair_t * self );
    2738             : int fd_config_keys_pair_encode( fd_config_keys_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2739             : 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 );
    2740           0 : static inline ulong fd_config_keys_pair_size( fd_config_keys_pair_t const * self ) { (void)self; return 33UL; }
    2741           0 : static inline ulong fd_config_keys_pair_align( void ) { return FD_CONFIG_KEYS_PAIR_ALIGN; }
    2742             : int fd_config_keys_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2743             : void * fd_config_keys_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2744             : 
    2745             : void fd_stake_config_new( fd_stake_config_t * self );
    2746             : int fd_stake_config_encode( fd_stake_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    2747             : 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 );
    2748             : ulong fd_stake_config_size( fd_stake_config_t const * self );
    2749           0 : static inline ulong fd_stake_config_align( void ) { return FD_STAKE_CONFIG_ALIGN; }
    2750             : int fd_stake_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2751             : void * fd_stake_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2752             : 
    2753             : void fd_feature_entry_new( fd_feature_entry_t * self );
    2754             : int fd_feature_entry_encode( fd_feature_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    2755             : 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 );
    2756             : ulong fd_feature_entry_size( fd_feature_entry_t const * self );
    2757           0 : static inline ulong fd_feature_entry_align( void ) { return FD_FEATURE_ENTRY_ALIGN; }
    2758             : int fd_feature_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2759             : void * fd_feature_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2760             : 
    2761           0 : static inline void fd_cluster_type_new_disc( fd_cluster_type_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2762           0 : static inline void fd_cluster_type_new( fd_cluster_type_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2763             : int fd_cluster_type_encode( fd_cluster_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    2764             : 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 );
    2765             : ulong fd_cluster_type_size( fd_cluster_type_t const * self );
    2766           0 : static inline ulong fd_cluster_type_align( void ) { return FD_CLUSTER_TYPE_ALIGN; }
    2767             : int fd_cluster_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2768             : void * fd_cluster_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2769             : 
    2770             : FD_FN_PURE uchar fd_cluster_type_is_Testnet( fd_cluster_type_t const * self );
    2771             : FD_FN_PURE uchar fd_cluster_type_is_MainnetBeta( fd_cluster_type_t const * self );
    2772             : FD_FN_PURE uchar fd_cluster_type_is_Devnet( fd_cluster_type_t const * self );
    2773             : FD_FN_PURE uchar fd_cluster_type_is_Development( fd_cluster_type_t const * self );
    2774             : enum {
    2775             : fd_cluster_type_enum_Testnet = 0,
    2776             : fd_cluster_type_enum_MainnetBeta = 1,
    2777             : fd_cluster_type_enum_Devnet = 2,
    2778             : fd_cluster_type_enum_Development = 3,
    2779             : };
    2780           0 : static inline void fd_cluster_version_new( fd_cluster_version_t * self ) { fd_memset( self, 0, sizeof(fd_cluster_version_t) ); }
    2781             : int fd_cluster_version_encode( fd_cluster_version_t const * self, fd_bincode_encode_ctx_t * ctx );
    2782             : 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 );
    2783           0 : static inline ulong fd_cluster_version_size( fd_cluster_version_t const * self ) { (void)self; return 12UL; }
    2784           0 : static inline ulong fd_cluster_version_align( void ) { return FD_CLUSTER_VERSION_ALIGN; }
    2785           0 : static inline int fd_cluster_version_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2786           0 :   *total_sz += sizeof(fd_cluster_version_t);
    2787           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2788           0 :   return 0;
    2789           0 : }
    2790             : void * fd_cluster_version_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2791             : 
    2792           0 : static inline void fd_stake_reward_new( fd_stake_reward_t * self ) { fd_memset( self, 0, sizeof(fd_stake_reward_t) ); }
    2793             : int fd_stake_reward_encode( fd_stake_reward_t const * self, fd_bincode_encode_ctx_t * ctx );
    2794             : 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 );
    2795           0 : static inline ulong fd_stake_reward_size( fd_stake_reward_t const * self ) { (void)self; return 49UL; }
    2796           0 : static inline ulong fd_stake_reward_align( void ) { return FD_STAKE_REWARD_ALIGN; }
    2797           0 : static inline int fd_stake_reward_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2798           0 :   *total_sz += sizeof(fd_stake_reward_t);
    2799           0 :   if( (ulong)ctx->data + 49UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2800           0 :   return 0;
    2801           0 : }
    2802             : void * fd_stake_reward_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2803             : 
    2804           0 : static inline void fd_vote_reward_new( fd_vote_reward_t * self ) { fd_memset( self, 0, sizeof(fd_vote_reward_t) ); }
    2805             : int fd_vote_reward_encode( fd_vote_reward_t const * self, fd_bincode_encode_ctx_t * ctx );
    2806             : 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 );
    2807           0 : static inline ulong fd_vote_reward_size( fd_vote_reward_t const * self ) { (void)self; return 42UL; }
    2808           0 : static inline ulong fd_vote_reward_align( void ) { return FD_VOTE_REWARD_ALIGN; }
    2809           0 : static inline int fd_vote_reward_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2810           0 :   *total_sz += sizeof(fd_vote_reward_t);
    2811           0 :   if( (ulong)ctx->data + 42UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2812           0 :   return 0;
    2813           0 : }
    2814             : void * fd_vote_reward_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2815             : 
    2816           0 : static inline void fd_point_value_new( fd_point_value_t * self ) { fd_memset( self, 0, sizeof(fd_point_value_t) ); }
    2817             : int fd_point_value_encode( fd_point_value_t const * self, fd_bincode_encode_ctx_t * ctx );
    2818             : 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 );
    2819           0 : static inline ulong fd_point_value_size( fd_point_value_t const * self ) { (void)self; return 24UL; }
    2820           0 : static inline ulong fd_point_value_align( void ) { return FD_POINT_VALUE_ALIGN; }
    2821           0 : static inline int fd_point_value_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2822           0 :   *total_sz += sizeof(fd_point_value_t);
    2823           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2824           0 :   return 0;
    2825           0 : }
    2826             : void * fd_point_value_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2827             : 
    2828             : void fd_partitioned_stake_rewards_new( fd_partitioned_stake_rewards_t * self );
    2829             : int fd_partitioned_stake_rewards_encode( fd_partitioned_stake_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    2830             : 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 );
    2831             : ulong fd_partitioned_stake_rewards_size( fd_partitioned_stake_rewards_t const * self );
    2832           0 : static inline ulong fd_partitioned_stake_rewards_align( void ) { return FD_PARTITIONED_STAKE_REWARDS_ALIGN; }
    2833             : int fd_partitioned_stake_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2834             : void * fd_partitioned_stake_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2835             : void * fd_partitioned_stake_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2836             : int fd_partitioned_stake_rewards_encode_global( fd_partitioned_stake_rewards_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2837             : ulong fd_partitioned_stake_rewards_size_global( fd_partitioned_stake_rewards_global_t const * self );
    2838             : 
    2839             : void fd_stake_reward_calculation_partitioned_new( fd_stake_reward_calculation_partitioned_t * self );
    2840             : int fd_stake_reward_calculation_partitioned_encode( fd_stake_reward_calculation_partitioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    2841             : 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 );
    2842             : ulong fd_stake_reward_calculation_partitioned_size( fd_stake_reward_calculation_partitioned_t const * self );
    2843           0 : static inline ulong fd_stake_reward_calculation_partitioned_align( void ) { return FD_STAKE_REWARD_CALCULATION_PARTITIONED_ALIGN; }
    2844             : int fd_stake_reward_calculation_partitioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2845             : void * fd_stake_reward_calculation_partitioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2846             : 
    2847             : void fd_stake_reward_calculation_new( fd_stake_reward_calculation_t * self );
    2848             : int fd_stake_reward_calculation_encode( fd_stake_reward_calculation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2849             : 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 );
    2850             : ulong fd_stake_reward_calculation_size( fd_stake_reward_calculation_t const * self );
    2851           0 : static inline ulong fd_stake_reward_calculation_align( void ) { return FD_STAKE_REWARD_CALCULATION_ALIGN; }
    2852             : int fd_stake_reward_calculation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2853             : void * fd_stake_reward_calculation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2854             : 
    2855             : void fd_calculate_stake_vote_rewards_result_new( fd_calculate_stake_vote_rewards_result_t * self );
    2856             : int fd_calculate_stake_vote_rewards_result_encode( fd_calculate_stake_vote_rewards_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    2857             : 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 );
    2858             : ulong fd_calculate_stake_vote_rewards_result_size( fd_calculate_stake_vote_rewards_result_t const * self );
    2859           0 : static inline ulong fd_calculate_stake_vote_rewards_result_align( void ) { return FD_CALCULATE_STAKE_VOTE_REWARDS_RESULT_ALIGN; }
    2860             : int fd_calculate_stake_vote_rewards_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2861             : void * fd_calculate_stake_vote_rewards_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2862             : 
    2863             : void fd_calculate_validator_rewards_result_new( fd_calculate_validator_rewards_result_t * self );
    2864             : int fd_calculate_validator_rewards_result_encode( fd_calculate_validator_rewards_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    2865             : 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 );
    2866             : ulong fd_calculate_validator_rewards_result_size( fd_calculate_validator_rewards_result_t const * self );
    2867           0 : static inline ulong fd_calculate_validator_rewards_result_align( void ) { return FD_CALCULATE_VALIDATOR_REWARDS_RESULT_ALIGN; }
    2868             : int fd_calculate_validator_rewards_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2869             : void * fd_calculate_validator_rewards_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2870             : 
    2871             : void fd_partitioned_rewards_calculation_new( fd_partitioned_rewards_calculation_t * self );
    2872             : int fd_partitioned_rewards_calculation_encode( fd_partitioned_rewards_calculation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2873             : 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 );
    2874             : ulong fd_partitioned_rewards_calculation_size( fd_partitioned_rewards_calculation_t const * self );
    2875           0 : static inline ulong fd_partitioned_rewards_calculation_align( void ) { return FD_PARTITIONED_REWARDS_CALCULATION_ALIGN; }
    2876             : int fd_partitioned_rewards_calculation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2877             : void * fd_partitioned_rewards_calculation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2878             : 
    2879             : void fd_start_block_height_and_rewards_new( fd_start_block_height_and_rewards_t * self );
    2880             : int fd_start_block_height_and_rewards_encode( fd_start_block_height_and_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    2881             : 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 );
    2882             : ulong fd_start_block_height_and_rewards_size( fd_start_block_height_and_rewards_t const * self );
    2883           0 : static inline ulong fd_start_block_height_and_rewards_align( void ) { return FD_START_BLOCK_HEIGHT_AND_REWARDS_ALIGN; }
    2884             : int fd_start_block_height_and_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2885             : void * fd_start_block_height_and_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2886             : void * fd_start_block_height_and_rewards_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2887             : 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 );
    2888             : ulong fd_start_block_height_and_rewards_size_global( fd_start_block_height_and_rewards_global_t const * self );
    2889             : 
    2890             : void fd_fd_epoch_reward_status_inner_new( fd_fd_epoch_reward_status_inner_t * self );
    2891             : int fd_fd_epoch_reward_status_inner_encode( fd_fd_epoch_reward_status_inner_t const * self, fd_bincode_encode_ctx_t * ctx );
    2892             : 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 );
    2893             : ulong fd_fd_epoch_reward_status_inner_size( fd_fd_epoch_reward_status_inner_t const * self );
    2894           0 : static inline ulong fd_fd_epoch_reward_status_inner_align( void ) { return FD_FD_EPOCH_REWARD_STATUS_INNER_ALIGN; }
    2895             : int fd_fd_epoch_reward_status_inner_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2896             : void * fd_fd_epoch_reward_status_inner_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2897             : 
    2898             : void fd_epoch_reward_status_new_disc( fd_epoch_reward_status_t * self, uint discriminant );
    2899             : void fd_epoch_reward_status_new( fd_epoch_reward_status_t * self );
    2900             : int fd_epoch_reward_status_encode( fd_epoch_reward_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    2901             : 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 );
    2902             : ulong fd_epoch_reward_status_size( fd_epoch_reward_status_t const * self );
    2903           0 : static inline ulong fd_epoch_reward_status_align( void ) { return FD_EPOCH_REWARD_STATUS_ALIGN; }
    2904             : int fd_epoch_reward_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2905             : void * fd_epoch_reward_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2906             : void * fd_epoch_reward_status_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2907             : int fd_epoch_reward_status_encode_global( fd_epoch_reward_status_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2908             : ulong fd_epoch_reward_status_size_global( fd_epoch_reward_status_global_t const * self );
    2909             : 
    2910             : FD_FN_PURE uchar fd_epoch_reward_status_is_Active( fd_epoch_reward_status_t const * self );
    2911             : FD_FN_PURE uchar fd_epoch_reward_status_is_Inactive( fd_epoch_reward_status_t const * self );
    2912             : enum {
    2913             : fd_epoch_reward_status_enum_Active = 0,
    2914             : fd_epoch_reward_status_enum_Inactive = 1,
    2915             : };
    2916           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) ); }
    2917             : int fd_prev_epoch_inflation_rewards_encode( fd_prev_epoch_inflation_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    2918             : 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 );
    2919           0 : static inline ulong fd_prev_epoch_inflation_rewards_size( fd_prev_epoch_inflation_rewards_t const * self ) { (void)self; return 32UL; }
    2920           0 : static inline ulong fd_prev_epoch_inflation_rewards_align( void ) { return FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN; }
    2921           0 : static inline int fd_prev_epoch_inflation_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2922           0 :   *total_sz += sizeof(fd_prev_epoch_inflation_rewards_t);
    2923           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2924           0 :   return 0;
    2925           0 : }
    2926             : void * fd_prev_epoch_inflation_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2927             : 
    2928             : void fd_vote_new( fd_vote_t * self );
    2929             : int fd_vote_encode( fd_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    2930             : void fd_vote_walk( void * w, fd_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2931             : ulong fd_vote_size( fd_vote_t const * self );
    2932           0 : static inline ulong fd_vote_align( void ) { return FD_VOTE_ALIGN; }
    2933             : int fd_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2934             : void * fd_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2935             : 
    2936           0 : static inline void fd_vote_init_new( fd_vote_init_t * self ) { fd_memset( self, 0, sizeof(fd_vote_init_t) ); }
    2937             : int fd_vote_init_encode( fd_vote_init_t const * self, fd_bincode_encode_ctx_t * ctx );
    2938             : 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 );
    2939           0 : static inline ulong fd_vote_init_size( fd_vote_init_t const * self ) { (void)self; return 97UL; }
    2940           0 : static inline ulong fd_vote_init_align( void ) { return FD_VOTE_INIT_ALIGN; }
    2941           0 : static inline int fd_vote_init_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2942           0 :   *total_sz += sizeof(fd_vote_init_t);
    2943           0 :   if( (ulong)ctx->data + 97UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2944           0 :   return 0;
    2945           0 : }
    2946             : void * fd_vote_init_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2947             : 
    2948           0 : static inline void fd_vote_authorize_new_disc( fd_vote_authorize_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2949           0 : static inline void fd_vote_authorize_new( fd_vote_authorize_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2950             : int fd_vote_authorize_encode( fd_vote_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    2951             : 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 );
    2952             : ulong fd_vote_authorize_size( fd_vote_authorize_t const * self );
    2953           0 : static inline ulong fd_vote_authorize_align( void ) { return FD_VOTE_AUTHORIZE_ALIGN; }
    2954             : int fd_vote_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2955             : void * fd_vote_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2956             : 
    2957             : FD_FN_PURE uchar fd_vote_authorize_is_voter( fd_vote_authorize_t const * self );
    2958             : FD_FN_PURE uchar fd_vote_authorize_is_withdrawer( fd_vote_authorize_t const * self );
    2959             : enum {
    2960             : fd_vote_authorize_enum_voter = 0,
    2961             : fd_vote_authorize_enum_withdrawer = 1,
    2962             : };
    2963             : void fd_vote_authorize_pubkey_new( fd_vote_authorize_pubkey_t * self );
    2964             : int fd_vote_authorize_pubkey_encode( fd_vote_authorize_pubkey_t const * self, fd_bincode_encode_ctx_t * ctx );
    2965             : 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 );
    2966           0 : static inline ulong fd_vote_authorize_pubkey_size( fd_vote_authorize_pubkey_t const * self ) { (void)self; return 36UL; }
    2967           0 : static inline ulong fd_vote_authorize_pubkey_align( void ) { return FD_VOTE_AUTHORIZE_PUBKEY_ALIGN; }
    2968             : int fd_vote_authorize_pubkey_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2969             : void * fd_vote_authorize_pubkey_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2970             : 
    2971             : void fd_vote_switch_new( fd_vote_switch_t * self );
    2972             : int fd_vote_switch_encode( fd_vote_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2973             : 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 );
    2974             : ulong fd_vote_switch_size( fd_vote_switch_t const * self );
    2975           0 : static inline ulong fd_vote_switch_align( void ) { return FD_VOTE_SWITCH_ALIGN; }
    2976             : int fd_vote_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2977             : void * fd_vote_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2978             : 
    2979             : void fd_update_vote_state_switch_new( fd_update_vote_state_switch_t * self );
    2980             : int fd_update_vote_state_switch_encode( fd_update_vote_state_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2981             : 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 );
    2982             : ulong fd_update_vote_state_switch_size( fd_update_vote_state_switch_t const * self );
    2983           0 : static inline ulong fd_update_vote_state_switch_align( void ) { return FD_UPDATE_VOTE_STATE_SWITCH_ALIGN; }
    2984             : int fd_update_vote_state_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2985             : void * fd_update_vote_state_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2986             : 
    2987             : void fd_vote_authorize_with_seed_args_new( fd_vote_authorize_with_seed_args_t * self );
    2988             : int fd_vote_authorize_with_seed_args_encode( fd_vote_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2989             : 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 );
    2990             : ulong fd_vote_authorize_with_seed_args_size( fd_vote_authorize_with_seed_args_t const * self );
    2991           0 : static inline ulong fd_vote_authorize_with_seed_args_align( void ) { return FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN; }
    2992             : int fd_vote_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2993             : void * fd_vote_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2994             : 
    2995             : void fd_vote_authorize_checked_with_seed_args_new( fd_vote_authorize_checked_with_seed_args_t * self );
    2996             : 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 );
    2997             : 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 );
    2998             : ulong fd_vote_authorize_checked_with_seed_args_size( fd_vote_authorize_checked_with_seed_args_t const * self );
    2999           0 : static inline ulong fd_vote_authorize_checked_with_seed_args_align( void ) { return FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN; }
    3000             : int fd_vote_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3001             : void * fd_vote_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3002             : 
    3003             : void fd_vote_instruction_new_disc( fd_vote_instruction_t * self, uint discriminant );
    3004             : void fd_vote_instruction_new( fd_vote_instruction_t * self );
    3005             : int fd_vote_instruction_encode( fd_vote_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3006             : 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 );
    3007             : ulong fd_vote_instruction_size( fd_vote_instruction_t const * self );
    3008           0 : static inline ulong fd_vote_instruction_align( void ) { return FD_VOTE_INSTRUCTION_ALIGN; }
    3009             : int fd_vote_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3010             : void * fd_vote_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3011             : 
    3012             : FD_FN_PURE uchar fd_vote_instruction_is_initialize_account( fd_vote_instruction_t const * self );
    3013             : FD_FN_PURE uchar fd_vote_instruction_is_authorize( fd_vote_instruction_t const * self );
    3014             : FD_FN_PURE uchar fd_vote_instruction_is_vote( fd_vote_instruction_t const * self );
    3015             : FD_FN_PURE uchar fd_vote_instruction_is_withdraw( fd_vote_instruction_t const * self );
    3016             : FD_FN_PURE uchar fd_vote_instruction_is_update_validator_identity( fd_vote_instruction_t const * self );
    3017             : FD_FN_PURE uchar fd_vote_instruction_is_update_commission( fd_vote_instruction_t const * self );
    3018             : FD_FN_PURE uchar fd_vote_instruction_is_vote_switch( fd_vote_instruction_t const * self );
    3019             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked( fd_vote_instruction_t const * self );
    3020             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state( fd_vote_instruction_t const * self );
    3021             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state_switch( fd_vote_instruction_t const * self );
    3022             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_with_seed( fd_vote_instruction_t const * self );
    3023             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked_with_seed( fd_vote_instruction_t const * self );
    3024             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state( fd_vote_instruction_t const * self );
    3025             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state_switch( fd_vote_instruction_t const * self );
    3026             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync( fd_vote_instruction_t const * self );
    3027             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync_switch( fd_vote_instruction_t const * self );
    3028             : enum {
    3029             : fd_vote_instruction_enum_initialize_account = 0,
    3030             : fd_vote_instruction_enum_authorize = 1,
    3031             : fd_vote_instruction_enum_vote = 2,
    3032             : fd_vote_instruction_enum_withdraw = 3,
    3033             : fd_vote_instruction_enum_update_validator_identity = 4,
    3034             : fd_vote_instruction_enum_update_commission = 5,
    3035             : fd_vote_instruction_enum_vote_switch = 6,
    3036             : fd_vote_instruction_enum_authorize_checked = 7,
    3037             : fd_vote_instruction_enum_update_vote_state = 8,
    3038             : fd_vote_instruction_enum_update_vote_state_switch = 9,
    3039             : fd_vote_instruction_enum_authorize_with_seed = 10,
    3040             : fd_vote_instruction_enum_authorize_checked_with_seed = 11,
    3041             : fd_vote_instruction_enum_compact_update_vote_state = 12,
    3042             : fd_vote_instruction_enum_compact_update_vote_state_switch = 13,
    3043             : fd_vote_instruction_enum_tower_sync = 14,
    3044             : fd_vote_instruction_enum_tower_sync_switch = 15,
    3045             : };
    3046           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) ); }
    3047             : int fd_system_program_instruction_create_account_encode( fd_system_program_instruction_create_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    3048             : 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 );
    3049           0 : static inline ulong fd_system_program_instruction_create_account_size( fd_system_program_instruction_create_account_t const * self ) { (void)self; return 48UL; }
    3050           0 : static inline ulong fd_system_program_instruction_create_account_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN; }
    3051           0 : static inline int fd_system_program_instruction_create_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3052           0 :   *total_sz += sizeof(fd_system_program_instruction_create_account_t);
    3053           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3054           0 :   return 0;
    3055           0 : }
    3056             : void * fd_system_program_instruction_create_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3057             : 
    3058             : void fd_system_program_instruction_create_account_with_seed_new( fd_system_program_instruction_create_account_with_seed_t * self );
    3059             : 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 );
    3060             : 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 );
    3061             : ulong fd_system_program_instruction_create_account_with_seed_size( fd_system_program_instruction_create_account_with_seed_t const * self );
    3062           0 : static inline ulong fd_system_program_instruction_create_account_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN; }
    3063             : int fd_system_program_instruction_create_account_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3064             : void * fd_system_program_instruction_create_account_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3065             : 
    3066             : void fd_system_program_instruction_allocate_with_seed_new( fd_system_program_instruction_allocate_with_seed_t * self );
    3067             : 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 );
    3068             : 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 );
    3069             : ulong fd_system_program_instruction_allocate_with_seed_size( fd_system_program_instruction_allocate_with_seed_t const * self );
    3070           0 : static inline ulong fd_system_program_instruction_allocate_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN; }
    3071             : int fd_system_program_instruction_allocate_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3072             : void * fd_system_program_instruction_allocate_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3073             : 
    3074             : void fd_system_program_instruction_assign_with_seed_new( fd_system_program_instruction_assign_with_seed_t * self );
    3075             : 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 );
    3076             : 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 );
    3077             : ulong fd_system_program_instruction_assign_with_seed_size( fd_system_program_instruction_assign_with_seed_t const * self );
    3078           0 : static inline ulong fd_system_program_instruction_assign_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN; }
    3079             : int fd_system_program_instruction_assign_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3080             : void * fd_system_program_instruction_assign_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3081             : 
    3082             : void fd_system_program_instruction_transfer_with_seed_new( fd_system_program_instruction_transfer_with_seed_t * self );
    3083             : 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 );
    3084             : 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 );
    3085             : ulong fd_system_program_instruction_transfer_with_seed_size( fd_system_program_instruction_transfer_with_seed_t const * self );
    3086           0 : static inline ulong fd_system_program_instruction_transfer_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN; }
    3087             : int fd_system_program_instruction_transfer_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3088             : void * fd_system_program_instruction_transfer_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3089             : 
    3090             : void fd_system_program_instruction_new_disc( fd_system_program_instruction_t * self, uint discriminant );
    3091             : void fd_system_program_instruction_new( fd_system_program_instruction_t * self );
    3092             : int fd_system_program_instruction_encode( fd_system_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3093             : 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 );
    3094             : ulong fd_system_program_instruction_size( fd_system_program_instruction_t const * self );
    3095           0 : static inline ulong fd_system_program_instruction_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN; }
    3096             : int fd_system_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3097             : void * fd_system_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3098             : 
    3099             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account( fd_system_program_instruction_t const * self );
    3100             : FD_FN_PURE uchar fd_system_program_instruction_is_assign( fd_system_program_instruction_t const * self );
    3101             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer( fd_system_program_instruction_t const * self );
    3102             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account_with_seed( fd_system_program_instruction_t const * self );
    3103             : FD_FN_PURE uchar fd_system_program_instruction_is_advance_nonce_account( fd_system_program_instruction_t const * self );
    3104             : FD_FN_PURE uchar fd_system_program_instruction_is_withdraw_nonce_account( fd_system_program_instruction_t const * self );
    3105             : FD_FN_PURE uchar fd_system_program_instruction_is_initialize_nonce_account( fd_system_program_instruction_t const * self );
    3106             : FD_FN_PURE uchar fd_system_program_instruction_is_authorize_nonce_account( fd_system_program_instruction_t const * self );
    3107             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate( fd_system_program_instruction_t const * self );
    3108             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate_with_seed( fd_system_program_instruction_t const * self );
    3109             : FD_FN_PURE uchar fd_system_program_instruction_is_assign_with_seed( fd_system_program_instruction_t const * self );
    3110             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer_with_seed( fd_system_program_instruction_t const * self );
    3111             : FD_FN_PURE uchar fd_system_program_instruction_is_upgrade_nonce_account( fd_system_program_instruction_t const * self );
    3112             : enum {
    3113             : fd_system_program_instruction_enum_create_account = 0,
    3114             : fd_system_program_instruction_enum_assign = 1,
    3115             : fd_system_program_instruction_enum_transfer = 2,
    3116             : fd_system_program_instruction_enum_create_account_with_seed = 3,
    3117             : fd_system_program_instruction_enum_advance_nonce_account = 4,
    3118             : fd_system_program_instruction_enum_withdraw_nonce_account = 5,
    3119             : fd_system_program_instruction_enum_initialize_nonce_account = 6,
    3120             : fd_system_program_instruction_enum_authorize_nonce_account = 7,
    3121             : fd_system_program_instruction_enum_allocate = 8,
    3122             : fd_system_program_instruction_enum_allocate_with_seed = 9,
    3123             : fd_system_program_instruction_enum_assign_with_seed = 10,
    3124             : fd_system_program_instruction_enum_transfer_with_seed = 11,
    3125             : fd_system_program_instruction_enum_upgrade_nonce_account = 12,
    3126             : };
    3127           0 : static inline void fd_system_error_new_disc( fd_system_error_t * self, uint discriminant ) { self->discriminant = discriminant; }
    3128           0 : static inline void fd_system_error_new( fd_system_error_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    3129             : int fd_system_error_encode( fd_system_error_t const * self, fd_bincode_encode_ctx_t * ctx );
    3130             : 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 );
    3131             : ulong fd_system_error_size( fd_system_error_t const * self );
    3132           0 : static inline ulong fd_system_error_align( void ) { return FD_SYSTEM_ERROR_ALIGN; }
    3133             : int fd_system_error_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3134             : void * fd_system_error_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3135             : 
    3136             : FD_FN_PURE uchar fd_system_error_is_account_already_in_use( fd_system_error_t const * self );
    3137             : FD_FN_PURE uchar fd_system_error_is_result_with_negative_lamports( fd_system_error_t const * self );
    3138             : FD_FN_PURE uchar fd_system_error_is_invalid_program_id( fd_system_error_t const * self );
    3139             : FD_FN_PURE uchar fd_system_error_is_invalid_account_data_length( fd_system_error_t const * self );
    3140             : FD_FN_PURE uchar fd_system_error_is_max_seed_length_exceeded( fd_system_error_t const * self );
    3141             : FD_FN_PURE uchar fd_system_error_is_address_with_seed_mismatch( fd_system_error_t const * self );
    3142             : FD_FN_PURE uchar fd_system_error_is_nonce_no_recent_blockhashes( fd_system_error_t const * self );
    3143             : FD_FN_PURE uchar fd_system_error_is_nonce_blockhash_not_expired( fd_system_error_t const * self );
    3144             : FD_FN_PURE uchar fd_system_error_is_nonce_unexpected_blockhash_value( fd_system_error_t const * self );
    3145             : enum {
    3146             : fd_system_error_enum_account_already_in_use = 0,
    3147             : fd_system_error_enum_result_with_negative_lamports = 1,
    3148             : fd_system_error_enum_invalid_program_id = 2,
    3149             : fd_system_error_enum_invalid_account_data_length = 3,
    3150             : fd_system_error_enum_max_seed_length_exceeded = 4,
    3151             : fd_system_error_enum_address_with_seed_mismatch = 5,
    3152             : fd_system_error_enum_nonce_no_recent_blockhashes = 6,
    3153             : fd_system_error_enum_nonce_blockhash_not_expired = 7,
    3154             : fd_system_error_enum_nonce_unexpected_blockhash_value = 8,
    3155             : };
    3156           0 : static inline void fd_stake_authorized_new( fd_stake_authorized_t * self ) { fd_memset( self, 0, sizeof(fd_stake_authorized_t) ); }
    3157             : int fd_stake_authorized_encode( fd_stake_authorized_t const * self, fd_bincode_encode_ctx_t * ctx );
    3158             : 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 );
    3159           0 : static inline ulong fd_stake_authorized_size( fd_stake_authorized_t const * self ) { (void)self; return 64UL; }
    3160           0 : static inline ulong fd_stake_authorized_align( void ) { return FD_STAKE_AUTHORIZED_ALIGN; }
    3161           0 : static inline int fd_stake_authorized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3162           0 :   *total_sz += sizeof(fd_stake_authorized_t);
    3163           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3164           0 :   return 0;
    3165           0 : }
    3166             : void * fd_stake_authorized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3167             : 
    3168           0 : static inline void fd_stake_lockup_new( fd_stake_lockup_t * self ) { fd_memset( self, 0, sizeof(fd_stake_lockup_t) ); }
    3169             : int fd_stake_lockup_encode( fd_stake_lockup_t const * self, fd_bincode_encode_ctx_t * ctx );
    3170             : 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 );
    3171           0 : static inline ulong fd_stake_lockup_size( fd_stake_lockup_t const * self ) { (void)self; return 48UL; }
    3172           0 : static inline ulong fd_stake_lockup_align( void ) { return FD_STAKE_LOCKUP_ALIGN; }
    3173           0 : static inline int fd_stake_lockup_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3174           0 :   *total_sz += sizeof(fd_stake_lockup_t);
    3175           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3176           0 :   return 0;
    3177           0 : }
    3178             : void * fd_stake_lockup_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3179             : 
    3180           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) ); }
    3181             : int fd_stake_instruction_initialize_encode( fd_stake_instruction_initialize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3182             : 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 );
    3183           0 : static inline ulong fd_stake_instruction_initialize_size( fd_stake_instruction_initialize_t const * self ) { (void)self; return 112UL; }
    3184           0 : static inline ulong fd_stake_instruction_initialize_align( void ) { return FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN; }
    3185           0 : static inline int fd_stake_instruction_initialize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3186           0 :   *total_sz += sizeof(fd_stake_instruction_initialize_t);
    3187           0 :   if( (ulong)ctx->data + 112UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3188           0 :   return 0;
    3189           0 : }
    3190             : void * fd_stake_instruction_initialize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3191             : 
    3192             : void fd_stake_lockup_custodian_args_new( fd_stake_lockup_custodian_args_t * self );
    3193             : int fd_stake_lockup_custodian_args_encode( fd_stake_lockup_custodian_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3194             : 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 );
    3195             : ulong fd_stake_lockup_custodian_args_size( fd_stake_lockup_custodian_args_t const * self );
    3196           0 : static inline ulong fd_stake_lockup_custodian_args_align( void ) { return FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN; }
    3197             : int fd_stake_lockup_custodian_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3198             : void * fd_stake_lockup_custodian_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3199             : 
    3200           0 : static inline void fd_stake_authorize_new_disc( fd_stake_authorize_t * self, uint discriminant ) { self->discriminant = discriminant; }
    3201           0 : static inline void fd_stake_authorize_new( fd_stake_authorize_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    3202             : int fd_stake_authorize_encode( fd_stake_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3203             : 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 );
    3204             : ulong fd_stake_authorize_size( fd_stake_authorize_t const * self );
    3205           0 : static inline ulong fd_stake_authorize_align( void ) { return FD_STAKE_AUTHORIZE_ALIGN; }
    3206             : int fd_stake_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3207             : void * fd_stake_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3208             : 
    3209             : FD_FN_PURE uchar fd_stake_authorize_is_staker( fd_stake_authorize_t const * self );
    3210             : FD_FN_PURE uchar fd_stake_authorize_is_withdrawer( fd_stake_authorize_t const * self );
    3211             : enum {
    3212             : fd_stake_authorize_enum_staker = 0,
    3213             : fd_stake_authorize_enum_withdrawer = 1,
    3214             : };
    3215             : void fd_stake_instruction_authorize_new( fd_stake_instruction_authorize_t * self );
    3216             : int fd_stake_instruction_authorize_encode( fd_stake_instruction_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    3217             : 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 );
    3218           0 : static inline ulong fd_stake_instruction_authorize_size( fd_stake_instruction_authorize_t const * self ) { (void)self; return 36UL; }
    3219           0 : static inline ulong fd_stake_instruction_authorize_align( void ) { return FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN; }
    3220             : int fd_stake_instruction_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3221             : void * fd_stake_instruction_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3222             : 
    3223             : void fd_authorize_with_seed_args_new( fd_authorize_with_seed_args_t * self );
    3224             : int fd_authorize_with_seed_args_encode( fd_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3225             : 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 );
    3226             : ulong fd_authorize_with_seed_args_size( fd_authorize_with_seed_args_t const * self );
    3227           0 : static inline ulong fd_authorize_with_seed_args_align( void ) { return FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN; }
    3228             : int fd_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3229             : void * fd_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3230             : 
    3231             : void fd_authorize_checked_with_seed_args_new( fd_authorize_checked_with_seed_args_t * self );
    3232             : int fd_authorize_checked_with_seed_args_encode( fd_authorize_checked_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3233             : 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 );
    3234             : ulong fd_authorize_checked_with_seed_args_size( fd_authorize_checked_with_seed_args_t const * self );
    3235           0 : static inline ulong fd_authorize_checked_with_seed_args_align( void ) { return FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN; }
    3236             : int fd_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3237             : void * fd_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3238             : 
    3239             : void fd_lockup_checked_args_new( fd_lockup_checked_args_t * self );
    3240             : int fd_lockup_checked_args_encode( fd_lockup_checked_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3241             : 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 );
    3242             : ulong fd_lockup_checked_args_size( fd_lockup_checked_args_t const * self );
    3243           0 : static inline ulong fd_lockup_checked_args_align( void ) { return FD_LOCKUP_CHECKED_ARGS_ALIGN; }
    3244             : int fd_lockup_checked_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3245             : void * fd_lockup_checked_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3246             : 
    3247             : void fd_lockup_args_new( fd_lockup_args_t * self );
    3248             : int fd_lockup_args_encode( fd_lockup_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    3249             : 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 );
    3250             : ulong fd_lockup_args_size( fd_lockup_args_t const * self );
    3251           0 : static inline ulong fd_lockup_args_align( void ) { return FD_LOCKUP_ARGS_ALIGN; }
    3252             : int fd_lockup_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3253             : void * fd_lockup_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3254             : 
    3255             : void fd_stake_instruction_new_disc( fd_stake_instruction_t * self, uint discriminant );
    3256             : void fd_stake_instruction_new( fd_stake_instruction_t * self );
    3257             : int fd_stake_instruction_encode( fd_stake_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3258             : 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 );
    3259             : ulong fd_stake_instruction_size( fd_stake_instruction_t const * self );
    3260           0 : static inline ulong fd_stake_instruction_align( void ) { return FD_STAKE_INSTRUCTION_ALIGN; }
    3261             : int fd_stake_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3262             : void * fd_stake_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3263             : 
    3264             : FD_FN_PURE uchar fd_stake_instruction_is_initialize( fd_stake_instruction_t const * self );
    3265             : FD_FN_PURE uchar fd_stake_instruction_is_authorize( fd_stake_instruction_t const * self );
    3266             : FD_FN_PURE uchar fd_stake_instruction_is_delegate_stake( fd_stake_instruction_t const * self );
    3267             : FD_FN_PURE uchar fd_stake_instruction_is_split( fd_stake_instruction_t const * self );
    3268             : FD_FN_PURE uchar fd_stake_instruction_is_withdraw( fd_stake_instruction_t const * self );
    3269             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate( fd_stake_instruction_t const * self );
    3270             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup( fd_stake_instruction_t const * self );
    3271             : FD_FN_PURE uchar fd_stake_instruction_is_merge( fd_stake_instruction_t const * self );
    3272             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_with_seed( fd_stake_instruction_t const * self );
    3273             : FD_FN_PURE uchar fd_stake_instruction_is_initialize_checked( fd_stake_instruction_t const * self );
    3274             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked( fd_stake_instruction_t const * self );
    3275             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked_with_seed( fd_stake_instruction_t const * self );
    3276             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup_checked( fd_stake_instruction_t const * self );
    3277             : FD_FN_PURE uchar fd_stake_instruction_is_get_minimum_delegation( fd_stake_instruction_t const * self );
    3278             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate_delinquent( fd_stake_instruction_t const * self );
    3279             : FD_FN_PURE uchar fd_stake_instruction_is_redelegate( fd_stake_instruction_t const * self );
    3280             : FD_FN_PURE uchar fd_stake_instruction_is_move_stake( fd_stake_instruction_t const * self );
    3281             : FD_FN_PURE uchar fd_stake_instruction_is_move_lamports( fd_stake_instruction_t const * self );
    3282             : enum {
    3283             : fd_stake_instruction_enum_initialize = 0,
    3284             : fd_stake_instruction_enum_authorize = 1,
    3285             : fd_stake_instruction_enum_delegate_stake = 2,
    3286             : fd_stake_instruction_enum_split = 3,
    3287             : fd_stake_instruction_enum_withdraw = 4,
    3288             : fd_stake_instruction_enum_deactivate = 5,
    3289             : fd_stake_instruction_enum_set_lockup = 6,
    3290             : fd_stake_instruction_enum_merge = 7,
    3291             : fd_stake_instruction_enum_authorize_with_seed = 8,
    3292             : fd_stake_instruction_enum_initialize_checked = 9,
    3293             : fd_stake_instruction_enum_authorize_checked = 10,
    3294             : fd_stake_instruction_enum_authorize_checked_with_seed = 11,
    3295             : fd_stake_instruction_enum_set_lockup_checked = 12,
    3296             : fd_stake_instruction_enum_get_minimum_delegation = 13,
    3297             : fd_stake_instruction_enum_deactivate_delinquent = 14,
    3298             : fd_stake_instruction_enum_redelegate = 15,
    3299             : fd_stake_instruction_enum_move_stake = 16,
    3300             : fd_stake_instruction_enum_move_lamports = 17,
    3301             : };
    3302           0 : static inline void fd_stake_meta_new( fd_stake_meta_t * self ) { fd_memset( self, 0, sizeof(fd_stake_meta_t) ); }
    3303             : int fd_stake_meta_encode( fd_stake_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    3304             : 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 );
    3305           0 : static inline ulong fd_stake_meta_size( fd_stake_meta_t const * self ) { (void)self; return 120UL; }
    3306           0 : static inline ulong fd_stake_meta_align( void ) { return FD_STAKE_META_ALIGN; }
    3307           0 : static inline int fd_stake_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3308           0 :   *total_sz += sizeof(fd_stake_meta_t);
    3309           0 :   if( (ulong)ctx->data + 120UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3310           0 :   return 0;
    3311           0 : }
    3312             : void * fd_stake_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3313             : 
    3314           0 : static inline void fd_stake_flags_new( fd_stake_flags_t * self ) { fd_memset( self, 0, sizeof(fd_stake_flags_t) ); }
    3315             : int fd_stake_flags_encode( fd_stake_flags_t const * self, fd_bincode_encode_ctx_t * ctx );
    3316             : 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 );
    3317           0 : static inline ulong fd_stake_flags_size( fd_stake_flags_t const * self ) { (void)self; return 1UL; }
    3318           0 : static inline ulong fd_stake_flags_align( void ) { return FD_STAKE_FLAGS_ALIGN; }
    3319           0 : static inline int fd_stake_flags_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3320           0 :   *total_sz += sizeof(fd_stake_flags_t);
    3321           0 :   if( (ulong)ctx->data + 1UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3322           0 :   return 0;
    3323           0 : }
    3324             : void * fd_stake_flags_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3325             : 
    3326           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) ); }
    3327             : int fd_stake_state_v2_initialized_encode( fd_stake_state_v2_initialized_t const * self, fd_bincode_encode_ctx_t * ctx );
    3328             : 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 );
    3329           0 : static inline ulong fd_stake_state_v2_initialized_size( fd_stake_state_v2_initialized_t const * self ) { (void)self; return 120UL; }
    3330           0 : static inline ulong fd_stake_state_v2_initialized_align( void ) { return FD_STAKE_STATE_V2_INITIALIZED_ALIGN; }
    3331           0 : static inline int fd_stake_state_v2_initialized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3332           0 :   *total_sz += sizeof(fd_stake_state_v2_initialized_t);
    3333           0 :   if( (ulong)ctx->data + 120UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3334           0 :   return 0;
    3335           0 : }
    3336             : void * fd_stake_state_v2_initialized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3337             : 
    3338          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) ); }
    3339             : int fd_stake_state_v2_stake_encode( fd_stake_state_v2_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    3340             : 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 );
    3341           0 : static inline ulong fd_stake_state_v2_stake_size( fd_stake_state_v2_stake_t const * self ) { (void)self; return 193UL; }
    3342           0 : static inline ulong fd_stake_state_v2_stake_align( void ) { return FD_STAKE_STATE_V2_STAKE_ALIGN; }
    3343           0 : static inline int fd_stake_state_v2_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3344           0 :   *total_sz += sizeof(fd_stake_state_v2_stake_t);
    3345           0 :   if( (ulong)ctx->data + 193UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3346           0 :   return 0;
    3347           0 : }
    3348             : void * fd_stake_state_v2_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3349             : 
    3350             : void fd_stake_state_v2_new_disc( fd_stake_state_v2_t * self, uint discriminant );
    3351             : void fd_stake_state_v2_new( fd_stake_state_v2_t * self );
    3352             : int fd_stake_state_v2_encode( fd_stake_state_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    3353             : 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 );
    3354             : ulong fd_stake_state_v2_size( fd_stake_state_v2_t const * self );
    3355           0 : static inline ulong fd_stake_state_v2_align( void ) { return FD_STAKE_STATE_V2_ALIGN; }
    3356             : int fd_stake_state_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3357             : void * fd_stake_state_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3358             : 
    3359             : FD_FN_PURE uchar fd_stake_state_v2_is_uninitialized( fd_stake_state_v2_t const * self );
    3360             : FD_FN_PURE uchar fd_stake_state_v2_is_initialized( fd_stake_state_v2_t const * self );
    3361             : FD_FN_PURE uchar fd_stake_state_v2_is_stake( fd_stake_state_v2_t const * self );
    3362             : FD_FN_PURE uchar fd_stake_state_v2_is_rewards_pool( fd_stake_state_v2_t const * self );
    3363             : enum {
    3364             : fd_stake_state_v2_enum_uninitialized = 0,
    3365             : fd_stake_state_v2_enum_initialized = 1,
    3366             : fd_stake_state_v2_enum_stake = 2,
    3367             : fd_stake_state_v2_enum_rewards_pool = 3,
    3368             : };
    3369           0 : static inline void fd_nonce_data_new( fd_nonce_data_t * self ) { fd_memset( self, 0, sizeof(fd_nonce_data_t) ); }
    3370             : int fd_nonce_data_encode( fd_nonce_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    3371             : 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 );
    3372           0 : static inline ulong fd_nonce_data_size( fd_nonce_data_t const * self ) { (void)self; return 72UL; }
    3373           0 : static inline ulong fd_nonce_data_align( void ) { return FD_NONCE_DATA_ALIGN; }
    3374           0 : static inline int fd_nonce_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3375           0 :   *total_sz += sizeof(fd_nonce_data_t);
    3376           0 :   if( (ulong)ctx->data + 72UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3377           0 :   return 0;
    3378           0 : }
    3379             : void * fd_nonce_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3380             : 
    3381             : void fd_nonce_state_new_disc( fd_nonce_state_t * self, uint discriminant );
    3382             : void fd_nonce_state_new( fd_nonce_state_t * self );
    3383             : int fd_nonce_state_encode( fd_nonce_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3384             : 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 );
    3385             : ulong fd_nonce_state_size( fd_nonce_state_t const * self );
    3386           0 : static inline ulong fd_nonce_state_align( void ) { return FD_NONCE_STATE_ALIGN; }
    3387             : int fd_nonce_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3388             : void * fd_nonce_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3389             : 
    3390             : FD_FN_PURE uchar fd_nonce_state_is_uninitialized( fd_nonce_state_t const * self );
    3391             : FD_FN_PURE uchar fd_nonce_state_is_initialized( fd_nonce_state_t const * self );
    3392             : enum {
    3393             : fd_nonce_state_enum_uninitialized = 0,
    3394             : fd_nonce_state_enum_initialized = 1,
    3395             : };
    3396             : void fd_nonce_state_versions_new_disc( fd_nonce_state_versions_t * self, uint discriminant );
    3397             : void fd_nonce_state_versions_new( fd_nonce_state_versions_t * self );
    3398             : int fd_nonce_state_versions_encode( fd_nonce_state_versions_t const * self, fd_bincode_encode_ctx_t * ctx );
    3399             : 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 );
    3400             : ulong fd_nonce_state_versions_size( fd_nonce_state_versions_t const * self );
    3401           0 : static inline ulong fd_nonce_state_versions_align( void ) { return FD_NONCE_STATE_VERSIONS_ALIGN; }
    3402             : int fd_nonce_state_versions_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3403             : void * fd_nonce_state_versions_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3404             : 
    3405             : FD_FN_PURE uchar fd_nonce_state_versions_is_legacy( fd_nonce_state_versions_t const * self );
    3406             : FD_FN_PURE uchar fd_nonce_state_versions_is_current( fd_nonce_state_versions_t const * self );
    3407             : enum {
    3408             : fd_nonce_state_versions_enum_legacy = 0,
    3409             : fd_nonce_state_versions_enum_current = 1,
    3410             : };
    3411           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) ); }
    3412             : 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 );
    3413             : 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 );
    3414           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; }
    3415           0 : static inline ulong fd_compute_budget_program_instruction_request_units_deprecated_align( void ) { return FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN; }
    3416           0 : static inline int fd_compute_budget_program_instruction_request_units_deprecated_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3417           0 :   *total_sz += sizeof(fd_compute_budget_program_instruction_request_units_deprecated_t);
    3418           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3419           0 :   return 0;
    3420           0 : }
    3421             : void * fd_compute_budget_program_instruction_request_units_deprecated_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3422             : 
    3423             : void fd_compute_budget_program_instruction_new_disc( fd_compute_budget_program_instruction_t * self, uint discriminant );
    3424             : void fd_compute_budget_program_instruction_new( fd_compute_budget_program_instruction_t * self );
    3425             : int fd_compute_budget_program_instruction_encode( fd_compute_budget_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3426             : 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 );
    3427             : ulong fd_compute_budget_program_instruction_size( fd_compute_budget_program_instruction_t const * self );
    3428           0 : static inline ulong fd_compute_budget_program_instruction_align( void ) { return FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN; }
    3429             : int fd_compute_budget_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3430             : void * fd_compute_budget_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3431             : 
    3432             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_units_deprecated( fd_compute_budget_program_instruction_t const * self );
    3433             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_heap_frame( fd_compute_budget_program_instruction_t const * self );
    3434             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_limit( fd_compute_budget_program_instruction_t const * self );
    3435             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_price( fd_compute_budget_program_instruction_t const * self );
    3436             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_loaded_accounts_data_size_limit( fd_compute_budget_program_instruction_t const * self );
    3437             : enum {
    3438             : fd_compute_budget_program_instruction_enum_request_units_deprecated = 0,
    3439             : fd_compute_budget_program_instruction_enum_request_heap_frame = 1,
    3440             : fd_compute_budget_program_instruction_enum_set_compute_unit_limit = 2,
    3441             : fd_compute_budget_program_instruction_enum_set_compute_unit_price = 3,
    3442             : fd_compute_budget_program_instruction_enum_set_loaded_accounts_data_size_limit = 4,
    3443             : };
    3444             : void fd_config_keys_new( fd_config_keys_t * self );
    3445             : int fd_config_keys_encode( fd_config_keys_t const * self, fd_bincode_encode_ctx_t * ctx );
    3446             : 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 );
    3447             : ulong fd_config_keys_size( fd_config_keys_t const * self );
    3448           0 : static inline ulong fd_config_keys_align( void ) { return FD_CONFIG_KEYS_ALIGN; }
    3449             : int fd_config_keys_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3450             : void * fd_config_keys_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3451             : 
    3452             : void fd_bpf_loader_program_instruction_write_new( fd_bpf_loader_program_instruction_write_t * self );
    3453             : int fd_bpf_loader_program_instruction_write_encode( fd_bpf_loader_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    3454             : 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 );
    3455             : ulong fd_bpf_loader_program_instruction_write_size( fd_bpf_loader_program_instruction_write_t const * self );
    3456           0 : static inline ulong fd_bpf_loader_program_instruction_write_align( void ) { return FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    3457             : int fd_bpf_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3458             : void * fd_bpf_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3459             : 
    3460             : void fd_bpf_loader_program_instruction_new_disc( fd_bpf_loader_program_instruction_t * self, uint discriminant );
    3461             : void fd_bpf_loader_program_instruction_new( fd_bpf_loader_program_instruction_t * self );
    3462             : int fd_bpf_loader_program_instruction_encode( fd_bpf_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3463             : 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 );
    3464             : ulong fd_bpf_loader_program_instruction_size( fd_bpf_loader_program_instruction_t const * self );
    3465           0 : static inline ulong fd_bpf_loader_program_instruction_align( void ) { return FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN; }
    3466             : int fd_bpf_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3467             : void * fd_bpf_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3468             : 
    3469             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_write( fd_bpf_loader_program_instruction_t const * self );
    3470             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_finalize( fd_bpf_loader_program_instruction_t const * self );
    3471             : enum {
    3472             : fd_bpf_loader_program_instruction_enum_write = 0,
    3473             : fd_bpf_loader_program_instruction_enum_finalize = 1,
    3474             : };
    3475             : void fd_loader_v4_program_instruction_write_new( fd_loader_v4_program_instruction_write_t * self );
    3476             : int fd_loader_v4_program_instruction_write_encode( fd_loader_v4_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    3477             : 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 );
    3478             : ulong fd_loader_v4_program_instruction_write_size( fd_loader_v4_program_instruction_write_t const * self );
    3479           0 : static inline ulong fd_loader_v4_program_instruction_write_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    3480             : int fd_loader_v4_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3481             : void * fd_loader_v4_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3482             : 
    3483           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) ); }
    3484             : int fd_loader_v4_program_instruction_copy_encode( fd_loader_v4_program_instruction_copy_t const * self, fd_bincode_encode_ctx_t * ctx );
    3485             : 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 );
    3486           0 : static inline ulong fd_loader_v4_program_instruction_copy_size( fd_loader_v4_program_instruction_copy_t const * self ) { (void)self; return 12UL; }
    3487           0 : static inline ulong fd_loader_v4_program_instruction_copy_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_COPY_ALIGN; }
    3488           0 : static inline int fd_loader_v4_program_instruction_copy_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3489           0 :   *total_sz += sizeof(fd_loader_v4_program_instruction_copy_t);
    3490           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3491           0 :   return 0;
    3492           0 : }
    3493             : void * fd_loader_v4_program_instruction_copy_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3494             : 
    3495           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) ); }
    3496             : 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 );
    3497             : 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 );
    3498           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; }
    3499           0 : static inline ulong fd_loader_v4_program_instruction_set_program_length_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_SET_PROGRAM_LENGTH_ALIGN; }
    3500           0 : static inline int fd_loader_v4_program_instruction_set_program_length_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3501           0 :   *total_sz += sizeof(fd_loader_v4_program_instruction_set_program_length_t);
    3502           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3503           0 :   return 0;
    3504           0 : }
    3505             : void * fd_loader_v4_program_instruction_set_program_length_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3506             : 
    3507             : void fd_loader_v4_program_instruction_new_disc( fd_loader_v4_program_instruction_t * self, uint discriminant );
    3508             : void fd_loader_v4_program_instruction_new( fd_loader_v4_program_instruction_t * self );
    3509             : int fd_loader_v4_program_instruction_encode( fd_loader_v4_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3510             : 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 );
    3511             : ulong fd_loader_v4_program_instruction_size( fd_loader_v4_program_instruction_t const * self );
    3512           0 : static inline ulong fd_loader_v4_program_instruction_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN; }
    3513             : int fd_loader_v4_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3514             : void * fd_loader_v4_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3515             : 
    3516             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_write( fd_loader_v4_program_instruction_t const * self );
    3517             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_copy( fd_loader_v4_program_instruction_t const * self );
    3518             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_set_program_length( fd_loader_v4_program_instruction_t const * self );
    3519             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_deploy( fd_loader_v4_program_instruction_t const * self );
    3520             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_retract( fd_loader_v4_program_instruction_t const * self );
    3521             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_transfer_authority( fd_loader_v4_program_instruction_t const * self );
    3522             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_finalize( fd_loader_v4_program_instruction_t const * self );
    3523             : enum {
    3524             : fd_loader_v4_program_instruction_enum_write = 0,
    3525             : fd_loader_v4_program_instruction_enum_copy = 1,
    3526             : fd_loader_v4_program_instruction_enum_set_program_length = 2,
    3527             : fd_loader_v4_program_instruction_enum_deploy = 3,
    3528             : fd_loader_v4_program_instruction_enum_retract = 4,
    3529             : fd_loader_v4_program_instruction_enum_transfer_authority = 5,
    3530             : fd_loader_v4_program_instruction_enum_finalize = 6,
    3531             : };
    3532             : void fd_bpf_upgradeable_loader_program_instruction_write_new( fd_bpf_upgradeable_loader_program_instruction_write_t * self );
    3533             : 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 );
    3534             : 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 );
    3535             : ulong fd_bpf_upgradeable_loader_program_instruction_write_size( fd_bpf_upgradeable_loader_program_instruction_write_t const * self );
    3536           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_write_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    3537             : int fd_bpf_upgradeable_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3538             : void * fd_bpf_upgradeable_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3539             : 
    3540           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) ); }
    3541             : 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 );
    3542             : 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 );
    3543           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; }
    3544           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; }
    3545           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 ) {
    3546           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t);
    3547           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3548           0 :   return 0;
    3549           0 : }
    3550             : void * fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3551             : 
    3552           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) ); }
    3553             : 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 );
    3554             : 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 );
    3555           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; }
    3556           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN; }
    3557           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3558           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t);
    3559           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3560           0 :   return 0;
    3561           0 : }
    3562             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3563             : 
    3564           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) ); }
    3565             : 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 );
    3566             : 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 );
    3567           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; }
    3568           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; }
    3569           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3570           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t);
    3571           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3572           0 :   return 0;
    3573           0 : }
    3574             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3575             : 
    3576             : void fd_bpf_upgradeable_loader_program_instruction_new_disc( fd_bpf_upgradeable_loader_program_instruction_t * self, uint discriminant );
    3577             : void fd_bpf_upgradeable_loader_program_instruction_new( fd_bpf_upgradeable_loader_program_instruction_t * self );
    3578             : int fd_bpf_upgradeable_loader_program_instruction_encode( fd_bpf_upgradeable_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3579             : 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 );
    3580             : ulong fd_bpf_upgradeable_loader_program_instruction_size( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3581           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN; }
    3582             : int fd_bpf_upgradeable_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3583             : void * fd_bpf_upgradeable_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3584             : 
    3585             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_initialize_buffer( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3586             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_write( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3587             : 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 );
    3588             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_upgrade( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3589             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3590             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_close( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3591             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3592             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3593             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_migrate( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3594             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    3595             : enum {
    3596             : fd_bpf_upgradeable_loader_program_instruction_enum_initialize_buffer = 0,
    3597             : fd_bpf_upgradeable_loader_program_instruction_enum_write = 1,
    3598             : fd_bpf_upgradeable_loader_program_instruction_enum_deploy_with_max_data_len = 2,
    3599             : fd_bpf_upgradeable_loader_program_instruction_enum_upgrade = 3,
    3600             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority = 4,
    3601             : fd_bpf_upgradeable_loader_program_instruction_enum_close = 5,
    3602             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program = 6,
    3603             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority_checked = 7,
    3604             : fd_bpf_upgradeable_loader_program_instruction_enum_migrate = 8,
    3605             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program_checked = 9,
    3606             : };
    3607             : void fd_bpf_upgradeable_loader_state_buffer_new( fd_bpf_upgradeable_loader_state_buffer_t * self );
    3608             : int fd_bpf_upgradeable_loader_state_buffer_encode( fd_bpf_upgradeable_loader_state_buffer_t const * self, fd_bincode_encode_ctx_t * ctx );
    3609             : 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 );
    3610             : ulong fd_bpf_upgradeable_loader_state_buffer_size( fd_bpf_upgradeable_loader_state_buffer_t const * self );
    3611           0 : static inline ulong fd_bpf_upgradeable_loader_state_buffer_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN; }
    3612             : int fd_bpf_upgradeable_loader_state_buffer_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3613             : void * fd_bpf_upgradeable_loader_state_buffer_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3614             : 
    3615           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) ); }
    3616             : int fd_bpf_upgradeable_loader_state_program_encode( fd_bpf_upgradeable_loader_state_program_t const * self, fd_bincode_encode_ctx_t * ctx );
    3617             : 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 );
    3618           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_size( fd_bpf_upgradeable_loader_state_program_t const * self ) { (void)self; return 32UL; }
    3619           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN; }
    3620           0 : static inline int fd_bpf_upgradeable_loader_state_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3621           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_state_program_t);
    3622           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3623           0 :   return 0;
    3624           0 : }
    3625             : void * fd_bpf_upgradeable_loader_state_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3626             : 
    3627             : void fd_bpf_upgradeable_loader_state_program_data_new( fd_bpf_upgradeable_loader_state_program_data_t * self );
    3628             : 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 );
    3629             : 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 );
    3630             : ulong fd_bpf_upgradeable_loader_state_program_data_size( fd_bpf_upgradeable_loader_state_program_data_t const * self );
    3631           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_data_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN; }
    3632             : int fd_bpf_upgradeable_loader_state_program_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3633             : void * fd_bpf_upgradeable_loader_state_program_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3634             : 
    3635             : void fd_bpf_upgradeable_loader_state_new_disc( fd_bpf_upgradeable_loader_state_t * self, uint discriminant );
    3636             : void fd_bpf_upgradeable_loader_state_new( fd_bpf_upgradeable_loader_state_t * self );
    3637             : int fd_bpf_upgradeable_loader_state_encode( fd_bpf_upgradeable_loader_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3638             : 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 );
    3639             : ulong fd_bpf_upgradeable_loader_state_size( fd_bpf_upgradeable_loader_state_t const * self );
    3640           0 : static inline ulong fd_bpf_upgradeable_loader_state_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN; }
    3641             : int fd_bpf_upgradeable_loader_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3642             : void * fd_bpf_upgradeable_loader_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3643             : 
    3644             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_uninitialized( fd_bpf_upgradeable_loader_state_t const * self );
    3645             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_buffer( fd_bpf_upgradeable_loader_state_t const * self );
    3646             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program( fd_bpf_upgradeable_loader_state_t const * self );
    3647             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program_data( fd_bpf_upgradeable_loader_state_t const * self );
    3648             : enum {
    3649             : fd_bpf_upgradeable_loader_state_enum_uninitialized = 0,
    3650             : fd_bpf_upgradeable_loader_state_enum_buffer = 1,
    3651             : fd_bpf_upgradeable_loader_state_enum_program = 2,
    3652             : fd_bpf_upgradeable_loader_state_enum_program_data = 3,
    3653             : };
    3654           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) ); }
    3655             : int fd_loader_v4_state_encode( fd_loader_v4_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3656             : 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 );
    3657           0 : static inline ulong fd_loader_v4_state_size( fd_loader_v4_state_t const * self ) { (void)self; return 48UL; }
    3658           0 : static inline ulong fd_loader_v4_state_align( void ) { return FD_LOADER_V4_STATE_ALIGN; }
    3659           0 : static inline int fd_loader_v4_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3660           0 :   *total_sz += sizeof(fd_loader_v4_state_t);
    3661           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3662           0 :   return 0;
    3663           0 : }
    3664             : void * fd_loader_v4_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3665             : 
    3666             : void fd_frozen_hash_status_new( fd_frozen_hash_status_t * self );
    3667             : int fd_frozen_hash_status_encode( fd_frozen_hash_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    3668             : 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 );
    3669           0 : static inline ulong fd_frozen_hash_status_size( fd_frozen_hash_status_t const * self ) { (void)self; return 33UL; }
    3670           0 : static inline ulong fd_frozen_hash_status_align( void ) { return FD_FROZEN_HASH_STATUS_ALIGN; }
    3671             : int fd_frozen_hash_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3672             : void * fd_frozen_hash_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3673             : 
    3674             : void fd_frozen_hash_versioned_new_disc( fd_frozen_hash_versioned_t * self, uint discriminant );
    3675             : void fd_frozen_hash_versioned_new( fd_frozen_hash_versioned_t * self );
    3676             : int fd_frozen_hash_versioned_encode( fd_frozen_hash_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    3677             : 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 );
    3678             : ulong fd_frozen_hash_versioned_size( fd_frozen_hash_versioned_t const * self );
    3679           0 : static inline ulong fd_frozen_hash_versioned_align( void ) { return FD_FROZEN_HASH_VERSIONED_ALIGN; }
    3680             : int fd_frozen_hash_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3681             : void * fd_frozen_hash_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3682             : 
    3683             : FD_FN_PURE uchar fd_frozen_hash_versioned_is_current( fd_frozen_hash_versioned_t const * self );
    3684             : enum {
    3685             : fd_frozen_hash_versioned_enum_current = 0,
    3686             : };
    3687             : void fd_lookup_table_meta_new( fd_lookup_table_meta_t * self );
    3688             : int fd_lookup_table_meta_encode( fd_lookup_table_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    3689             : 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 );
    3690             : ulong fd_lookup_table_meta_size( fd_lookup_table_meta_t const * self );
    3691           0 : static inline ulong fd_lookup_table_meta_align( void ) { return FD_LOOKUP_TABLE_META_ALIGN; }
    3692             : int fd_lookup_table_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3693             : void * fd_lookup_table_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3694             : 
    3695             : void fd_address_lookup_table_new( fd_address_lookup_table_t * self );
    3696             : int fd_address_lookup_table_encode( fd_address_lookup_table_t const * self, fd_bincode_encode_ctx_t * ctx );
    3697             : 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 );
    3698             : ulong fd_address_lookup_table_size( fd_address_lookup_table_t const * self );
    3699           0 : static inline ulong fd_address_lookup_table_align( void ) { return FD_ADDRESS_LOOKUP_TABLE_ALIGN; }
    3700             : int fd_address_lookup_table_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3701             : void * fd_address_lookup_table_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3702             : 
    3703             : void fd_address_lookup_table_state_new_disc( fd_address_lookup_table_state_t * self, uint discriminant );
    3704             : void fd_address_lookup_table_state_new( fd_address_lookup_table_state_t * self );
    3705             : int fd_address_lookup_table_state_encode( fd_address_lookup_table_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3706             : 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 );
    3707             : ulong fd_address_lookup_table_state_size( fd_address_lookup_table_state_t const * self );
    3708           0 : static inline ulong fd_address_lookup_table_state_align( void ) { return FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN; }
    3709             : int fd_address_lookup_table_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3710             : void * fd_address_lookup_table_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3711             : 
    3712             : FD_FN_PURE uchar fd_address_lookup_table_state_is_uninitialized( fd_address_lookup_table_state_t const * self );
    3713             : FD_FN_PURE uchar fd_address_lookup_table_state_is_lookup_table( fd_address_lookup_table_state_t const * self );
    3714             : enum {
    3715             : fd_address_lookup_table_state_enum_uninitialized = 0,
    3716             : fd_address_lookup_table_state_enum_lookup_table = 1,
    3717             : };
    3718           0 : static inline void fd_gossip_ping_new( fd_gossip_ping_t * self ) { fd_memset( self, 0, sizeof(fd_gossip_ping_t) ); }
    3719             : int fd_gossip_ping_encode( fd_gossip_ping_t const * self, fd_bincode_encode_ctx_t * ctx );
    3720             : 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 );
    3721           0 : static inline ulong fd_gossip_ping_size( fd_gossip_ping_t const * self ) { (void)self; return 128UL; }
    3722           0 : static inline ulong fd_gossip_ping_align( void ) { return FD_GOSSIP_PING_ALIGN; }
    3723           0 : static inline int fd_gossip_ping_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3724           0 :   *total_sz += sizeof(fd_gossip_ping_t);
    3725           0 :   if( (ulong)ctx->data + 128UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3726           0 :   return 0;
    3727           0 : }
    3728             : void * fd_gossip_ping_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3729             : 
    3730           0 : static inline void fd_addrlut_create_new( fd_addrlut_create_t * self ) { fd_memset( self, 0, sizeof(fd_addrlut_create_t) ); }
    3731             : int fd_addrlut_create_encode( fd_addrlut_create_t const * self, fd_bincode_encode_ctx_t * ctx );
    3732             : 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 );
    3733           0 : static inline ulong fd_addrlut_create_size( fd_addrlut_create_t const * self ) { (void)self; return 9UL; }
    3734           0 : static inline ulong fd_addrlut_create_align( void ) { return FD_ADDRLUT_CREATE_ALIGN; }
    3735           0 : static inline int fd_addrlut_create_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3736           0 :   *total_sz += sizeof(fd_addrlut_create_t);
    3737           0 :   if( (ulong)ctx->data + 9UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3738           0 :   return 0;
    3739           0 : }
    3740             : void * fd_addrlut_create_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3741             : 
    3742             : void fd_addrlut_extend_new( fd_addrlut_extend_t * self );
    3743             : int fd_addrlut_extend_encode( fd_addrlut_extend_t const * self, fd_bincode_encode_ctx_t * ctx );
    3744             : 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 );
    3745             : ulong fd_addrlut_extend_size( fd_addrlut_extend_t const * self );
    3746           0 : static inline ulong fd_addrlut_extend_align( void ) { return FD_ADDRLUT_EXTEND_ALIGN; }
    3747             : int fd_addrlut_extend_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3748             : void * fd_addrlut_extend_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3749             : 
    3750             : void fd_addrlut_instruction_new_disc( fd_addrlut_instruction_t * self, uint discriminant );
    3751             : void fd_addrlut_instruction_new( fd_addrlut_instruction_t * self );
    3752             : int fd_addrlut_instruction_encode( fd_addrlut_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3753             : 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 );
    3754             : ulong fd_addrlut_instruction_size( fd_addrlut_instruction_t const * self );
    3755           0 : static inline ulong fd_addrlut_instruction_align( void ) { return FD_ADDRLUT_INSTRUCTION_ALIGN; }
    3756             : int fd_addrlut_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3757             : void * fd_addrlut_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3758             : 
    3759             : FD_FN_PURE uchar fd_addrlut_instruction_is_create_lut( fd_addrlut_instruction_t const * self );
    3760             : FD_FN_PURE uchar fd_addrlut_instruction_is_freeze_lut( fd_addrlut_instruction_t const * self );
    3761             : FD_FN_PURE uchar fd_addrlut_instruction_is_extend_lut( fd_addrlut_instruction_t const * self );
    3762             : FD_FN_PURE uchar fd_addrlut_instruction_is_deactivate_lut( fd_addrlut_instruction_t const * self );
    3763             : FD_FN_PURE uchar fd_addrlut_instruction_is_close_lut( fd_addrlut_instruction_t const * self );
    3764             : enum {
    3765             : fd_addrlut_instruction_enum_create_lut = 0,
    3766             : fd_addrlut_instruction_enum_freeze_lut = 1,
    3767             : fd_addrlut_instruction_enum_extend_lut = 2,
    3768             : fd_addrlut_instruction_enum_deactivate_lut = 3,
    3769             : fd_addrlut_instruction_enum_close_lut = 4,
    3770             : };
    3771           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) ); }
    3772             : int fd_repair_request_header_encode( fd_repair_request_header_t const * self, fd_bincode_encode_ctx_t * ctx );
    3773             : 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 );
    3774           0 : static inline ulong fd_repair_request_header_size( fd_repair_request_header_t const * self ) { (void)self; return 140UL; }
    3775           0 : static inline ulong fd_repair_request_header_align( void ) { return FD_REPAIR_REQUEST_HEADER_ALIGN; }
    3776           0 : static inline int fd_repair_request_header_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3777           0 :   *total_sz += sizeof(fd_repair_request_header_t);
    3778           0 :   if( (ulong)ctx->data + 140UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3779           0 :   return 0;
    3780           0 : }
    3781             : void * fd_repair_request_header_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3782             : 
    3783           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) ); }
    3784             : int fd_repair_window_index_encode( fd_repair_window_index_t const * self, fd_bincode_encode_ctx_t * ctx );
    3785             : 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 );
    3786           0 : static inline ulong fd_repair_window_index_size( fd_repair_window_index_t const * self ) { (void)self; return 156UL; }
    3787           0 : static inline ulong fd_repair_window_index_align( void ) { return FD_REPAIR_WINDOW_INDEX_ALIGN; }
    3788           0 : static inline int fd_repair_window_index_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3789           0 :   *total_sz += sizeof(fd_repair_window_index_t);
    3790           0 :   if( (ulong)ctx->data + 156UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3791           0 :   return 0;
    3792           0 : }
    3793             : void * fd_repair_window_index_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3794             : 
    3795           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) ); }
    3796             : int fd_repair_highest_window_index_encode( fd_repair_highest_window_index_t const * self, fd_bincode_encode_ctx_t * ctx );
    3797             : 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 );
    3798           0 : static inline ulong fd_repair_highest_window_index_size( fd_repair_highest_window_index_t const * self ) { (void)self; return 156UL; }
    3799           0 : static inline ulong fd_repair_highest_window_index_align( void ) { return FD_REPAIR_HIGHEST_WINDOW_INDEX_ALIGN; }
    3800           0 : static inline int fd_repair_highest_window_index_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3801           0 :   *total_sz += sizeof(fd_repair_highest_window_index_t);
    3802           0 :   if( (ulong)ctx->data + 156UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3803           0 :   return 0;
    3804           0 : }
    3805             : void * fd_repair_highest_window_index_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3806             : 
    3807           0 : static inline void fd_repair_orphan_new( fd_repair_orphan_t * self ) { fd_memset( self, 0, sizeof(fd_repair_orphan_t) ); }
    3808             : int fd_repair_orphan_encode( fd_repair_orphan_t const * self, fd_bincode_encode_ctx_t * ctx );
    3809             : 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 );
    3810           0 : static inline ulong fd_repair_orphan_size( fd_repair_orphan_t const * self ) { (void)self; return 148UL; }
    3811           0 : static inline ulong fd_repair_orphan_align( void ) { return FD_REPAIR_ORPHAN_ALIGN; }
    3812           0 : static inline int fd_repair_orphan_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3813           0 :   *total_sz += sizeof(fd_repair_orphan_t);
    3814           0 :   if( (ulong)ctx->data + 148UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3815           0 :   return 0;
    3816           0 : }
    3817             : void * fd_repair_orphan_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3818             : 
    3819           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) ); }
    3820             : int fd_repair_ancestor_hashes_encode( fd_repair_ancestor_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    3821             : 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 );
    3822           0 : static inline ulong fd_repair_ancestor_hashes_size( fd_repair_ancestor_hashes_t const * self ) { (void)self; return 148UL; }
    3823           0 : static inline ulong fd_repair_ancestor_hashes_align( void ) { return FD_REPAIR_ANCESTOR_HASHES_ALIGN; }
    3824           0 : static inline int fd_repair_ancestor_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3825           0 :   *total_sz += sizeof(fd_repair_ancestor_hashes_t);
    3826           0 :   if( (ulong)ctx->data + 148UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3827           0 :   return 0;
    3828           0 : }
    3829             : void * fd_repair_ancestor_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3830             : 
    3831             : void fd_repair_protocol_new_disc( fd_repair_protocol_t * self, uint discriminant );
    3832             : void fd_repair_protocol_new( fd_repair_protocol_t * self );
    3833             : int fd_repair_protocol_encode( fd_repair_protocol_t const * self, fd_bincode_encode_ctx_t * ctx );
    3834             : 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 );
    3835             : ulong fd_repair_protocol_size( fd_repair_protocol_t const * self );
    3836          18 : static inline ulong fd_repair_protocol_align( void ) { return FD_REPAIR_PROTOCOL_ALIGN; }
    3837             : int fd_repair_protocol_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3838             : void * fd_repair_protocol_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3839             : 
    3840             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyWindowIndex( fd_repair_protocol_t const * self );
    3841             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyHighestWindowIndex( fd_repair_protocol_t const * self );
    3842             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyOrphan( fd_repair_protocol_t const * self );
    3843             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyWindowIndexWithNonce( fd_repair_protocol_t const * self );
    3844             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyHighestWindowIndexWithNonce( fd_repair_protocol_t const * self );
    3845             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyOrphanWithNonce( fd_repair_protocol_t const * self );
    3846             : FD_FN_PURE uchar fd_repair_protocol_is_LegacyAncestorHashes( fd_repair_protocol_t const * self );
    3847             : FD_FN_PURE uchar fd_repair_protocol_is_pong( fd_repair_protocol_t const * self );
    3848             : FD_FN_PURE uchar fd_repair_protocol_is_window_index( fd_repair_protocol_t const * self );
    3849             : FD_FN_PURE uchar fd_repair_protocol_is_highest_window_index( fd_repair_protocol_t const * self );
    3850             : FD_FN_PURE uchar fd_repair_protocol_is_orphan( fd_repair_protocol_t const * self );
    3851             : FD_FN_PURE uchar fd_repair_protocol_is_ancestor_hashes( fd_repair_protocol_t const * self );
    3852             : enum {
    3853             : fd_repair_protocol_enum_LegacyWindowIndex = 0,
    3854             : fd_repair_protocol_enum_LegacyHighestWindowIndex = 1,
    3855             : fd_repair_protocol_enum_LegacyOrphan = 2,
    3856             : fd_repair_protocol_enum_LegacyWindowIndexWithNonce = 3,
    3857             : fd_repair_protocol_enum_LegacyHighestWindowIndexWithNonce = 4,
    3858             : fd_repair_protocol_enum_LegacyOrphanWithNonce = 5,
    3859             : fd_repair_protocol_enum_LegacyAncestorHashes = 6,
    3860             : fd_repair_protocol_enum_pong = 7,
    3861             : fd_repair_protocol_enum_window_index = 8,
    3862             : fd_repair_protocol_enum_highest_window_index = 9,
    3863             : fd_repair_protocol_enum_orphan = 10,
    3864             : fd_repair_protocol_enum_ancestor_hashes = 11,
    3865             : };
    3866             : void fd_repair_response_new_disc( fd_repair_response_t * self, uint discriminant );
    3867             : void fd_repair_response_new( fd_repair_response_t * self );
    3868             : int fd_repair_response_encode( fd_repair_response_t const * self, fd_bincode_encode_ctx_t * ctx );
    3869             : 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 );
    3870             : ulong fd_repair_response_size( fd_repair_response_t const * self );
    3871           0 : static inline ulong fd_repair_response_align( void ) { return FD_REPAIR_RESPONSE_ALIGN; }
    3872             : int fd_repair_response_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3873             : void * fd_repair_response_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3874             : 
    3875             : FD_FN_PURE uchar fd_repair_response_is_ping( fd_repair_response_t const * self );
    3876             : enum {
    3877             : fd_repair_response_enum_ping = 0,
    3878             : };
    3879             : void fd_instr_error_enum_new_disc( fd_instr_error_enum_t * self, uint discriminant );
    3880             : void fd_instr_error_enum_new( fd_instr_error_enum_t * self );
    3881             : int fd_instr_error_enum_encode( fd_instr_error_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    3882             : 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 );
    3883             : ulong fd_instr_error_enum_size( fd_instr_error_enum_t const * self );
    3884           0 : static inline ulong fd_instr_error_enum_align( void ) { return FD_INSTR_ERROR_ENUM_ALIGN; }
    3885             : int fd_instr_error_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3886             : void * fd_instr_error_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3887             : 
    3888             : FD_FN_PURE uchar fd_instr_error_enum_is_generic_error( fd_instr_error_enum_t const * self );
    3889             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_argument( fd_instr_error_enum_t const * self );
    3890             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_instruction_data( fd_instr_error_enum_t const * self );
    3891             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_account_data( fd_instr_error_enum_t const * self );
    3892             : FD_FN_PURE uchar fd_instr_error_enum_is_account_data_too_small( fd_instr_error_enum_t const * self );
    3893             : FD_FN_PURE uchar fd_instr_error_enum_is_insufficient_funds( fd_instr_error_enum_t const * self );
    3894             : FD_FN_PURE uchar fd_instr_error_enum_is_incorrect_program_id( fd_instr_error_enum_t const * self );
    3895             : FD_FN_PURE uchar fd_instr_error_enum_is_missing_required_signature( fd_instr_error_enum_t const * self );
    3896             : FD_FN_PURE uchar fd_instr_error_enum_is_account_already_initialized( fd_instr_error_enum_t const * self );
    3897             : FD_FN_PURE uchar fd_instr_error_enum_is_uninitialized_account( fd_instr_error_enum_t const * self );
    3898             : FD_FN_PURE uchar fd_instr_error_enum_is_unbalanced_instruction( fd_instr_error_enum_t const * self );
    3899             : FD_FN_PURE uchar fd_instr_error_enum_is_modified_program_id( fd_instr_error_enum_t const * self );
    3900             : FD_FN_PURE uchar fd_instr_error_enum_is_external_account_lamport_spend( fd_instr_error_enum_t const * self );
    3901             : FD_FN_PURE uchar fd_instr_error_enum_is_external_account_data_modified( fd_instr_error_enum_t const * self );
    3902             : FD_FN_PURE uchar fd_instr_error_enum_is_readonly_lamport_change( fd_instr_error_enum_t const * self );
    3903             : FD_FN_PURE uchar fd_instr_error_enum_is_readonly_data_modified( fd_instr_error_enum_t const * self );
    3904             : FD_FN_PURE uchar fd_instr_error_enum_is_duplicate_account_index( fd_instr_error_enum_t const * self );
    3905             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_modified( fd_instr_error_enum_t const * self );
    3906             : FD_FN_PURE uchar fd_instr_error_enum_is_rent_epoch_modified( fd_instr_error_enum_t const * self );
    3907             : FD_FN_PURE uchar fd_instr_error_enum_is_not_enough_account_keys( fd_instr_error_enum_t const * self );
    3908             : FD_FN_PURE uchar fd_instr_error_enum_is_account_data_size_changed( fd_instr_error_enum_t const * self );
    3909             : FD_FN_PURE uchar fd_instr_error_enum_is_account_not_executable( fd_instr_error_enum_t const * self );
    3910             : FD_FN_PURE uchar fd_instr_error_enum_is_account_borrow_failed( fd_instr_error_enum_t const * self );
    3911             : FD_FN_PURE uchar fd_instr_error_enum_is_account_borrow_outstanding( fd_instr_error_enum_t const * self );
    3912             : FD_FN_PURE uchar fd_instr_error_enum_is_duplicate_account_out_of_sync( fd_instr_error_enum_t const * self );
    3913             : FD_FN_PURE uchar fd_instr_error_enum_is_custom( fd_instr_error_enum_t const * self );
    3914             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_error( fd_instr_error_enum_t const * self );
    3915             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_data_modified( fd_instr_error_enum_t const * self );
    3916             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_lamport_change( fd_instr_error_enum_t const * self );
    3917             : FD_FN_PURE uchar fd_instr_error_enum_is_executable_account_not_rent_exempt( fd_instr_error_enum_t const * self );
    3918             : FD_FN_PURE uchar fd_instr_error_enum_is_unsupported_program_id( fd_instr_error_enum_t const * self );
    3919             : FD_FN_PURE uchar fd_instr_error_enum_is_call_depth( fd_instr_error_enum_t const * self );
    3920             : FD_FN_PURE uchar fd_instr_error_enum_is_missing_account( fd_instr_error_enum_t const * self );
    3921             : FD_FN_PURE uchar fd_instr_error_enum_is_reentrancy_not_allowed( fd_instr_error_enum_t const * self );
    3922             : FD_FN_PURE uchar fd_instr_error_enum_is_max_seed_length_exceeded( fd_instr_error_enum_t const * self );
    3923             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_seeds( fd_instr_error_enum_t const * self );
    3924             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_realloc( fd_instr_error_enum_t const * self );
    3925             : FD_FN_PURE uchar fd_instr_error_enum_is_computational_budget_exceeded( fd_instr_error_enum_t const * self );
    3926             : FD_FN_PURE uchar fd_instr_error_enum_is_privilege_escalation( fd_instr_error_enum_t const * self );
    3927             : FD_FN_PURE uchar fd_instr_error_enum_is_program_environment_setup_failure( fd_instr_error_enum_t const * self );
    3928             : FD_FN_PURE uchar fd_instr_error_enum_is_program_failed_to_complete( fd_instr_error_enum_t const * self );
    3929             : FD_FN_PURE uchar fd_instr_error_enum_is_program_failed_to_compile( fd_instr_error_enum_t const * self );
    3930             : FD_FN_PURE uchar fd_instr_error_enum_is_immutable( fd_instr_error_enum_t const * self );
    3931             : FD_FN_PURE uchar fd_instr_error_enum_is_incorrect_authority( fd_instr_error_enum_t const * self );
    3932             : FD_FN_PURE uchar fd_instr_error_enum_is_borsh_io_error( fd_instr_error_enum_t const * self );
    3933             : FD_FN_PURE uchar fd_instr_error_enum_is_account_not_rent_exempt( fd_instr_error_enum_t const * self );
    3934             : FD_FN_PURE uchar fd_instr_error_enum_is_invalid_account_owner( fd_instr_error_enum_t const * self );
    3935             : FD_FN_PURE uchar fd_instr_error_enum_is_arithmetic_overflow( fd_instr_error_enum_t const * self );
    3936             : FD_FN_PURE uchar fd_instr_error_enum_is_unsupported_sysvar( fd_instr_error_enum_t const * self );
    3937             : FD_FN_PURE uchar fd_instr_error_enum_is_illegal_owner( fd_instr_error_enum_t const * self );
    3938             : FD_FN_PURE uchar fd_instr_error_enum_is_max_accounts_data_allocations_exceeded( fd_instr_error_enum_t const * self );
    3939             : FD_FN_PURE uchar fd_instr_error_enum_is_max_accounts_exceeded( fd_instr_error_enum_t const * self );
    3940             : FD_FN_PURE uchar fd_instr_error_enum_is_max_instruction_trace_length_exceeded( fd_instr_error_enum_t const * self );
    3941             : FD_FN_PURE uchar fd_instr_error_enum_is_builtin_programs_must_consume_compute_units( fd_instr_error_enum_t const * self );
    3942             : enum {
    3943             : fd_instr_error_enum_enum_generic_error = 0,
    3944             : fd_instr_error_enum_enum_invalid_argument = 1,
    3945             : fd_instr_error_enum_enum_invalid_instruction_data = 2,
    3946             : fd_instr_error_enum_enum_invalid_account_data = 3,
    3947             : fd_instr_error_enum_enum_account_data_too_small = 4,
    3948             : fd_instr_error_enum_enum_insufficient_funds = 5,
    3949             : fd_instr_error_enum_enum_incorrect_program_id = 6,
    3950             : fd_instr_error_enum_enum_missing_required_signature = 7,
    3951             : fd_instr_error_enum_enum_account_already_initialized = 8,
    3952             : fd_instr_error_enum_enum_uninitialized_account = 9,
    3953             : fd_instr_error_enum_enum_unbalanced_instruction = 10,
    3954             : fd_instr_error_enum_enum_modified_program_id = 11,
    3955             : fd_instr_error_enum_enum_external_account_lamport_spend = 12,
    3956             : fd_instr_error_enum_enum_external_account_data_modified = 13,
    3957             : fd_instr_error_enum_enum_readonly_lamport_change = 14,
    3958             : fd_instr_error_enum_enum_readonly_data_modified = 15,
    3959             : fd_instr_error_enum_enum_duplicate_account_index = 16,
    3960             : fd_instr_error_enum_enum_executable_modified = 17,
    3961             : fd_instr_error_enum_enum_rent_epoch_modified = 18,
    3962             : fd_instr_error_enum_enum_not_enough_account_keys = 19,
    3963             : fd_instr_error_enum_enum_account_data_size_changed = 20,
    3964             : fd_instr_error_enum_enum_account_not_executable = 21,
    3965             : fd_instr_error_enum_enum_account_borrow_failed = 22,
    3966             : fd_instr_error_enum_enum_account_borrow_outstanding = 23,
    3967             : fd_instr_error_enum_enum_duplicate_account_out_of_sync = 24,
    3968             : fd_instr_error_enum_enum_custom = 25,
    3969             : fd_instr_error_enum_enum_invalid_error = 26,
    3970             : fd_instr_error_enum_enum_executable_data_modified = 27,
    3971             : fd_instr_error_enum_enum_executable_lamport_change = 28,
    3972             : fd_instr_error_enum_enum_executable_account_not_rent_exempt = 29,
    3973             : fd_instr_error_enum_enum_unsupported_program_id = 30,
    3974             : fd_instr_error_enum_enum_call_depth = 31,
    3975             : fd_instr_error_enum_enum_missing_account = 32,
    3976             : fd_instr_error_enum_enum_reentrancy_not_allowed = 33,
    3977             : fd_instr_error_enum_enum_max_seed_length_exceeded = 34,
    3978             : fd_instr_error_enum_enum_invalid_seeds = 35,
    3979             : fd_instr_error_enum_enum_invalid_realloc = 36,
    3980             : fd_instr_error_enum_enum_computational_budget_exceeded = 37,
    3981             : fd_instr_error_enum_enum_privilege_escalation = 38,
    3982             : fd_instr_error_enum_enum_program_environment_setup_failure = 39,
    3983             : fd_instr_error_enum_enum_program_failed_to_complete = 40,
    3984             : fd_instr_error_enum_enum_program_failed_to_compile = 41,
    3985             : fd_instr_error_enum_enum_immutable = 42,
    3986             : fd_instr_error_enum_enum_incorrect_authority = 43,
    3987             : fd_instr_error_enum_enum_borsh_io_error = 44,
    3988             : fd_instr_error_enum_enum_account_not_rent_exempt = 45,
    3989             : fd_instr_error_enum_enum_invalid_account_owner = 46,
    3990             : fd_instr_error_enum_enum_arithmetic_overflow = 47,
    3991             : fd_instr_error_enum_enum_unsupported_sysvar = 48,
    3992             : fd_instr_error_enum_enum_illegal_owner = 49,
    3993             : fd_instr_error_enum_enum_max_accounts_data_allocations_exceeded = 50,
    3994             : fd_instr_error_enum_enum_max_accounts_exceeded = 51,
    3995             : fd_instr_error_enum_enum_max_instruction_trace_length_exceeded = 52,
    3996             : fd_instr_error_enum_enum_builtin_programs_must_consume_compute_units = 53,
    3997             : };
    3998             : void fd_txn_instr_error_new( fd_txn_instr_error_t * self );
    3999             : int fd_txn_instr_error_encode( fd_txn_instr_error_t const * self, fd_bincode_encode_ctx_t * ctx );
    4000             : 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 );
    4001             : ulong fd_txn_instr_error_size( fd_txn_instr_error_t const * self );
    4002           0 : static inline ulong fd_txn_instr_error_align( void ) { return FD_TXN_INSTR_ERROR_ALIGN; }
    4003             : int fd_txn_instr_error_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4004             : void * fd_txn_instr_error_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4005             : 
    4006             : void fd_txn_error_enum_new_disc( fd_txn_error_enum_t * self, uint discriminant );
    4007             : void fd_txn_error_enum_new( fd_txn_error_enum_t * self );
    4008             : int fd_txn_error_enum_encode( fd_txn_error_enum_t const * self, fd_bincode_encode_ctx_t * ctx );
    4009             : 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 );
    4010             : ulong fd_txn_error_enum_size( fd_txn_error_enum_t const * self );
    4011           0 : static inline ulong fd_txn_error_enum_align( void ) { return FD_TXN_ERROR_ENUM_ALIGN; }
    4012             : int fd_txn_error_enum_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4013             : void * fd_txn_error_enum_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4014             : 
    4015             : FD_FN_PURE uchar fd_txn_error_enum_is_account_in_use( fd_txn_error_enum_t const * self );
    4016             : FD_FN_PURE uchar fd_txn_error_enum_is_account_loaded_twice( fd_txn_error_enum_t const * self );
    4017             : FD_FN_PURE uchar fd_txn_error_enum_is_account_not_found( fd_txn_error_enum_t const * self );
    4018             : FD_FN_PURE uchar fd_txn_error_enum_is_program_account_not_found( fd_txn_error_enum_t const * self );
    4019             : FD_FN_PURE uchar fd_txn_error_enum_is_insufficient_funds_for_fee( fd_txn_error_enum_t const * self );
    4020             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_account_for_fee( fd_txn_error_enum_t const * self );
    4021             : FD_FN_PURE uchar fd_txn_error_enum_is_already_processed( fd_txn_error_enum_t const * self );
    4022             : FD_FN_PURE uchar fd_txn_error_enum_is_blockhash_not_found( fd_txn_error_enum_t const * self );
    4023             : FD_FN_PURE uchar fd_txn_error_enum_is_instruction_error( fd_txn_error_enum_t const * self );
    4024             : FD_FN_PURE uchar fd_txn_error_enum_is_call_chain_too_deep( fd_txn_error_enum_t const * self );
    4025             : FD_FN_PURE uchar fd_txn_error_enum_is_missing_signature_for_fee( fd_txn_error_enum_t const * self );
    4026             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_account_index( fd_txn_error_enum_t const * self );
    4027             : FD_FN_PURE uchar fd_txn_error_enum_is_signature_failure( fd_txn_error_enum_t const * self );
    4028             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_program_for_execution( fd_txn_error_enum_t const * self );
    4029             : FD_FN_PURE uchar fd_txn_error_enum_is_sanitize_failure( fd_txn_error_enum_t const * self );
    4030             : FD_FN_PURE uchar fd_txn_error_enum_is_cluster_maintenance( fd_txn_error_enum_t const * self );
    4031             : FD_FN_PURE uchar fd_txn_error_enum_is_account_borrow_outstanding( fd_txn_error_enum_t const * self );
    4032             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_block_cost_limit( fd_txn_error_enum_t const * self );
    4033             : FD_FN_PURE uchar fd_txn_error_enum_is_unsupported_version( fd_txn_error_enum_t const * self );
    4034             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_writable_account( fd_txn_error_enum_t const * self );
    4035             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_account_cost_limit( fd_txn_error_enum_t const * self );
    4036             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_account_data_block_limit( fd_txn_error_enum_t const * self );
    4037             : FD_FN_PURE uchar fd_txn_error_enum_is_too_many_account_locks( fd_txn_error_enum_t const * self );
    4038             : FD_FN_PURE uchar fd_txn_error_enum_is_address_lookup_table_not_found( fd_txn_error_enum_t const * self );
    4039             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_owner( fd_txn_error_enum_t const * self );
    4040             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_data( fd_txn_error_enum_t const * self );
    4041             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_address_lookup_table_index( fd_txn_error_enum_t const * self );
    4042             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_rent_paying_account( fd_txn_error_enum_t const * self );
    4043             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_max_vote_cost_limit( fd_txn_error_enum_t const * self );
    4044             : FD_FN_PURE uchar fd_txn_error_enum_is_would_exceed_account_data_total_limit( fd_txn_error_enum_t const * self );
    4045             : FD_FN_PURE uchar fd_txn_error_enum_is_duplicate_instruction( fd_txn_error_enum_t const * self );
    4046             : FD_FN_PURE uchar fd_txn_error_enum_is_insufficient_funds_for_rent( fd_txn_error_enum_t const * self );
    4047             : FD_FN_PURE uchar fd_txn_error_enum_is_max_loaded_accounts_data_size_exceeded( fd_txn_error_enum_t const * self );
    4048             : FD_FN_PURE uchar fd_txn_error_enum_is_invalid_loaded_accounts_data_size_limit( fd_txn_error_enum_t const * self );
    4049             : FD_FN_PURE uchar fd_txn_error_enum_is_resanitization_needed( fd_txn_error_enum_t const * self );
    4050             : FD_FN_PURE uchar fd_txn_error_enum_is_program_execution_temporarily_restricted( fd_txn_error_enum_t const * self );
    4051             : FD_FN_PURE uchar fd_txn_error_enum_is_unbalanced_transaction( fd_txn_error_enum_t const * self );
    4052             : enum {
    4053             : fd_txn_error_enum_enum_account_in_use = 0,
    4054             : fd_txn_error_enum_enum_account_loaded_twice = 1,
    4055             : fd_txn_error_enum_enum_account_not_found = 2,
    4056             : fd_txn_error_enum_enum_program_account_not_found = 3,
    4057             : fd_txn_error_enum_enum_insufficient_funds_for_fee = 4,
    4058             : fd_txn_error_enum_enum_invalid_account_for_fee = 5,
    4059             : fd_txn_error_enum_enum_already_processed = 6,
    4060             : fd_txn_error_enum_enum_blockhash_not_found = 7,
    4061             : fd_txn_error_enum_enum_instruction_error = 8,
    4062             : fd_txn_error_enum_enum_call_chain_too_deep = 9,
    4063             : fd_txn_error_enum_enum_missing_signature_for_fee = 10,
    4064             : fd_txn_error_enum_enum_invalid_account_index = 11,
    4065             : fd_txn_error_enum_enum_signature_failure = 12,
    4066             : fd_txn_error_enum_enum_invalid_program_for_execution = 13,
    4067             : fd_txn_error_enum_enum_sanitize_failure = 14,
    4068             : fd_txn_error_enum_enum_cluster_maintenance = 15,
    4069             : fd_txn_error_enum_enum_account_borrow_outstanding = 16,
    4070             : fd_txn_error_enum_enum_would_exceed_max_block_cost_limit = 17,
    4071             : fd_txn_error_enum_enum_unsupported_version = 18,
    4072             : fd_txn_error_enum_enum_invalid_writable_account = 19,
    4073             : fd_txn_error_enum_enum_would_exceed_max_account_cost_limit = 20,
    4074             : fd_txn_error_enum_enum_would_exceed_account_data_block_limit = 21,
    4075             : fd_txn_error_enum_enum_too_many_account_locks = 22,
    4076             : fd_txn_error_enum_enum_address_lookup_table_not_found = 23,
    4077             : fd_txn_error_enum_enum_invalid_address_lookup_table_owner = 24,
    4078             : fd_txn_error_enum_enum_invalid_address_lookup_table_data = 25,
    4079             : fd_txn_error_enum_enum_invalid_address_lookup_table_index = 26,
    4080             : fd_txn_error_enum_enum_invalid_rent_paying_account = 27,
    4081             : fd_txn_error_enum_enum_would_exceed_max_vote_cost_limit = 28,
    4082             : fd_txn_error_enum_enum_would_exceed_account_data_total_limit = 29,
    4083             : fd_txn_error_enum_enum_duplicate_instruction = 30,
    4084             : fd_txn_error_enum_enum_insufficient_funds_for_rent = 31,
    4085             : fd_txn_error_enum_enum_max_loaded_accounts_data_size_exceeded = 32,
    4086             : fd_txn_error_enum_enum_invalid_loaded_accounts_data_size_limit = 33,
    4087             : fd_txn_error_enum_enum_resanitization_needed = 34,
    4088             : fd_txn_error_enum_enum_program_execution_temporarily_restricted = 35,
    4089             : fd_txn_error_enum_enum_unbalanced_transaction = 36,
    4090             : };
    4091             : void fd_txn_result_new_disc( fd_txn_result_t * self, uint discriminant );
    4092             : void fd_txn_result_new( fd_txn_result_t * self );
    4093             : int fd_txn_result_encode( fd_txn_result_t const * self, fd_bincode_encode_ctx_t * ctx );
    4094             : 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 );
    4095             : ulong fd_txn_result_size( fd_txn_result_t const * self );
    4096           0 : static inline ulong fd_txn_result_align( void ) { return FD_TXN_RESULT_ALIGN; }
    4097             : int fd_txn_result_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4098             : void * fd_txn_result_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4099             : 
    4100             : FD_FN_PURE uchar fd_txn_result_is_ok( fd_txn_result_t const * self );
    4101             : FD_FN_PURE uchar fd_txn_result_is_error( fd_txn_result_t const * self );
    4102             : enum {
    4103             : fd_txn_result_enum_ok = 0,
    4104             : fd_txn_result_enum_error = 1,
    4105             : };
    4106             : void fd_pubkey_rewardinfo_pair_new( fd_pubkey_rewardinfo_pair_t * self );
    4107             : int fd_pubkey_rewardinfo_pair_encode( fd_pubkey_rewardinfo_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    4108             : 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 );
    4109           0 : static inline ulong fd_pubkey_rewardinfo_pair_size( fd_pubkey_rewardinfo_pair_t const * self ) { (void)self; return 60UL; }
    4110           0 : static inline ulong fd_pubkey_rewardinfo_pair_align( void ) { return FD_PUBKEY_REWARDINFO_PAIR_ALIGN; }
    4111             : int fd_pubkey_rewardinfo_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4112             : void * fd_pubkey_rewardinfo_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4113             : 
    4114           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) ); }
    4115             : int fd_calculated_stake_points_encode( fd_calculated_stake_points_t const * self, fd_bincode_encode_ctx_t * ctx );
    4116             : 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 );
    4117           0 : static inline ulong fd_calculated_stake_points_size( fd_calculated_stake_points_t const * self ) { (void)self; return 25UL; }
    4118           0 : static inline ulong fd_calculated_stake_points_align( void ) { return FD_CALCULATED_STAKE_POINTS_ALIGN; }
    4119           0 : static inline int fd_calculated_stake_points_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4120           0 :   *total_sz += sizeof(fd_calculated_stake_points_t);
    4121           0 :   if( (ulong)ctx->data + 25UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4122           0 :   return 0;
    4123           0 : }
    4124             : void * fd_calculated_stake_points_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4125             : 
    4126           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) ); }
    4127             : int fd_calculated_stake_rewards_encode( fd_calculated_stake_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    4128             : 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 );
    4129           0 : static inline ulong fd_calculated_stake_rewards_size( fd_calculated_stake_rewards_t const * self ) { (void)self; return 24UL; }
    4130           0 : static inline ulong fd_calculated_stake_rewards_align( void ) { return FD_CALCULATED_STAKE_REWARDS_ALIGN; }
    4131           0 : static inline int fd_calculated_stake_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4132           0 :   *total_sz += sizeof(fd_calculated_stake_rewards_t);
    4133           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4134           0 :   return 0;
    4135           0 : }
    4136             : void * fd_calculated_stake_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4137             : 
    4138             : void fd_duplicate_slot_proof_new( fd_duplicate_slot_proof_t * self );
    4139             : int fd_duplicate_slot_proof_encode( fd_duplicate_slot_proof_t const * self, fd_bincode_encode_ctx_t * ctx );
    4140             : 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 );
    4141             : ulong fd_duplicate_slot_proof_size( fd_duplicate_slot_proof_t const * self );
    4142           0 : static inline ulong fd_duplicate_slot_proof_align( void ) { return FD_DUPLICATE_SLOT_PROOF_ALIGN; }
    4143             : int fd_duplicate_slot_proof_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4144             : void * fd_duplicate_slot_proof_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4145             : 
    4146           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) ); }
    4147             : int fd_epoch_info_pair_encode( fd_epoch_info_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    4148             : 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 );
    4149           0 : static inline ulong fd_epoch_info_pair_size( fd_epoch_info_pair_t const * self ) { (void)self; return 104UL; }
    4150           0 : static inline ulong fd_epoch_info_pair_align( void ) { return FD_EPOCH_INFO_PAIR_ALIGN; }
    4151           0 : static inline int fd_epoch_info_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4152           0 :   *total_sz += sizeof(fd_epoch_info_pair_t);
    4153           0 :   if( (ulong)ctx->data + 104UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4154           0 :   return 0;
    4155           0 : }
    4156             : void * fd_epoch_info_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4157             : 
    4158           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) ); }
    4159             : int fd_usage_cost_details_encode( fd_usage_cost_details_t const * self, fd_bincode_encode_ctx_t * ctx );
    4160             : 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 );
    4161           0 : static inline ulong fd_usage_cost_details_size( fd_usage_cost_details_t const * self ) { (void)self; return 48UL; }
    4162           0 : static inline ulong fd_usage_cost_details_align( void ) { return FD_USAGE_COST_DETAILS_ALIGN; }
    4163           0 : static inline int fd_usage_cost_details_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4164           0 :   *total_sz += sizeof(fd_usage_cost_details_t);
    4165           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4166           0 :   return 0;
    4167           0 : }
    4168             : void * fd_usage_cost_details_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4169             : 
    4170             : void fd_transaction_cost_new_disc( fd_transaction_cost_t * self, uint discriminant );
    4171             : void fd_transaction_cost_new( fd_transaction_cost_t * self );
    4172             : int fd_transaction_cost_encode( fd_transaction_cost_t const * self, fd_bincode_encode_ctx_t * ctx );
    4173             : 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 );
    4174             : ulong fd_transaction_cost_size( fd_transaction_cost_t const * self );
    4175           0 : static inline ulong fd_transaction_cost_align( void ) { return FD_TRANSACTION_COST_ALIGN; }
    4176             : int fd_transaction_cost_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4177             : void * fd_transaction_cost_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4178             : 
    4179             : FD_FN_PURE uchar fd_transaction_cost_is_simple_vote( fd_transaction_cost_t const * self );
    4180             : FD_FN_PURE uchar fd_transaction_cost_is_transaction( fd_transaction_cost_t const * self );
    4181             : enum {
    4182             : fd_transaction_cost_enum_simple_vote = 0,
    4183             : fd_transaction_cost_enum_transaction = 1,
    4184             : };
    4185           0 : static inline void fd_rent_paying_new( fd_rent_paying_t * self ) { fd_memset( self, 0, sizeof(fd_rent_paying_t) ); }
    4186             : int fd_rent_paying_encode( fd_rent_paying_t const * self, fd_bincode_encode_ctx_t * ctx );
    4187             : 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 );
    4188           0 : static inline ulong fd_rent_paying_size( fd_rent_paying_t const * self ) { (void)self; return 16UL; }
    4189           0 : static inline ulong fd_rent_paying_align( void ) { return FD_RENT_PAYING_ALIGN; }
    4190           0 : static inline int fd_rent_paying_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    4191           0 :   *total_sz += sizeof(fd_rent_paying_t);
    4192           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    4193           0 :   return 0;
    4194           0 : }
    4195             : void * fd_rent_paying_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4196             : 
    4197             : void fd_rent_state_new_disc( fd_rent_state_t * self, uint discriminant );
    4198             : void fd_rent_state_new( fd_rent_state_t * self );
    4199             : int fd_rent_state_encode( fd_rent_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    4200             : 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 );
    4201             : ulong fd_rent_state_size( fd_rent_state_t const * self );
    4202           0 : static inline ulong fd_rent_state_align( void ) { return FD_RENT_STATE_ALIGN; }
    4203             : int fd_rent_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    4204             : void * fd_rent_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    4205             : 
    4206             : FD_FN_PURE uchar fd_rent_state_is_uninitialized( fd_rent_state_t const * self );
    4207             : FD_FN_PURE uchar fd_rent_state_is_rent_paying( fd_rent_state_t const * self );
    4208             : FD_FN_PURE uchar fd_rent_state_is_rent_exempt( fd_rent_state_t const * self );
    4209             : enum {
    4210             : fd_rent_state_enum_uninitialized = 0,
    4211             : fd_rent_state_enum_rent_paying = 1,
    4212             : fd_rent_state_enum_rent_exempt = 2,
    4213             : };
    4214             : FD_PROTOTYPES_END
    4215             : 
    4216             : #endif // HEADER_FD_RUNTIME_TYPES

Generated by: LCOV version 1.14