LCOV - code coverage report
Current view: top level - flamenco/types - fd_types.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 90 632 14.2 %
Date: 2025-11-29 04:46:19 Functions: 33 59334 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             : #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           3 : #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             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L303 */
     171             : /* Encoded Size: Fixed (64 bytes) */
     172             : struct fd_delegation {
     173             :   fd_pubkey_t voter_pubkey;
     174             :   ulong stake;
     175             :   ulong activation_epoch;
     176             :   ulong deactivation_epoch;
     177             :   double warmup_cooldown_rate;
     178             : };
     179             : typedef struct fd_delegation fd_delegation_t;
     180             : #define FD_DELEGATION_ALIGN alignof(fd_delegation_t)
     181             : 
     182             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L539 */
     183             : /* Encoded Size: Fixed (72 bytes) */
     184             : struct fd_stake {
     185             :   fd_delegation_t delegation;
     186             :   ulong credits_observed;
     187             : };
     188             : typedef struct fd_stake fd_stake_t;
     189             : #define FD_STAKE_ALIGN alignof(fd_stake_t)
     190             : 
     191             : /* Encoded Size: Fixed (12 bytes) */
     192             : struct fd_rust_duration {
     193             :   ulong seconds;
     194             :   uint nanoseconds;
     195             : };
     196             : typedef struct fd_rust_duration fd_rust_duration_t;
     197             : #define FD_RUST_DURATION_ALIGN alignof(fd_rust_duration_t)
     198             : 
     199             : /* Encoded Size: Dynamic */
     200             : struct fd_poh_config {
     201             :   fd_rust_duration_t target_tick_duration;
     202             :   ulong target_tick_count;
     203             :   uchar has_target_tick_count;
     204             :   ulong hashes_per_tick;
     205             :   uchar has_hashes_per_tick;
     206             : };
     207             : typedef struct fd_poh_config fd_poh_config_t;
     208             : #define FD_POH_CONFIG_ALIGN alignof(fd_poh_config_t)
     209             : 
     210             : struct fd_poh_config_global {
     211             :   fd_rust_duration_t target_tick_duration;
     212             :   ulong target_tick_count;
     213             :   uchar has_target_tick_count;
     214             :   ulong hashes_per_tick;
     215             :   uchar has_hashes_per_tick;
     216             : };
     217             : typedef struct fd_poh_config_global fd_poh_config_global_t;
     218             : #define FD_POH_CONFIG_GLOBAL_ALIGN alignof(fd_poh_config_global_t)
     219             : 
     220             : /* Encoded Size: Dynamic */
     221             : struct fd_string_pubkey_pair {
     222             :   ulong string_len;
     223             :   uchar* string;
     224             :   fd_pubkey_t pubkey;
     225             : };
     226             : typedef struct fd_string_pubkey_pair fd_string_pubkey_pair_t;
     227           0 : #define FD_STRING_PUBKEY_PAIR_ALIGN alignof(fd_string_pubkey_pair_t)
     228             : 
     229             : struct fd_string_pubkey_pair_global {
     230             :   ulong string_len;
     231             :   ulong string_offset;
     232             :   fd_pubkey_t pubkey;
     233             : };
     234             : typedef struct fd_string_pubkey_pair_global fd_string_pubkey_pair_global_t;
     235             : #define FD_STRING_PUBKEY_PAIR_GLOBAL_ALIGN alignof(fd_string_pubkey_pair_global_t)
     236             : 
     237           0 : FD_FN_UNUSED static uchar * fd_string_pubkey_pair_string_join( fd_string_pubkey_pair_global_t const * struct_mem ) { // vector
     238           0 :   return struct_mem->string_offset ? (uchar *)fd_type_pun( (uchar *)struct_mem + struct_mem->string_offset ) : NULL;
     239           0 : }
     240           0 : FD_FN_UNUSED static void fd_string_pubkey_pair_string_update( fd_string_pubkey_pair_global_t * struct_mem, uchar * vec ) {
     241           0 :   struct_mem->string_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     242           0 : }
     243             : /* Encoded Size: Dynamic */
     244             : struct fd_pubkey_account_pair {
     245             :   fd_pubkey_t key;
     246             :   fd_solana_account_t account;
     247             : };
     248             : typedef struct fd_pubkey_account_pair fd_pubkey_account_pair_t;
     249           0 : #define FD_PUBKEY_ACCOUNT_PAIR_ALIGN alignof(fd_pubkey_account_pair_t)
     250             : 
     251             : struct fd_pubkey_account_pair_global {
     252             :   fd_pubkey_t key;
     253             :   fd_solana_account_global_t account;
     254             : };
     255             : typedef struct fd_pubkey_account_pair_global fd_pubkey_account_pair_global_t;
     256             : #define FD_PUBKEY_ACCOUNT_PAIR_GLOBAL_ALIGN alignof(fd_pubkey_account_pair_global_t)
     257             : 
     258             : /* Encoded Size: Dynamic */
     259             : struct fd_genesis_solana {
     260             :   ulong creation_time;
     261             :   ulong accounts_len;
     262             :   fd_pubkey_account_pair_t * accounts;
     263             :   ulong native_instruction_processors_len;
     264             :   fd_string_pubkey_pair_t * native_instruction_processors;
     265             :   ulong rewards_pools_len;
     266             :   fd_pubkey_account_pair_t * rewards_pools;
     267             :   ulong ticks_per_slot;
     268             :   ulong unused;
     269             :   fd_poh_config_t poh_config;
     270             :   ulong __backwards_compat_with_v0_23;
     271             :   fd_fee_rate_governor_t fee_rate_governor;
     272             :   fd_rent_t rent;
     273             :   fd_inflation_t inflation;
     274             :   fd_epoch_schedule_t epoch_schedule;
     275             :   uint cluster_type;
     276             : };
     277             : typedef struct fd_genesis_solana fd_genesis_solana_t;
     278             : #define FD_GENESIS_SOLANA_ALIGN alignof(fd_genesis_solana_t)
     279             : 
     280             : struct fd_genesis_solana_global {
     281             :   ulong creation_time;
     282             :   ulong accounts_len;
     283             :   ulong accounts_offset;
     284             :   ulong native_instruction_processors_len;
     285             :   ulong native_instruction_processors_offset;
     286             :   ulong rewards_pools_len;
     287             :   ulong rewards_pools_offset;
     288             :   ulong ticks_per_slot;
     289             :   ulong unused;
     290             :   fd_poh_config_global_t poh_config;
     291             :   ulong __backwards_compat_with_v0_23;
     292             :   fd_fee_rate_governor_t fee_rate_governor;
     293             :   fd_rent_t rent;
     294             :   fd_inflation_t inflation;
     295             :   fd_epoch_schedule_t epoch_schedule;
     296             :   uint cluster_type;
     297             : };
     298             : typedef struct fd_genesis_solana_global fd_genesis_solana_global_t;
     299             : #define FD_GENESIS_SOLANA_GLOBAL_ALIGN alignof(fd_genesis_solana_global_t)
     300             : 
     301           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
     302           0 :   return struct_mem->accounts_offset ? (fd_pubkey_account_pair_global_t *)fd_type_pun( (uchar *)struct_mem + struct_mem->accounts_offset ) : NULL;
     303           0 : }
     304           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 ) {
     305           0 :   struct_mem->accounts_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     306           0 : }
     307           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
     308           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;
     309           0 : }
     310           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 ) {
     311           0 :   struct_mem->native_instruction_processors_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     312           0 : }
     313           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
     314           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;
     315           0 : }
     316           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 ) {
     317           0 :   struct_mem->rewards_pools_offset = !!vec ? (ulong)vec - (ulong)struct_mem : 0UL;
     318           0 : }
     319             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/clock.rs#L114 */
     320             : /* Encoded Size: Fixed (40 bytes) */
     321             : struct fd_sol_sysvar_clock {
     322             :   ulong slot;
     323             :   long epoch_start_timestamp;
     324             :   ulong epoch;
     325             :   ulong leader_schedule_epoch;
     326             :   long unix_timestamp;
     327             : };
     328             : typedef struct fd_sol_sysvar_clock fd_sol_sysvar_clock_t;
     329           3 : #define FD_SOL_SYSVAR_CLOCK_ALIGN alignof(fd_sol_sysvar_clock_t)
     330             : 
     331             : /* https://github.com/solana-labs/solana/blob/30531d7a5b74f914dde53bfbb0bc2144f2ac92bb/sdk/program/src/last_restart_slot.rs#L7 */
     332             : /* Encoded Size: Fixed (8 bytes) */
     333             : struct fd_sol_sysvar_last_restart_slot {
     334             :   ulong slot;
     335             : };
     336             : typedef struct fd_sol_sysvar_last_restart_slot fd_sol_sysvar_last_restart_slot_t;
     337           3 : #define FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN alignof(fd_sol_sysvar_last_restart_slot_t)
     338             : 
     339             : /* Encoded Size: Fixed (12 bytes) */
     340             : struct fd_vote_lockout {
     341             :   ulong slot;
     342             :   uint confirmation_count;
     343             : };
     344             : typedef struct fd_vote_lockout fd_vote_lockout_t;
     345             : #define FD_VOTE_LOCKOUT_ALIGN alignof(fd_vote_lockout_t)
     346             : 
     347             : /* Encoded Size: Dynamic */
     348             : struct fd_lockout_offset {
     349             :   ulong offset;
     350             :   uchar confirmation_count;
     351             : };
     352             : typedef struct fd_lockout_offset fd_lockout_offset_t;
     353           0 : #define FD_LOCKOUT_OFFSET_ALIGN alignof(fd_lockout_offset_t)
     354             : 
     355             : /* https://github.com/firedancer-io/solana/blob/da470eef4652b3b22598a1f379cacfe82bd5928d/sdk/program/src/vote/authorized_voters.rs#L9 */
     356             : /* Encoded Size: Fixed (40 bytes) */
     357             : struct fd_vote_authorized_voter {
     358             :   ulong epoch;
     359             :   fd_pubkey_t pubkey;
     360             :   ulong parent;
     361             :   ulong left;
     362             :   ulong right;
     363             :   ulong prio;
     364             : };
     365             : typedef struct fd_vote_authorized_voter fd_vote_authorized_voter_t;
     366             : #define FD_VOTE_AUTHORIZED_VOTER_ALIGN alignof(fd_vote_authorized_voter_t)
     367             : 
     368             : /* Encoded Size: Fixed (48 bytes) */
     369             : struct fd_vote_prior_voter {
     370             :   fd_pubkey_t pubkey;
     371             :   ulong epoch_start;
     372             :   ulong epoch_end;
     373             : };
     374             : typedef struct fd_vote_prior_voter fd_vote_prior_voter_t;
     375             : #define FD_VOTE_PRIOR_VOTER_ALIGN alignof(fd_vote_prior_voter_t)
     376             : 
     377             : /* Encoded Size: Fixed (56 bytes) */
     378             : struct fd_vote_prior_voter_0_23_5 {
     379             :   fd_pubkey_t pubkey;
     380             :   ulong epoch_start;
     381             :   ulong epoch_end;
     382             :   ulong slot;
     383             : };
     384             : typedef struct fd_vote_prior_voter_0_23_5 fd_vote_prior_voter_0_23_5_t;
     385             : #define FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN alignof(fd_vote_prior_voter_0_23_5_t)
     386             : 
     387             : /* Encoded Size: Fixed (24 bytes) */
     388             : struct fd_vote_epoch_credits {
     389             :   ulong epoch;
     390             :   ulong credits;
     391             :   ulong prev_credits;
     392             : };
     393             : typedef struct fd_vote_epoch_credits fd_vote_epoch_credits_t;
     394             : #define FD_VOTE_EPOCH_CREDITS_ALIGN alignof(fd_vote_epoch_credits_t)
     395             : 
     396             : /* Encoded Size: Fixed (16 bytes) */
     397             : struct fd_vote_block_timestamp {
     398             :   ulong slot;
     399             :   long timestamp;
     400             : };
     401             : typedef struct fd_vote_block_timestamp fd_vote_block_timestamp_t;
     402             : #define FD_VOTE_BLOCK_TIMESTAMP_ALIGN alignof(fd_vote_block_timestamp_t)
     403             : 
     404             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     405             : /* Encoded Size: Fixed (1545 bytes) */
     406             : struct fd_vote_prior_voters {
     407             :   fd_vote_prior_voter_t buf[32];
     408             :   ulong idx;
     409             :   uchar is_empty;
     410             : };
     411             : typedef struct fd_vote_prior_voters fd_vote_prior_voters_t;
     412             : #define FD_VOTE_PRIOR_VOTERS_ALIGN alignof(fd_vote_prior_voters_t)
     413             : 
     414             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     415             : /* Encoded Size: Fixed (1800 bytes) */
     416             : struct fd_vote_prior_voters_0_23_5 {
     417             :   fd_vote_prior_voter_0_23_5_t buf[32];
     418             :   ulong idx;
     419             : };
     420             : typedef struct fd_vote_prior_voters_0_23_5 fd_vote_prior_voters_0_23_5_t;
     421             : #define FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN alignof(fd_vote_prior_voters_0_23_5_t)
     422             : 
     423             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L268 */
     424             : /* Encoded Size: Fixed (13 bytes) */
     425             : struct fd_landed_vote {
     426             :   uchar latency;
     427             :   fd_vote_lockout_t lockout;
     428             : };
     429             : typedef struct fd_landed_vote fd_landed_vote_t;
     430             : #define FD_LANDED_VOTE_ALIGN alignof(fd_landed_vote_t)
     431             : 
     432             : #define DEQUE_NAME deq_fd_vote_lockout_t
     433           0 : #define DEQUE_T fd_vote_lockout_t
     434             : #include "../../util/tmpl/fd_deque_dynamic.c"
     435             : #undef DEQUE_NAME
     436             : #undef DEQUE_T
     437             : #undef DEQUE_MAX
     438             : static inline fd_vote_lockout_t *
     439           0 : deq_fd_vote_lockout_t_join_new( void * * alloc_mem, ulong max ) {
     440           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     441           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_lockout_t_align() );
     442           0 :   void * deque_mem = *alloc_mem;
     443           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_lockout_t_footprint( max );
     444           0 :   return deq_fd_vote_lockout_t_join( deq_fd_vote_lockout_t_new( deque_mem, max ) );
     445           0 : }
     446             : 
     447             : #define DEQUE_NAME deq_fd_vote_epoch_credits_t
     448         393 : #define DEQUE_T fd_vote_epoch_credits_t
     449             : #include "../../util/tmpl/fd_deque_dynamic.c"
     450             : #undef DEQUE_NAME
     451             : #undef DEQUE_T
     452             : #undef DEQUE_MAX
     453             : static inline fd_vote_epoch_credits_t *
     454          15 : deq_fd_vote_epoch_credits_t_join_new( void * * alloc_mem, ulong max ) {
     455          15 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     456          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_vote_epoch_credits_t_align() );
     457          15 :   void * deque_mem = *alloc_mem;
     458          15 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_vote_epoch_credits_t_footprint( max );
     459          15 :   return deq_fd_vote_epoch_credits_t_join( deq_fd_vote_epoch_credits_t_new( deque_mem, max ) );
     460          15 : }
     461             : 
     462             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_0_23_5.rs#L6 */
     463             : /* Encoded Size: Dynamic */
     464             : struct fd_vote_state_0_23_5 {
     465             :   fd_pubkey_t node_pubkey;
     466             :   fd_pubkey_t authorized_voter;
     467             :   ulong authorized_voter_epoch;
     468             :   fd_vote_prior_voters_0_23_5_t prior_voters;
     469             :   fd_pubkey_t authorized_withdrawer;
     470             :   uchar commission;
     471             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
     472             :   ulong root_slot;
     473             :   uchar has_root_slot;
     474             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     475             :   fd_vote_block_timestamp_t last_timestamp;
     476             : };
     477             : typedef struct fd_vote_state_0_23_5 fd_vote_state_0_23_5_t;
     478             : #define FD_VOTE_STATE_0_23_5_ALIGN alignof(fd_vote_state_0_23_5_t)
     479             : 
     480          30 : #define FD_VOTE_AUTHORIZED_VOTERS_MIN 64
     481             : #define POOL_NAME fd_vote_authorized_voters_pool
     482          54 : #define POOL_T fd_vote_authorized_voter_t
     483         999 : #define POOL_NEXT parent
     484             : #include "../../util/tmpl/fd_pool.c"
     485             : static inline fd_vote_authorized_voter_t *
     486          15 : fd_vote_authorized_voters_pool_join_new( void * * alloc_mem, ulong num ) {
     487          15 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     488          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_pool_align() );
     489          15 :   void * pool_mem = *alloc_mem;
     490          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_pool_footprint( num );
     491          15 :   return fd_vote_authorized_voters_pool_join( fd_vote_authorized_voters_pool_new( pool_mem, num ) );
     492          15 : }
     493             : #define TREAP_NAME fd_vote_authorized_voters_treap
     494             : #define TREAP_T fd_vote_authorized_voter_t
     495             : #define TREAP_QUERY_T ulong
     496           0 : #define TREAP_CMP(q,e) ( (q == (e)->epoch) ? 0 : ( (q < (e)->epoch) ? -1 : 1 ) )
     497           0 : #define TREAP_LT(e0,e1) ((e0)->epoch<(e1)->epoch)
     498             : #include "../../util/tmpl/fd_treap.c"
     499             : static inline fd_vote_authorized_voters_treap_t *
     500          15 : fd_vote_authorized_voters_treap_join_new( void * * alloc_mem, ulong num ) {
     501          15 :   if( FD_UNLIKELY( 0 == num ) ) num = 1; // prevent underflow
     502          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, fd_vote_authorized_voters_treap_align() );
     503          15 :   void * treap_mem = *alloc_mem;
     504          15 :   *alloc_mem = (uchar *)*alloc_mem + fd_vote_authorized_voters_treap_footprint( num );
     505          15 :   return fd_vote_authorized_voters_treap_join( fd_vote_authorized_voters_treap_new( treap_mem, num ) );
     506          15 : }
     507             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     508             : /* Encoded Size: Dynamic */
     509             : struct fd_vote_authorized_voters {
     510             :   fd_vote_authorized_voter_t * pool;
     511             :   fd_vote_authorized_voters_treap_t * treap;
     512             : };
     513             : typedef struct fd_vote_authorized_voters fd_vote_authorized_voters_t;
     514           0 : #define FD_VOTE_AUTHORIZED_VOTERS_ALIGN alignof(fd_vote_authorized_voters_t)
     515             : 
     516             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     517             : /* Encoded Size: Dynamic */
     518             : struct fd_vote_state_1_14_11 {
     519             :   fd_pubkey_t node_pubkey;
     520             :   fd_pubkey_t authorized_withdrawer;
     521             :   uchar commission;
     522             :   fd_vote_lockout_t * votes; /* fd_deque_dynamic (min cnt 32) */
     523             :   ulong root_slot;
     524             :   uchar has_root_slot;
     525             :   fd_vote_authorized_voters_t authorized_voters;
     526             :   fd_vote_prior_voters_t prior_voters;
     527             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     528             :   fd_vote_block_timestamp_t last_timestamp;
     529             : };
     530             : typedef struct fd_vote_state_1_14_11 fd_vote_state_1_14_11_t;
     531             : #define FD_VOTE_STATE_1_14_11_ALIGN alignof(fd_vote_state_1_14_11_t)
     532             : 
     533             : #define DEQUE_NAME deq_fd_landed_vote_t
     534         195 : #define DEQUE_T fd_landed_vote_t
     535             : #include "../../util/tmpl/fd_deque_dynamic.c"
     536             : #undef DEQUE_NAME
     537             : #undef DEQUE_T
     538             : #undef DEQUE_MAX
     539             : static inline fd_landed_vote_t *
     540          15 : deq_fd_landed_vote_t_join_new( void * * alloc_mem, ulong max ) {
     541          15 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     542          15 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_landed_vote_t_align() );
     543          15 :   void * deque_mem = *alloc_mem;
     544          15 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_landed_vote_t_footprint( max );
     545          15 :   return deq_fd_landed_vote_t_join( deq_fd_landed_vote_t_new( deque_mem, max ) );
     546          15 : }
     547             : 
     548             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L310 */
     549             : /* Encoded Size: Dynamic */
     550             : struct fd_vote_state {
     551             :   fd_pubkey_t node_pubkey;
     552             :   fd_pubkey_t authorized_withdrawer;
     553             :   uchar commission;
     554             :   fd_landed_vote_t * votes; /* fd_deque_dynamic (min cnt 32) */
     555             :   ulong root_slot;
     556             :   uchar has_root_slot;
     557             :   fd_vote_authorized_voters_t authorized_voters;
     558             :   fd_vote_prior_voters_t prior_voters;
     559             :   fd_vote_epoch_credits_t * epoch_credits; /* fd_deque_dynamic (min cnt 64) */
     560             :   fd_vote_block_timestamp_t last_timestamp;
     561             : };
     562             : typedef struct fd_vote_state fd_vote_state_t;
     563             : #define FD_VOTE_STATE_ALIGN alignof(fd_vote_state_t)
     564             : 
     565             : union fd_vote_state_versioned_inner {
     566             :   fd_vote_state_0_23_5_t v0_23_5;
     567             :   fd_vote_state_1_14_11_t v1_14_11;
     568             :   fd_vote_state_t current;
     569             : };
     570             : typedef union fd_vote_state_versioned_inner fd_vote_state_versioned_inner_t;
     571             : 
     572             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/vote_state_versions.rs#L4 */
     573             : struct fd_vote_state_versioned {
     574             :   uint discriminant;
     575             :   fd_vote_state_versioned_inner_t inner;
     576             : };
     577             : typedef struct fd_vote_state_versioned fd_vote_state_versioned_t;
     578          33 : #define FD_VOTE_STATE_VERSIONED_ALIGN alignof(fd_vote_state_versioned_t)
     579             : 
     580             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
     581             : /* Encoded Size: Dynamic */
     582             : struct fd_vote_state_update {
     583             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic (min cnt 32) */
     584             :   ulong root;
     585             :   uchar has_root;
     586             :   fd_hash_t hash;
     587             :   long timestamp;
     588             :   uchar has_timestamp;
     589             : };
     590             : typedef struct fd_vote_state_update fd_vote_state_update_t;
     591             : #define FD_VOTE_STATE_UPDATE_ALIGN alignof(fd_vote_state_update_t)
     592             : 
     593             : /* Encoded Size: Dynamic */
     594             : struct fd_compact_vote_state_update {
     595             :   ulong root;
     596             :   ushort lockouts_len;
     597             :   fd_lockout_offset_t * lockouts;
     598             :   fd_hash_t hash;
     599             :   long timestamp;
     600             :   uchar has_timestamp;
     601             : };
     602             : typedef struct fd_compact_vote_state_update fd_compact_vote_state_update_t;
     603             : #define FD_COMPACT_VOTE_STATE_UPDATE_ALIGN alignof(fd_compact_vote_state_update_t)
     604             : 
     605             : /* https://github.com/solana-labs/solana/blob/252438e28fbfb2c695fe1215171b83456e4b761c/programs/vote/src/vote_instruction.rs#L143 */
     606             : /* Encoded Size: Dynamic */
     607             : struct fd_compact_vote_state_update_switch {
     608             :   fd_compact_vote_state_update_t compact_vote_state_update;
     609             :   fd_hash_t hash;
     610             : };
     611             : typedef struct fd_compact_vote_state_update_switch fd_compact_vote_state_update_switch_t;
     612             : #define FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN alignof(fd_compact_vote_state_update_switch_t)
     613             : 
     614             : #define DEQUE_NAME deq_fd_lockout_offset_t
     615           0 : #define DEQUE_T fd_lockout_offset_t
     616             : #include "../../util/tmpl/fd_deque_dynamic.c"
     617             : #undef DEQUE_NAME
     618             : #undef DEQUE_T
     619             : #undef DEQUE_MAX
     620             : static inline fd_lockout_offset_t *
     621           0 : deq_fd_lockout_offset_t_join_new( void * * alloc_mem, ulong max ) {
     622           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     623           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_lockout_offset_t_align() );
     624           0 :   void * deque_mem = *alloc_mem;
     625           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_lockout_offset_t_footprint( max );
     626           0 :   return deq_fd_lockout_offset_t_join( deq_fd_lockout_offset_t_new( deque_mem, max ) );
     627           0 : }
     628             : 
     629             : /* https://github.com/anza-xyz/agave/blob/20ee70cd1829cd414d09040460defecf9792a370/sdk/program/src/vote/state/mod.rs#L990 */
     630             : /* Encoded Size: Dynamic */
     631             : struct fd_compact_tower_sync {
     632             :   ulong root;
     633             :   fd_lockout_offset_t * lockout_offsets; /* fd_deque_dynamic (min cnt 32) */
     634             :   fd_hash_t hash;
     635             :   long timestamp;
     636             :   uchar has_timestamp;
     637             :   fd_hash_t block_id;
     638             : };
     639             : typedef struct fd_compact_tower_sync fd_compact_tower_sync_t;
     640             : #define FD_COMPACT_TOWER_SYNC_ALIGN alignof(fd_compact_tower_sync_t)
     641             : 
     642             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L185 */
     643             : /* Encoded Size: Dynamic */
     644             : struct fd_tower_sync {
     645             :   fd_vote_lockout_t * lockouts; /* fd_deque_dynamic */
     646             :   ulong lockouts_cnt;
     647             :   ulong root;
     648             :   uchar has_root;
     649             :   fd_hash_t hash;
     650             :   long timestamp;
     651             :   uchar has_timestamp;
     652             :   fd_hash_t block_id;
     653             : };
     654             : typedef struct fd_tower_sync fd_tower_sync_t;
     655             : #define FD_TOWER_SYNC_ALIGN alignof(fd_tower_sync_t)
     656             : 
     657             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
     658             : /* Encoded Size: Dynamic */
     659             : struct fd_tower_sync_switch {
     660             :   fd_tower_sync_t tower_sync;
     661             :   fd_hash_t hash;
     662             : };
     663             : typedef struct fd_tower_sync_switch fd_tower_sync_switch_t;
     664             : #define FD_TOWER_SYNC_SWITCH_ALIGN alignof(fd_tower_sync_switch_t)
     665             : 
     666             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_history.rs#L11 */
     667             : /* Encoded Size: Dynamic */
     668             : struct fd_slot_history {
     669             :   uchar has_bits;
     670             :   ulong bits_bitvec_len;
     671             :   ulong* bits_bitvec;
     672             :   ulong bits_len;
     673             :   ulong next_slot;
     674             : };
     675             : typedef struct fd_slot_history fd_slot_history_t;
     676           3 : #define FD_SLOT_HISTORY_ALIGN alignof(fd_slot_history_t)
     677             : 
     678             : struct fd_slot_history_global {
     679             :   uchar has_bits;
     680             :   ulong bits_bitvec_len;
     681             :   ulong bits_bitvec_offset;
     682             :   ulong bits_len;
     683             :   ulong next_slot;
     684             : };
     685             : typedef struct fd_slot_history_global fd_slot_history_global_t;
     686             : #define FD_SLOT_HISTORY_GLOBAL_ALIGN alignof(fd_slot_history_global_t)
     687             : 
     688             : /* Encoded Size: Fixed (40 bytes) */
     689             : struct fd_slot_hash {
     690             :   ulong slot;
     691             :   fd_hash_t hash;
     692             : };
     693             : typedef struct fd_slot_hash fd_slot_hash_t;
     694             : #define FD_SLOT_HASH_ALIGN alignof(fd_slot_hash_t)
     695             : 
     696             : #define DEQUE_NAME deq_fd_slot_hash_t
     697           0 : #define DEQUE_T fd_slot_hash_t
     698             : #include "../../util/tmpl/fd_deque_dynamic.c"
     699             : #undef DEQUE_NAME
     700             : #undef DEQUE_T
     701             : #undef DEQUE_MAX
     702             : static inline fd_slot_hash_t *
     703           0 : deq_fd_slot_hash_t_join_new( void * * alloc_mem, ulong max ) {
     704           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     705           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_slot_hash_t_align() );
     706           0 :   void * deque_mem = *alloc_mem;
     707           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_slot_hash_t_footprint( max );
     708           0 :   return deq_fd_slot_hash_t_join( deq_fd_slot_hash_t_new( deque_mem, max ) );
     709           0 : }
     710             : 
     711             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/slot_hashes.rs#L31 */
     712             : /* Encoded Size: Dynamic */
     713             : struct fd_slot_hashes {
     714             :   fd_slot_hash_t * hashes; /* fd_deque_dynamic (min cnt 512) */
     715             : };
     716             : typedef struct fd_slot_hashes fd_slot_hashes_t;
     717           3 : #define FD_SLOT_HASHES_ALIGN alignof(fd_slot_hashes_t)
     718             : 
     719             : struct fd_slot_hashes_global {
     720             :   ulong hashes_offset; /* fd_deque_dynamic (min cnt 512) */
     721             : };
     722             : typedef struct fd_slot_hashes_global fd_slot_hashes_global_t;
     723             : #define FD_SLOT_HASHES_GLOBAL_ALIGN alignof(fd_slot_hashes_global_t)
     724             : 
     725           0 : static FD_FN_UNUSED fd_slot_hash_t * fd_slot_hashes_hashes_join( fd_slot_hashes_global_t * type ) { // deque
     726           0 :   return type->hashes_offset ? (fd_slot_hash_t *)deq_fd_slot_hash_t_join( fd_type_pun( (uchar *)type + type->hashes_offset ) ) : NULL;
     727           0 : }
     728             : /* Encoded Size: Fixed (40 bytes) */
     729             : struct fd_block_block_hash_entry {
     730             :   fd_hash_t blockhash;
     731             :   fd_fee_calculator_t fee_calculator;
     732             : };
     733             : typedef struct fd_block_block_hash_entry fd_block_block_hash_entry_t;
     734             : #define FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN alignof(fd_block_block_hash_entry_t)
     735             : 
     736             : #define DEQUE_NAME deq_fd_block_block_hash_entry_t
     737       33975 : #define DEQUE_T fd_block_block_hash_entry_t
     738             : #include "../../util/tmpl/fd_deque_dynamic.c"
     739             : #undef DEQUE_NAME
     740             : #undef DEQUE_T
     741             : #undef DEQUE_MAX
     742             : static inline fd_block_block_hash_entry_t *
     743         453 : deq_fd_block_block_hash_entry_t_join_new( void * * alloc_mem, ulong max ) {
     744         453 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     745         453 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_fd_block_block_hash_entry_t_align() );
     746         453 :   void * deque_mem = *alloc_mem;
     747         453 :   *alloc_mem = (uchar *)*alloc_mem + deq_fd_block_block_hash_entry_t_footprint( max );
     748         453 :   return deq_fd_block_block_hash_entry_t_join( deq_fd_block_block_hash_entry_t_new( deque_mem, max ) );
     749         453 : }
     750             : 
     751             : /* Encoded Size: Dynamic */
     752             : struct fd_recent_block_hashes {
     753             :   fd_block_block_hash_entry_t * hashes; /* fd_deque_dynamic (min cnt 151) */
     754             : };
     755             : typedef struct fd_recent_block_hashes fd_recent_block_hashes_t;
     756           3 : #define FD_RECENT_BLOCK_HASHES_ALIGN alignof(fd_recent_block_hashes_t)
     757             : 
     758             : struct fd_recent_block_hashes_global {
     759             :   ulong hashes_offset; /* fd_deque_dynamic (min cnt 151) */
     760             : };
     761             : typedef struct fd_recent_block_hashes_global fd_recent_block_hashes_global_t;
     762             : #define FD_RECENT_BLOCK_HASHES_GLOBAL_ALIGN alignof(fd_recent_block_hashes_global_t)
     763             : 
     764           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
     765           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;
     766           0 : }
     767             : /* Encoded Size: Dynamic */
     768             : struct fd_slot_meta {
     769             :   ulong slot;
     770             :   ulong consumed;
     771             :   ulong received;
     772             :   long first_shred_timestamp;
     773             :   ulong last_index;
     774             :   ulong parent_slot;
     775             :   ulong next_slot_len;
     776             :   ulong* next_slot;
     777             :   uchar is_connected;
     778             : };
     779             : typedef struct fd_slot_meta fd_slot_meta_t;
     780           0 : #define FD_SLOT_META_ALIGN alignof(fd_slot_meta_t)
     781             : 
     782             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/sysvar/fees.rs#L21 */
     783             : /* Encoded Size: Fixed (8 bytes) */
     784             : struct fd_sysvar_fees {
     785             :   fd_fee_calculator_t fee_calculator;
     786             : };
     787             : typedef struct fd_sysvar_fees fd_sysvar_fees_t;
     788             : #define FD_SYSVAR_FEES_ALIGN alignof(fd_sysvar_fees_t)
     789             : 
     790             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/sdk/program/src/epoch_rewards.rs#L14 */
     791             : /* Encoded Size: Fixed (81 bytes) */
     792             : struct fd_sysvar_epoch_rewards {
     793             :   ulong distribution_starting_block_height;
     794             :   ulong num_partitions;
     795             :   fd_hash_t parent_blockhash;
     796             :   fd_w_u128_t total_points;
     797             :   ulong total_rewards;
     798             :   ulong distributed_rewards;
     799             :   uchar active;
     800             : };
     801             : typedef struct fd_sysvar_epoch_rewards fd_sysvar_epoch_rewards_t;
     802           3 : #define FD_SYSVAR_EPOCH_REWARDS_ALIGN alignof(fd_sysvar_epoch_rewards_t)
     803             : 
     804             : /* Encoded Size: Fixed (33 bytes) */
     805             : struct fd_config_keys_pair {
     806             :   fd_pubkey_t key;
     807             :   uchar signer;
     808             : };
     809             : typedef struct fd_config_keys_pair fd_config_keys_pair_t;
     810           0 : #define FD_CONFIG_KEYS_PAIR_ALIGN alignof(fd_config_keys_pair_t)
     811             : 
     812             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/config.rs#L14 */
     813             : /* Encoded Size: Dynamic */
     814             : struct fd_stake_config {
     815             :   ushort config_keys_len;
     816             :   fd_config_keys_pair_t * config_keys;
     817             :   double warmup_cooldown_rate;
     818             :   uchar slash_penalty;
     819             : };
     820             : typedef struct fd_stake_config fd_stake_config_t;
     821             : #define FD_STAKE_CONFIG_ALIGN alignof(fd_stake_config_t)
     822             : 
     823             : struct fd_cluster_type {
     824             :   uint discriminant;
     825             : };
     826             : typedef struct fd_cluster_type fd_cluster_type_t;
     827             : #define FD_CLUSTER_TYPE_ALIGN alignof(fd_cluster_type_t)
     828             : 
     829             : /* Encoded Size: Fixed (12 bytes) */
     830             : struct fd_cluster_version {
     831             :   uint major;
     832             :   uint minor;
     833             :   uint patch;
     834             : };
     835             : typedef struct fd_cluster_version fd_cluster_version_t;
     836             : #define FD_CLUSTER_VERSION_ALIGN alignof(fd_cluster_version_t)
     837             : 
     838             : /* Encoded Size: Fixed (49 bytes) */
     839             : struct fd_stake_reward {
     840             :   ulong prev;
     841             :   ulong next;
     842             :   ulong parent;
     843             :   fd_pubkey_t stake_pubkey;
     844             :   ulong credits_observed;
     845             :   ulong lamports;
     846             :   uchar valid;
     847             : };
     848             : typedef struct fd_stake_reward fd_stake_reward_t;
     849             : #define FD_STAKE_REWARD_ALIGN alignof(fd_stake_reward_t)
     850             : 
     851             : /* https://github.com/anza-xyz/agave/blob/7117ed9653ce19e8b2dea108eff1f3eb6a3378a7/runtime/src/bank/partitioned_epoch_rewards/mod.rs#L118 */
     852             : /* Encoded Size: Fixed (64 bytes) */
     853             : struct fd_partitioned_rewards_calculation {
     854             :   fd_w_u128_t validator_points;
     855             :   ulong old_vote_balance_and_staked;
     856             :   ulong validator_rewards;
     857             :   double validator_rate;
     858             :   double foundation_rate;
     859             :   double prev_epoch_duration_in_years;
     860             :   ulong capitalization;
     861             : };
     862             : typedef struct fd_partitioned_rewards_calculation fd_partitioned_rewards_calculation_t;
     863             : #define FD_PARTITIONED_REWARDS_CALCULATION_ALIGN alignof(fd_partitioned_rewards_calculation_t)
     864             : 
     865             : /* Encoded Size: Fixed (32 bytes) */
     866             : struct fd_prev_epoch_inflation_rewards {
     867             :   ulong validator_rewards;
     868             :   double prev_epoch_duration_in_years;
     869             :   double validator_rate;
     870             :   double foundation_rate;
     871             : };
     872             : typedef struct fd_prev_epoch_inflation_rewards fd_prev_epoch_inflation_rewards_t;
     873             : #define FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN alignof(fd_prev_epoch_inflation_rewards_t)
     874             : 
     875             : #define DEQUE_NAME deq_ulong
     876           0 : #define DEQUE_T ulong
     877             : #include "../../util/tmpl/fd_deque_dynamic.c"
     878             : #undef DEQUE_NAME
     879             : #undef DEQUE_T
     880             : #undef DEQUE_MAX
     881             : static inline ulong *
     882           0 : deq_ulong_join_new( void * * alloc_mem, ulong max ) {
     883           0 :   if( FD_UNLIKELY( 0 == max ) ) max = 1; // prevent underflow
     884           0 :   *alloc_mem = (void*)fd_ulong_align_up( (ulong)*alloc_mem, deq_ulong_align() );
     885           0 :   void * deque_mem = *alloc_mem;
     886           0 :   *alloc_mem = (uchar *)*alloc_mem + deq_ulong_footprint( max );
     887           0 :   return deq_ulong_join( deq_ulong_new( deque_mem, max ) );
     888           0 : }
     889             : 
     890             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L133 */
     891             : /* Encoded Size: Dynamic */
     892             : struct fd_vote {
     893             :   ulong * slots; /* fd_deque_dynamic */
     894             :   fd_hash_t hash;
     895             :   long timestamp;
     896             :   uchar has_timestamp;
     897             : };
     898             : typedef struct fd_vote fd_vote_t;
     899             : #define FD_VOTE_ALIGN alignof(fd_vote_t)
     900             : 
     901             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L230 */
     902             : /* Encoded Size: Fixed (97 bytes) */
     903             : struct fd_vote_init {
     904             :   fd_pubkey_t node_pubkey;
     905             :   fd_pubkey_t authorized_voter;
     906             :   fd_pubkey_t authorized_withdrawer;
     907             :   uchar commission;
     908             : };
     909             : typedef struct fd_vote_init fd_vote_init_t;
     910             : #define FD_VOTE_INIT_ALIGN alignof(fd_vote_init_t)
     911             : 
     912             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L238 */
     913             : struct fd_vote_authorize {
     914             :   uint discriminant;
     915             : };
     916             : typedef struct fd_vote_authorize fd_vote_authorize_t;
     917             : #define FD_VOTE_AUTHORIZE_ALIGN alignof(fd_vote_authorize_t)
     918             : 
     919             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L37 */
     920             : /* Encoded Size: Fixed (36 bytes) */
     921             : struct fd_vote_authorize_pubkey {
     922             :   fd_pubkey_t pubkey;
     923             :   fd_vote_authorize_t vote_authorize;
     924             : };
     925             : typedef struct fd_vote_authorize_pubkey fd_vote_authorize_pubkey_t;
     926             : #define FD_VOTE_AUTHORIZE_PUBKEY_ALIGN alignof(fd_vote_authorize_pubkey_t)
     927             : 
     928             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L78 */
     929             : /* Encoded Size: Dynamic */
     930             : struct fd_vote_switch {
     931             :   fd_vote_t vote;
     932             :   fd_hash_t hash;
     933             : };
     934             : typedef struct fd_vote_switch fd_vote_switch_t;
     935             : #define FD_VOTE_SWITCH_ALIGN alignof(fd_vote_switch_t)
     936             : 
     937             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_instruction.rs#L104 */
     938             : /* Encoded Size: Dynamic */
     939             : struct fd_update_vote_state_switch {
     940             :   fd_vote_state_update_t vote_state_update;
     941             :   fd_hash_t hash;
     942             : };
     943             : typedef struct fd_update_vote_state_switch fd_update_vote_state_switch_t;
     944             : #define FD_UPDATE_VOTE_STATE_SWITCH_ALIGN alignof(fd_update_vote_state_switch_t)
     945             : 
     946             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L244 */
     947             : /* Encoded Size: Dynamic */
     948             : struct fd_vote_authorize_with_seed_args {
     949             :   fd_vote_authorize_t authorization_type;
     950             :   fd_pubkey_t current_authority_derived_key_owner;
     951             :   ulong current_authority_derived_key_seed_len;
     952             :   uchar* current_authority_derived_key_seed;
     953             :   fd_pubkey_t new_authority;
     954             : };
     955             : typedef struct fd_vote_authorize_with_seed_args fd_vote_authorize_with_seed_args_t;
     956             : #define FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN alignof(fd_vote_authorize_with_seed_args_t)
     957             : 
     958             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/programs/vote/src/vote_state/mod.rs#L252 */
     959             : /* Encoded Size: Dynamic */
     960             : struct fd_vote_authorize_checked_with_seed_args {
     961             :   fd_vote_authorize_t authorization_type;
     962             :   fd_pubkey_t current_authority_derived_key_owner;
     963             :   ulong current_authority_derived_key_seed_len;
     964             :   uchar* current_authority_derived_key_seed;
     965             : };
     966             : typedef struct fd_vote_authorize_checked_with_seed_args fd_vote_authorize_checked_with_seed_args_t;
     967             : #define FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN alignof(fd_vote_authorize_checked_with_seed_args_t)
     968             : 
     969             : union fd_vote_instruction_inner {
     970             :   fd_vote_init_t initialize_account;
     971             :   fd_vote_authorize_pubkey_t authorize;
     972             :   fd_vote_t vote;
     973             :   ulong withdraw;
     974             :   uchar update_commission;
     975             :   fd_vote_switch_t vote_switch;
     976             :   fd_vote_authorize_t authorize_checked;
     977             :   fd_vote_state_update_t update_vote_state;
     978             :   fd_update_vote_state_switch_t update_vote_state_switch;
     979             :   fd_vote_authorize_with_seed_args_t authorize_with_seed;
     980             :   fd_vote_authorize_checked_with_seed_args_t authorize_checked_with_seed;
     981             :   fd_compact_vote_state_update_t compact_update_vote_state;
     982             :   fd_compact_vote_state_update_switch_t compact_update_vote_state_switch;
     983             :   fd_tower_sync_t tower_sync;
     984             :   fd_tower_sync_switch_t tower_sync_switch;
     985             : };
     986             : typedef union fd_vote_instruction_inner fd_vote_instruction_inner_t;
     987             : 
     988             : /* https://github.com/firedancer-io/solana/blob/53a4e5d6c58b2ffe89b09304e4437f8ca198dadd/programs/vote/src/vote_instruction.rs#L21 */
     989             : struct fd_vote_instruction {
     990             :   uint discriminant;
     991             :   fd_vote_instruction_inner_t inner;
     992             : };
     993             : typedef struct fd_vote_instruction fd_vote_instruction_t;
     994             : #define FD_VOTE_INSTRUCTION_ALIGN alignof(fd_vote_instruction_t)
     995             : 
     996             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L158 */
     997             : /* Encoded Size: Fixed (48 bytes) */
     998             : struct fd_system_program_instruction_create_account {
     999             :   ulong lamports;
    1000             :   ulong space;
    1001             :   fd_pubkey_t owner;
    1002             : };
    1003             : typedef struct fd_system_program_instruction_create_account fd_system_program_instruction_create_account_t;
    1004             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN alignof(fd_system_program_instruction_create_account_t)
    1005             : 
    1006             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L193 */
    1007             : /* Encoded Size: Dynamic */
    1008             : struct fd_system_program_instruction_create_account_with_seed {
    1009             :   fd_pubkey_t base;
    1010             :   ulong seed_len;
    1011             :   uchar* seed;
    1012             :   ulong lamports;
    1013             :   ulong space;
    1014             :   fd_pubkey_t owner;
    1015             : };
    1016             : typedef struct fd_system_program_instruction_create_account_with_seed fd_system_program_instruction_create_account_with_seed_t;
    1017             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN alignof(fd_system_program_instruction_create_account_with_seed_t)
    1018             : 
    1019             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L269 */
    1020             : /* Encoded Size: Dynamic */
    1021             : struct fd_system_program_instruction_allocate_with_seed {
    1022             :   fd_pubkey_t base;
    1023             :   ulong seed_len;
    1024             :   uchar* seed;
    1025             :   ulong space;
    1026             :   fd_pubkey_t owner;
    1027             : };
    1028             : typedef struct fd_system_program_instruction_allocate_with_seed fd_system_program_instruction_allocate_with_seed_t;
    1029             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN alignof(fd_system_program_instruction_allocate_with_seed_t)
    1030             : 
    1031             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    1032             : /* Encoded Size: Dynamic */
    1033             : struct fd_system_program_instruction_assign_with_seed {
    1034             :   fd_pubkey_t base;
    1035             :   ulong seed_len;
    1036             :   uchar* seed;
    1037             :   fd_pubkey_t owner;
    1038             : };
    1039             : typedef struct fd_system_program_instruction_assign_with_seed fd_system_program_instruction_assign_with_seed_t;
    1040             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN alignof(fd_system_program_instruction_assign_with_seed_t)
    1041             : 
    1042             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L288 */
    1043             : /* Encoded Size: Dynamic */
    1044             : struct fd_system_program_instruction_transfer_with_seed {
    1045             :   ulong lamports;
    1046             :   ulong from_seed_len;
    1047             :   uchar* from_seed;
    1048             :   fd_pubkey_t from_owner;
    1049             : };
    1050             : typedef struct fd_system_program_instruction_transfer_with_seed fd_system_program_instruction_transfer_with_seed_t;
    1051             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN alignof(fd_system_program_instruction_transfer_with_seed_t)
    1052             : 
    1053             : union fd_system_program_instruction_inner {
    1054             :   fd_system_program_instruction_create_account_t create_account;
    1055             :   fd_pubkey_t assign;
    1056             :   ulong transfer;
    1057             :   fd_system_program_instruction_create_account_with_seed_t create_account_with_seed;
    1058             :   ulong withdraw_nonce_account;
    1059             :   fd_pubkey_t initialize_nonce_account;
    1060             :   fd_pubkey_t authorize_nonce_account;
    1061             :   ulong allocate;
    1062             :   fd_system_program_instruction_allocate_with_seed_t allocate_with_seed;
    1063             :   fd_system_program_instruction_assign_with_seed_t assign_with_seed;
    1064             :   fd_system_program_instruction_transfer_with_seed_t transfer_with_seed;
    1065             : };
    1066             : typedef union fd_system_program_instruction_inner fd_system_program_instruction_inner_t;
    1067             : 
    1068             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/system_instruction.rs#L152 */
    1069             : struct fd_system_program_instruction {
    1070             :   uint discriminant;
    1071             :   fd_system_program_instruction_inner_t inner;
    1072             : };
    1073             : typedef struct fd_system_program_instruction fd_system_program_instruction_t;
    1074             : #define FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN alignof(fd_system_program_instruction_t)
    1075             : 
    1076             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L169 */
    1077             : /* Encoded Size: Fixed (64 bytes) */
    1078             : struct fd_stake_authorized {
    1079             :   fd_pubkey_t staker;
    1080             :   fd_pubkey_t withdrawer;
    1081             : };
    1082             : typedef struct fd_stake_authorized fd_stake_authorized_t;
    1083             : #define FD_STAKE_AUTHORIZED_ALIGN alignof(fd_stake_authorized_t)
    1084             : 
    1085             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L135 */
    1086             : /* Encoded Size: Fixed (48 bytes) */
    1087             : struct fd_stake_lockup {
    1088             :   long unix_timestamp;
    1089             :   ulong epoch;
    1090             :   fd_pubkey_t custodian;
    1091             : };
    1092             : typedef struct fd_stake_lockup fd_stake_lockup_t;
    1093             : #define FD_STAKE_LOCKUP_ALIGN alignof(fd_stake_lockup_t)
    1094             : 
    1095             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L68 */
    1096             : /* Encoded Size: Fixed (112 bytes) */
    1097             : struct fd_stake_instruction_initialize {
    1098             :   fd_stake_authorized_t authorized;
    1099             :   fd_stake_lockup_t lockup;
    1100             : };
    1101             : typedef struct fd_stake_instruction_initialize fd_stake_instruction_initialize_t;
    1102             : #define FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN alignof(fd_stake_instruction_initialize_t)
    1103             : 
    1104             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    1105             : /* Encoded Size: Dynamic */
    1106             : struct fd_stake_lockup_custodian_args {
    1107             :   fd_stake_lockup_t lockup;
    1108             :   fd_sol_sysvar_clock_t clock;
    1109             :   fd_pubkey_t * custodian;
    1110             : };
    1111             : typedef struct fd_stake_lockup_custodian_args fd_stake_lockup_custodian_args_t;
    1112             : #define FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN alignof(fd_stake_lockup_custodian_args_t)
    1113             : 
    1114             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L117 */
    1115             : struct fd_stake_authorize {
    1116             :   uint discriminant;
    1117             : };
    1118             : typedef struct fd_stake_authorize fd_stake_authorize_t;
    1119             : #define FD_STAKE_AUTHORIZE_ALIGN alignof(fd_stake_authorize_t)
    1120             : 
    1121             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L78 */
    1122             : /* Encoded Size: Fixed (36 bytes) */
    1123             : struct fd_stake_instruction_authorize {
    1124             :   fd_pubkey_t pubkey;
    1125             :   fd_stake_authorize_t stake_authorize;
    1126             : };
    1127             : typedef struct fd_stake_instruction_authorize fd_stake_instruction_authorize_t;
    1128             : #define FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN alignof(fd_stake_instruction_authorize_t)
    1129             : 
    1130             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L241 */
    1131             : /* Encoded Size: Dynamic */
    1132             : struct fd_authorize_with_seed_args {
    1133             :   fd_pubkey_t new_authorized_pubkey;
    1134             :   fd_stake_authorize_t stake_authorize;
    1135             :   ulong authority_seed_len;
    1136             :   uchar* authority_seed;
    1137             :   fd_pubkey_t authority_owner;
    1138             : };
    1139             : typedef struct fd_authorize_with_seed_args fd_authorize_with_seed_args_t;
    1140             : #define FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN alignof(fd_authorize_with_seed_args_t)
    1141             : 
    1142             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L249 */
    1143             : /* Encoded Size: Dynamic */
    1144             : struct fd_authorize_checked_with_seed_args {
    1145             :   fd_stake_authorize_t stake_authorize;
    1146             :   ulong authority_seed_len;
    1147             :   uchar* authority_seed;
    1148             :   fd_pubkey_t authority_owner;
    1149             : };
    1150             : typedef struct fd_authorize_checked_with_seed_args fd_authorize_checked_with_seed_args_t;
    1151             : #define FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN alignof(fd_authorize_checked_with_seed_args_t)
    1152             : 
    1153             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L235 */
    1154             : /* Encoded Size: Dynamic */
    1155             : struct fd_lockup_checked_args {
    1156             :   long* unix_timestamp;
    1157             :   ulong* epoch;
    1158             : };
    1159             : typedef struct fd_lockup_checked_args fd_lockup_checked_args_t;
    1160             : #define FD_LOCKUP_CHECKED_ARGS_ALIGN alignof(fd_lockup_checked_args_t)
    1161             : 
    1162             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/instruction.rs#L228 */
    1163             : /* Encoded Size: Dynamic */
    1164             : struct fd_lockup_args {
    1165             :   long* unix_timestamp;
    1166             :   ulong* epoch;
    1167             :   fd_pubkey_t * custodian;
    1168             : };
    1169             : typedef struct fd_lockup_args fd_lockup_args_t;
    1170             : #define FD_LOCKUP_ARGS_ALIGN alignof(fd_lockup_args_t)
    1171             : 
    1172             : union fd_stake_instruction_inner {
    1173             :   fd_stake_instruction_initialize_t initialize;
    1174             :   fd_stake_instruction_authorize_t authorize;
    1175             :   ulong split;
    1176             :   ulong withdraw;
    1177             :   fd_lockup_args_t set_lockup;
    1178             :   fd_authorize_with_seed_args_t authorize_with_seed;
    1179             :   fd_stake_authorize_t authorize_checked;
    1180             :   fd_authorize_checked_with_seed_args_t authorize_checked_with_seed;
    1181             :   fd_lockup_checked_args_t set_lockup_checked;
    1182             :   ulong move_stake;
    1183             :   ulong move_lamports;
    1184             : };
    1185             : typedef union fd_stake_instruction_inner fd_stake_instruction_inner_t;
    1186             : 
    1187             : /* https://github.com/anza-xyz/agave/blob/cdff19c7807b006dd63429114fb1d9573bf74172/sdk/program/src/stake/instruction.rs#L96 */
    1188             : struct fd_stake_instruction {
    1189             :   uint discriminant;
    1190             :   fd_stake_instruction_inner_t inner;
    1191             : };
    1192             : typedef struct fd_stake_instruction fd_stake_instruction_t;
    1193             : #define FD_STAKE_INSTRUCTION_ALIGN alignof(fd_stake_instruction_t)
    1194             : 
    1195             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/stake/state.rs#L248 */
    1196             : /* Encoded Size: Fixed (120 bytes) */
    1197             : struct fd_stake_meta {
    1198             :   ulong rent_exempt_reserve;
    1199             :   fd_stake_authorized_t authorized;
    1200             :   fd_stake_lockup_t lockup;
    1201             : };
    1202             : typedef struct fd_stake_meta fd_stake_meta_t;
    1203             : #define FD_STAKE_META_ALIGN alignof(fd_stake_meta_t)
    1204             : 
    1205             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/stake_flags.rs#L21 */
    1206             : /* Encoded Size: Fixed (1 bytes) */
    1207             : struct fd_stake_flags {
    1208             :   uchar bits;
    1209             : };
    1210             : typedef struct fd_stake_flags fd_stake_flags_t;
    1211             : #define FD_STAKE_FLAGS_ALIGN alignof(fd_stake_flags_t)
    1212             : 
    1213             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L135 */
    1214             : /* Encoded Size: Fixed (120 bytes) */
    1215             : struct fd_stake_state_v2_initialized {
    1216             :   fd_stake_meta_t meta;
    1217             : };
    1218             : typedef struct fd_stake_state_v2_initialized fd_stake_state_v2_initialized_t;
    1219             : #define FD_STAKE_STATE_V2_INITIALIZED_ALIGN alignof(fd_stake_state_v2_initialized_t)
    1220             : 
    1221             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L136 */
    1222             : /* Encoded Size: Fixed (193 bytes) */
    1223             : struct fd_stake_state_v2_stake {
    1224             :   fd_stake_meta_t meta;
    1225             :   fd_stake_t stake;
    1226             :   fd_stake_flags_t stake_flags;
    1227             : };
    1228             : typedef struct fd_stake_state_v2_stake fd_stake_state_v2_stake_t;
    1229             : #define FD_STAKE_STATE_V2_STAKE_ALIGN alignof(fd_stake_state_v2_stake_t)
    1230             : 
    1231             : union fd_stake_state_v2_inner {
    1232             :   fd_stake_state_v2_initialized_t initialized;
    1233             :   fd_stake_state_v2_stake_t stake;
    1234             : };
    1235             : typedef union fd_stake_state_v2_inner fd_stake_state_v2_inner_t;
    1236             : 
    1237             : /* https://github.com/firedancer-io/solana/blob/v1.17/sdk/program/src/stake/state.rs#L132 */
    1238             : struct fd_stake_state_v2 {
    1239             :   uint discriminant;
    1240             :   fd_stake_state_v2_inner_t inner;
    1241             : };
    1242             : typedef struct fd_stake_state_v2 fd_stake_state_v2_t;
    1243           0 : #define FD_STAKE_STATE_V2_ALIGN alignof(fd_stake_state_v2_t)
    1244             : 
    1245             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L17 */
    1246             : /* Encoded Size: Fixed (72 bytes) */
    1247             : struct fd_nonce_data {
    1248             :   fd_pubkey_t authority;
    1249             :   fd_hash_t durable_nonce;
    1250             :   fd_fee_calculator_t fee_calculator;
    1251             : };
    1252             : typedef struct fd_nonce_data fd_nonce_data_t;
    1253             : #define FD_NONCE_DATA_ALIGN alignof(fd_nonce_data_t)
    1254             : 
    1255             : union fd_nonce_state_inner {
    1256             :   fd_nonce_data_t initialized;
    1257             : };
    1258             : typedef union fd_nonce_state_inner fd_nonce_state_inner_t;
    1259             : 
    1260             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/current.rs#L65 */
    1261             : struct fd_nonce_state {
    1262             :   uint discriminant;
    1263             :   fd_nonce_state_inner_t inner;
    1264             : };
    1265             : typedef struct fd_nonce_state fd_nonce_state_t;
    1266             : #define FD_NONCE_STATE_ALIGN alignof(fd_nonce_state_t)
    1267             : 
    1268             : union fd_nonce_state_versions_inner {
    1269             :   fd_nonce_state_t legacy;
    1270             :   fd_nonce_state_t current;
    1271             : };
    1272             : typedef union fd_nonce_state_versions_inner fd_nonce_state_versions_inner_t;
    1273             : 
    1274             : /* https://github.com/solana-labs/solana/blob/8f2c8b8388a495d2728909e30460aa40dcc5d733/sdk/program/src/nonce/state/mod.rs#L9 */
    1275             : struct fd_nonce_state_versions {
    1276             :   uint discriminant;
    1277             :   fd_nonce_state_versions_inner_t inner;
    1278             : };
    1279             : typedef struct fd_nonce_state_versions fd_nonce_state_versions_t;
    1280             : #define FD_NONCE_STATE_VERSIONS_ALIGN alignof(fd_nonce_state_versions_t)
    1281             : 
    1282             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L28 */
    1283             : /* Encoded Size: Fixed (8 bytes) */
    1284             : struct fd_compute_budget_program_instruction_request_units_deprecated {
    1285             :   uint units;
    1286             :   uint additional_fee;
    1287             : };
    1288             : typedef struct fd_compute_budget_program_instruction_request_units_deprecated fd_compute_budget_program_instruction_request_units_deprecated_t;
    1289             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN alignof(fd_compute_budget_program_instruction_request_units_deprecated_t)
    1290             : 
    1291             : union fd_compute_budget_program_instruction_inner {
    1292             :   fd_compute_budget_program_instruction_request_units_deprecated_t request_units_deprecated;
    1293             :   uint request_heap_frame;
    1294             :   uint set_compute_unit_limit;
    1295             :   ulong set_compute_unit_price;
    1296             :   uint set_loaded_accounts_data_size_limit;
    1297             : };
    1298             : typedef union fd_compute_budget_program_instruction_inner fd_compute_budget_program_instruction_inner_t;
    1299             : 
    1300             : /* https://github.com/solana-labs/solana/blob/6c520396cd76807f6227a7973f7373b37894251c/sdk/src/compute_budget.rs#L25 */
    1301             : struct fd_compute_budget_program_instruction {
    1302             :   uint discriminant;
    1303             :   fd_compute_budget_program_instruction_inner_t inner;
    1304             : };
    1305             : typedef struct fd_compute_budget_program_instruction fd_compute_budget_program_instruction_t;
    1306             : #define FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN alignof(fd_compute_budget_program_instruction_t)
    1307             : 
    1308             : /* https://github.com/solana-labs/solana/blob/a03ae63daff987912c48ee286eb8ee7e8a84bf01/programs/config/src/lib.rs#L32 */
    1309             : /* Encoded Size: Dynamic */
    1310             : struct fd_config_keys {
    1311             :   ushort keys_len;
    1312             :   fd_config_keys_pair_t * keys;
    1313             : };
    1314             : typedef struct fd_config_keys fd_config_keys_t;
    1315             : #define FD_CONFIG_KEYS_ALIGN alignof(fd_config_keys_t)
    1316             : 
    1317             : /* Encoded Size: Dynamic */
    1318             : struct fd_bpf_loader_program_instruction_write {
    1319             :   uint offset;
    1320             :   ulong bytes_len;
    1321             :   uchar* bytes;
    1322             : };
    1323             : typedef struct fd_bpf_loader_program_instruction_write fd_bpf_loader_program_instruction_write_t;
    1324             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_bpf_loader_program_instruction_write_t)
    1325             : 
    1326             : union fd_bpf_loader_program_instruction_inner {
    1327             :   fd_bpf_loader_program_instruction_write_t write;
    1328             : };
    1329             : typedef union fd_bpf_loader_program_instruction_inner fd_bpf_loader_program_instruction_inner_t;
    1330             : 
    1331             : struct fd_bpf_loader_program_instruction {
    1332             :   uint discriminant;
    1333             :   fd_bpf_loader_program_instruction_inner_t inner;
    1334             : };
    1335             : typedef struct fd_bpf_loader_program_instruction fd_bpf_loader_program_instruction_t;
    1336             : #define FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN alignof(fd_bpf_loader_program_instruction_t)
    1337             : 
    1338             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L21-L27 */
    1339             : /* Encoded Size: Dynamic */
    1340             : struct fd_loader_v4_program_instruction_write {
    1341             :   uint offset;
    1342             :   ulong bytes_len;
    1343             :   uchar* bytes;
    1344             : };
    1345             : typedef struct fd_loader_v4_program_instruction_write fd_loader_v4_program_instruction_write_t;
    1346             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_loader_v4_program_instruction_write_t)
    1347             : 
    1348             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L35-L42 */
    1349             : /* Encoded Size: Fixed (12 bytes) */
    1350             : struct fd_loader_v4_program_instruction_copy {
    1351             :   uint destination_offset;
    1352             :   uint source_offset;
    1353             :   uint length;
    1354             : };
    1355             : typedef struct fd_loader_v4_program_instruction_copy fd_loader_v4_program_instruction_copy_t;
    1356             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_COPY_ALIGN alignof(fd_loader_v4_program_instruction_copy_t)
    1357             : 
    1358             : /* https://github.com/anza-xyz/solana-sdk/blob/loader-v4-interface%40v2.2.1/loader-v4-interface/src/instruction.rs#L57-L60 */
    1359             : /* Encoded Size: Fixed (4 bytes) */
    1360             : struct fd_loader_v4_program_instruction_set_program_length {
    1361             :   uint new_size;
    1362             : };
    1363             : typedef struct fd_loader_v4_program_instruction_set_program_length fd_loader_v4_program_instruction_set_program_length_t;
    1364             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_SET_PROGRAM_LENGTH_ALIGN alignof(fd_loader_v4_program_instruction_set_program_length_t)
    1365             : 
    1366             : union fd_loader_v4_program_instruction_inner {
    1367             :   fd_loader_v4_program_instruction_write_t write;
    1368             :   fd_loader_v4_program_instruction_copy_t copy;
    1369             :   fd_loader_v4_program_instruction_set_program_length_t set_program_length;
    1370             : };
    1371             : typedef union fd_loader_v4_program_instruction_inner fd_loader_v4_program_instruction_inner_t;
    1372             : 
    1373             : /* https://github.com/anza-xyz/agave/blob/007194391ca8313b2854d523769d0bedf040ef92/sdk/program/src/loader_v4_instruction.rs#L5 */
    1374             : struct fd_loader_v4_program_instruction {
    1375             :   uint discriminant;
    1376             :   fd_loader_v4_program_instruction_inner_t inner;
    1377             : };
    1378             : typedef struct fd_loader_v4_program_instruction fd_loader_v4_program_instruction_t;
    1379             : #define FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN alignof(fd_loader_v4_program_instruction_t)
    1380             : 
    1381             : /* Encoded Size: Dynamic */
    1382             : struct fd_bpf_upgradeable_loader_program_instruction_write {
    1383             :   uint offset;
    1384             :   ulong bytes_len;
    1385             :   uchar* bytes;
    1386             : };
    1387             : typedef struct fd_bpf_upgradeable_loader_program_instruction_write fd_bpf_upgradeable_loader_program_instruction_write_t;
    1388             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_write_t)
    1389             : 
    1390             : /* Encoded Size: Fixed (8 bytes) */
    1391             : struct fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len {
    1392             :   ulong max_data_len;
    1393             : };
    1394             : 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;
    1395             : #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)
    1396             : 
    1397             : /* Encoded Size: Fixed (4 bytes) */
    1398             : struct fd_bpf_upgradeable_loader_program_instruction_extend_program {
    1399             :   uint additional_bytes;
    1400             : };
    1401             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program fd_bpf_upgradeable_loader_program_instruction_extend_program_t;
    1402             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t)
    1403             : 
    1404             : /* Encoded Size: Fixed (4 bytes) */
    1405             : struct fd_bpf_upgradeable_loader_program_instruction_extend_program_checked {
    1406             :   uint additional_bytes;
    1407             : };
    1408             : typedef struct fd_bpf_upgradeable_loader_program_instruction_extend_program_checked fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t;
    1409             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_CHECKED_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t)
    1410             : 
    1411             : union fd_bpf_upgradeable_loader_program_instruction_inner {
    1412             :   fd_bpf_upgradeable_loader_program_instruction_write_t write;
    1413             :   fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t deploy_with_max_data_len;
    1414             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_t extend_program;
    1415             :   fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t extend_program_checked;
    1416             : };
    1417             : typedef union fd_bpf_upgradeable_loader_program_instruction_inner fd_bpf_upgradeable_loader_program_instruction_inner_t;
    1418             : 
    1419             : struct fd_bpf_upgradeable_loader_program_instruction {
    1420             :   uint discriminant;
    1421             :   fd_bpf_upgradeable_loader_program_instruction_inner_t inner;
    1422             : };
    1423             : typedef struct fd_bpf_upgradeable_loader_program_instruction fd_bpf_upgradeable_loader_program_instruction_t;
    1424             : #define FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN alignof(fd_bpf_upgradeable_loader_program_instruction_t)
    1425             : 
    1426             : /* Encoded Size: Dynamic */
    1427             : struct fd_bpf_upgradeable_loader_state_buffer {
    1428             :   fd_pubkey_t authority_address;
    1429             :   uchar has_authority_address;
    1430             : };
    1431             : typedef struct fd_bpf_upgradeable_loader_state_buffer fd_bpf_upgradeable_loader_state_buffer_t;
    1432             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN alignof(fd_bpf_upgradeable_loader_state_buffer_t)
    1433             : 
    1434             : /* Encoded Size: Fixed (32 bytes) */
    1435             : struct fd_bpf_upgradeable_loader_state_program {
    1436             :   fd_pubkey_t programdata_address;
    1437             : };
    1438             : typedef struct fd_bpf_upgradeable_loader_state_program fd_bpf_upgradeable_loader_state_program_t;
    1439             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN alignof(fd_bpf_upgradeable_loader_state_program_t)
    1440             : 
    1441             : /* Encoded Size: Dynamic */
    1442             : struct fd_bpf_upgradeable_loader_state_program_data {
    1443             :   ulong slot;
    1444             :   fd_pubkey_t upgrade_authority_address;
    1445             :   uchar has_upgrade_authority_address;
    1446             : };
    1447             : typedef struct fd_bpf_upgradeable_loader_state_program_data fd_bpf_upgradeable_loader_state_program_data_t;
    1448             : #define FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN alignof(fd_bpf_upgradeable_loader_state_program_data_t)
    1449             : 
    1450             : union fd_bpf_upgradeable_loader_state_inner {
    1451             :   fd_bpf_upgradeable_loader_state_buffer_t buffer;
    1452             :   fd_bpf_upgradeable_loader_state_program_t program;
    1453             :   fd_bpf_upgradeable_loader_state_program_data_t program_data;
    1454             : };
    1455             : typedef union fd_bpf_upgradeable_loader_state_inner fd_bpf_upgradeable_loader_state_inner_t;
    1456             : 
    1457             : struct fd_bpf_upgradeable_loader_state {
    1458             :   uint discriminant;
    1459             :   fd_bpf_upgradeable_loader_state_inner_t inner;
    1460             : };
    1461             : typedef struct fd_bpf_upgradeable_loader_state fd_bpf_upgradeable_loader_state_t;
    1462           0 : #define FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN alignof(fd_bpf_upgradeable_loader_state_t)
    1463             : 
    1464             : /* https://github.com/anza-xyz/agave/blob/v2.1.4/sdk/program/src/loader_v4.rs#L33-L43 */
    1465             : /* Encoded Size: Fixed (48 bytes) */
    1466             : struct fd_loader_v4_state {
    1467             :   ulong slot;
    1468             :   fd_pubkey_t authority_address_or_next_version;
    1469             :   ulong status;
    1470             : };
    1471             : typedef struct fd_loader_v4_state fd_loader_v4_state_t;
    1472             : #define FD_LOADER_V4_STATE_ALIGN alignof(fd_loader_v4_state_t)
    1473             : 
    1474             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L178 */
    1475             : /* Encoded Size: Fixed (33 bytes) */
    1476             : struct fd_frozen_hash_status {
    1477             :   fd_hash_t frozen_hash;
    1478             :   uchar is_duplicate_confirmed;
    1479             : };
    1480             : typedef struct fd_frozen_hash_status fd_frozen_hash_status_t;
    1481             : #define FD_FROZEN_HASH_STATUS_ALIGN alignof(fd_frozen_hash_status_t)
    1482             : 
    1483             : union fd_frozen_hash_versioned_inner {
    1484             :   fd_frozen_hash_status_t current;
    1485             : };
    1486             : typedef union fd_frozen_hash_versioned_inner fd_frozen_hash_versioned_inner_t;
    1487             : 
    1488             : /* https://github.com/firedancer-io/solana/blob/f4b7c54f9e021b40cfc7cbd32dc12b19dedbe791/ledger/src/blockstore_meta.rs#L157 */
    1489             : struct fd_frozen_hash_versioned {
    1490             :   uint discriminant;
    1491             :   fd_frozen_hash_versioned_inner_t inner;
    1492             : };
    1493             : typedef struct fd_frozen_hash_versioned fd_frozen_hash_versioned_t;
    1494             : #define FD_FROZEN_HASH_VERSIONED_ALIGN alignof(fd_frozen_hash_versioned_t)
    1495             : 
    1496             : /* Encoded Size: Dynamic */
    1497             : struct fd_lookup_table_meta {
    1498             :   ulong deactivation_slot;
    1499             :   ulong last_extended_slot;
    1500             :   uchar last_extended_slot_start_index;
    1501             :   fd_pubkey_t authority;
    1502             :   uchar has_authority;
    1503             :   ushort _padding;
    1504             : };
    1505             : typedef struct fd_lookup_table_meta fd_lookup_table_meta_t;
    1506             : #define FD_LOOKUP_TABLE_META_ALIGN alignof(fd_lookup_table_meta_t)
    1507             : 
    1508             : /* Encoded Size: Dynamic */
    1509             : struct fd_address_lookup_table {
    1510             :   fd_lookup_table_meta_t meta;
    1511             : };
    1512             : typedef struct fd_address_lookup_table fd_address_lookup_table_t;
    1513             : #define FD_ADDRESS_LOOKUP_TABLE_ALIGN alignof(fd_address_lookup_table_t)
    1514             : 
    1515             : union fd_address_lookup_table_state_inner {
    1516             :   fd_address_lookup_table_t lookup_table;
    1517             : };
    1518             : typedef union fd_address_lookup_table_state_inner fd_address_lookup_table_state_inner_t;
    1519             : 
    1520             : struct fd_address_lookup_table_state {
    1521             :   uint discriminant;
    1522             :   fd_address_lookup_table_state_inner_t inner;
    1523             : };
    1524             : typedef struct fd_address_lookup_table_state fd_address_lookup_table_state_t;
    1525             : #define FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN alignof(fd_address_lookup_table_state_t)
    1526             : 
    1527             : /* Encoded Size: Fixed (9 bytes) */
    1528             : struct fd_addrlut_create {
    1529             :   ulong recent_slot;
    1530             :   uchar bump_seed;
    1531             : };
    1532             : typedef struct fd_addrlut_create fd_addrlut_create_t;
    1533             : #define FD_ADDRLUT_CREATE_ALIGN alignof(fd_addrlut_create_t)
    1534             : 
    1535             : /* Encoded Size: Dynamic */
    1536             : struct fd_addrlut_extend {
    1537             :   ulong new_addrs_len;
    1538             :   fd_pubkey_t * new_addrs;
    1539             : };
    1540             : typedef struct fd_addrlut_extend fd_addrlut_extend_t;
    1541             : #define FD_ADDRLUT_EXTEND_ALIGN alignof(fd_addrlut_extend_t)
    1542             : 
    1543             : union fd_addrlut_instruction_inner {
    1544             :   fd_addrlut_create_t create_lut;
    1545             :   fd_addrlut_extend_t extend_lut;
    1546             : };
    1547             : typedef union fd_addrlut_instruction_inner fd_addrlut_instruction_inner_t;
    1548             : 
    1549             : /* https://github.com/solana-labs/solana/blob/fb80288f885a62bcd923f4c9579fd0edeafaff9b/sdk/program/src/address_lookup_table/instruction.rs#L13 */
    1550             : struct fd_addrlut_instruction {
    1551             :   uint discriminant;
    1552             :   fd_addrlut_instruction_inner_t inner;
    1553             : };
    1554             : typedef struct fd_addrlut_instruction fd_addrlut_instruction_t;
    1555             : #define FD_ADDRLUT_INSTRUCTION_ALIGN alignof(fd_addrlut_instruction_t)
    1556             : 
    1557             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/points.rs#L27 */
    1558             : /* Encoded Size: Fixed (25 bytes) */
    1559             : struct fd_calculated_stake_points {
    1560             :   fd_w_u128_t points;
    1561             :   ulong new_credits_observed;
    1562             :   uchar force_credits_update_with_skipped_reward;
    1563             : };
    1564             : typedef struct fd_calculated_stake_points fd_calculated_stake_points_t;
    1565             : #define FD_CALCULATED_STAKE_POINTS_ALIGN alignof(fd_calculated_stake_points_t)
    1566             : 
    1567             : /* https://github.com/anza-xyz/agave/blob/cbc8320d35358da14d79ebcada4dfb6756ffac79/programs/stake/src/rewards.rs#L24 */
    1568             : /* Encoded Size: Fixed (24 bytes) */
    1569             : struct fd_calculated_stake_rewards {
    1570             :   ulong staker_rewards;
    1571             :   ulong voter_rewards;
    1572             :   ulong new_credits_observed;
    1573             : };
    1574             : typedef struct fd_calculated_stake_rewards fd_calculated_stake_rewards_t;
    1575             : #define FD_CALCULATED_STAKE_REWARDS_ALIGN alignof(fd_calculated_stake_rewards_t)
    1576             : 
    1577             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L153-L161 */
    1578             : /* Encoded Size: Fixed (48 bytes) */
    1579             : struct fd_usage_cost_details {
    1580             :   ulong signature_cost;
    1581             :   ulong write_lock_cost;
    1582             :   ulong data_bytes_cost;
    1583             :   ulong programs_execution_cost;
    1584             :   ulong loaded_accounts_data_size_cost;
    1585             :   ulong allocated_accounts_data_size;
    1586             : };
    1587             : typedef struct fd_usage_cost_details fd_usage_cost_details_t;
    1588             : #define FD_USAGE_COST_DETAILS_ALIGN alignof(fd_usage_cost_details_t)
    1589             : 
    1590             : union fd_transaction_cost_inner {
    1591             :   fd_usage_cost_details_t transaction;
    1592             : };
    1593             : typedef union fd_transaction_cost_inner fd_transaction_cost_inner_t;
    1594             : 
    1595             : /* https://github.com/anza-xyz/agave/blob/v2.2.0/cost-model/src/transaction_cost.rs#L20-L23 */
    1596             : struct fd_transaction_cost {
    1597             :   uint discriminant;
    1598             :   fd_transaction_cost_inner_t inner;
    1599             : };
    1600             : typedef struct fd_transaction_cost fd_transaction_cost_t;
    1601             : #define FD_TRANSACTION_COST_ALIGN alignof(fd_transaction_cost_t)
    1602             : 
    1603             : /* Encoded Size: Fixed (16 bytes) */
    1604             : struct fd_rent_paying {
    1605             :   ulong lamports;
    1606             :   ulong data_size;
    1607             : };
    1608             : typedef struct fd_rent_paying fd_rent_paying_t;
    1609             : #define FD_RENT_PAYING_ALIGN alignof(fd_rent_paying_t)
    1610             : 
    1611             : union fd_rent_state_inner {
    1612             :   fd_rent_paying_t rent_paying;
    1613             : };
    1614             : typedef union fd_rent_state_inner fd_rent_state_inner_t;
    1615             : 
    1616             : /* https://github.com/anza-xyz/agave/blob/v2.2.13/svm-rent-collector/src/rent_state.rs#L5-L15 */
    1617             : struct fd_rent_state {
    1618             :   uint discriminant;
    1619             :   fd_rent_state_inner_t inner;
    1620             : };
    1621             : typedef struct fd_rent_state fd_rent_state_t;
    1622             : #define FD_RENT_STATE_ALIGN alignof(fd_rent_state_t)
    1623             : 
    1624             : 
    1625             : FD_PROTOTYPES_BEGIN
    1626             : 
    1627          24 : static inline void fd_hash_new( fd_hash_t * self ) { (void)self; }
    1628             : int fd_hash_encode( fd_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    1629             : void fd_hash_walk( void * w, fd_hash_t const * self, fd_types_walk_fn_t fun, const char * name, uint level, uint varint );
    1630           0 : static inline ulong fd_hash_size( fd_hash_t const * self ) { (void)self; return sizeof(fd_hash_t); }
    1631           0 : static inline ulong fd_hash_align( void ) { return alignof(fd_hash_t); }
    1632             : int fd_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1633             : void * fd_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1634             : 
    1635           0 : static inline void fd_signature_new( fd_signature_t * self ) { (void)self; }
    1636             : int fd_signature_encode( fd_signature_t const * self, fd_bincode_encode_ctx_t * ctx );
    1637             : void fd_signature_walk( void * w, fd_signature_t const * self, fd_types_walk_fn_t fun, const char * name, uint level, uint varint );
    1638           0 : static inline ulong fd_signature_size( fd_signature_t const * self ) { (void)self; return sizeof(fd_signature_t); }
    1639           0 : static inline ulong fd_signature_align( void ) { return alignof(fd_signature_t); }
    1640             : int fd_signature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1641             : void * fd_signature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1642             : 
    1643             : void fd_feature_new( fd_feature_t * self );
    1644             : int fd_feature_encode( fd_feature_t const * self, fd_bincode_encode_ctx_t * ctx );
    1645             : void fd_feature_walk( void * w, fd_feature_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    1646             : ulong fd_feature_size( fd_feature_t const * self );
    1647           0 : static inline ulong fd_feature_align( void ) { return FD_FEATURE_ALIGN; }
    1648             : int fd_feature_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1649             : void * fd_feature_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1650             : 
    1651           0 : static inline void fd_fee_calculator_new( fd_fee_calculator_t * self ) { fd_memset( self, 0, sizeof(fd_fee_calculator_t) ); }
    1652             : int fd_fee_calculator_encode( fd_fee_calculator_t const * self, fd_bincode_encode_ctx_t * ctx );
    1653             : 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 );
    1654           0 : static inline ulong fd_fee_calculator_size( fd_fee_calculator_t const * self ) { (void)self; return 8UL; }
    1655           0 : static inline ulong fd_fee_calculator_align( void ) { return FD_FEE_CALCULATOR_ALIGN; }
    1656           0 : static inline int fd_fee_calculator_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1657           0 :   *total_sz += sizeof(fd_fee_calculator_t);
    1658           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1659           0 :   return 0;
    1660           0 : }
    1661             : void * fd_fee_calculator_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1662             : 
    1663          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) ); }
    1664             : int fd_fee_rate_governor_encode( fd_fee_rate_governor_t const * self, fd_bincode_encode_ctx_t * ctx );
    1665             : 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 );
    1666           0 : static inline ulong fd_fee_rate_governor_size( fd_fee_rate_governor_t const * self ) { (void)self; return 33UL; }
    1667           0 : static inline ulong fd_fee_rate_governor_align( void ) { return FD_FEE_RATE_GOVERNOR_ALIGN; }
    1668           0 : static inline int fd_fee_rate_governor_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1669           0 :   *total_sz += sizeof(fd_fee_rate_governor_t);
    1670           0 :   if( (ulong)ctx->data + 33UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1671           0 :   return 0;
    1672           0 : }
    1673             : void * fd_fee_rate_governor_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1674             : 
    1675           0 : static inline void fd_slot_pair_new( fd_slot_pair_t * self ) { fd_memset( self, 0, sizeof(fd_slot_pair_t) ); }
    1676             : int fd_slot_pair_encode( fd_slot_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    1677             : 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 );
    1678           0 : static inline ulong fd_slot_pair_size( fd_slot_pair_t const * self ) { (void)self; return 16UL; }
    1679           0 : static inline ulong fd_slot_pair_align( void ) { return FD_SLOT_PAIR_ALIGN; }
    1680           0 : static inline int fd_slot_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1681           0 :   *total_sz += sizeof(fd_slot_pair_t);
    1682           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1683           0 :   return 0;
    1684           0 : }
    1685             : void * fd_slot_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1686             : 
    1687             : void fd_hard_forks_new( fd_hard_forks_t * self );
    1688             : int fd_hard_forks_encode( fd_hard_forks_t const * self, fd_bincode_encode_ctx_t * ctx );
    1689             : 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 );
    1690             : ulong fd_hard_forks_size( fd_hard_forks_t const * self );
    1691           0 : static inline ulong fd_hard_forks_align( void ) { return FD_HARD_FORKS_ALIGN; }
    1692             : int fd_hard_forks_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1693             : void * fd_hard_forks_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1694             : void * fd_hard_forks_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    1695             : int fd_hard_forks_encode_global( fd_hard_forks_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    1696             : ulong fd_hard_forks_size_global( fd_hard_forks_global_t const * self );
    1697             : 
    1698          12 : static inline void fd_inflation_new( fd_inflation_t * self ) { fd_memset( self, 0, sizeof(fd_inflation_t) ); }
    1699             : int fd_inflation_encode( fd_inflation_t const * self, fd_bincode_encode_ctx_t * ctx );
    1700             : void fd_inflation_walk( void * w, fd_inflation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    1701           0 : static inline ulong fd_inflation_size( fd_inflation_t const * self ) { (void)self; return 48UL; }
    1702           0 : static inline ulong fd_inflation_align( void ) { return FD_INFLATION_ALIGN; }
    1703           0 : static inline int fd_inflation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1704           0 :   *total_sz += sizeof(fd_inflation_t);
    1705           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1706           0 :   return 0;
    1707           0 : }
    1708             : void * fd_inflation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1709             : 
    1710          12 : static inline void fd_rent_new( fd_rent_t * self ) { fd_memset( self, 0, sizeof(fd_rent_t) ); }
    1711             : int fd_rent_encode( fd_rent_t const * self, fd_bincode_encode_ctx_t * ctx );
    1712             : void fd_rent_walk( void * w, fd_rent_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    1713           0 : static inline ulong fd_rent_size( fd_rent_t const * self ) { (void)self; return 17UL; }
    1714           3 : static inline ulong fd_rent_align( void ) { return FD_RENT_ALIGN; }
    1715           3 : static inline int fd_rent_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1716           3 :   *total_sz += sizeof(fd_rent_t);
    1717           3 :   if( (ulong)ctx->data + 17UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1718           3 :   return 0;
    1719           3 : }
    1720             : void * fd_rent_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1721             : 
    1722             : void fd_epoch_schedule_new( fd_epoch_schedule_t * self );
    1723             : int fd_epoch_schedule_encode( fd_epoch_schedule_t const * self, fd_bincode_encode_ctx_t * ctx );
    1724             : 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 );
    1725           0 : static inline ulong fd_epoch_schedule_size( fd_epoch_schedule_t const * self ) { (void)self; return 33UL; }
    1726           3 : static inline ulong fd_epoch_schedule_align( void ) { return FD_EPOCH_SCHEDULE_ALIGN; }
    1727             : int fd_epoch_schedule_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1728             : void * fd_epoch_schedule_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1729             : 
    1730             : void fd_rent_collector_new( fd_rent_collector_t * self );
    1731             : int fd_rent_collector_encode( fd_rent_collector_t const * self, fd_bincode_encode_ctx_t * ctx );
    1732             : 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 );
    1733           0 : static inline ulong fd_rent_collector_size( fd_rent_collector_t const * self ) { (void)self; return 66UL; }
    1734           0 : static inline ulong fd_rent_collector_align( void ) { return FD_RENT_COLLECTOR_ALIGN; }
    1735             : int fd_rent_collector_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1736             : void * fd_rent_collector_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1737             : 
    1738           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) ); }
    1739             : int fd_stake_history_entry_encode( fd_stake_history_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    1740             : 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 );
    1741           0 : static inline ulong fd_stake_history_entry_size( fd_stake_history_entry_t const * self ) { (void)self; return 24UL; }
    1742           0 : static inline ulong fd_stake_history_entry_align( void ) { return FD_STAKE_HISTORY_ENTRY_ALIGN; }
    1743           0 : static inline int fd_stake_history_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1744           0 :   *total_sz += sizeof(fd_stake_history_entry_t);
    1745           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1746           0 :   return 0;
    1747           0 : }
    1748             : void * fd_stake_history_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1749             : 
    1750        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) ); }
    1751             : int fd_epoch_stake_history_entry_pair_encode( fd_epoch_stake_history_entry_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    1752             : 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 );
    1753           0 : static inline ulong fd_epoch_stake_history_entry_pair_size( fd_epoch_stake_history_entry_pair_t const * self ) { (void)self; return 32UL; }
    1754           0 : static inline ulong fd_epoch_stake_history_entry_pair_align( void ) { return FD_EPOCH_STAKE_HISTORY_ENTRY_PAIR_ALIGN; }
    1755           0 : static inline int fd_epoch_stake_history_entry_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1756           0 :   *total_sz += sizeof(fd_epoch_stake_history_entry_pair_t);
    1757           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1758           0 :   return 0;
    1759           0 : }
    1760             : void * fd_epoch_stake_history_entry_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1761             : 
    1762             : void fd_stake_history_new( fd_stake_history_t * self );
    1763             : int fd_stake_history_encode( fd_stake_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    1764             : 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 );
    1765           0 : static inline ulong fd_stake_history_size( fd_stake_history_t const * self ) { (void)self; return 16392UL; }
    1766           3 : static inline ulong fd_stake_history_align( void ) { return FD_STAKE_HISTORY_ALIGN; }
    1767             : int fd_stake_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1768             : void * fd_stake_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1769             : 
    1770             : void fd_solana_account_new( fd_solana_account_t * self );
    1771             : int fd_solana_account_encode( fd_solana_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    1772             : 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 );
    1773             : ulong fd_solana_account_size( fd_solana_account_t const * self );
    1774           0 : static inline ulong fd_solana_account_align( void ) { return FD_SOLANA_ACCOUNT_ALIGN; }
    1775             : int fd_solana_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1776             : void * fd_solana_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1777             : void * fd_solana_account_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    1778             : int fd_solana_account_encode_global( fd_solana_account_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    1779             : ulong fd_solana_account_size_global( fd_solana_account_global_t const * self );
    1780             : 
    1781           0 : static inline void fd_delegation_new( fd_delegation_t * self ) { fd_memset( self, 0, sizeof(fd_delegation_t) ); }
    1782             : int fd_delegation_encode( fd_delegation_t const * self, fd_bincode_encode_ctx_t * ctx );
    1783             : void fd_delegation_walk( void * w, fd_delegation_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    1784           0 : static inline ulong fd_delegation_size( fd_delegation_t const * self ) { (void)self; return 64UL; }
    1785           0 : static inline ulong fd_delegation_align( void ) { return FD_DELEGATION_ALIGN; }
    1786           0 : static inline int fd_delegation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1787           0 :   *total_sz += sizeof(fd_delegation_t);
    1788           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1789           0 :   return 0;
    1790           0 : }
    1791             : void * fd_delegation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1792             : 
    1793           0 : static inline void fd_stake_new( fd_stake_t * self ) { fd_memset( self, 0, sizeof(fd_stake_t) ); }
    1794             : int fd_stake_encode( fd_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    1795             : void fd_stake_walk( void * w, fd_stake_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    1796           0 : static inline ulong fd_stake_size( fd_stake_t const * self ) { (void)self; return 72UL; }
    1797           0 : static inline ulong fd_stake_align( void ) { return FD_STAKE_ALIGN; }
    1798           0 : static inline int fd_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1799           0 :   *total_sz += sizeof(fd_stake_t);
    1800           0 :   if( (ulong)ctx->data + 72UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1801           0 :   return 0;
    1802           0 : }
    1803             : void * fd_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1804             : 
    1805          12 : static inline void fd_rust_duration_new( fd_rust_duration_t * self ) { fd_memset( self, 0, sizeof(fd_rust_duration_t) ); }
    1806             : int fd_rust_duration_encode( fd_rust_duration_t const * self, fd_bincode_encode_ctx_t * ctx );
    1807             : 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 );
    1808           0 : static inline ulong fd_rust_duration_size( fd_rust_duration_t const * self ) { (void)self; return 12UL; }
    1809           0 : static inline ulong fd_rust_duration_align( void ) { return FD_RUST_DURATION_ALIGN; }
    1810           0 : static inline int fd_rust_duration_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1811           0 :   *total_sz += sizeof(fd_rust_duration_t);
    1812           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1813           0 :   return 0;
    1814           0 : }
    1815             : void * fd_rust_duration_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1816             : 
    1817             : void fd_poh_config_new( fd_poh_config_t * self );
    1818             : int fd_poh_config_encode( fd_poh_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    1819             : 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 );
    1820             : ulong fd_poh_config_size( fd_poh_config_t const * self );
    1821           0 : static inline ulong fd_poh_config_align( void ) { return FD_POH_CONFIG_ALIGN; }
    1822             : int fd_poh_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1823             : void * fd_poh_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1824             : void * fd_poh_config_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    1825             : int fd_poh_config_encode_global( fd_poh_config_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    1826             : ulong fd_poh_config_size_global( fd_poh_config_global_t const * self );
    1827             : 
    1828             : void fd_string_pubkey_pair_new( fd_string_pubkey_pair_t * self );
    1829             : int fd_string_pubkey_pair_encode( fd_string_pubkey_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    1830             : 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 );
    1831             : ulong fd_string_pubkey_pair_size( fd_string_pubkey_pair_t const * self );
    1832           0 : static inline ulong fd_string_pubkey_pair_align( void ) { return FD_STRING_PUBKEY_PAIR_ALIGN; }
    1833             : int fd_string_pubkey_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1834             : void * fd_string_pubkey_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1835             : void * fd_string_pubkey_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    1836             : int fd_string_pubkey_pair_encode_global( fd_string_pubkey_pair_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    1837             : ulong fd_string_pubkey_pair_size_global( fd_string_pubkey_pair_global_t const * self );
    1838             : 
    1839             : void fd_pubkey_account_pair_new( fd_pubkey_account_pair_t * self );
    1840             : int fd_pubkey_account_pair_encode( fd_pubkey_account_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    1841             : 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 );
    1842             : ulong fd_pubkey_account_pair_size( fd_pubkey_account_pair_t const * self );
    1843           0 : static inline ulong fd_pubkey_account_pair_align( void ) { return FD_PUBKEY_ACCOUNT_PAIR_ALIGN; }
    1844             : int fd_pubkey_account_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1845             : void * fd_pubkey_account_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1846             : void * fd_pubkey_account_pair_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    1847             : int fd_pubkey_account_pair_encode_global( fd_pubkey_account_pair_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    1848             : ulong fd_pubkey_account_pair_size_global( fd_pubkey_account_pair_global_t const * self );
    1849             : 
    1850             : void fd_genesis_solana_new( fd_genesis_solana_t * self );
    1851             : int fd_genesis_solana_encode( fd_genesis_solana_t const * self, fd_bincode_encode_ctx_t * ctx );
    1852             : 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 );
    1853             : ulong fd_genesis_solana_size( fd_genesis_solana_t const * self );
    1854           0 : static inline ulong fd_genesis_solana_align( void ) { return FD_GENESIS_SOLANA_ALIGN; }
    1855             : int fd_genesis_solana_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1856             : void * fd_genesis_solana_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1857             : void * fd_genesis_solana_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    1858             : int fd_genesis_solana_encode_global( fd_genesis_solana_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    1859             : ulong fd_genesis_solana_size_global( fd_genesis_solana_global_t const * self );
    1860             : 
    1861           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) ); }
    1862             : int fd_sol_sysvar_clock_encode( fd_sol_sysvar_clock_t const * self, fd_bincode_encode_ctx_t * ctx );
    1863             : 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 );
    1864           0 : static inline ulong fd_sol_sysvar_clock_size( fd_sol_sysvar_clock_t const * self ) { (void)self; return 40UL; }
    1865           3 : static inline ulong fd_sol_sysvar_clock_align( void ) { return FD_SOL_SYSVAR_CLOCK_ALIGN; }
    1866           9 : static inline int fd_sol_sysvar_clock_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1867           9 :   *total_sz += sizeof(fd_sol_sysvar_clock_t);
    1868           9 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1869           6 :   return 0;
    1870           9 : }
    1871             : void * fd_sol_sysvar_clock_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1872             : 
    1873           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) ); }
    1874             : int fd_sol_sysvar_last_restart_slot_encode( fd_sol_sysvar_last_restart_slot_t const * self, fd_bincode_encode_ctx_t * ctx );
    1875             : 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 );
    1876           0 : static inline ulong fd_sol_sysvar_last_restart_slot_size( fd_sol_sysvar_last_restart_slot_t const * self ) { (void)self; return 8UL; }
    1877           3 : static inline ulong fd_sol_sysvar_last_restart_slot_align( void ) { return FD_SOL_SYSVAR_LAST_RESTART_SLOT_ALIGN; }
    1878           3 : static inline int fd_sol_sysvar_last_restart_slot_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1879           3 :   *total_sz += sizeof(fd_sol_sysvar_last_restart_slot_t);
    1880           3 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1881           3 :   return 0;
    1882           3 : }
    1883             : void * fd_sol_sysvar_last_restart_slot_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1884             : 
    1885           0 : static inline void fd_vote_lockout_new( fd_vote_lockout_t * self ) { fd_memset( self, 0, sizeof(fd_vote_lockout_t) ); }
    1886             : int fd_vote_lockout_encode( fd_vote_lockout_t const * self, fd_bincode_encode_ctx_t * ctx );
    1887             : 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 );
    1888           0 : static inline ulong fd_vote_lockout_size( fd_vote_lockout_t const * self ) { (void)self; return 12UL; }
    1889           0 : static inline ulong fd_vote_lockout_align( void ) { return FD_VOTE_LOCKOUT_ALIGN; }
    1890           0 : static inline int fd_vote_lockout_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1891           0 :   *total_sz += sizeof(fd_vote_lockout_t);
    1892           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1893           0 :   return 0;
    1894           0 : }
    1895             : void * fd_vote_lockout_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1896             : 
    1897             : void fd_lockout_offset_new( fd_lockout_offset_t * self );
    1898             : int fd_lockout_offset_encode( fd_lockout_offset_t const * self, fd_bincode_encode_ctx_t * ctx );
    1899             : 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 );
    1900             : ulong fd_lockout_offset_size( fd_lockout_offset_t const * self );
    1901           0 : static inline ulong fd_lockout_offset_align( void ) { return FD_LOCKOUT_OFFSET_ALIGN; }
    1902             : int fd_lockout_offset_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1903             : void * fd_lockout_offset_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1904             : 
    1905          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) ); }
    1906             : int fd_vote_authorized_voter_encode( fd_vote_authorized_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    1907             : 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 );
    1908           0 : static inline ulong fd_vote_authorized_voter_size( fd_vote_authorized_voter_t const * self ) { (void)self; return 40UL; }
    1909           0 : static inline ulong fd_vote_authorized_voter_align( void ) { return FD_VOTE_AUTHORIZED_VOTER_ALIGN; }
    1910           0 : static inline int fd_vote_authorized_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1911           0 :   *total_sz += sizeof(fd_vote_authorized_voter_t);
    1912           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1913           0 :   return 0;
    1914           0 : }
    1915             : void * fd_vote_authorized_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1916             : 
    1917         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) ); }
    1918             : int fd_vote_prior_voter_encode( fd_vote_prior_voter_t const * self, fd_bincode_encode_ctx_t * ctx );
    1919             : 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 );
    1920           0 : static inline ulong fd_vote_prior_voter_size( fd_vote_prior_voter_t const * self ) { (void)self; return 48UL; }
    1921           0 : static inline ulong fd_vote_prior_voter_align( void ) { return FD_VOTE_PRIOR_VOTER_ALIGN; }
    1922           0 : static inline int fd_vote_prior_voter_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1923           0 :   *total_sz += sizeof(fd_vote_prior_voter_t);
    1924           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1925           0 :   return 0;
    1926           0 : }
    1927             : void * fd_vote_prior_voter_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1928             : 
    1929           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) ); }
    1930             : 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 );
    1931             : 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 );
    1932           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; }
    1933           0 : static inline ulong fd_vote_prior_voter_0_23_5_align( void ) { return FD_VOTE_PRIOR_VOTER_0_23_5_ALIGN; }
    1934           0 : static inline int fd_vote_prior_voter_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1935           0 :   *total_sz += sizeof(fd_vote_prior_voter_0_23_5_t);
    1936           0 :   if( (ulong)ctx->data + 56UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1937           0 :   return 0;
    1938           0 : }
    1939             : void * fd_vote_prior_voter_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1940             : 
    1941         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) ); }
    1942             : int fd_vote_epoch_credits_encode( fd_vote_epoch_credits_t const * self, fd_bincode_encode_ctx_t * ctx );
    1943             : 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 );
    1944           0 : static inline ulong fd_vote_epoch_credits_size( fd_vote_epoch_credits_t const * self ) { (void)self; return 24UL; }
    1945           0 : static inline ulong fd_vote_epoch_credits_align( void ) { return FD_VOTE_EPOCH_CREDITS_ALIGN; }
    1946           0 : static inline int fd_vote_epoch_credits_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1947           0 :   *total_sz += sizeof(fd_vote_epoch_credits_t);
    1948           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1949           0 :   return 0;
    1950           0 : }
    1951             : void * fd_vote_epoch_credits_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1952             : 
    1953          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) ); }
    1954             : int fd_vote_block_timestamp_encode( fd_vote_block_timestamp_t const * self, fd_bincode_encode_ctx_t * ctx );
    1955             : 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 );
    1956           0 : static inline ulong fd_vote_block_timestamp_size( fd_vote_block_timestamp_t const * self ) { (void)self; return 16UL; }
    1957           0 : static inline ulong fd_vote_block_timestamp_align( void ) { return FD_VOTE_BLOCK_TIMESTAMP_ALIGN; }
    1958           0 : static inline int fd_vote_block_timestamp_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1959           0 :   *total_sz += sizeof(fd_vote_block_timestamp_t);
    1960           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1961           0 :   return 0;
    1962           0 : }
    1963             : void * fd_vote_block_timestamp_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1964             : 
    1965             : void fd_vote_prior_voters_new( fd_vote_prior_voters_t * self );
    1966             : int fd_vote_prior_voters_encode( fd_vote_prior_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    1967             : 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 );
    1968           0 : static inline ulong fd_vote_prior_voters_size( fd_vote_prior_voters_t const * self ) { (void)self; return 1545UL; }
    1969           0 : static inline ulong fd_vote_prior_voters_align( void ) { return FD_VOTE_PRIOR_VOTERS_ALIGN; }
    1970             : int fd_vote_prior_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    1971             : void * fd_vote_prior_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1972             : 
    1973           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) ); }
    1974             : 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 );
    1975             : 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 );
    1976           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; }
    1977           0 : static inline ulong fd_vote_prior_voters_0_23_5_align( void ) { return FD_VOTE_PRIOR_VOTERS_0_23_5_ALIGN; }
    1978           0 : static inline int fd_vote_prior_voters_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1979           0 :   *total_sz += sizeof(fd_vote_prior_voters_0_23_5_t);
    1980           0 :   if( (ulong)ctx->data + 1800UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1981           0 :   return 0;
    1982           0 : }
    1983             : void * fd_vote_prior_voters_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1984             : 
    1985         195 : static inline void fd_landed_vote_new( fd_landed_vote_t * self ) { fd_memset( self, 0, sizeof(fd_landed_vote_t) ); }
    1986             : int fd_landed_vote_encode( fd_landed_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    1987             : 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 );
    1988           0 : static inline ulong fd_landed_vote_size( fd_landed_vote_t const * self ) { (void)self; return 13UL; }
    1989           0 : static inline ulong fd_landed_vote_align( void ) { return FD_LANDED_VOTE_ALIGN; }
    1990           0 : static inline int fd_landed_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    1991           0 :   *total_sz += sizeof(fd_landed_vote_t);
    1992           0 :   if( (ulong)ctx->data + 13UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    1993           0 :   return 0;
    1994           0 : }
    1995             : void * fd_landed_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    1996             : 
    1997             : void fd_vote_state_0_23_5_new( fd_vote_state_0_23_5_t * self );
    1998             : int fd_vote_state_0_23_5_encode( fd_vote_state_0_23_5_t const * self, fd_bincode_encode_ctx_t * ctx );
    1999             : 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 );
    2000             : ulong fd_vote_state_0_23_5_size( fd_vote_state_0_23_5_t const * self );
    2001           0 : static inline ulong fd_vote_state_0_23_5_align( void ) { return FD_VOTE_STATE_0_23_5_ALIGN; }
    2002             : int fd_vote_state_0_23_5_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2003             : void * fd_vote_state_0_23_5_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2004             : 
    2005             : void fd_vote_authorized_voters_new( fd_vote_authorized_voters_t * self );
    2006             : int fd_vote_authorized_voters_encode( fd_vote_authorized_voters_t const * self, fd_bincode_encode_ctx_t * ctx );
    2007             : 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 );
    2008             : ulong fd_vote_authorized_voters_size( fd_vote_authorized_voters_t const * self );
    2009           0 : static inline ulong fd_vote_authorized_voters_align( void ) { return FD_VOTE_AUTHORIZED_VOTERS_ALIGN; }
    2010             : int fd_vote_authorized_voters_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2011             : void * fd_vote_authorized_voters_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2012             : 
    2013             : void fd_vote_state_1_14_11_new( fd_vote_state_1_14_11_t * self );
    2014             : int fd_vote_state_1_14_11_encode( fd_vote_state_1_14_11_t const * self, fd_bincode_encode_ctx_t * ctx );
    2015             : 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 );
    2016             : ulong fd_vote_state_1_14_11_size( fd_vote_state_1_14_11_t const * self );
    2017           0 : static inline ulong fd_vote_state_1_14_11_align( void ) { return FD_VOTE_STATE_1_14_11_ALIGN; }
    2018             : int fd_vote_state_1_14_11_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2019             : void * fd_vote_state_1_14_11_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2020             : 
    2021             : void fd_vote_state_new( fd_vote_state_t * self );
    2022             : int fd_vote_state_encode( fd_vote_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    2023             : 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 );
    2024             : ulong fd_vote_state_size( fd_vote_state_t const * self );
    2025           0 : static inline ulong fd_vote_state_align( void ) { return FD_VOTE_STATE_ALIGN; }
    2026             : int fd_vote_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2027             : void * fd_vote_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2028             : 
    2029             : void fd_vote_state_versioned_new_disc( fd_vote_state_versioned_t * self, uint discriminant );
    2030             : void fd_vote_state_versioned_new( fd_vote_state_versioned_t * self );
    2031             : int fd_vote_state_versioned_encode( fd_vote_state_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    2032             : 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 );
    2033             : ulong fd_vote_state_versioned_size( fd_vote_state_versioned_t const * self );
    2034          33 : static inline ulong fd_vote_state_versioned_align( void ) { return FD_VOTE_STATE_VERSIONED_ALIGN; }
    2035             : int fd_vote_state_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2036             : void * fd_vote_state_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2037             : 
    2038             : FD_FN_PURE uchar fd_vote_state_versioned_is_v0_23_5( fd_vote_state_versioned_t const * self );
    2039             : FD_FN_PURE uchar fd_vote_state_versioned_is_v1_14_11( fd_vote_state_versioned_t const * self );
    2040             : FD_FN_PURE uchar fd_vote_state_versioned_is_current( fd_vote_state_versioned_t const * self );
    2041             : enum {
    2042             : fd_vote_state_versioned_enum_v0_23_5 = 0,
    2043             : fd_vote_state_versioned_enum_v1_14_11 = 1,
    2044             : fd_vote_state_versioned_enum_current = 2,
    2045             : };
    2046             : void fd_vote_state_update_new( fd_vote_state_update_t * self );
    2047             : int fd_vote_state_update_encode( fd_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    2048             : 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 );
    2049             : ulong fd_vote_state_update_size( fd_vote_state_update_t const * self );
    2050           0 : static inline ulong fd_vote_state_update_align( void ) { return FD_VOTE_STATE_UPDATE_ALIGN; }
    2051             : int fd_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2052             : void * fd_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2053             : 
    2054             : void fd_compact_vote_state_update_new( fd_compact_vote_state_update_t * self );
    2055             : int fd_compact_vote_state_update_encode( fd_compact_vote_state_update_t const * self, fd_bincode_encode_ctx_t * ctx );
    2056             : 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 );
    2057             : ulong fd_compact_vote_state_update_size( fd_compact_vote_state_update_t const * self );
    2058           0 : static inline ulong fd_compact_vote_state_update_align( void ) { return FD_COMPACT_VOTE_STATE_UPDATE_ALIGN; }
    2059             : int fd_compact_vote_state_update_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2060             : void * fd_compact_vote_state_update_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2061             : 
    2062             : void fd_compact_vote_state_update_switch_new( fd_compact_vote_state_update_switch_t * self );
    2063             : int fd_compact_vote_state_update_switch_encode( fd_compact_vote_state_update_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2064             : 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 );
    2065             : ulong fd_compact_vote_state_update_switch_size( fd_compact_vote_state_update_switch_t const * self );
    2066           0 : static inline ulong fd_compact_vote_state_update_switch_align( void ) { return FD_COMPACT_VOTE_STATE_UPDATE_SWITCH_ALIGN; }
    2067             : int fd_compact_vote_state_update_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2068             : void * fd_compact_vote_state_update_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2069             : 
    2070             : void fd_compact_tower_sync_new( fd_compact_tower_sync_t * self );
    2071             : int fd_compact_tower_sync_encode( fd_compact_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    2072             : 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 );
    2073             : ulong fd_compact_tower_sync_size( fd_compact_tower_sync_t const * self );
    2074           0 : static inline ulong fd_compact_tower_sync_align( void ) { return FD_COMPACT_TOWER_SYNC_ALIGN; }
    2075             : int fd_compact_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2076             : void * fd_compact_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2077             : 
    2078             : void fd_tower_sync_new( fd_tower_sync_t * self );
    2079             : int fd_tower_sync_encode( fd_tower_sync_t const * self, fd_bincode_encode_ctx_t * ctx );
    2080             : 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 );
    2081             : ulong fd_tower_sync_size( fd_tower_sync_t const * self );
    2082           0 : static inline ulong fd_tower_sync_align( void ) { return FD_TOWER_SYNC_ALIGN; }
    2083             : int fd_tower_sync_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2084             : void * fd_tower_sync_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2085             : 
    2086             : void fd_tower_sync_switch_new( fd_tower_sync_switch_t * self );
    2087             : int fd_tower_sync_switch_encode( fd_tower_sync_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2088             : 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 );
    2089             : ulong fd_tower_sync_switch_size( fd_tower_sync_switch_t const * self );
    2090           0 : static inline ulong fd_tower_sync_switch_align( void ) { return FD_TOWER_SYNC_SWITCH_ALIGN; }
    2091             : int fd_tower_sync_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2092             : void * fd_tower_sync_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2093             : 
    2094             : void fd_slot_history_new( fd_slot_history_t * self );
    2095             : int fd_slot_history_encode( fd_slot_history_t const * self, fd_bincode_encode_ctx_t * ctx );
    2096             : 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 );
    2097             : ulong fd_slot_history_size( fd_slot_history_t const * self );
    2098           3 : static inline ulong fd_slot_history_align( void ) { return FD_SLOT_HISTORY_ALIGN; }
    2099             : int fd_slot_history_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2100             : void * fd_slot_history_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2101             : void * fd_slot_history_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2102             : int fd_slot_history_encode_global( fd_slot_history_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2103             : ulong fd_slot_history_size_global( fd_slot_history_global_t const * self );
    2104             : 
    2105           0 : static inline void fd_slot_hash_new( fd_slot_hash_t * self ) { fd_memset( self, 0, sizeof(fd_slot_hash_t) ); }
    2106             : int fd_slot_hash_encode( fd_slot_hash_t const * self, fd_bincode_encode_ctx_t * ctx );
    2107             : 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 );
    2108           0 : static inline ulong fd_slot_hash_size( fd_slot_hash_t const * self ) { (void)self; return 40UL; }
    2109           0 : static inline ulong fd_slot_hash_align( void ) { return FD_SLOT_HASH_ALIGN; }
    2110           0 : static inline int fd_slot_hash_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2111           0 :   *total_sz += sizeof(fd_slot_hash_t);
    2112           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2113           0 :   return 0;
    2114           0 : }
    2115             : void * fd_slot_hash_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2116             : 
    2117             : void fd_slot_hashes_new( fd_slot_hashes_t * self );
    2118             : int fd_slot_hashes_encode( fd_slot_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    2119             : 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 );
    2120             : ulong fd_slot_hashes_size( fd_slot_hashes_t const * self );
    2121           3 : static inline ulong fd_slot_hashes_align( void ) { return FD_SLOT_HASHES_ALIGN; }
    2122             : int fd_slot_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2123             : void * fd_slot_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2124             : void * fd_slot_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2125             : int fd_slot_hashes_encode_global( fd_slot_hashes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2126             : ulong fd_slot_hashes_size_global( fd_slot_hashes_global_t const * self );
    2127             : 
    2128       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) ); }
    2129             : int fd_block_block_hash_entry_encode( fd_block_block_hash_entry_t const * self, fd_bincode_encode_ctx_t * ctx );
    2130             : 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 );
    2131           0 : static inline ulong fd_block_block_hash_entry_size( fd_block_block_hash_entry_t const * self ) { (void)self; return 40UL; }
    2132           0 : static inline ulong fd_block_block_hash_entry_align( void ) { return FD_BLOCK_BLOCK_HASH_ENTRY_ALIGN; }
    2133           0 : static inline int fd_block_block_hash_entry_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2134           0 :   *total_sz += sizeof(fd_block_block_hash_entry_t);
    2135           0 :   if( (ulong)ctx->data + 40UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2136           0 :   return 0;
    2137           0 : }
    2138             : void * fd_block_block_hash_entry_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2139             : 
    2140             : void fd_recent_block_hashes_new( fd_recent_block_hashes_t * self );
    2141             : int fd_recent_block_hashes_encode( fd_recent_block_hashes_t const * self, fd_bincode_encode_ctx_t * ctx );
    2142             : 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 );
    2143             : ulong fd_recent_block_hashes_size( fd_recent_block_hashes_t const * self );
    2144           3 : static inline ulong fd_recent_block_hashes_align( void ) { return FD_RECENT_BLOCK_HASHES_ALIGN; }
    2145             : int fd_recent_block_hashes_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2146             : void * fd_recent_block_hashes_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2147             : void * fd_recent_block_hashes_decode_global( void * mem, fd_bincode_decode_ctx_t * ctx );
    2148             : int fd_recent_block_hashes_encode_global( fd_recent_block_hashes_global_t const * self, fd_bincode_encode_ctx_t * ctx );
    2149             : ulong fd_recent_block_hashes_size_global( fd_recent_block_hashes_global_t const * self );
    2150             : 
    2151             : void fd_slot_meta_new( fd_slot_meta_t * self );
    2152             : int fd_slot_meta_encode( fd_slot_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2153             : 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 );
    2154             : ulong fd_slot_meta_size( fd_slot_meta_t const * self );
    2155           0 : static inline ulong fd_slot_meta_align( void ) { return FD_SLOT_META_ALIGN; }
    2156             : int fd_slot_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2157             : void * fd_slot_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2158             : 
    2159           0 : static inline void fd_sysvar_fees_new( fd_sysvar_fees_t * self ) { fd_memset( self, 0, sizeof(fd_sysvar_fees_t) ); }
    2160             : int fd_sysvar_fees_encode( fd_sysvar_fees_t const * self, fd_bincode_encode_ctx_t * ctx );
    2161             : 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 );
    2162           0 : static inline ulong fd_sysvar_fees_size( fd_sysvar_fees_t const * self ) { (void)self; return 8UL; }
    2163           0 : static inline ulong fd_sysvar_fees_align( void ) { return FD_SYSVAR_FEES_ALIGN; }
    2164           0 : static inline int fd_sysvar_fees_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2165           0 :   *total_sz += sizeof(fd_sysvar_fees_t);
    2166           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2167           0 :   return 0;
    2168           0 : }
    2169             : void * fd_sysvar_fees_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2170             : 
    2171             : void fd_sysvar_epoch_rewards_new( fd_sysvar_epoch_rewards_t * self );
    2172             : int fd_sysvar_epoch_rewards_encode( fd_sysvar_epoch_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    2173             : 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 );
    2174           0 : static inline ulong fd_sysvar_epoch_rewards_size( fd_sysvar_epoch_rewards_t const * self ) { (void)self; return 81UL; }
    2175           3 : static inline ulong fd_sysvar_epoch_rewards_align( void ) { return FD_SYSVAR_EPOCH_REWARDS_ALIGN; }
    2176             : int fd_sysvar_epoch_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2177             : void * fd_sysvar_epoch_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2178             : 
    2179             : void fd_config_keys_pair_new( fd_config_keys_pair_t * self );
    2180             : int fd_config_keys_pair_encode( fd_config_keys_pair_t const * self, fd_bincode_encode_ctx_t * ctx );
    2181             : 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 );
    2182           0 : static inline ulong fd_config_keys_pair_size( fd_config_keys_pair_t const * self ) { (void)self; return 33UL; }
    2183           0 : static inline ulong fd_config_keys_pair_align( void ) { return FD_CONFIG_KEYS_PAIR_ALIGN; }
    2184             : int fd_config_keys_pair_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2185             : void * fd_config_keys_pair_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2186             : 
    2187             : void fd_stake_config_new( fd_stake_config_t * self );
    2188             : int fd_stake_config_encode( fd_stake_config_t const * self, fd_bincode_encode_ctx_t * ctx );
    2189             : 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 );
    2190             : ulong fd_stake_config_size( fd_stake_config_t const * self );
    2191           0 : static inline ulong fd_stake_config_align( void ) { return FD_STAKE_CONFIG_ALIGN; }
    2192             : int fd_stake_config_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2193             : void * fd_stake_config_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2194             : 
    2195           0 : static inline void fd_cluster_type_new_disc( fd_cluster_type_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2196           0 : static inline void fd_cluster_type_new( fd_cluster_type_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2197             : int fd_cluster_type_encode( fd_cluster_type_t const * self, fd_bincode_encode_ctx_t * ctx );
    2198             : 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 );
    2199             : ulong fd_cluster_type_size( fd_cluster_type_t const * self );
    2200           0 : static inline ulong fd_cluster_type_align( void ) { return FD_CLUSTER_TYPE_ALIGN; }
    2201             : int fd_cluster_type_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2202             : void * fd_cluster_type_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2203             : 
    2204             : FD_FN_PURE uchar fd_cluster_type_is_Testnet( fd_cluster_type_t const * self );
    2205             : FD_FN_PURE uchar fd_cluster_type_is_MainnetBeta( fd_cluster_type_t const * self );
    2206             : FD_FN_PURE uchar fd_cluster_type_is_Devnet( fd_cluster_type_t const * self );
    2207             : FD_FN_PURE uchar fd_cluster_type_is_Development( fd_cluster_type_t const * self );
    2208             : enum {
    2209             : fd_cluster_type_enum_Testnet = 0,
    2210             : fd_cluster_type_enum_MainnetBeta = 1,
    2211             : fd_cluster_type_enum_Devnet = 2,
    2212             : fd_cluster_type_enum_Development = 3,
    2213             : };
    2214           0 : static inline void fd_cluster_version_new( fd_cluster_version_t * self ) { fd_memset( self, 0, sizeof(fd_cluster_version_t) ); }
    2215             : int fd_cluster_version_encode( fd_cluster_version_t const * self, fd_bincode_encode_ctx_t * ctx );
    2216             : 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 );
    2217           0 : static inline ulong fd_cluster_version_size( fd_cluster_version_t const * self ) { (void)self; return 12UL; }
    2218           0 : static inline ulong fd_cluster_version_align( void ) { return FD_CLUSTER_VERSION_ALIGN; }
    2219           0 : static inline int fd_cluster_version_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2220           0 :   *total_sz += sizeof(fd_cluster_version_t);
    2221           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2222           0 :   return 0;
    2223           0 : }
    2224             : void * fd_cluster_version_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2225             : 
    2226           0 : static inline void fd_stake_reward_new( fd_stake_reward_t * self ) { fd_memset( self, 0, sizeof(fd_stake_reward_t) ); }
    2227             : int fd_stake_reward_encode( fd_stake_reward_t const * self, fd_bincode_encode_ctx_t * ctx );
    2228             : 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 );
    2229           0 : static inline ulong fd_stake_reward_size( fd_stake_reward_t const * self ) { (void)self; return 49UL; }
    2230           0 : static inline ulong fd_stake_reward_align( void ) { return FD_STAKE_REWARD_ALIGN; }
    2231           0 : static inline int fd_stake_reward_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2232           0 :   *total_sz += sizeof(fd_stake_reward_t);
    2233           0 :   if( (ulong)ctx->data + 49UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2234           0 :   return 0;
    2235           0 : }
    2236             : void * fd_stake_reward_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2237             : 
    2238           0 : static inline void fd_partitioned_rewards_calculation_new( fd_partitioned_rewards_calculation_t * self ) { fd_memset( self, 0, sizeof(fd_partitioned_rewards_calculation_t) ); }
    2239             : int fd_partitioned_rewards_calculation_encode( fd_partitioned_rewards_calculation_t const * self, fd_bincode_encode_ctx_t * ctx );
    2240             : 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 );
    2241           0 : static inline ulong fd_partitioned_rewards_calculation_size( fd_partitioned_rewards_calculation_t const * self ) { (void)self; return 64UL; }
    2242           0 : static inline ulong fd_partitioned_rewards_calculation_align( void ) { return FD_PARTITIONED_REWARDS_CALCULATION_ALIGN; }
    2243           0 : static inline int fd_partitioned_rewards_calculation_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2244           0 :   *total_sz += sizeof(fd_partitioned_rewards_calculation_t);
    2245           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2246           0 :   return 0;
    2247           0 : }
    2248             : void * fd_partitioned_rewards_calculation_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2249             : 
    2250           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) ); }
    2251             : int fd_prev_epoch_inflation_rewards_encode( fd_prev_epoch_inflation_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    2252             : 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 );
    2253           0 : static inline ulong fd_prev_epoch_inflation_rewards_size( fd_prev_epoch_inflation_rewards_t const * self ) { (void)self; return 32UL; }
    2254           0 : static inline ulong fd_prev_epoch_inflation_rewards_align( void ) { return FD_PREV_EPOCH_INFLATION_REWARDS_ALIGN; }
    2255           0 : static inline int fd_prev_epoch_inflation_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2256           0 :   *total_sz += sizeof(fd_prev_epoch_inflation_rewards_t);
    2257           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2258           0 :   return 0;
    2259           0 : }
    2260             : void * fd_prev_epoch_inflation_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2261             : 
    2262             : void fd_vote_new( fd_vote_t * self );
    2263             : int fd_vote_encode( fd_vote_t const * self, fd_bincode_encode_ctx_t * ctx );
    2264             : void fd_vote_walk( void * w, fd_vote_t const * self, fd_types_walk_fn_t fun, const char *name, uint level, uint varint );
    2265             : ulong fd_vote_size( fd_vote_t const * self );
    2266           0 : static inline ulong fd_vote_align( void ) { return FD_VOTE_ALIGN; }
    2267             : int fd_vote_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2268             : void * fd_vote_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2269             : 
    2270           0 : static inline void fd_vote_init_new( fd_vote_init_t * self ) { fd_memset( self, 0, sizeof(fd_vote_init_t) ); }
    2271             : int fd_vote_init_encode( fd_vote_init_t const * self, fd_bincode_encode_ctx_t * ctx );
    2272             : 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 );
    2273           0 : static inline ulong fd_vote_init_size( fd_vote_init_t const * self ) { (void)self; return 97UL; }
    2274           0 : static inline ulong fd_vote_init_align( void ) { return FD_VOTE_INIT_ALIGN; }
    2275           0 : static inline int fd_vote_init_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2276           0 :   *total_sz += sizeof(fd_vote_init_t);
    2277           0 :   if( (ulong)ctx->data + 97UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2278           0 :   return 0;
    2279           0 : }
    2280             : void * fd_vote_init_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2281             : 
    2282           0 : static inline void fd_vote_authorize_new_disc( fd_vote_authorize_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2283           0 : static inline void fd_vote_authorize_new( fd_vote_authorize_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2284             : int fd_vote_authorize_encode( fd_vote_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    2285             : 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 );
    2286             : ulong fd_vote_authorize_size( fd_vote_authorize_t const * self );
    2287           0 : static inline ulong fd_vote_authorize_align( void ) { return FD_VOTE_AUTHORIZE_ALIGN; }
    2288             : int fd_vote_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2289             : void * fd_vote_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2290             : 
    2291             : FD_FN_PURE uchar fd_vote_authorize_is_voter( fd_vote_authorize_t const * self );
    2292             : FD_FN_PURE uchar fd_vote_authorize_is_withdrawer( fd_vote_authorize_t const * self );
    2293             : enum {
    2294             : fd_vote_authorize_enum_voter = 0,
    2295             : fd_vote_authorize_enum_withdrawer = 1,
    2296             : };
    2297             : void fd_vote_authorize_pubkey_new( fd_vote_authorize_pubkey_t * self );
    2298             : int fd_vote_authorize_pubkey_encode( fd_vote_authorize_pubkey_t const * self, fd_bincode_encode_ctx_t * ctx );
    2299             : 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 );
    2300           0 : static inline ulong fd_vote_authorize_pubkey_size( fd_vote_authorize_pubkey_t const * self ) { (void)self; return 36UL; }
    2301           0 : static inline ulong fd_vote_authorize_pubkey_align( void ) { return FD_VOTE_AUTHORIZE_PUBKEY_ALIGN; }
    2302             : int fd_vote_authorize_pubkey_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2303             : void * fd_vote_authorize_pubkey_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2304             : 
    2305             : void fd_vote_switch_new( fd_vote_switch_t * self );
    2306             : int fd_vote_switch_encode( fd_vote_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2307             : 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 );
    2308             : ulong fd_vote_switch_size( fd_vote_switch_t const * self );
    2309           0 : static inline ulong fd_vote_switch_align( void ) { return FD_VOTE_SWITCH_ALIGN; }
    2310             : int fd_vote_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2311             : void * fd_vote_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2312             : 
    2313             : void fd_update_vote_state_switch_new( fd_update_vote_state_switch_t * self );
    2314             : int fd_update_vote_state_switch_encode( fd_update_vote_state_switch_t const * self, fd_bincode_encode_ctx_t * ctx );
    2315             : 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 );
    2316             : ulong fd_update_vote_state_switch_size( fd_update_vote_state_switch_t const * self );
    2317           0 : static inline ulong fd_update_vote_state_switch_align( void ) { return FD_UPDATE_VOTE_STATE_SWITCH_ALIGN; }
    2318             : int fd_update_vote_state_switch_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2319             : void * fd_update_vote_state_switch_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2320             : 
    2321             : void fd_vote_authorize_with_seed_args_new( fd_vote_authorize_with_seed_args_t * self );
    2322             : int fd_vote_authorize_with_seed_args_encode( fd_vote_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2323             : 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 );
    2324             : ulong fd_vote_authorize_with_seed_args_size( fd_vote_authorize_with_seed_args_t const * self );
    2325           0 : static inline ulong fd_vote_authorize_with_seed_args_align( void ) { return FD_VOTE_AUTHORIZE_WITH_SEED_ARGS_ALIGN; }
    2326             : int fd_vote_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2327             : void * fd_vote_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2328             : 
    2329             : void fd_vote_authorize_checked_with_seed_args_new( fd_vote_authorize_checked_with_seed_args_t * self );
    2330             : 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 );
    2331             : 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 );
    2332             : ulong fd_vote_authorize_checked_with_seed_args_size( fd_vote_authorize_checked_with_seed_args_t const * self );
    2333           0 : static inline ulong fd_vote_authorize_checked_with_seed_args_align( void ) { return FD_VOTE_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN; }
    2334             : int fd_vote_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2335             : void * fd_vote_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2336             : 
    2337             : void fd_vote_instruction_new_disc( fd_vote_instruction_t * self, uint discriminant );
    2338             : void fd_vote_instruction_new( fd_vote_instruction_t * self );
    2339             : int fd_vote_instruction_encode( fd_vote_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2340             : 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 );
    2341             : ulong fd_vote_instruction_size( fd_vote_instruction_t const * self );
    2342           0 : static inline ulong fd_vote_instruction_align( void ) { return FD_VOTE_INSTRUCTION_ALIGN; }
    2343             : int fd_vote_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2344             : void * fd_vote_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2345             : 
    2346             : FD_FN_PURE uchar fd_vote_instruction_is_initialize_account( fd_vote_instruction_t const * self );
    2347             : FD_FN_PURE uchar fd_vote_instruction_is_authorize( fd_vote_instruction_t const * self );
    2348             : FD_FN_PURE uchar fd_vote_instruction_is_vote( fd_vote_instruction_t const * self );
    2349             : FD_FN_PURE uchar fd_vote_instruction_is_withdraw( fd_vote_instruction_t const * self );
    2350             : FD_FN_PURE uchar fd_vote_instruction_is_update_validator_identity( fd_vote_instruction_t const * self );
    2351             : FD_FN_PURE uchar fd_vote_instruction_is_update_commission( fd_vote_instruction_t const * self );
    2352             : FD_FN_PURE uchar fd_vote_instruction_is_vote_switch( fd_vote_instruction_t const * self );
    2353             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked( fd_vote_instruction_t const * self );
    2354             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state( fd_vote_instruction_t const * self );
    2355             : FD_FN_PURE uchar fd_vote_instruction_is_update_vote_state_switch( fd_vote_instruction_t const * self );
    2356             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_with_seed( fd_vote_instruction_t const * self );
    2357             : FD_FN_PURE uchar fd_vote_instruction_is_authorize_checked_with_seed( fd_vote_instruction_t const * self );
    2358             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state( fd_vote_instruction_t const * self );
    2359             : FD_FN_PURE uchar fd_vote_instruction_is_compact_update_vote_state_switch( fd_vote_instruction_t const * self );
    2360             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync( fd_vote_instruction_t const * self );
    2361             : FD_FN_PURE uchar fd_vote_instruction_is_tower_sync_switch( fd_vote_instruction_t const * self );
    2362             : enum {
    2363             : fd_vote_instruction_enum_initialize_account = 0,
    2364             : fd_vote_instruction_enum_authorize = 1,
    2365             : fd_vote_instruction_enum_vote = 2,
    2366             : fd_vote_instruction_enum_withdraw = 3,
    2367             : fd_vote_instruction_enum_update_validator_identity = 4,
    2368             : fd_vote_instruction_enum_update_commission = 5,
    2369             : fd_vote_instruction_enum_vote_switch = 6,
    2370             : fd_vote_instruction_enum_authorize_checked = 7,
    2371             : fd_vote_instruction_enum_update_vote_state = 8,
    2372             : fd_vote_instruction_enum_update_vote_state_switch = 9,
    2373             : fd_vote_instruction_enum_authorize_with_seed = 10,
    2374             : fd_vote_instruction_enum_authorize_checked_with_seed = 11,
    2375             : fd_vote_instruction_enum_compact_update_vote_state = 12,
    2376             : fd_vote_instruction_enum_compact_update_vote_state_switch = 13,
    2377             : fd_vote_instruction_enum_tower_sync = 14,
    2378             : fd_vote_instruction_enum_tower_sync_switch = 15,
    2379             : };
    2380           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) ); }
    2381             : int fd_system_program_instruction_create_account_encode( fd_system_program_instruction_create_account_t const * self, fd_bincode_encode_ctx_t * ctx );
    2382             : 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 );
    2383           0 : static inline ulong fd_system_program_instruction_create_account_size( fd_system_program_instruction_create_account_t const * self ) { (void)self; return 48UL; }
    2384           0 : static inline ulong fd_system_program_instruction_create_account_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_ALIGN; }
    2385           0 : static inline int fd_system_program_instruction_create_account_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2386           0 :   *total_sz += sizeof(fd_system_program_instruction_create_account_t);
    2387           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2388           0 :   return 0;
    2389           0 : }
    2390             : void * fd_system_program_instruction_create_account_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2391             : 
    2392             : void fd_system_program_instruction_create_account_with_seed_new( fd_system_program_instruction_create_account_with_seed_t * self );
    2393             : 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 );
    2394             : 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 );
    2395             : ulong fd_system_program_instruction_create_account_with_seed_size( fd_system_program_instruction_create_account_with_seed_t const * self );
    2396           0 : static inline ulong fd_system_program_instruction_create_account_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_CREATE_ACCOUNT_WITH_SEED_ALIGN; }
    2397             : int fd_system_program_instruction_create_account_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2398             : void * fd_system_program_instruction_create_account_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2399             : 
    2400             : void fd_system_program_instruction_allocate_with_seed_new( fd_system_program_instruction_allocate_with_seed_t * self );
    2401             : 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 );
    2402             : 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 );
    2403             : ulong fd_system_program_instruction_allocate_with_seed_size( fd_system_program_instruction_allocate_with_seed_t const * self );
    2404           0 : static inline ulong fd_system_program_instruction_allocate_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ALLOCATE_WITH_SEED_ALIGN; }
    2405             : int fd_system_program_instruction_allocate_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2406             : void * fd_system_program_instruction_allocate_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2407             : 
    2408             : void fd_system_program_instruction_assign_with_seed_new( fd_system_program_instruction_assign_with_seed_t * self );
    2409             : 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 );
    2410             : 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 );
    2411             : ulong fd_system_program_instruction_assign_with_seed_size( fd_system_program_instruction_assign_with_seed_t const * self );
    2412           0 : static inline ulong fd_system_program_instruction_assign_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ASSIGN_WITH_SEED_ALIGN; }
    2413             : int fd_system_program_instruction_assign_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2414             : void * fd_system_program_instruction_assign_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2415             : 
    2416             : void fd_system_program_instruction_transfer_with_seed_new( fd_system_program_instruction_transfer_with_seed_t * self );
    2417             : 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 );
    2418             : 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 );
    2419             : ulong fd_system_program_instruction_transfer_with_seed_size( fd_system_program_instruction_transfer_with_seed_t const * self );
    2420           0 : static inline ulong fd_system_program_instruction_transfer_with_seed_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_TRANSFER_WITH_SEED_ALIGN; }
    2421             : int fd_system_program_instruction_transfer_with_seed_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2422             : void * fd_system_program_instruction_transfer_with_seed_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2423             : 
    2424             : void fd_system_program_instruction_new_disc( fd_system_program_instruction_t * self, uint discriminant );
    2425             : void fd_system_program_instruction_new( fd_system_program_instruction_t * self );
    2426             : int fd_system_program_instruction_encode( fd_system_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2427             : 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 );
    2428             : ulong fd_system_program_instruction_size( fd_system_program_instruction_t const * self );
    2429           0 : static inline ulong fd_system_program_instruction_align( void ) { return FD_SYSTEM_PROGRAM_INSTRUCTION_ALIGN; }
    2430             : int fd_system_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2431             : void * fd_system_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2432             : 
    2433             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account( fd_system_program_instruction_t const * self );
    2434             : FD_FN_PURE uchar fd_system_program_instruction_is_assign( fd_system_program_instruction_t const * self );
    2435             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer( fd_system_program_instruction_t const * self );
    2436             : FD_FN_PURE uchar fd_system_program_instruction_is_create_account_with_seed( fd_system_program_instruction_t const * self );
    2437             : FD_FN_PURE uchar fd_system_program_instruction_is_advance_nonce_account( fd_system_program_instruction_t const * self );
    2438             : FD_FN_PURE uchar fd_system_program_instruction_is_withdraw_nonce_account( fd_system_program_instruction_t const * self );
    2439             : FD_FN_PURE uchar fd_system_program_instruction_is_initialize_nonce_account( fd_system_program_instruction_t const * self );
    2440             : FD_FN_PURE uchar fd_system_program_instruction_is_authorize_nonce_account( fd_system_program_instruction_t const * self );
    2441             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate( fd_system_program_instruction_t const * self );
    2442             : FD_FN_PURE uchar fd_system_program_instruction_is_allocate_with_seed( fd_system_program_instruction_t const * self );
    2443             : FD_FN_PURE uchar fd_system_program_instruction_is_assign_with_seed( fd_system_program_instruction_t const * self );
    2444             : FD_FN_PURE uchar fd_system_program_instruction_is_transfer_with_seed( fd_system_program_instruction_t const * self );
    2445             : FD_FN_PURE uchar fd_system_program_instruction_is_upgrade_nonce_account( fd_system_program_instruction_t const * self );
    2446             : enum {
    2447             : fd_system_program_instruction_enum_create_account = 0,
    2448             : fd_system_program_instruction_enum_assign = 1,
    2449             : fd_system_program_instruction_enum_transfer = 2,
    2450             : fd_system_program_instruction_enum_create_account_with_seed = 3,
    2451             : fd_system_program_instruction_enum_advance_nonce_account = 4,
    2452             : fd_system_program_instruction_enum_withdraw_nonce_account = 5,
    2453             : fd_system_program_instruction_enum_initialize_nonce_account = 6,
    2454             : fd_system_program_instruction_enum_authorize_nonce_account = 7,
    2455             : fd_system_program_instruction_enum_allocate = 8,
    2456             : fd_system_program_instruction_enum_allocate_with_seed = 9,
    2457             : fd_system_program_instruction_enum_assign_with_seed = 10,
    2458             : fd_system_program_instruction_enum_transfer_with_seed = 11,
    2459             : fd_system_program_instruction_enum_upgrade_nonce_account = 12,
    2460             : };
    2461           0 : static inline void fd_stake_authorized_new( fd_stake_authorized_t * self ) { fd_memset( self, 0, sizeof(fd_stake_authorized_t) ); }
    2462             : int fd_stake_authorized_encode( fd_stake_authorized_t const * self, fd_bincode_encode_ctx_t * ctx );
    2463             : 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 );
    2464           0 : static inline ulong fd_stake_authorized_size( fd_stake_authorized_t const * self ) { (void)self; return 64UL; }
    2465           0 : static inline ulong fd_stake_authorized_align( void ) { return FD_STAKE_AUTHORIZED_ALIGN; }
    2466           0 : static inline int fd_stake_authorized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2467           0 :   *total_sz += sizeof(fd_stake_authorized_t);
    2468           0 :   if( (ulong)ctx->data + 64UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2469           0 :   return 0;
    2470           0 : }
    2471             : void * fd_stake_authorized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2472             : 
    2473           0 : static inline void fd_stake_lockup_new( fd_stake_lockup_t * self ) { fd_memset( self, 0, sizeof(fd_stake_lockup_t) ); }
    2474             : int fd_stake_lockup_encode( fd_stake_lockup_t const * self, fd_bincode_encode_ctx_t * ctx );
    2475             : 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 );
    2476           0 : static inline ulong fd_stake_lockup_size( fd_stake_lockup_t const * self ) { (void)self; return 48UL; }
    2477           0 : static inline ulong fd_stake_lockup_align( void ) { return FD_STAKE_LOCKUP_ALIGN; }
    2478           0 : static inline int fd_stake_lockup_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2479           0 :   *total_sz += sizeof(fd_stake_lockup_t);
    2480           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2481           0 :   return 0;
    2482           0 : }
    2483             : void * fd_stake_lockup_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2484             : 
    2485           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) ); }
    2486             : int fd_stake_instruction_initialize_encode( fd_stake_instruction_initialize_t const * self, fd_bincode_encode_ctx_t * ctx );
    2487             : 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 );
    2488           0 : static inline ulong fd_stake_instruction_initialize_size( fd_stake_instruction_initialize_t const * self ) { (void)self; return 112UL; }
    2489           0 : static inline ulong fd_stake_instruction_initialize_align( void ) { return FD_STAKE_INSTRUCTION_INITIALIZE_ALIGN; }
    2490           0 : static inline int fd_stake_instruction_initialize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2491           0 :   *total_sz += sizeof(fd_stake_instruction_initialize_t);
    2492           0 :   if( (ulong)ctx->data + 112UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2493           0 :   return 0;
    2494           0 : }
    2495             : void * fd_stake_instruction_initialize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2496             : 
    2497             : void fd_stake_lockup_custodian_args_new( fd_stake_lockup_custodian_args_t * self );
    2498             : int fd_stake_lockup_custodian_args_encode( fd_stake_lockup_custodian_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2499             : 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 );
    2500             : ulong fd_stake_lockup_custodian_args_size( fd_stake_lockup_custodian_args_t const * self );
    2501           0 : static inline ulong fd_stake_lockup_custodian_args_align( void ) { return FD_STAKE_LOCKUP_CUSTODIAN_ARGS_ALIGN; }
    2502             : int fd_stake_lockup_custodian_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2503             : void * fd_stake_lockup_custodian_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2504             : 
    2505           0 : static inline void fd_stake_authorize_new_disc( fd_stake_authorize_t * self, uint discriminant ) { self->discriminant = discriminant; }
    2506           0 : static inline void fd_stake_authorize_new( fd_stake_authorize_t * self ) { self->discriminant = (uint)ULONG_MAX; }
    2507             : int fd_stake_authorize_encode( fd_stake_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    2508             : 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 );
    2509             : ulong fd_stake_authorize_size( fd_stake_authorize_t const * self );
    2510           0 : static inline ulong fd_stake_authorize_align( void ) { return FD_STAKE_AUTHORIZE_ALIGN; }
    2511             : int fd_stake_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2512             : void * fd_stake_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2513             : 
    2514             : FD_FN_PURE uchar fd_stake_authorize_is_staker( fd_stake_authorize_t const * self );
    2515             : FD_FN_PURE uchar fd_stake_authorize_is_withdrawer( fd_stake_authorize_t const * self );
    2516             : enum {
    2517             : fd_stake_authorize_enum_staker = 0,
    2518             : fd_stake_authorize_enum_withdrawer = 1,
    2519             : };
    2520             : void fd_stake_instruction_authorize_new( fd_stake_instruction_authorize_t * self );
    2521             : int fd_stake_instruction_authorize_encode( fd_stake_instruction_authorize_t const * self, fd_bincode_encode_ctx_t * ctx );
    2522             : 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 );
    2523           0 : static inline ulong fd_stake_instruction_authorize_size( fd_stake_instruction_authorize_t const * self ) { (void)self; return 36UL; }
    2524           0 : static inline ulong fd_stake_instruction_authorize_align( void ) { return FD_STAKE_INSTRUCTION_AUTHORIZE_ALIGN; }
    2525             : int fd_stake_instruction_authorize_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2526             : void * fd_stake_instruction_authorize_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2527             : 
    2528             : void fd_authorize_with_seed_args_new( fd_authorize_with_seed_args_t * self );
    2529             : int fd_authorize_with_seed_args_encode( fd_authorize_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2530             : 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 );
    2531             : ulong fd_authorize_with_seed_args_size( fd_authorize_with_seed_args_t const * self );
    2532           0 : static inline ulong fd_authorize_with_seed_args_align( void ) { return FD_AUTHORIZE_WITH_SEED_ARGS_ALIGN; }
    2533             : int fd_authorize_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2534             : void * fd_authorize_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2535             : 
    2536             : void fd_authorize_checked_with_seed_args_new( fd_authorize_checked_with_seed_args_t * self );
    2537             : int fd_authorize_checked_with_seed_args_encode( fd_authorize_checked_with_seed_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2538             : 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 );
    2539             : ulong fd_authorize_checked_with_seed_args_size( fd_authorize_checked_with_seed_args_t const * self );
    2540           0 : static inline ulong fd_authorize_checked_with_seed_args_align( void ) { return FD_AUTHORIZE_CHECKED_WITH_SEED_ARGS_ALIGN; }
    2541             : int fd_authorize_checked_with_seed_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2542             : void * fd_authorize_checked_with_seed_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2543             : 
    2544             : void fd_lockup_checked_args_new( fd_lockup_checked_args_t * self );
    2545             : int fd_lockup_checked_args_encode( fd_lockup_checked_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2546             : 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 );
    2547             : ulong fd_lockup_checked_args_size( fd_lockup_checked_args_t const * self );
    2548           0 : static inline ulong fd_lockup_checked_args_align( void ) { return FD_LOCKUP_CHECKED_ARGS_ALIGN; }
    2549             : int fd_lockup_checked_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2550             : void * fd_lockup_checked_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2551             : 
    2552             : void fd_lockup_args_new( fd_lockup_args_t * self );
    2553             : int fd_lockup_args_encode( fd_lockup_args_t const * self, fd_bincode_encode_ctx_t * ctx );
    2554             : 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 );
    2555             : ulong fd_lockup_args_size( fd_lockup_args_t const * self );
    2556           0 : static inline ulong fd_lockup_args_align( void ) { return FD_LOCKUP_ARGS_ALIGN; }
    2557             : int fd_lockup_args_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2558             : void * fd_lockup_args_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2559             : 
    2560             : void fd_stake_instruction_new_disc( fd_stake_instruction_t * self, uint discriminant );
    2561             : void fd_stake_instruction_new( fd_stake_instruction_t * self );
    2562             : int fd_stake_instruction_encode( fd_stake_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2563             : 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 );
    2564             : ulong fd_stake_instruction_size( fd_stake_instruction_t const * self );
    2565           0 : static inline ulong fd_stake_instruction_align( void ) { return FD_STAKE_INSTRUCTION_ALIGN; }
    2566             : int fd_stake_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2567             : void * fd_stake_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2568             : 
    2569             : FD_FN_PURE uchar fd_stake_instruction_is_initialize( fd_stake_instruction_t const * self );
    2570             : FD_FN_PURE uchar fd_stake_instruction_is_authorize( fd_stake_instruction_t const * self );
    2571             : FD_FN_PURE uchar fd_stake_instruction_is_delegate_stake( fd_stake_instruction_t const * self );
    2572             : FD_FN_PURE uchar fd_stake_instruction_is_split( fd_stake_instruction_t const * self );
    2573             : FD_FN_PURE uchar fd_stake_instruction_is_withdraw( fd_stake_instruction_t const * self );
    2574             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate( fd_stake_instruction_t const * self );
    2575             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup( fd_stake_instruction_t const * self );
    2576             : FD_FN_PURE uchar fd_stake_instruction_is_merge( fd_stake_instruction_t const * self );
    2577             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_with_seed( fd_stake_instruction_t const * self );
    2578             : FD_FN_PURE uchar fd_stake_instruction_is_initialize_checked( fd_stake_instruction_t const * self );
    2579             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked( fd_stake_instruction_t const * self );
    2580             : FD_FN_PURE uchar fd_stake_instruction_is_authorize_checked_with_seed( fd_stake_instruction_t const * self );
    2581             : FD_FN_PURE uchar fd_stake_instruction_is_set_lockup_checked( fd_stake_instruction_t const * self );
    2582             : FD_FN_PURE uchar fd_stake_instruction_is_get_minimum_delegation( fd_stake_instruction_t const * self );
    2583             : FD_FN_PURE uchar fd_stake_instruction_is_deactivate_delinquent( fd_stake_instruction_t const * self );
    2584             : FD_FN_PURE uchar fd_stake_instruction_is_redelegate( fd_stake_instruction_t const * self );
    2585             : FD_FN_PURE uchar fd_stake_instruction_is_move_stake( fd_stake_instruction_t const * self );
    2586             : FD_FN_PURE uchar fd_stake_instruction_is_move_lamports( fd_stake_instruction_t const * self );
    2587             : enum {
    2588             : fd_stake_instruction_enum_initialize = 0,
    2589             : fd_stake_instruction_enum_authorize = 1,
    2590             : fd_stake_instruction_enum_delegate_stake = 2,
    2591             : fd_stake_instruction_enum_split = 3,
    2592             : fd_stake_instruction_enum_withdraw = 4,
    2593             : fd_stake_instruction_enum_deactivate = 5,
    2594             : fd_stake_instruction_enum_set_lockup = 6,
    2595             : fd_stake_instruction_enum_merge = 7,
    2596             : fd_stake_instruction_enum_authorize_with_seed = 8,
    2597             : fd_stake_instruction_enum_initialize_checked = 9,
    2598             : fd_stake_instruction_enum_authorize_checked = 10,
    2599             : fd_stake_instruction_enum_authorize_checked_with_seed = 11,
    2600             : fd_stake_instruction_enum_set_lockup_checked = 12,
    2601             : fd_stake_instruction_enum_get_minimum_delegation = 13,
    2602             : fd_stake_instruction_enum_deactivate_delinquent = 14,
    2603             : fd_stake_instruction_enum_redelegate = 15,
    2604             : fd_stake_instruction_enum_move_stake = 16,
    2605             : fd_stake_instruction_enum_move_lamports = 17,
    2606             : };
    2607           0 : static inline void fd_stake_meta_new( fd_stake_meta_t * self ) { fd_memset( self, 0, sizeof(fd_stake_meta_t) ); }
    2608             : int fd_stake_meta_encode( fd_stake_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2609             : 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 );
    2610           0 : static inline ulong fd_stake_meta_size( fd_stake_meta_t const * self ) { (void)self; return 120UL; }
    2611           0 : static inline ulong fd_stake_meta_align( void ) { return FD_STAKE_META_ALIGN; }
    2612           0 : static inline int fd_stake_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2613           0 :   *total_sz += sizeof(fd_stake_meta_t);
    2614           0 :   if( (ulong)ctx->data + 120UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2615           0 :   return 0;
    2616           0 : }
    2617             : void * fd_stake_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2618             : 
    2619           0 : static inline void fd_stake_flags_new( fd_stake_flags_t * self ) { fd_memset( self, 0, sizeof(fd_stake_flags_t) ); }
    2620             : int fd_stake_flags_encode( fd_stake_flags_t const * self, fd_bincode_encode_ctx_t * ctx );
    2621             : 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 );
    2622           0 : static inline ulong fd_stake_flags_size( fd_stake_flags_t const * self ) { (void)self; return 1UL; }
    2623           0 : static inline ulong fd_stake_flags_align( void ) { return FD_STAKE_FLAGS_ALIGN; }
    2624           0 : static inline int fd_stake_flags_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2625           0 :   *total_sz += sizeof(fd_stake_flags_t);
    2626           0 :   if( (ulong)ctx->data + 1UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2627           0 :   return 0;
    2628           0 : }
    2629             : void * fd_stake_flags_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2630             : 
    2631           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) ); }
    2632             : int fd_stake_state_v2_initialized_encode( fd_stake_state_v2_initialized_t const * self, fd_bincode_encode_ctx_t * ctx );
    2633             : 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 );
    2634           0 : static inline ulong fd_stake_state_v2_initialized_size( fd_stake_state_v2_initialized_t const * self ) { (void)self; return 120UL; }
    2635           0 : static inline ulong fd_stake_state_v2_initialized_align( void ) { return FD_STAKE_STATE_V2_INITIALIZED_ALIGN; }
    2636           0 : static inline int fd_stake_state_v2_initialized_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2637           0 :   *total_sz += sizeof(fd_stake_state_v2_initialized_t);
    2638           0 :   if( (ulong)ctx->data + 120UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2639           0 :   return 0;
    2640           0 : }
    2641             : void * fd_stake_state_v2_initialized_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2642             : 
    2643          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) ); }
    2644             : int fd_stake_state_v2_stake_encode( fd_stake_state_v2_stake_t const * self, fd_bincode_encode_ctx_t * ctx );
    2645             : 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 );
    2646           0 : static inline ulong fd_stake_state_v2_stake_size( fd_stake_state_v2_stake_t const * self ) { (void)self; return 193UL; }
    2647           0 : static inline ulong fd_stake_state_v2_stake_align( void ) { return FD_STAKE_STATE_V2_STAKE_ALIGN; }
    2648           0 : static inline int fd_stake_state_v2_stake_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2649           0 :   *total_sz += sizeof(fd_stake_state_v2_stake_t);
    2650           0 :   if( (ulong)ctx->data + 193UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2651           0 :   return 0;
    2652           0 : }
    2653             : void * fd_stake_state_v2_stake_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2654             : 
    2655             : void fd_stake_state_v2_new_disc( fd_stake_state_v2_t * self, uint discriminant );
    2656             : void fd_stake_state_v2_new( fd_stake_state_v2_t * self );
    2657             : int fd_stake_state_v2_encode( fd_stake_state_v2_t const * self, fd_bincode_encode_ctx_t * ctx );
    2658             : 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 );
    2659             : ulong fd_stake_state_v2_size( fd_stake_state_v2_t const * self );
    2660           0 : static inline ulong fd_stake_state_v2_align( void ) { return FD_STAKE_STATE_V2_ALIGN; }
    2661             : int fd_stake_state_v2_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2662             : void * fd_stake_state_v2_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2663             : 
    2664             : FD_FN_PURE uchar fd_stake_state_v2_is_uninitialized( fd_stake_state_v2_t const * self );
    2665             : FD_FN_PURE uchar fd_stake_state_v2_is_initialized( fd_stake_state_v2_t const * self );
    2666             : FD_FN_PURE uchar fd_stake_state_v2_is_stake( fd_stake_state_v2_t const * self );
    2667             : FD_FN_PURE uchar fd_stake_state_v2_is_rewards_pool( fd_stake_state_v2_t const * self );
    2668             : enum {
    2669             : fd_stake_state_v2_enum_uninitialized = 0,
    2670             : fd_stake_state_v2_enum_initialized = 1,
    2671             : fd_stake_state_v2_enum_stake = 2,
    2672             : fd_stake_state_v2_enum_rewards_pool = 3,
    2673             : };
    2674           0 : static inline void fd_nonce_data_new( fd_nonce_data_t * self ) { fd_memset( self, 0, sizeof(fd_nonce_data_t) ); }
    2675             : int fd_nonce_data_encode( fd_nonce_data_t const * self, fd_bincode_encode_ctx_t * ctx );
    2676             : 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 );
    2677           0 : static inline ulong fd_nonce_data_size( fd_nonce_data_t const * self ) { (void)self; return 72UL; }
    2678           0 : static inline ulong fd_nonce_data_align( void ) { return FD_NONCE_DATA_ALIGN; }
    2679           0 : static inline int fd_nonce_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2680           0 :   *total_sz += sizeof(fd_nonce_data_t);
    2681           0 :   if( (ulong)ctx->data + 72UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2682           0 :   return 0;
    2683           0 : }
    2684             : void * fd_nonce_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2685             : 
    2686             : void fd_nonce_state_new_disc( fd_nonce_state_t * self, uint discriminant );
    2687             : void fd_nonce_state_new( fd_nonce_state_t * self );
    2688             : int fd_nonce_state_encode( fd_nonce_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    2689             : 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 );
    2690             : ulong fd_nonce_state_size( fd_nonce_state_t const * self );
    2691           0 : static inline ulong fd_nonce_state_align( void ) { return FD_NONCE_STATE_ALIGN; }
    2692             : int fd_nonce_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2693             : void * fd_nonce_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2694             : 
    2695             : FD_FN_PURE uchar fd_nonce_state_is_uninitialized( fd_nonce_state_t const * self );
    2696             : FD_FN_PURE uchar fd_nonce_state_is_initialized( fd_nonce_state_t const * self );
    2697             : enum {
    2698             : fd_nonce_state_enum_uninitialized = 0,
    2699             : fd_nonce_state_enum_initialized = 1,
    2700             : };
    2701             : void fd_nonce_state_versions_new_disc( fd_nonce_state_versions_t * self, uint discriminant );
    2702             : void fd_nonce_state_versions_new( fd_nonce_state_versions_t * self );
    2703             : int fd_nonce_state_versions_encode( fd_nonce_state_versions_t const * self, fd_bincode_encode_ctx_t * ctx );
    2704             : 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 );
    2705             : ulong fd_nonce_state_versions_size( fd_nonce_state_versions_t const * self );
    2706           0 : static inline ulong fd_nonce_state_versions_align( void ) { return FD_NONCE_STATE_VERSIONS_ALIGN; }
    2707             : int fd_nonce_state_versions_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2708             : void * fd_nonce_state_versions_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2709             : 
    2710             : FD_FN_PURE uchar fd_nonce_state_versions_is_legacy( fd_nonce_state_versions_t const * self );
    2711             : FD_FN_PURE uchar fd_nonce_state_versions_is_current( fd_nonce_state_versions_t const * self );
    2712             : enum {
    2713             : fd_nonce_state_versions_enum_legacy = 0,
    2714             : fd_nonce_state_versions_enum_current = 1,
    2715             : };
    2716           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) ); }
    2717             : 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 );
    2718             : 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 );
    2719           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; }
    2720           0 : static inline ulong fd_compute_budget_program_instruction_request_units_deprecated_align( void ) { return FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_REQUEST_UNITS_DEPRECATED_ALIGN; }
    2721           0 : static inline int fd_compute_budget_program_instruction_request_units_deprecated_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2722           0 :   *total_sz += sizeof(fd_compute_budget_program_instruction_request_units_deprecated_t);
    2723           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2724           0 :   return 0;
    2725           0 : }
    2726             : void * fd_compute_budget_program_instruction_request_units_deprecated_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2727             : 
    2728             : void fd_compute_budget_program_instruction_new_disc( fd_compute_budget_program_instruction_t * self, uint discriminant );
    2729             : void fd_compute_budget_program_instruction_new( fd_compute_budget_program_instruction_t * self );
    2730             : int fd_compute_budget_program_instruction_encode( fd_compute_budget_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2731             : 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 );
    2732             : ulong fd_compute_budget_program_instruction_size( fd_compute_budget_program_instruction_t const * self );
    2733           0 : static inline ulong fd_compute_budget_program_instruction_align( void ) { return FD_COMPUTE_BUDGET_PROGRAM_INSTRUCTION_ALIGN; }
    2734             : int fd_compute_budget_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2735             : void * fd_compute_budget_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2736             : 
    2737             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_units_deprecated( fd_compute_budget_program_instruction_t const * self );
    2738             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_request_heap_frame( fd_compute_budget_program_instruction_t const * self );
    2739             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_limit( fd_compute_budget_program_instruction_t const * self );
    2740             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_compute_unit_price( fd_compute_budget_program_instruction_t const * self );
    2741             : FD_FN_PURE uchar fd_compute_budget_program_instruction_is_set_loaded_accounts_data_size_limit( fd_compute_budget_program_instruction_t const * self );
    2742             : enum {
    2743             : fd_compute_budget_program_instruction_enum_request_units_deprecated = 0,
    2744             : fd_compute_budget_program_instruction_enum_request_heap_frame = 1,
    2745             : fd_compute_budget_program_instruction_enum_set_compute_unit_limit = 2,
    2746             : fd_compute_budget_program_instruction_enum_set_compute_unit_price = 3,
    2747             : fd_compute_budget_program_instruction_enum_set_loaded_accounts_data_size_limit = 4,
    2748             : };
    2749             : void fd_config_keys_new( fd_config_keys_t * self );
    2750             : int fd_config_keys_encode( fd_config_keys_t const * self, fd_bincode_encode_ctx_t * ctx );
    2751             : 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 );
    2752             : ulong fd_config_keys_size( fd_config_keys_t const * self );
    2753           0 : static inline ulong fd_config_keys_align( void ) { return FD_CONFIG_KEYS_ALIGN; }
    2754             : int fd_config_keys_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2755             : void * fd_config_keys_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2756             : 
    2757             : void fd_bpf_loader_program_instruction_write_new( fd_bpf_loader_program_instruction_write_t * self );
    2758             : int fd_bpf_loader_program_instruction_write_encode( fd_bpf_loader_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    2759             : 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 );
    2760             : ulong fd_bpf_loader_program_instruction_write_size( fd_bpf_loader_program_instruction_write_t const * self );
    2761           0 : static inline ulong fd_bpf_loader_program_instruction_write_align( void ) { return FD_BPF_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    2762             : int fd_bpf_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2763             : void * fd_bpf_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2764             : 
    2765             : void fd_bpf_loader_program_instruction_new_disc( fd_bpf_loader_program_instruction_t * self, uint discriminant );
    2766             : void fd_bpf_loader_program_instruction_new( fd_bpf_loader_program_instruction_t * self );
    2767             : int fd_bpf_loader_program_instruction_encode( fd_bpf_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2768             : 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 );
    2769             : ulong fd_bpf_loader_program_instruction_size( fd_bpf_loader_program_instruction_t const * self );
    2770           0 : static inline ulong fd_bpf_loader_program_instruction_align( void ) { return FD_BPF_LOADER_PROGRAM_INSTRUCTION_ALIGN; }
    2771             : int fd_bpf_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2772             : void * fd_bpf_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2773             : 
    2774             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_write( fd_bpf_loader_program_instruction_t const * self );
    2775             : FD_FN_PURE uchar fd_bpf_loader_program_instruction_is_finalize( fd_bpf_loader_program_instruction_t const * self );
    2776             : enum {
    2777             : fd_bpf_loader_program_instruction_enum_write = 0,
    2778             : fd_bpf_loader_program_instruction_enum_finalize = 1,
    2779             : };
    2780             : void fd_loader_v4_program_instruction_write_new( fd_loader_v4_program_instruction_write_t * self );
    2781             : int fd_loader_v4_program_instruction_write_encode( fd_loader_v4_program_instruction_write_t const * self, fd_bincode_encode_ctx_t * ctx );
    2782             : 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 );
    2783             : ulong fd_loader_v4_program_instruction_write_size( fd_loader_v4_program_instruction_write_t const * self );
    2784           0 : static inline ulong fd_loader_v4_program_instruction_write_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    2785             : int fd_loader_v4_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2786             : void * fd_loader_v4_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2787             : 
    2788           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) ); }
    2789             : int fd_loader_v4_program_instruction_copy_encode( fd_loader_v4_program_instruction_copy_t const * self, fd_bincode_encode_ctx_t * ctx );
    2790             : 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 );
    2791           0 : static inline ulong fd_loader_v4_program_instruction_copy_size( fd_loader_v4_program_instruction_copy_t const * self ) { (void)self; return 12UL; }
    2792           0 : static inline ulong fd_loader_v4_program_instruction_copy_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_COPY_ALIGN; }
    2793           0 : static inline int fd_loader_v4_program_instruction_copy_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2794           0 :   *total_sz += sizeof(fd_loader_v4_program_instruction_copy_t);
    2795           0 :   if( (ulong)ctx->data + 12UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2796           0 :   return 0;
    2797           0 : }
    2798             : void * fd_loader_v4_program_instruction_copy_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2799             : 
    2800           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) ); }
    2801             : 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 );
    2802             : 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 );
    2803           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; }
    2804           0 : static inline ulong fd_loader_v4_program_instruction_set_program_length_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_SET_PROGRAM_LENGTH_ALIGN; }
    2805           0 : static inline int fd_loader_v4_program_instruction_set_program_length_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2806           0 :   *total_sz += sizeof(fd_loader_v4_program_instruction_set_program_length_t);
    2807           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2808           0 :   return 0;
    2809           0 : }
    2810             : void * fd_loader_v4_program_instruction_set_program_length_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2811             : 
    2812             : void fd_loader_v4_program_instruction_new_disc( fd_loader_v4_program_instruction_t * self, uint discriminant );
    2813             : void fd_loader_v4_program_instruction_new( fd_loader_v4_program_instruction_t * self );
    2814             : int fd_loader_v4_program_instruction_encode( fd_loader_v4_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2815             : 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 );
    2816             : ulong fd_loader_v4_program_instruction_size( fd_loader_v4_program_instruction_t const * self );
    2817           0 : static inline ulong fd_loader_v4_program_instruction_align( void ) { return FD_LOADER_V4_PROGRAM_INSTRUCTION_ALIGN; }
    2818             : int fd_loader_v4_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2819             : void * fd_loader_v4_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2820             : 
    2821             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_write( fd_loader_v4_program_instruction_t const * self );
    2822             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_copy( fd_loader_v4_program_instruction_t const * self );
    2823             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_set_program_length( fd_loader_v4_program_instruction_t const * self );
    2824             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_deploy( fd_loader_v4_program_instruction_t const * self );
    2825             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_retract( fd_loader_v4_program_instruction_t const * self );
    2826             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_transfer_authority( fd_loader_v4_program_instruction_t const * self );
    2827             : FD_FN_PURE uchar fd_loader_v4_program_instruction_is_finalize( fd_loader_v4_program_instruction_t const * self );
    2828             : enum {
    2829             : fd_loader_v4_program_instruction_enum_write = 0,
    2830             : fd_loader_v4_program_instruction_enum_copy = 1,
    2831             : fd_loader_v4_program_instruction_enum_set_program_length = 2,
    2832             : fd_loader_v4_program_instruction_enum_deploy = 3,
    2833             : fd_loader_v4_program_instruction_enum_retract = 4,
    2834             : fd_loader_v4_program_instruction_enum_transfer_authority = 5,
    2835             : fd_loader_v4_program_instruction_enum_finalize = 6,
    2836             : };
    2837             : void fd_bpf_upgradeable_loader_program_instruction_write_new( fd_bpf_upgradeable_loader_program_instruction_write_t * self );
    2838             : 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 );
    2839             : 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 );
    2840             : ulong fd_bpf_upgradeable_loader_program_instruction_write_size( fd_bpf_upgradeable_loader_program_instruction_write_t const * self );
    2841           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_write_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_WRITE_ALIGN; }
    2842             : int fd_bpf_upgradeable_loader_program_instruction_write_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2843             : void * fd_bpf_upgradeable_loader_program_instruction_write_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2844             : 
    2845           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) ); }
    2846             : 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 );
    2847             : 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 );
    2848           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; }
    2849           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; }
    2850           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 ) {
    2851           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_t);
    2852           0 :   if( (ulong)ctx->data + 8UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2853           0 :   return 0;
    2854           0 : }
    2855             : void * fd_bpf_upgradeable_loader_program_instruction_deploy_with_max_data_len_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2856             : 
    2857           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) ); }
    2858             : 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 );
    2859             : 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 );
    2860           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; }
    2861           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_extend_program_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_EXTEND_PROGRAM_ALIGN; }
    2862           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_extend_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2863           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_t);
    2864           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2865           0 :   return 0;
    2866           0 : }
    2867             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2868             : 
    2869           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) ); }
    2870             : 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 );
    2871             : 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 );
    2872           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; }
    2873           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; }
    2874           0 : static inline int fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2875           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_t);
    2876           0 :   if( (ulong)ctx->data + 4UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2877           0 :   return 0;
    2878           0 : }
    2879             : void * fd_bpf_upgradeable_loader_program_instruction_extend_program_checked_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2880             : 
    2881             : void fd_bpf_upgradeable_loader_program_instruction_new_disc( fd_bpf_upgradeable_loader_program_instruction_t * self, uint discriminant );
    2882             : void fd_bpf_upgradeable_loader_program_instruction_new( fd_bpf_upgradeable_loader_program_instruction_t * self );
    2883             : int fd_bpf_upgradeable_loader_program_instruction_encode( fd_bpf_upgradeable_loader_program_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    2884             : 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 );
    2885             : ulong fd_bpf_upgradeable_loader_program_instruction_size( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2886           0 : static inline ulong fd_bpf_upgradeable_loader_program_instruction_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_PROGRAM_INSTRUCTION_ALIGN; }
    2887             : int fd_bpf_upgradeable_loader_program_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2888             : void * fd_bpf_upgradeable_loader_program_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2889             : 
    2890             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_initialize_buffer( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2891             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_write( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2892             : 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 );
    2893             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_upgrade( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2894             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2895             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_close( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2896             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2897             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_set_authority_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2898             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_migrate( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2899             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_program_instruction_is_extend_program_checked( fd_bpf_upgradeable_loader_program_instruction_t const * self );
    2900             : enum {
    2901             : fd_bpf_upgradeable_loader_program_instruction_enum_initialize_buffer = 0,
    2902             : fd_bpf_upgradeable_loader_program_instruction_enum_write = 1,
    2903             : fd_bpf_upgradeable_loader_program_instruction_enum_deploy_with_max_data_len = 2,
    2904             : fd_bpf_upgradeable_loader_program_instruction_enum_upgrade = 3,
    2905             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority = 4,
    2906             : fd_bpf_upgradeable_loader_program_instruction_enum_close = 5,
    2907             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program = 6,
    2908             : fd_bpf_upgradeable_loader_program_instruction_enum_set_authority_checked = 7,
    2909             : fd_bpf_upgradeable_loader_program_instruction_enum_migrate = 8,
    2910             : fd_bpf_upgradeable_loader_program_instruction_enum_extend_program_checked = 9,
    2911             : };
    2912             : void fd_bpf_upgradeable_loader_state_buffer_new( fd_bpf_upgradeable_loader_state_buffer_t * self );
    2913             : int fd_bpf_upgradeable_loader_state_buffer_encode( fd_bpf_upgradeable_loader_state_buffer_t const * self, fd_bincode_encode_ctx_t * ctx );
    2914             : 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 );
    2915             : ulong fd_bpf_upgradeable_loader_state_buffer_size( fd_bpf_upgradeable_loader_state_buffer_t const * self );
    2916           0 : static inline ulong fd_bpf_upgradeable_loader_state_buffer_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_BUFFER_ALIGN; }
    2917             : int fd_bpf_upgradeable_loader_state_buffer_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2918             : void * fd_bpf_upgradeable_loader_state_buffer_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2919             : 
    2920           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) ); }
    2921             : int fd_bpf_upgradeable_loader_state_program_encode( fd_bpf_upgradeable_loader_state_program_t const * self, fd_bincode_encode_ctx_t * ctx );
    2922             : 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 );
    2923           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_size( fd_bpf_upgradeable_loader_state_program_t const * self ) { (void)self; return 32UL; }
    2924           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_ALIGN; }
    2925           0 : static inline int fd_bpf_upgradeable_loader_state_program_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2926           0 :   *total_sz += sizeof(fd_bpf_upgradeable_loader_state_program_t);
    2927           0 :   if( (ulong)ctx->data + 32UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2928           0 :   return 0;
    2929           0 : }
    2930             : void * fd_bpf_upgradeable_loader_state_program_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2931             : 
    2932             : void fd_bpf_upgradeable_loader_state_program_data_new( fd_bpf_upgradeable_loader_state_program_data_t * self );
    2933             : 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 );
    2934             : 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 );
    2935             : ulong fd_bpf_upgradeable_loader_state_program_data_size( fd_bpf_upgradeable_loader_state_program_data_t const * self );
    2936           0 : static inline ulong fd_bpf_upgradeable_loader_state_program_data_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_PROGRAM_DATA_ALIGN; }
    2937             : int fd_bpf_upgradeable_loader_state_program_data_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2938             : void * fd_bpf_upgradeable_loader_state_program_data_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2939             : 
    2940             : void fd_bpf_upgradeable_loader_state_new_disc( fd_bpf_upgradeable_loader_state_t * self, uint discriminant );
    2941             : void fd_bpf_upgradeable_loader_state_new( fd_bpf_upgradeable_loader_state_t * self );
    2942             : int fd_bpf_upgradeable_loader_state_encode( fd_bpf_upgradeable_loader_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    2943             : 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 );
    2944             : ulong fd_bpf_upgradeable_loader_state_size( fd_bpf_upgradeable_loader_state_t const * self );
    2945           0 : static inline ulong fd_bpf_upgradeable_loader_state_align( void ) { return FD_BPF_UPGRADEABLE_LOADER_STATE_ALIGN; }
    2946             : int fd_bpf_upgradeable_loader_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2947             : void * fd_bpf_upgradeable_loader_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2948             : 
    2949             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_uninitialized( fd_bpf_upgradeable_loader_state_t const * self );
    2950             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_buffer( fd_bpf_upgradeable_loader_state_t const * self );
    2951             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program( fd_bpf_upgradeable_loader_state_t const * self );
    2952             : FD_FN_PURE uchar fd_bpf_upgradeable_loader_state_is_program_data( fd_bpf_upgradeable_loader_state_t const * self );
    2953             : enum {
    2954             : fd_bpf_upgradeable_loader_state_enum_uninitialized = 0,
    2955             : fd_bpf_upgradeable_loader_state_enum_buffer = 1,
    2956             : fd_bpf_upgradeable_loader_state_enum_program = 2,
    2957             : fd_bpf_upgradeable_loader_state_enum_program_data = 3,
    2958             : };
    2959           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) ); }
    2960             : int fd_loader_v4_state_encode( fd_loader_v4_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    2961             : 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 );
    2962           0 : static inline ulong fd_loader_v4_state_size( fd_loader_v4_state_t const * self ) { (void)self; return 48UL; }
    2963           0 : static inline ulong fd_loader_v4_state_align( void ) { return FD_LOADER_V4_STATE_ALIGN; }
    2964           0 : static inline int fd_loader_v4_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    2965           0 :   *total_sz += sizeof(fd_loader_v4_state_t);
    2966           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    2967           0 :   return 0;
    2968           0 : }
    2969             : void * fd_loader_v4_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2970             : 
    2971             : void fd_frozen_hash_status_new( fd_frozen_hash_status_t * self );
    2972             : int fd_frozen_hash_status_encode( fd_frozen_hash_status_t const * self, fd_bincode_encode_ctx_t * ctx );
    2973             : 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 );
    2974           0 : static inline ulong fd_frozen_hash_status_size( fd_frozen_hash_status_t const * self ) { (void)self; return 33UL; }
    2975           0 : static inline ulong fd_frozen_hash_status_align( void ) { return FD_FROZEN_HASH_STATUS_ALIGN; }
    2976             : int fd_frozen_hash_status_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2977             : void * fd_frozen_hash_status_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2978             : 
    2979             : void fd_frozen_hash_versioned_new_disc( fd_frozen_hash_versioned_t * self, uint discriminant );
    2980             : void fd_frozen_hash_versioned_new( fd_frozen_hash_versioned_t * self );
    2981             : int fd_frozen_hash_versioned_encode( fd_frozen_hash_versioned_t const * self, fd_bincode_encode_ctx_t * ctx );
    2982             : 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 );
    2983             : ulong fd_frozen_hash_versioned_size( fd_frozen_hash_versioned_t const * self );
    2984           0 : static inline ulong fd_frozen_hash_versioned_align( void ) { return FD_FROZEN_HASH_VERSIONED_ALIGN; }
    2985             : int fd_frozen_hash_versioned_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2986             : void * fd_frozen_hash_versioned_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2987             : 
    2988             : FD_FN_PURE uchar fd_frozen_hash_versioned_is_current( fd_frozen_hash_versioned_t const * self );
    2989             : enum {
    2990             : fd_frozen_hash_versioned_enum_current = 0,
    2991             : };
    2992             : void fd_lookup_table_meta_new( fd_lookup_table_meta_t * self );
    2993             : int fd_lookup_table_meta_encode( fd_lookup_table_meta_t const * self, fd_bincode_encode_ctx_t * ctx );
    2994             : 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 );
    2995             : ulong fd_lookup_table_meta_size( fd_lookup_table_meta_t const * self );
    2996           0 : static inline ulong fd_lookup_table_meta_align( void ) { return FD_LOOKUP_TABLE_META_ALIGN; }
    2997             : int fd_lookup_table_meta_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    2998             : void * fd_lookup_table_meta_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    2999             : 
    3000             : void fd_address_lookup_table_new( fd_address_lookup_table_t * self );
    3001             : int fd_address_lookup_table_encode( fd_address_lookup_table_t const * self, fd_bincode_encode_ctx_t * ctx );
    3002             : 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 );
    3003             : ulong fd_address_lookup_table_size( fd_address_lookup_table_t const * self );
    3004           0 : static inline ulong fd_address_lookup_table_align( void ) { return FD_ADDRESS_LOOKUP_TABLE_ALIGN; }
    3005             : int fd_address_lookup_table_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3006             : void * fd_address_lookup_table_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3007             : 
    3008             : void fd_address_lookup_table_state_new_disc( fd_address_lookup_table_state_t * self, uint discriminant );
    3009             : void fd_address_lookup_table_state_new( fd_address_lookup_table_state_t * self );
    3010             : int fd_address_lookup_table_state_encode( fd_address_lookup_table_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3011             : 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 );
    3012             : ulong fd_address_lookup_table_state_size( fd_address_lookup_table_state_t const * self );
    3013           0 : static inline ulong fd_address_lookup_table_state_align( void ) { return FD_ADDRESS_LOOKUP_TABLE_STATE_ALIGN; }
    3014             : int fd_address_lookup_table_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3015             : void * fd_address_lookup_table_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3016             : 
    3017             : FD_FN_PURE uchar fd_address_lookup_table_state_is_uninitialized( fd_address_lookup_table_state_t const * self );
    3018             : FD_FN_PURE uchar fd_address_lookup_table_state_is_lookup_table( fd_address_lookup_table_state_t const * self );
    3019             : enum {
    3020             : fd_address_lookup_table_state_enum_uninitialized = 0,
    3021             : fd_address_lookup_table_state_enum_lookup_table = 1,
    3022             : };
    3023           0 : static inline void fd_addrlut_create_new( fd_addrlut_create_t * self ) { fd_memset( self, 0, sizeof(fd_addrlut_create_t) ); }
    3024             : int fd_addrlut_create_encode( fd_addrlut_create_t const * self, fd_bincode_encode_ctx_t * ctx );
    3025             : 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 );
    3026           0 : static inline ulong fd_addrlut_create_size( fd_addrlut_create_t const * self ) { (void)self; return 9UL; }
    3027           0 : static inline ulong fd_addrlut_create_align( void ) { return FD_ADDRLUT_CREATE_ALIGN; }
    3028           0 : static inline int fd_addrlut_create_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3029           0 :   *total_sz += sizeof(fd_addrlut_create_t);
    3030           0 :   if( (ulong)ctx->data + 9UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3031           0 :   return 0;
    3032           0 : }
    3033             : void * fd_addrlut_create_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3034             : 
    3035             : void fd_addrlut_extend_new( fd_addrlut_extend_t * self );
    3036             : int fd_addrlut_extend_encode( fd_addrlut_extend_t const * self, fd_bincode_encode_ctx_t * ctx );
    3037             : 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 );
    3038             : ulong fd_addrlut_extend_size( fd_addrlut_extend_t const * self );
    3039           0 : static inline ulong fd_addrlut_extend_align( void ) { return FD_ADDRLUT_EXTEND_ALIGN; }
    3040             : int fd_addrlut_extend_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3041             : void * fd_addrlut_extend_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3042             : 
    3043             : void fd_addrlut_instruction_new_disc( fd_addrlut_instruction_t * self, uint discriminant );
    3044             : void fd_addrlut_instruction_new( fd_addrlut_instruction_t * self );
    3045             : int fd_addrlut_instruction_encode( fd_addrlut_instruction_t const * self, fd_bincode_encode_ctx_t * ctx );
    3046             : 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 );
    3047             : ulong fd_addrlut_instruction_size( fd_addrlut_instruction_t const * self );
    3048           0 : static inline ulong fd_addrlut_instruction_align( void ) { return FD_ADDRLUT_INSTRUCTION_ALIGN; }
    3049             : int fd_addrlut_instruction_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3050             : void * fd_addrlut_instruction_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3051             : 
    3052             : FD_FN_PURE uchar fd_addrlut_instruction_is_create_lut( fd_addrlut_instruction_t const * self );
    3053             : FD_FN_PURE uchar fd_addrlut_instruction_is_freeze_lut( fd_addrlut_instruction_t const * self );
    3054             : FD_FN_PURE uchar fd_addrlut_instruction_is_extend_lut( fd_addrlut_instruction_t const * self );
    3055             : FD_FN_PURE uchar fd_addrlut_instruction_is_deactivate_lut( fd_addrlut_instruction_t const * self );
    3056             : FD_FN_PURE uchar fd_addrlut_instruction_is_close_lut( fd_addrlut_instruction_t const * self );
    3057             : enum {
    3058             : fd_addrlut_instruction_enum_create_lut = 0,
    3059             : fd_addrlut_instruction_enum_freeze_lut = 1,
    3060             : fd_addrlut_instruction_enum_extend_lut = 2,
    3061             : fd_addrlut_instruction_enum_deactivate_lut = 3,
    3062             : fd_addrlut_instruction_enum_close_lut = 4,
    3063             : };
    3064           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) ); }
    3065             : int fd_calculated_stake_points_encode( fd_calculated_stake_points_t const * self, fd_bincode_encode_ctx_t * ctx );
    3066             : 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 );
    3067           0 : static inline ulong fd_calculated_stake_points_size( fd_calculated_stake_points_t const * self ) { (void)self; return 25UL; }
    3068           0 : static inline ulong fd_calculated_stake_points_align( void ) { return FD_CALCULATED_STAKE_POINTS_ALIGN; }
    3069           0 : static inline int fd_calculated_stake_points_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3070           0 :   *total_sz += sizeof(fd_calculated_stake_points_t);
    3071           0 :   if( (ulong)ctx->data + 25UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3072           0 :   return 0;
    3073           0 : }
    3074             : void * fd_calculated_stake_points_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3075             : 
    3076           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) ); }
    3077             : int fd_calculated_stake_rewards_encode( fd_calculated_stake_rewards_t const * self, fd_bincode_encode_ctx_t * ctx );
    3078             : 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 );
    3079           0 : static inline ulong fd_calculated_stake_rewards_size( fd_calculated_stake_rewards_t const * self ) { (void)self; return 24UL; }
    3080           0 : static inline ulong fd_calculated_stake_rewards_align( void ) { return FD_CALCULATED_STAKE_REWARDS_ALIGN; }
    3081           0 : static inline int fd_calculated_stake_rewards_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3082           0 :   *total_sz += sizeof(fd_calculated_stake_rewards_t);
    3083           0 :   if( (ulong)ctx->data + 24UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3084           0 :   return 0;
    3085           0 : }
    3086             : void * fd_calculated_stake_rewards_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3087             : 
    3088           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) ); }
    3089             : int fd_usage_cost_details_encode( fd_usage_cost_details_t const * self, fd_bincode_encode_ctx_t * ctx );
    3090             : 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 );
    3091           0 : static inline ulong fd_usage_cost_details_size( fd_usage_cost_details_t const * self ) { (void)self; return 48UL; }
    3092           0 : static inline ulong fd_usage_cost_details_align( void ) { return FD_USAGE_COST_DETAILS_ALIGN; }
    3093           0 : static inline int fd_usage_cost_details_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3094           0 :   *total_sz += sizeof(fd_usage_cost_details_t);
    3095           0 :   if( (ulong)ctx->data + 48UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3096           0 :   return 0;
    3097           0 : }
    3098             : void * fd_usage_cost_details_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3099             : 
    3100             : void fd_transaction_cost_new_disc( fd_transaction_cost_t * self, uint discriminant );
    3101             : void fd_transaction_cost_new( fd_transaction_cost_t * self );
    3102             : int fd_transaction_cost_encode( fd_transaction_cost_t const * self, fd_bincode_encode_ctx_t * ctx );
    3103             : 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 );
    3104             : ulong fd_transaction_cost_size( fd_transaction_cost_t const * self );
    3105           0 : static inline ulong fd_transaction_cost_align( void ) { return FD_TRANSACTION_COST_ALIGN; }
    3106             : int fd_transaction_cost_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3107             : void * fd_transaction_cost_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3108             : 
    3109             : FD_FN_PURE uchar fd_transaction_cost_is_simple_vote( fd_transaction_cost_t const * self );
    3110             : FD_FN_PURE uchar fd_transaction_cost_is_transaction( fd_transaction_cost_t const * self );
    3111             : enum {
    3112             : fd_transaction_cost_enum_simple_vote = 0,
    3113             : fd_transaction_cost_enum_transaction = 1,
    3114             : };
    3115           0 : static inline void fd_rent_paying_new( fd_rent_paying_t * self ) { fd_memset( self, 0, sizeof(fd_rent_paying_t) ); }
    3116             : int fd_rent_paying_encode( fd_rent_paying_t const * self, fd_bincode_encode_ctx_t * ctx );
    3117             : 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 );
    3118           0 : static inline ulong fd_rent_paying_size( fd_rent_paying_t const * self ) { (void)self; return 16UL; }
    3119           0 : static inline ulong fd_rent_paying_align( void ) { return FD_RENT_PAYING_ALIGN; }
    3120           0 : static inline int fd_rent_paying_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz ) {
    3121           0 :   *total_sz += sizeof(fd_rent_paying_t);
    3122           0 :   if( (ulong)ctx->data + 16UL > (ulong)ctx->dataend ) { return FD_BINCODE_ERR_OVERFLOW; };
    3123           0 :   return 0;
    3124           0 : }
    3125             : void * fd_rent_paying_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3126             : 
    3127             : void fd_rent_state_new_disc( fd_rent_state_t * self, uint discriminant );
    3128             : void fd_rent_state_new( fd_rent_state_t * self );
    3129             : int fd_rent_state_encode( fd_rent_state_t const * self, fd_bincode_encode_ctx_t * ctx );
    3130             : 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 );
    3131             : ulong fd_rent_state_size( fd_rent_state_t const * self );
    3132           0 : static inline ulong fd_rent_state_align( void ) { return FD_RENT_STATE_ALIGN; }
    3133             : int fd_rent_state_decode_footprint( fd_bincode_decode_ctx_t * ctx, ulong * total_sz );
    3134             : void * fd_rent_state_decode( void * mem, fd_bincode_decode_ctx_t * ctx );
    3135             : 
    3136             : FD_FN_PURE uchar fd_rent_state_is_uninitialized( fd_rent_state_t const * self );
    3137             : FD_FN_PURE uchar fd_rent_state_is_rent_paying( fd_rent_state_t const * self );
    3138             : FD_FN_PURE uchar fd_rent_state_is_rent_exempt( fd_rent_state_t const * self );
    3139             : enum {
    3140             : fd_rent_state_enum_uninitialized = 0,
    3141             : fd_rent_state_enum_rent_paying = 1,
    3142             : fd_rent_state_enum_rent_exempt = 2,
    3143             : };
    3144             : FD_PROTOTYPES_END
    3145             : 
    3146             : #endif // HEADER_FD_RUNTIME_TYPES

Generated by: LCOV version 1.14