Line data Source code
1 : /* Automatically generated nanopb header */
2 : /* Generated by nanopb-0.4.9.1 */
3 :
4 : #ifndef PB_ORG_SOLANA_SEALEVEL_V1_CONTEXT_PB_H_INCLUDED
5 : #define PB_ORG_SOLANA_SEALEVEL_V1_CONTEXT_PB_H_INCLUDED
6 :
7 : #include "../../../../ballet/nanopb/pb_firedancer.h"
8 :
9 : #if PB_PROTO_HEADER_VERSION != 40
10 : #error Regenerate this file with the current version of nanopb generator.
11 : #endif
12 :
13 : /* Struct definitions */
14 : /* A set of feature flags. */
15 : typedef struct fd_exec_test_feature_set {
16 : /* Every item in this list marks an enabled feature. The value of
17 : each item is the first 8 bytes of the feature ID as a little-
18 : endian integer. */
19 : pb_size_t features_count;
20 : uint64_t *features;
21 : } fd_exec_test_feature_set_t;
22 :
23 : /* The complete state of an account excluding its public key. */
24 : typedef struct fd_exec_test_acct_state {
25 : /* The account address. (32 bytes) */
26 : pb_byte_t address[32];
27 : uint64_t lamports;
28 : /* Account data is limited to 10 MiB on Solana mainnet as of 2024-Feb. */
29 : pb_bytes_array_t *data;
30 : bool executable;
31 : /* Address of the program that owns this account. (32 bytes) */
32 : pb_byte_t owner[32];
33 : } fd_exec_test_acct_state_t;
34 :
35 : typedef struct fd_exec_test_vote_account {
36 : /* Account state of the vote account */
37 : bool has_vote_account;
38 : fd_exec_test_acct_state_t vote_account;
39 : /* How much stake has been delegated to this account */
40 : uint64_t stake;
41 : } fd_exec_test_vote_account_t;
42 :
43 : /* Epoch bank inflation parameters */
44 : typedef struct fd_exec_test_inflation {
45 : double initial;
46 : double terminal;
47 : double taper;
48 : double foundation;
49 : double foundation_term;
50 : } fd_exec_test_inflation_t;
51 :
52 : /* Fee rate governor parameters */
53 : typedef struct fd_exec_test_fee_rate_governor {
54 : uint64_t target_lamports_per_signature;
55 : uint64_t target_signatures_per_slot;
56 : uint64_t min_lamports_per_signature;
57 : uint64_t max_lamports_per_signature;
58 : uint32_t burn_percent;
59 : } fd_exec_test_fee_rate_governor_t;
60 :
61 : /* EpochContext includes context scoped to an epoch.
62 : On "real" ledgers, it is created during the epoch boundary. */
63 : typedef struct fd_exec_test_epoch_context {
64 : /* Active feature set */
65 : bool has_features;
66 : fd_exec_test_feature_set_t features;
67 : /* Hashes per tick */
68 : uint64_t hashes_per_tick;
69 : /* Ticks per slot */
70 : uint64_t ticks_per_slot;
71 : /* Slots per year */
72 : double slots_per_year;
73 : /* Inflation */
74 : bool has_inflation;
75 : fd_exec_test_inflation_t inflation;
76 : /* Genesis creation time */
77 : uint64_t genesis_creation_time;
78 : /* Epoch vote accounts for epochs T-1 and T-2 */
79 : pb_size_t vote_accounts_t_1_count;
80 : struct fd_exec_test_vote_account *vote_accounts_t_1;
81 : pb_size_t vote_accounts_t_2_count;
82 : struct fd_exec_test_vote_account *vote_accounts_t_2;
83 : } fd_exec_test_epoch_context_t;
84 :
85 : /* SlotContext includes context scoped to a block.
86 : On "real" ledgers, it is created during the slot boundary. */
87 : typedef struct fd_exec_test_slot_context {
88 : /* Current slot number */
89 : uint64_t slot;
90 : uint64_t block_height;
91 : /* POH hash */
92 : pb_byte_t poh[32];
93 : /* Parent bank hash */
94 : pb_byte_t parent_bank_hash[32];
95 : /* Parent lt hash */
96 : pb_byte_t parent_lthash[2048];
97 : /* The last executed slot */
98 : uint64_t prev_slot;
99 : /* Last slot lamports per signature */
100 : uint64_t prev_lps;
101 : /* Previous slot's capitalization.
102 : TODO: I was very smart and named this incorrectly. This should be fixed in the future. */
103 : uint64_t prev_epoch_capitalization;
104 : /* Fee rate governor */
105 : bool has_fee_rate_governor;
106 : fd_exec_test_fee_rate_governor_t fee_rate_governor;
107 : /* Parent signature count (used for fee rate governor) */
108 : uint64_t parent_signature_count;
109 : } fd_exec_test_slot_context_t;
110 :
111 :
112 : #ifdef __cplusplus
113 : extern "C" {
114 : #endif
115 :
116 : /* Initializer values for message structs */
117 0 : #define FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT {0, NULL}
118 : #define FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT {{0}, 0, NULL, 0, {0}}
119 : #define FD_EXEC_TEST_VOTE_ACCOUNT_INIT_DEFAULT {false, FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT, 0}
120 0 : #define FD_EXEC_TEST_INFLATION_INIT_DEFAULT {0, 0, 0, 0, 0}
121 0 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT {0, 0, 0, 0, 0}
122 0 : #define FD_EXEC_TEST_EPOCH_CONTEXT_INIT_DEFAULT {false, FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT, 0, 0, 0, false, FD_EXEC_TEST_INFLATION_INIT_DEFAULT, 0, 0, NULL, 0, NULL}
123 0 : #define FD_EXEC_TEST_SLOT_CONTEXT_INIT_DEFAULT {0, 0, {0}, {0}, {0}, 0, 0, 0, false, FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT, 0}
124 0 : #define FD_EXEC_TEST_FEATURE_SET_INIT_ZERO {0, NULL}
125 : #define FD_EXEC_TEST_ACCT_STATE_INIT_ZERO {{0}, 0, NULL, 0, {0}}
126 : #define FD_EXEC_TEST_VOTE_ACCOUNT_INIT_ZERO {false, FD_EXEC_TEST_ACCT_STATE_INIT_ZERO, 0}
127 0 : #define FD_EXEC_TEST_INFLATION_INIT_ZERO {0, 0, 0, 0, 0}
128 0 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO {0, 0, 0, 0, 0}
129 0 : #define FD_EXEC_TEST_EPOCH_CONTEXT_INIT_ZERO {false, FD_EXEC_TEST_FEATURE_SET_INIT_ZERO, 0, 0, 0, false, FD_EXEC_TEST_INFLATION_INIT_ZERO, 0, 0, NULL, 0, NULL}
130 0 : #define FD_EXEC_TEST_SLOT_CONTEXT_INIT_ZERO {0, 0, {0}, {0}, {0}, 0, 0, 0, false, FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO, 0}
131 :
132 : /* Field tags (for use in manual encoding/decoding) */
133 : #define FD_EXEC_TEST_FEATURE_SET_FEATURES_TAG 1
134 : #define FD_EXEC_TEST_ACCT_STATE_ADDRESS_TAG 1
135 : #define FD_EXEC_TEST_ACCT_STATE_LAMPORTS_TAG 2
136 : #define FD_EXEC_TEST_ACCT_STATE_DATA_TAG 3
137 : #define FD_EXEC_TEST_ACCT_STATE_EXECUTABLE_TAG 4
138 : #define FD_EXEC_TEST_ACCT_STATE_OWNER_TAG 6
139 : #define FD_EXEC_TEST_VOTE_ACCOUNT_VOTE_ACCOUNT_TAG 1
140 : #define FD_EXEC_TEST_VOTE_ACCOUNT_STAKE_TAG 2
141 : #define FD_EXEC_TEST_INFLATION_INITIAL_TAG 1
142 : #define FD_EXEC_TEST_INFLATION_TERMINAL_TAG 2
143 : #define FD_EXEC_TEST_INFLATION_TAPER_TAG 3
144 : #define FD_EXEC_TEST_INFLATION_FOUNDATION_TAG 4
145 : #define FD_EXEC_TEST_INFLATION_FOUNDATION_TERM_TAG 5
146 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_TARGET_LAMPORTS_PER_SIGNATURE_TAG 1
147 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_TARGET_SIGNATURES_PER_SLOT_TAG 2
148 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_MIN_LAMPORTS_PER_SIGNATURE_TAG 3
149 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_MAX_LAMPORTS_PER_SIGNATURE_TAG 4
150 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_BURN_PERCENT_TAG 5
151 : #define FD_EXEC_TEST_EPOCH_CONTEXT_FEATURES_TAG 1
152 : #define FD_EXEC_TEST_EPOCH_CONTEXT_HASHES_PER_TICK_TAG 2
153 : #define FD_EXEC_TEST_EPOCH_CONTEXT_TICKS_PER_SLOT_TAG 3
154 : #define FD_EXEC_TEST_EPOCH_CONTEXT_SLOTS_PER_YEAR_TAG 4
155 : #define FD_EXEC_TEST_EPOCH_CONTEXT_INFLATION_TAG 5
156 : #define FD_EXEC_TEST_EPOCH_CONTEXT_GENESIS_CREATION_TIME_TAG 6
157 : #define FD_EXEC_TEST_EPOCH_CONTEXT_VOTE_ACCOUNTS_T_1_TAG 11
158 : #define FD_EXEC_TEST_EPOCH_CONTEXT_VOTE_ACCOUNTS_T_2_TAG 12
159 : #define FD_EXEC_TEST_SLOT_CONTEXT_SLOT_TAG 1
160 : #define FD_EXEC_TEST_SLOT_CONTEXT_BLOCK_HEIGHT_TAG 2
161 : #define FD_EXEC_TEST_SLOT_CONTEXT_POH_TAG 3
162 : #define FD_EXEC_TEST_SLOT_CONTEXT_PARENT_BANK_HASH_TAG 4
163 : #define FD_EXEC_TEST_SLOT_CONTEXT_PARENT_LTHASH_TAG 5
164 : #define FD_EXEC_TEST_SLOT_CONTEXT_PREV_SLOT_TAG 6
165 : #define FD_EXEC_TEST_SLOT_CONTEXT_PREV_LPS_TAG 7
166 : #define FD_EXEC_TEST_SLOT_CONTEXT_PREV_EPOCH_CAPITALIZATION_TAG 8
167 : #define FD_EXEC_TEST_SLOT_CONTEXT_FEE_RATE_GOVERNOR_TAG 9
168 : #define FD_EXEC_TEST_SLOT_CONTEXT_PARENT_SIGNATURE_COUNT_TAG 10
169 :
170 : /* Struct field encoding specification for nanopb */
171 : #define FD_EXEC_TEST_FEATURE_SET_FIELDLIST(X, a) \
172 : X(a, POINTER, REPEATED, FIXED64, features, 1)
173 : #define FD_EXEC_TEST_FEATURE_SET_CALLBACK NULL
174 : #define FD_EXEC_TEST_FEATURE_SET_DEFAULT NULL
175 :
176 : #define FD_EXEC_TEST_ACCT_STATE_FIELDLIST(X, a) \
177 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, address, 1) \
178 : X(a, STATIC, SINGULAR, UINT64, lamports, 2) \
179 : X(a, POINTER, SINGULAR, BYTES, data, 3) \
180 : X(a, STATIC, SINGULAR, BOOL, executable, 4) \
181 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, owner, 6)
182 : #define FD_EXEC_TEST_ACCT_STATE_CALLBACK NULL
183 : #define FD_EXEC_TEST_ACCT_STATE_DEFAULT NULL
184 :
185 : #define FD_EXEC_TEST_VOTE_ACCOUNT_FIELDLIST(X, a) \
186 : X(a, STATIC, OPTIONAL, MESSAGE, vote_account, 1) \
187 : X(a, STATIC, SINGULAR, UINT64, stake, 2)
188 : #define FD_EXEC_TEST_VOTE_ACCOUNT_CALLBACK NULL
189 : #define FD_EXEC_TEST_VOTE_ACCOUNT_DEFAULT NULL
190 : #define fd_exec_test_vote_account_t_vote_account_MSGTYPE fd_exec_test_acct_state_t
191 :
192 : #define FD_EXEC_TEST_INFLATION_FIELDLIST(X, a) \
193 : X(a, STATIC, SINGULAR, DOUBLE, initial, 1) \
194 : X(a, STATIC, SINGULAR, DOUBLE, terminal, 2) \
195 : X(a, STATIC, SINGULAR, DOUBLE, taper, 3) \
196 : X(a, STATIC, SINGULAR, DOUBLE, foundation, 4) \
197 : X(a, STATIC, SINGULAR, DOUBLE, foundation_term, 5)
198 : #define FD_EXEC_TEST_INFLATION_CALLBACK NULL
199 : #define FD_EXEC_TEST_INFLATION_DEFAULT NULL
200 :
201 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_FIELDLIST(X, a) \
202 : X(a, STATIC, SINGULAR, UINT64, target_lamports_per_signature, 1) \
203 : X(a, STATIC, SINGULAR, UINT64, target_signatures_per_slot, 2) \
204 : X(a, STATIC, SINGULAR, UINT64, min_lamports_per_signature, 3) \
205 : X(a, STATIC, SINGULAR, UINT64, max_lamports_per_signature, 4) \
206 : X(a, STATIC, SINGULAR, UINT32, burn_percent, 5)
207 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_CALLBACK NULL
208 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_DEFAULT NULL
209 :
210 : #define FD_EXEC_TEST_EPOCH_CONTEXT_FIELDLIST(X, a) \
211 : X(a, STATIC, OPTIONAL, MESSAGE, features, 1) \
212 : X(a, STATIC, SINGULAR, UINT64, hashes_per_tick, 2) \
213 : X(a, STATIC, SINGULAR, UINT64, ticks_per_slot, 3) \
214 : X(a, STATIC, SINGULAR, DOUBLE, slots_per_year, 4) \
215 : X(a, STATIC, OPTIONAL, MESSAGE, inflation, 5) \
216 : X(a, STATIC, SINGULAR, UINT64, genesis_creation_time, 6) \
217 : X(a, POINTER, REPEATED, MESSAGE, vote_accounts_t_1, 11) \
218 : X(a, POINTER, REPEATED, MESSAGE, vote_accounts_t_2, 12)
219 : #define FD_EXEC_TEST_EPOCH_CONTEXT_CALLBACK NULL
220 : #define FD_EXEC_TEST_EPOCH_CONTEXT_DEFAULT NULL
221 : #define fd_exec_test_epoch_context_t_features_MSGTYPE fd_exec_test_feature_set_t
222 : #define fd_exec_test_epoch_context_t_inflation_MSGTYPE fd_exec_test_inflation_t
223 : #define fd_exec_test_epoch_context_t_vote_accounts_t_1_MSGTYPE fd_exec_test_vote_account_t
224 : #define fd_exec_test_epoch_context_t_vote_accounts_t_2_MSGTYPE fd_exec_test_vote_account_t
225 :
226 : #define FD_EXEC_TEST_SLOT_CONTEXT_FIELDLIST(X, a) \
227 : X(a, STATIC, SINGULAR, FIXED64, slot, 1) \
228 : X(a, STATIC, SINGULAR, FIXED64, block_height, 2) \
229 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, poh, 3) \
230 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, parent_bank_hash, 4) \
231 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, parent_lthash, 5) \
232 : X(a, STATIC, SINGULAR, FIXED64, prev_slot, 6) \
233 : X(a, STATIC, SINGULAR, UINT64, prev_lps, 7) \
234 : X(a, STATIC, SINGULAR, UINT64, prev_epoch_capitalization, 8) \
235 : X(a, STATIC, OPTIONAL, MESSAGE, fee_rate_governor, 9) \
236 : X(a, STATIC, SINGULAR, UINT64, parent_signature_count, 10)
237 : #define FD_EXEC_TEST_SLOT_CONTEXT_CALLBACK NULL
238 : #define FD_EXEC_TEST_SLOT_CONTEXT_DEFAULT NULL
239 : #define fd_exec_test_slot_context_t_fee_rate_governor_MSGTYPE fd_exec_test_fee_rate_governor_t
240 :
241 : extern const pb_msgdesc_t fd_exec_test_feature_set_t_msg;
242 : extern const pb_msgdesc_t fd_exec_test_acct_state_t_msg;
243 : extern const pb_msgdesc_t fd_exec_test_vote_account_t_msg;
244 : extern const pb_msgdesc_t fd_exec_test_inflation_t_msg;
245 : extern const pb_msgdesc_t fd_exec_test_fee_rate_governor_t_msg;
246 : extern const pb_msgdesc_t fd_exec_test_epoch_context_t_msg;
247 : extern const pb_msgdesc_t fd_exec_test_slot_context_t_msg;
248 :
249 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
250 : #define FD_EXEC_TEST_FEATURE_SET_FIELDS &fd_exec_test_feature_set_t_msg
251 : #define FD_EXEC_TEST_ACCT_STATE_FIELDS &fd_exec_test_acct_state_t_msg
252 : #define FD_EXEC_TEST_VOTE_ACCOUNT_FIELDS &fd_exec_test_vote_account_t_msg
253 : #define FD_EXEC_TEST_INFLATION_FIELDS &fd_exec_test_inflation_t_msg
254 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_FIELDS &fd_exec_test_fee_rate_governor_t_msg
255 : #define FD_EXEC_TEST_EPOCH_CONTEXT_FIELDS &fd_exec_test_epoch_context_t_msg
256 : #define FD_EXEC_TEST_SLOT_CONTEXT_FIELDS &fd_exec_test_slot_context_t_msg
257 :
258 : /* Maximum encoded size of messages (where known) */
259 : /* fd_exec_test_FeatureSet_size depends on runtime parameters */
260 : /* fd_exec_test_AcctState_size depends on runtime parameters */
261 : /* fd_exec_test_VoteAccount_size depends on runtime parameters */
262 : /* fd_exec_test_EpochContext_size depends on runtime parameters */
263 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_SIZE 50
264 : #define FD_EXEC_TEST_INFLATION_SIZE 45
265 : #define FD_EXEC_TEST_SLOT_CONTEXT_SIZE 2231
266 : #define ORG_SOLANA_SEALEVEL_V1_CONTEXT_PB_H_MAX_SIZE FD_EXEC_TEST_SLOT_CONTEXT_SIZE
267 :
268 : /* Mapping from canonical names (mangle_names or overridden package name) */
269 : #define org_solana_sealevel_v1_FeatureSet fd_exec_test_FeatureSet
270 : #define org_solana_sealevel_v1_AcctState fd_exec_test_AcctState
271 : #define org_solana_sealevel_v1_VoteAccount fd_exec_test_VoteAccount
272 : #define org_solana_sealevel_v1_Inflation fd_exec_test_Inflation
273 : #define org_solana_sealevel_v1_FeeRateGovernor fd_exec_test_FeeRateGovernor
274 : #define org_solana_sealevel_v1_EpochContext fd_exec_test_EpochContext
275 : #define org_solana_sealevel_v1_SlotContext fd_exec_test_SlotContext
276 : #define ORG_SOLANA_SEALEVEL_V1_FEATURE_SET_INIT_DEFAULT FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT
277 : #define ORG_SOLANA_SEALEVEL_V1_ACCT_STATE_INIT_DEFAULT FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT
278 : #define ORG_SOLANA_SEALEVEL_V1_VOTE_ACCOUNT_INIT_DEFAULT FD_EXEC_TEST_VOTE_ACCOUNT_INIT_DEFAULT
279 : #define ORG_SOLANA_SEALEVEL_V1_INFLATION_INIT_DEFAULT FD_EXEC_TEST_INFLATION_INIT_DEFAULT
280 : #define ORG_SOLANA_SEALEVEL_V1_FEE_RATE_GOVERNOR_INIT_DEFAULT FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT
281 : #define ORG_SOLANA_SEALEVEL_V1_EPOCH_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_EPOCH_CONTEXT_INIT_DEFAULT
282 : #define ORG_SOLANA_SEALEVEL_V1_SLOT_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_SLOT_CONTEXT_INIT_DEFAULT
283 : #define ORG_SOLANA_SEALEVEL_V1_FEATURE_SET_INIT_ZERO FD_EXEC_TEST_FEATURE_SET_INIT_ZERO
284 : #define ORG_SOLANA_SEALEVEL_V1_ACCT_STATE_INIT_ZERO FD_EXEC_TEST_ACCT_STATE_INIT_ZERO
285 : #define ORG_SOLANA_SEALEVEL_V1_VOTE_ACCOUNT_INIT_ZERO FD_EXEC_TEST_VOTE_ACCOUNT_INIT_ZERO
286 : #define ORG_SOLANA_SEALEVEL_V1_INFLATION_INIT_ZERO FD_EXEC_TEST_INFLATION_INIT_ZERO
287 : #define ORG_SOLANA_SEALEVEL_V1_FEE_RATE_GOVERNOR_INIT_ZERO FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO
288 : #define ORG_SOLANA_SEALEVEL_V1_EPOCH_CONTEXT_INIT_ZERO FD_EXEC_TEST_EPOCH_CONTEXT_INIT_ZERO
289 : #define ORG_SOLANA_SEALEVEL_V1_SLOT_CONTEXT_INIT_ZERO FD_EXEC_TEST_SLOT_CONTEXT_INIT_ZERO
290 :
291 : #ifdef __cplusplus
292 : } /* extern "C" */
293 : #endif
294 :
295 : #endif
|