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