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