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 : /* Inflation */
72 : bool has_inflation;
73 : fd_exec_test_inflation_t inflation;
74 : /* Genesis creation time */
75 : uint64_t genesis_creation_time;
76 : /* Epoch vote accounts for epochs T-1 and T-2 */
77 : pb_size_t vote_accounts_t_1_count;
78 : struct fd_exec_test_vote_account *vote_accounts_t_1;
79 : pb_size_t vote_accounts_t_2_count;
80 : struct fd_exec_test_vote_account *vote_accounts_t_2;
81 : } fd_exec_test_epoch_context_t;
82 :
83 : /* SlotContext includes context scoped to a block.
84 : On "real" ledgers, it is created during the slot boundary. */
85 : typedef struct fd_exec_test_slot_context {
86 : /* Current slot number */
87 : uint64_t slot;
88 : uint64_t block_height;
89 : /* POH hash */
90 : pb_byte_t poh[32];
91 : /* Parent bank hash */
92 : pb_byte_t parent_bank_hash[32];
93 : /* Parent lt hash */
94 : pb_byte_t parent_lthash[2048];
95 : /* The last executed slot */
96 : uint64_t prev_slot;
97 : /* Last slot lamports per signature */
98 : uint64_t prev_lps;
99 : /* Previous slot's capitalization.
100 : TODO: I was very smart and named this incorrectly. This should be fixed in the future. */
101 : uint64_t prev_epoch_capitalization;
102 : /* Fee rate governor */
103 : bool has_fee_rate_governor;
104 : fd_exec_test_fee_rate_governor_t fee_rate_governor;
105 : /* Parent signature count (used for fee rate governor) */
106 : uint64_t parent_signature_count;
107 : } fd_exec_test_slot_context_t;
108 :
109 :
110 : #ifdef __cplusplus
111 : extern "C" {
112 : #endif
113 :
114 : /* Initializer values for message structs */
115 0 : #define FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT {0, NULL}
116 : #define FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT {{0}, 0, NULL, 0, {0}}
117 : #define FD_EXEC_TEST_VOTE_ACCOUNT_INIT_DEFAULT {false, FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT, 0}
118 0 : #define FD_EXEC_TEST_INFLATION_INIT_DEFAULT {0, 0, 0, 0, 0}
119 0 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT {0, 0, 0, 0, 0}
120 0 : #define FD_EXEC_TEST_EPOCH_CONTEXT_INIT_DEFAULT {false, FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT, 0, 0, false, FD_EXEC_TEST_INFLATION_INIT_DEFAULT, 0, 0, NULL, 0, NULL}
121 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}
122 0 : #define FD_EXEC_TEST_FEATURE_SET_INIT_ZERO {0, NULL}
123 : #define FD_EXEC_TEST_ACCT_STATE_INIT_ZERO {{0}, 0, NULL, 0, {0}}
124 : #define FD_EXEC_TEST_VOTE_ACCOUNT_INIT_ZERO {false, FD_EXEC_TEST_ACCT_STATE_INIT_ZERO, 0}
125 0 : #define FD_EXEC_TEST_INFLATION_INIT_ZERO {0, 0, 0, 0, 0}
126 0 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO {0, 0, 0, 0, 0}
127 0 : #define FD_EXEC_TEST_EPOCH_CONTEXT_INIT_ZERO {false, FD_EXEC_TEST_FEATURE_SET_INIT_ZERO, 0, 0, false, FD_EXEC_TEST_INFLATION_INIT_ZERO, 0, 0, NULL, 0, NULL}
128 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}
129 :
130 : /* Field tags (for use in manual encoding/decoding) */
131 : #define FD_EXEC_TEST_FEATURE_SET_FEATURES_TAG 1
132 : #define FD_EXEC_TEST_ACCT_STATE_ADDRESS_TAG 1
133 : #define FD_EXEC_TEST_ACCT_STATE_LAMPORTS_TAG 2
134 : #define FD_EXEC_TEST_ACCT_STATE_DATA_TAG 3
135 : #define FD_EXEC_TEST_ACCT_STATE_EXECUTABLE_TAG 4
136 : #define FD_EXEC_TEST_ACCT_STATE_OWNER_TAG 6
137 : #define FD_EXEC_TEST_VOTE_ACCOUNT_VOTE_ACCOUNT_TAG 1
138 : #define FD_EXEC_TEST_VOTE_ACCOUNT_STAKE_TAG 2
139 : #define FD_EXEC_TEST_INFLATION_INITIAL_TAG 1
140 : #define FD_EXEC_TEST_INFLATION_TERMINAL_TAG 2
141 : #define FD_EXEC_TEST_INFLATION_TAPER_TAG 3
142 : #define FD_EXEC_TEST_INFLATION_FOUNDATION_TAG 4
143 : #define FD_EXEC_TEST_INFLATION_FOUNDATION_TERM_TAG 5
144 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_TARGET_LAMPORTS_PER_SIGNATURE_TAG 1
145 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_TARGET_SIGNATURES_PER_SLOT_TAG 2
146 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_MIN_LAMPORTS_PER_SIGNATURE_TAG 3
147 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_MAX_LAMPORTS_PER_SIGNATURE_TAG 4
148 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_BURN_PERCENT_TAG 5
149 : #define FD_EXEC_TEST_EPOCH_CONTEXT_FEATURES_TAG 1
150 : #define FD_EXEC_TEST_EPOCH_CONTEXT_HASHES_PER_TICK_TAG 2
151 : #define FD_EXEC_TEST_EPOCH_CONTEXT_TICKS_PER_SLOT_TAG 3
152 : #define FD_EXEC_TEST_EPOCH_CONTEXT_INFLATION_TAG 5
153 : #define FD_EXEC_TEST_EPOCH_CONTEXT_GENESIS_CREATION_TIME_TAG 6
154 : #define FD_EXEC_TEST_EPOCH_CONTEXT_VOTE_ACCOUNTS_T_1_TAG 11
155 : #define FD_EXEC_TEST_EPOCH_CONTEXT_VOTE_ACCOUNTS_T_2_TAG 12
156 : #define FD_EXEC_TEST_SLOT_CONTEXT_SLOT_TAG 1
157 : #define FD_EXEC_TEST_SLOT_CONTEXT_BLOCK_HEIGHT_TAG 2
158 : #define FD_EXEC_TEST_SLOT_CONTEXT_POH_TAG 3
159 : #define FD_EXEC_TEST_SLOT_CONTEXT_PARENT_BANK_HASH_TAG 4
160 : #define FD_EXEC_TEST_SLOT_CONTEXT_PARENT_LTHASH_TAG 5
161 : #define FD_EXEC_TEST_SLOT_CONTEXT_PREV_SLOT_TAG 6
162 : #define FD_EXEC_TEST_SLOT_CONTEXT_PREV_LPS_TAG 7
163 : #define FD_EXEC_TEST_SLOT_CONTEXT_PREV_EPOCH_CAPITALIZATION_TAG 8
164 : #define FD_EXEC_TEST_SLOT_CONTEXT_FEE_RATE_GOVERNOR_TAG 9
165 : #define FD_EXEC_TEST_SLOT_CONTEXT_PARENT_SIGNATURE_COUNT_TAG 10
166 :
167 : /* Struct field encoding specification for nanopb */
168 : #define FD_EXEC_TEST_FEATURE_SET_FIELDLIST(X, a) \
169 : X(a, POINTER, REPEATED, FIXED64, features, 1)
170 : #define FD_EXEC_TEST_FEATURE_SET_CALLBACK NULL
171 : #define FD_EXEC_TEST_FEATURE_SET_DEFAULT NULL
172 :
173 : #define FD_EXEC_TEST_ACCT_STATE_FIELDLIST(X, a) \
174 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, address, 1) \
175 : X(a, STATIC, SINGULAR, UINT64, lamports, 2) \
176 : X(a, POINTER, SINGULAR, BYTES, data, 3) \
177 : X(a, STATIC, SINGULAR, BOOL, executable, 4) \
178 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, owner, 6)
179 : #define FD_EXEC_TEST_ACCT_STATE_CALLBACK NULL
180 : #define FD_EXEC_TEST_ACCT_STATE_DEFAULT NULL
181 :
182 : #define FD_EXEC_TEST_VOTE_ACCOUNT_FIELDLIST(X, a) \
183 : X(a, STATIC, OPTIONAL, MESSAGE, vote_account, 1) \
184 : X(a, STATIC, SINGULAR, UINT64, stake, 2)
185 : #define FD_EXEC_TEST_VOTE_ACCOUNT_CALLBACK NULL
186 : #define FD_EXEC_TEST_VOTE_ACCOUNT_DEFAULT NULL
187 : #define fd_exec_test_vote_account_t_vote_account_MSGTYPE fd_exec_test_acct_state_t
188 :
189 : #define FD_EXEC_TEST_INFLATION_FIELDLIST(X, a) \
190 : X(a, STATIC, SINGULAR, DOUBLE, initial, 1) \
191 : X(a, STATIC, SINGULAR, DOUBLE, terminal, 2) \
192 : X(a, STATIC, SINGULAR, DOUBLE, taper, 3) \
193 : X(a, STATIC, SINGULAR, DOUBLE, foundation, 4) \
194 : X(a, STATIC, SINGULAR, DOUBLE, foundation_term, 5)
195 : #define FD_EXEC_TEST_INFLATION_CALLBACK NULL
196 : #define FD_EXEC_TEST_INFLATION_DEFAULT NULL
197 :
198 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_FIELDLIST(X, a) \
199 : X(a, STATIC, SINGULAR, UINT64, target_lamports_per_signature, 1) \
200 : X(a, STATIC, SINGULAR, UINT64, target_signatures_per_slot, 2) \
201 : X(a, STATIC, SINGULAR, UINT64, min_lamports_per_signature, 3) \
202 : X(a, STATIC, SINGULAR, UINT64, max_lamports_per_signature, 4) \
203 : X(a, STATIC, SINGULAR, UINT32, burn_percent, 5)
204 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_CALLBACK NULL
205 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_DEFAULT NULL
206 :
207 : #define FD_EXEC_TEST_EPOCH_CONTEXT_FIELDLIST(X, a) \
208 : X(a, STATIC, OPTIONAL, MESSAGE, features, 1) \
209 : X(a, STATIC, SINGULAR, UINT64, hashes_per_tick, 2) \
210 : X(a, STATIC, SINGULAR, UINT64, ticks_per_slot, 3) \
211 : X(a, STATIC, OPTIONAL, MESSAGE, inflation, 5) \
212 : X(a, STATIC, SINGULAR, UINT64, genesis_creation_time, 6) \
213 : X(a, POINTER, REPEATED, MESSAGE, vote_accounts_t_1, 11) \
214 : X(a, POINTER, REPEATED, MESSAGE, vote_accounts_t_2, 12)
215 : #define FD_EXEC_TEST_EPOCH_CONTEXT_CALLBACK NULL
216 : #define FD_EXEC_TEST_EPOCH_CONTEXT_DEFAULT NULL
217 : #define fd_exec_test_epoch_context_t_features_MSGTYPE fd_exec_test_feature_set_t
218 : #define fd_exec_test_epoch_context_t_inflation_MSGTYPE fd_exec_test_inflation_t
219 : #define fd_exec_test_epoch_context_t_vote_accounts_t_1_MSGTYPE fd_exec_test_vote_account_t
220 : #define fd_exec_test_epoch_context_t_vote_accounts_t_2_MSGTYPE fd_exec_test_vote_account_t
221 :
222 : #define FD_EXEC_TEST_SLOT_CONTEXT_FIELDLIST(X, a) \
223 : X(a, STATIC, SINGULAR, FIXED64, slot, 1) \
224 : X(a, STATIC, SINGULAR, FIXED64, block_height, 2) \
225 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, poh, 3) \
226 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, parent_bank_hash, 4) \
227 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, parent_lthash, 5) \
228 : X(a, STATIC, SINGULAR, FIXED64, prev_slot, 6) \
229 : X(a, STATIC, SINGULAR, UINT64, prev_lps, 7) \
230 : X(a, STATIC, SINGULAR, UINT64, prev_epoch_capitalization, 8) \
231 : X(a, STATIC, OPTIONAL, MESSAGE, fee_rate_governor, 9) \
232 : X(a, STATIC, SINGULAR, UINT64, parent_signature_count, 10)
233 : #define FD_EXEC_TEST_SLOT_CONTEXT_CALLBACK NULL
234 : #define FD_EXEC_TEST_SLOT_CONTEXT_DEFAULT NULL
235 : #define fd_exec_test_slot_context_t_fee_rate_governor_MSGTYPE fd_exec_test_fee_rate_governor_t
236 :
237 : extern const pb_msgdesc_t fd_exec_test_feature_set_t_msg;
238 : extern const pb_msgdesc_t fd_exec_test_acct_state_t_msg;
239 : extern const pb_msgdesc_t fd_exec_test_vote_account_t_msg;
240 : extern const pb_msgdesc_t fd_exec_test_inflation_t_msg;
241 : extern const pb_msgdesc_t fd_exec_test_fee_rate_governor_t_msg;
242 : extern const pb_msgdesc_t fd_exec_test_epoch_context_t_msg;
243 : extern const pb_msgdesc_t fd_exec_test_slot_context_t_msg;
244 :
245 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
246 : #define FD_EXEC_TEST_FEATURE_SET_FIELDS &fd_exec_test_feature_set_t_msg
247 : #define FD_EXEC_TEST_ACCT_STATE_FIELDS &fd_exec_test_acct_state_t_msg
248 : #define FD_EXEC_TEST_VOTE_ACCOUNT_FIELDS &fd_exec_test_vote_account_t_msg
249 : #define FD_EXEC_TEST_INFLATION_FIELDS &fd_exec_test_inflation_t_msg
250 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_FIELDS &fd_exec_test_fee_rate_governor_t_msg
251 : #define FD_EXEC_TEST_EPOCH_CONTEXT_FIELDS &fd_exec_test_epoch_context_t_msg
252 : #define FD_EXEC_TEST_SLOT_CONTEXT_FIELDS &fd_exec_test_slot_context_t_msg
253 :
254 : /* Maximum encoded size of messages (where known) */
255 : /* fd_exec_test_FeatureSet_size depends on runtime parameters */
256 : /* fd_exec_test_AcctState_size depends on runtime parameters */
257 : /* fd_exec_test_VoteAccount_size depends on runtime parameters */
258 : /* fd_exec_test_EpochContext_size depends on runtime parameters */
259 : #define FD_EXEC_TEST_FEE_RATE_GOVERNOR_SIZE 50
260 : #define FD_EXEC_TEST_INFLATION_SIZE 45
261 : #define FD_EXEC_TEST_SLOT_CONTEXT_SIZE 2231
262 : #define ORG_SOLANA_SEALEVEL_V1_CONTEXT_PB_H_MAX_SIZE FD_EXEC_TEST_SLOT_CONTEXT_SIZE
263 :
264 : /* Mapping from canonical names (mangle_names or overridden package name) */
265 : #define org_solana_sealevel_v1_FeatureSet fd_exec_test_FeatureSet
266 : #define org_solana_sealevel_v1_AcctState fd_exec_test_AcctState
267 : #define org_solana_sealevel_v1_VoteAccount fd_exec_test_VoteAccount
268 : #define org_solana_sealevel_v1_Inflation fd_exec_test_Inflation
269 : #define org_solana_sealevel_v1_FeeRateGovernor fd_exec_test_FeeRateGovernor
270 : #define org_solana_sealevel_v1_EpochContext fd_exec_test_EpochContext
271 : #define org_solana_sealevel_v1_SlotContext fd_exec_test_SlotContext
272 : #define ORG_SOLANA_SEALEVEL_V1_FEATURE_SET_INIT_DEFAULT FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT
273 : #define ORG_SOLANA_SEALEVEL_V1_ACCT_STATE_INIT_DEFAULT FD_EXEC_TEST_ACCT_STATE_INIT_DEFAULT
274 : #define ORG_SOLANA_SEALEVEL_V1_VOTE_ACCOUNT_INIT_DEFAULT FD_EXEC_TEST_VOTE_ACCOUNT_INIT_DEFAULT
275 : #define ORG_SOLANA_SEALEVEL_V1_INFLATION_INIT_DEFAULT FD_EXEC_TEST_INFLATION_INIT_DEFAULT
276 : #define ORG_SOLANA_SEALEVEL_V1_FEE_RATE_GOVERNOR_INIT_DEFAULT FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT
277 : #define ORG_SOLANA_SEALEVEL_V1_EPOCH_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_EPOCH_CONTEXT_INIT_DEFAULT
278 : #define ORG_SOLANA_SEALEVEL_V1_SLOT_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_SLOT_CONTEXT_INIT_DEFAULT
279 : #define ORG_SOLANA_SEALEVEL_V1_FEATURE_SET_INIT_ZERO FD_EXEC_TEST_FEATURE_SET_INIT_ZERO
280 : #define ORG_SOLANA_SEALEVEL_V1_ACCT_STATE_INIT_ZERO FD_EXEC_TEST_ACCT_STATE_INIT_ZERO
281 : #define ORG_SOLANA_SEALEVEL_V1_VOTE_ACCOUNT_INIT_ZERO FD_EXEC_TEST_VOTE_ACCOUNT_INIT_ZERO
282 : #define ORG_SOLANA_SEALEVEL_V1_INFLATION_INIT_ZERO FD_EXEC_TEST_INFLATION_INIT_ZERO
283 : #define ORG_SOLANA_SEALEVEL_V1_FEE_RATE_GOVERNOR_INIT_ZERO FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO
284 : #define ORG_SOLANA_SEALEVEL_V1_EPOCH_CONTEXT_INIT_ZERO FD_EXEC_TEST_EPOCH_CONTEXT_INIT_ZERO
285 : #define ORG_SOLANA_SEALEVEL_V1_SLOT_CONTEXT_INIT_ZERO FD_EXEC_TEST_SLOT_CONTEXT_INIT_ZERO
286 :
287 : #ifdef __cplusplus
288 : } /* extern "C" */
289 : #endif
290 :
291 : #endif
|