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