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