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