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_TXN_PB_H_INCLUDED
5 : #define PB_ORG_SOLANA_SEALEVEL_V1_TXN_PB_H_INCLUDED
6 :
7 : #include "../../../../third_party/nanopb/pb_firedancer.h"
8 : #include "context.pb.h"
9 : #include "metadata.pb.h"
10 :
11 : #if PB_PROTO_HEADER_VERSION != 40
12 : #error Regenerate this file with the current version of nanopb generator.
13 : #endif
14 :
15 : /* Enum definitions */
16 : /* Transaction message version */
17 : typedef enum fd_exec_test_transaction_version {
18 : FD_EXEC_TEST_TRANSACTION_VERSION_TRANSACTION_VERSION_V0 = 0,
19 : FD_EXEC_TEST_TRANSACTION_VERSION_TRANSACTION_VERSION_LEGACY = 1,
20 : FD_EXEC_TEST_TRANSACTION_VERSION_TRANSACTION_VERSION_V1 = 2
21 : } fd_exec_test_transaction_version_t;
22 :
23 : /* Struct definitions */
24 : /* Message header contains the counts of required readonly and signatures */
25 : typedef struct fd_exec_test_message_header {
26 : uint32_t num_required_signatures;
27 : uint32_t num_readonly_signed_accounts;
28 : uint32_t num_readonly_unsigned_accounts;
29 : } fd_exec_test_message_header_t;
30 :
31 : /* The instruction a transaction executes */
32 : typedef struct fd_exec_test_compiled_instruction {
33 : /* Index into the message pubkey array */
34 : uint32_t program_id_index;
35 : /* Indexes into the message pubkey array */
36 : pb_size_t accounts_count;
37 : uint32_t *accounts;
38 : pb_bytes_array_t *data;
39 : } fd_exec_test_compiled_instruction_t;
40 :
41 : /* List of address table lookups used to load additional accounts for a transaction */
42 : typedef struct fd_exec_test_message_address_table_lookup {
43 : pb_byte_t account_key[32];
44 : pb_size_t writable_indexes_count;
45 : uint32_t *writable_indexes;
46 : pb_size_t readonly_indexes_count;
47 : uint32_t *readonly_indexes;
48 : } fd_exec_test_message_address_table_lookup_t;
49 :
50 : /* Transaction V1 configuration */
51 : typedef struct fd_exec_test_transaction_config {
52 : /* Mask bits 0 and 1 (8 bytes, little-endian). */
53 : bool has_priority_fee;
54 : uint64_t priority_fee;
55 : /* Mask bit 2 (4 bytes, little-endian). */
56 : bool has_compute_unit_limit;
57 : uint32_t compute_unit_limit;
58 : /* Mask bit 3 (4 bytes, little-endian). */
59 : bool has_loaded_accounts_data_size_limit;
60 : uint32_t loaded_accounts_data_size_limit;
61 : /* Mask bit 4 (4 bytes, little-endian). Must be a multiple of 1024 in [32 KiB, 256 KiB]. */
62 : bool has_heap_size;
63 : uint32_t heap_size;
64 : } fd_exec_test_transaction_config_t;
65 :
66 : /* Message contains the transaction data */
67 : typedef struct fd_exec_test_transaction_message {
68 : bool has_header;
69 : fd_exec_test_message_header_t header;
70 : /* Vector of pubkeys */
71 : pb_size_t account_keys_count;
72 : pb_bytes_array_t **account_keys;
73 : /* Recent blockhash provided in message */
74 : pb_byte_t recent_blockhash[32];
75 : /* The instructions this transaction executes */
76 : pb_size_t instructions_count;
77 : struct fd_exec_test_compiled_instruction *instructions;
78 : /* Not available in legacy message */
79 : pb_size_t address_table_lookups_count;
80 : struct fd_exec_test_message_address_table_lookup *address_table_lookups;
81 : /* The message version */
82 : fd_exec_test_transaction_version_t version;
83 : /* Transaction V1 configuration. Ignored for non-V1 transactions. */
84 : bool has_v1_config;
85 : fd_exec_test_transaction_config_t v1_config;
86 : } fd_exec_test_transaction_message_t;
87 :
88 : /* A valid verified transaction */
89 : typedef struct fd_exec_test_sanitized_transaction {
90 : /* The transaction information */
91 : bool has_message;
92 : fd_exec_test_transaction_message_t message;
93 : /* The message hash */
94 : pb_byte_t message_hash[32];
95 : /* The signatures needed in the transaction */
96 : pb_size_t signatures_count;
97 : pb_bytes_array_t **signatures;
98 : } fd_exec_test_sanitized_transaction_t;
99 :
100 : /* Bank fields relevant to transaction execution */
101 : typedef struct fd_exec_test_txn_bank {
102 : /* Up to 300 (actually 301) most recent blockhashes (ordered from oldest to newest) */
103 : pb_size_t blockhash_queue_count;
104 : struct fd_exec_test_blockhash_queue_entry *blockhash_queue;
105 : uint32_t rbh_lamports_per_signature;
106 : bool has_fee_rate_governor;
107 : fd_exec_test_fee_rate_governor_t fee_rate_governor;
108 : uint64_t total_epoch_stake;
109 : bool has_features;
110 : fd_exec_test_feature_set_t features;
111 : } fd_exec_test_txn_bank_t;
112 :
113 : /* This Transaction context be used to fuzz either `load_execute_and_commit_transactions`,
114 : `load_and_execute_transactions` in `bank.rs` or `load_and_execute_sanitized_transactions`
115 : in `svm/transaction_processor.rs` */
116 : typedef struct fd_exec_test_txn_context {
117 : /* The transaction data */
118 : bool has_tx;
119 : fd_exec_test_sanitized_transaction_t tx;
120 : /* Data associated with transaction accounts, sysvars, etc. */
121 : pb_size_t account_shared_data_count;
122 : struct fd_exec_test_acct_state *account_shared_data;
123 : /* Bank fields for the transaction fuzzer */
124 : bool has_bank;
125 : fd_exec_test_txn_bank_t bank;
126 : } fd_exec_test_txn_context_t;
127 :
128 : typedef struct fd_exec_test_fee_details {
129 : uint64_t transaction_fee;
130 : uint64_t prioritization_fee;
131 : } fd_exec_test_fee_details_t;
132 :
133 : /* The execution results for a transaction */
134 : typedef struct fd_exec_test_txn_result {
135 : /* Whether this transaction was executed */
136 : bool executed;
137 : /* The transaction status (error code) */
138 : uint32_t txn_error;
139 : /* The instruction error, if any */
140 : uint32_t instruction_error;
141 : /* The instruction error index, if any */
142 : uint32_t instruction_error_index;
143 : /* Custom error, if any */
144 : uint32_t custom_error;
145 : /* Number of executed compute units */
146 : uint64_t executed_units;
147 : /* The collected fees in this transaction */
148 : bool has_fee_details;
149 : fd_exec_test_fee_details_t fee_details;
150 : /* Loaded accounts data size */
151 : uint64_t loaded_accounts_data_size;
152 : pb_size_t modified_accounts_count;
153 : struct fd_exec_test_acct_state *modified_accounts;
154 : pb_size_t rollback_accounts_count;
155 : struct fd_exec_test_acct_state *rollback_accounts;
156 : /* 8-byte XXH64 hash (seed 0) of the transaction return data, or 0 if empty. */
157 : uint64_t return_data_hash;
158 : } fd_exec_test_txn_result_t;
159 :
160 : /* Txn fixtures */
161 : typedef struct fd_exec_test_txn_fixture {
162 : bool has_metadata;
163 : fd_exec_test_fixture_metadata_t metadata;
164 : /* Context */
165 : bool has_input;
166 : fd_exec_test_txn_context_t input;
167 : /* Effects */
168 : bool has_output;
169 : fd_exec_test_txn_result_t output;
170 : } fd_exec_test_txn_fixture_t;
171 :
172 :
173 : #ifdef __cplusplus
174 : extern "C" {
175 : #endif
176 :
177 : /* Helper constants for enums */
178 0 : #define _FD_EXEC_TEST_TRANSACTION_VERSION_MIN FD_EXEC_TEST_TRANSACTION_VERSION_TRANSACTION_VERSION_V0
179 : #define _FD_EXEC_TEST_TRANSACTION_VERSION_MAX FD_EXEC_TEST_TRANSACTION_VERSION_TRANSACTION_VERSION_V1
180 : #define _FD_EXEC_TEST_TRANSACTION_VERSION_ARRAYSIZE ((fd_exec_test_transaction_version_t)(FD_EXEC_TEST_TRANSACTION_VERSION_TRANSACTION_VERSION_V1+1))
181 :
182 :
183 :
184 :
185 :
186 : #define fd_exec_test_transaction_message_t_version_ENUMTYPE fd_exec_test_transaction_version_t
187 :
188 :
189 :
190 :
191 :
192 :
193 :
194 :
195 : /* Initializer values for message structs */
196 0 : #define FD_EXEC_TEST_MESSAGE_HEADER_INIT_DEFAULT {0, 0, 0}
197 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_INIT_DEFAULT {0, 0, NULL, NULL}
198 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_INIT_DEFAULT {{0}, 0, NULL, 0, NULL}
199 0 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_INIT_DEFAULT {false, 0, false, 0, false, 0, false, 0}
200 0 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_INIT_DEFAULT {false, FD_EXEC_TEST_MESSAGE_HEADER_INIT_DEFAULT, 0, NULL, {0}, 0, NULL, 0, NULL, _FD_EXEC_TEST_TRANSACTION_VERSION_MIN, false, FD_EXEC_TEST_TRANSACTION_CONFIG_INIT_DEFAULT}
201 0 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_INIT_DEFAULT {false, FD_EXEC_TEST_TRANSACTION_MESSAGE_INIT_DEFAULT, {0}, 0, NULL}
202 0 : #define FD_EXEC_TEST_TXN_BANK_INIT_DEFAULT {0, NULL, 0, false, FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_DEFAULT, 0, false, FD_EXEC_TEST_FEATURE_SET_INIT_DEFAULT}
203 0 : #define FD_EXEC_TEST_TXN_CONTEXT_INIT_DEFAULT {false, FD_EXEC_TEST_SANITIZED_TRANSACTION_INIT_DEFAULT, 0, NULL, false, FD_EXEC_TEST_TXN_BANK_INIT_DEFAULT}
204 : #define FD_EXEC_TEST_FEE_DETAILS_INIT_DEFAULT {0, 0}
205 : #define FD_EXEC_TEST_TXN_RESULT_INIT_DEFAULT {0, 0, 0, 0, 0, 0, false, FD_EXEC_TEST_FEE_DETAILS_INIT_DEFAULT, 0, 0, NULL, 0, NULL, 0}
206 : #define FD_EXEC_TEST_TXN_FIXTURE_INIT_DEFAULT {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_DEFAULT, false, FD_EXEC_TEST_TXN_CONTEXT_INIT_DEFAULT, false, FD_EXEC_TEST_TXN_RESULT_INIT_DEFAULT}
207 0 : #define FD_EXEC_TEST_MESSAGE_HEADER_INIT_ZERO {0, 0, 0}
208 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_INIT_ZERO {0, 0, NULL, NULL}
209 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_INIT_ZERO {{0}, 0, NULL, 0, NULL}
210 0 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_INIT_ZERO {false, 0, false, 0, false, 0, false, 0}
211 0 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_INIT_ZERO {false, FD_EXEC_TEST_MESSAGE_HEADER_INIT_ZERO, 0, NULL, {0}, 0, NULL, 0, NULL, _FD_EXEC_TEST_TRANSACTION_VERSION_MIN, false, FD_EXEC_TEST_TRANSACTION_CONFIG_INIT_ZERO}
212 0 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_INIT_ZERO {false, FD_EXEC_TEST_TRANSACTION_MESSAGE_INIT_ZERO, {0}, 0, NULL}
213 : #define FD_EXEC_TEST_TXN_BANK_INIT_ZERO {0, NULL, 0, false, FD_EXEC_TEST_FEE_RATE_GOVERNOR_INIT_ZERO, 0, false, FD_EXEC_TEST_FEATURE_SET_INIT_ZERO}
214 : #define FD_EXEC_TEST_TXN_CONTEXT_INIT_ZERO {false, FD_EXEC_TEST_SANITIZED_TRANSACTION_INIT_ZERO, 0, NULL, false, FD_EXEC_TEST_TXN_BANK_INIT_ZERO}
215 : #define FD_EXEC_TEST_FEE_DETAILS_INIT_ZERO {0, 0}
216 : #define FD_EXEC_TEST_TXN_RESULT_INIT_ZERO {0, 0, 0, 0, 0, 0, false, FD_EXEC_TEST_FEE_DETAILS_INIT_ZERO, 0, 0, NULL, 0, NULL, 0}
217 : #define FD_EXEC_TEST_TXN_FIXTURE_INIT_ZERO {false, FD_EXEC_TEST_FIXTURE_METADATA_INIT_ZERO, false, FD_EXEC_TEST_TXN_CONTEXT_INIT_ZERO, false, FD_EXEC_TEST_TXN_RESULT_INIT_ZERO}
218 :
219 : /* Field tags (for use in manual encoding/decoding) */
220 : #define FD_EXEC_TEST_MESSAGE_HEADER_NUM_REQUIRED_SIGNATURES_TAG 1
221 : #define FD_EXEC_TEST_MESSAGE_HEADER_NUM_READONLY_SIGNED_ACCOUNTS_TAG 2
222 : #define FD_EXEC_TEST_MESSAGE_HEADER_NUM_READONLY_UNSIGNED_ACCOUNTS_TAG 3
223 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_PROGRAM_ID_INDEX_TAG 1
224 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_ACCOUNTS_TAG 2
225 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_DATA_TAG 3
226 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_ACCOUNT_KEY_TAG 1
227 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_WRITABLE_INDEXES_TAG 2
228 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_READONLY_INDEXES_TAG 3
229 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_PRIORITY_FEE_TAG 1
230 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_COMPUTE_UNIT_LIMIT_TAG 2
231 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_LOADED_ACCOUNTS_DATA_SIZE_LIMIT_TAG 3
232 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_HEAP_SIZE_TAG 4
233 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_HEADER_TAG 2
234 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_ACCOUNT_KEYS_TAG 3
235 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_RECENT_BLOCKHASH_TAG 5
236 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_INSTRUCTIONS_TAG 6
237 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_ADDRESS_TABLE_LOOKUPS_TAG 7
238 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_VERSION_TAG 8
239 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_V1_CONFIG_TAG 9
240 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_MESSAGE_TAG 1
241 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_MESSAGE_HASH_TAG 2
242 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_SIGNATURES_TAG 4
243 : #define FD_EXEC_TEST_TXN_BANK_BLOCKHASH_QUEUE_TAG 1
244 : #define FD_EXEC_TEST_TXN_BANK_RBH_LAMPORTS_PER_SIGNATURE_TAG 2
245 : #define FD_EXEC_TEST_TXN_BANK_FEE_RATE_GOVERNOR_TAG 3
246 : #define FD_EXEC_TEST_TXN_BANK_TOTAL_EPOCH_STAKE_TAG 4
247 : #define FD_EXEC_TEST_TXN_BANK_FEATURES_TAG 7
248 : #define FD_EXEC_TEST_TXN_CONTEXT_TX_TAG 1
249 : #define FD_EXEC_TEST_TXN_CONTEXT_ACCOUNT_SHARED_DATA_TAG 2
250 : #define FD_EXEC_TEST_TXN_CONTEXT_BANK_TAG 6
251 : #define FD_EXEC_TEST_FEE_DETAILS_TRANSACTION_FEE_TAG 1
252 : #define FD_EXEC_TEST_FEE_DETAILS_PRIORITIZATION_FEE_TAG 2
253 : #define FD_EXEC_TEST_TXN_RESULT_EXECUTED_TAG 1
254 : #define FD_EXEC_TEST_TXN_RESULT_TXN_ERROR_TAG 6
255 : #define FD_EXEC_TEST_TXN_RESULT_INSTRUCTION_ERROR_TAG 7
256 : #define FD_EXEC_TEST_TXN_RESULT_INSTRUCTION_ERROR_INDEX_TAG 8
257 : #define FD_EXEC_TEST_TXN_RESULT_CUSTOM_ERROR_TAG 9
258 : #define FD_EXEC_TEST_TXN_RESULT_EXECUTED_UNITS_TAG 11
259 : #define FD_EXEC_TEST_TXN_RESULT_FEE_DETAILS_TAG 12
260 : #define FD_EXEC_TEST_TXN_RESULT_LOADED_ACCOUNTS_DATA_SIZE_TAG 13
261 : #define FD_EXEC_TEST_TXN_RESULT_MODIFIED_ACCOUNTS_TAG 14
262 : #define FD_EXEC_TEST_TXN_RESULT_ROLLBACK_ACCOUNTS_TAG 15
263 : #define FD_EXEC_TEST_TXN_RESULT_RETURN_DATA_HASH_TAG 16
264 : #define FD_EXEC_TEST_TXN_FIXTURE_METADATA_TAG 1
265 : #define FD_EXEC_TEST_TXN_FIXTURE_INPUT_TAG 2
266 : #define FD_EXEC_TEST_TXN_FIXTURE_OUTPUT_TAG 3
267 :
268 : /* Struct field encoding specification for nanopb */
269 : #define FD_EXEC_TEST_MESSAGE_HEADER_FIELDLIST(X, a) \
270 : X(a, STATIC, SINGULAR, UINT32, num_required_signatures, 1) \
271 : X(a, STATIC, SINGULAR, UINT32, num_readonly_signed_accounts, 2) \
272 : X(a, STATIC, SINGULAR, UINT32, num_readonly_unsigned_accounts, 3)
273 : #define FD_EXEC_TEST_MESSAGE_HEADER_CALLBACK NULL
274 : #define FD_EXEC_TEST_MESSAGE_HEADER_DEFAULT NULL
275 :
276 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_FIELDLIST(X, a) \
277 : X(a, STATIC, SINGULAR, UINT32, program_id_index, 1) \
278 : X(a, POINTER, REPEATED, UINT32, accounts, 2) \
279 : X(a, POINTER, SINGULAR, BYTES, data, 3)
280 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_CALLBACK NULL
281 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_DEFAULT NULL
282 :
283 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_FIELDLIST(X, a) \
284 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, account_key, 1) \
285 : X(a, POINTER, REPEATED, UINT32, writable_indexes, 2) \
286 : X(a, POINTER, REPEATED, UINT32, readonly_indexes, 3)
287 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_CALLBACK NULL
288 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_DEFAULT NULL
289 :
290 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_FIELDLIST(X, a) \
291 : X(a, STATIC, OPTIONAL, UINT64, priority_fee, 1) \
292 : X(a, STATIC, OPTIONAL, UINT32, compute_unit_limit, 2) \
293 : X(a, STATIC, OPTIONAL, UINT32, loaded_accounts_data_size_limit, 3) \
294 : X(a, STATIC, OPTIONAL, UINT32, heap_size, 4)
295 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_CALLBACK NULL
296 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_DEFAULT NULL
297 :
298 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_FIELDLIST(X, a) \
299 : X(a, STATIC, OPTIONAL, MESSAGE, header, 2) \
300 : X(a, POINTER, REPEATED, BYTES, account_keys, 3) \
301 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, recent_blockhash, 5) \
302 : X(a, POINTER, REPEATED, MESSAGE, instructions, 6) \
303 : X(a, POINTER, REPEATED, MESSAGE, address_table_lookups, 7) \
304 : X(a, STATIC, SINGULAR, UENUM, version, 8) \
305 : X(a, STATIC, OPTIONAL, MESSAGE, v1_config, 9)
306 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_CALLBACK NULL
307 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_DEFAULT NULL
308 : #define fd_exec_test_transaction_message_t_header_MSGTYPE fd_exec_test_message_header_t
309 : #define fd_exec_test_transaction_message_t_instructions_MSGTYPE fd_exec_test_compiled_instruction_t
310 : #define fd_exec_test_transaction_message_t_address_table_lookups_MSGTYPE fd_exec_test_message_address_table_lookup_t
311 : #define fd_exec_test_transaction_message_t_v1_config_MSGTYPE fd_exec_test_transaction_config_t
312 :
313 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_FIELDLIST(X, a) \
314 : X(a, STATIC, OPTIONAL, MESSAGE, message, 1) \
315 : X(a, STATIC, SINGULAR, FIXED_LENGTH_BYTES, message_hash, 2) \
316 : X(a, POINTER, REPEATED, BYTES, signatures, 4)
317 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_CALLBACK NULL
318 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_DEFAULT NULL
319 : #define fd_exec_test_sanitized_transaction_t_message_MSGTYPE fd_exec_test_transaction_message_t
320 :
321 : #define FD_EXEC_TEST_TXN_BANK_FIELDLIST(X, a) \
322 : X(a, POINTER, REPEATED, MESSAGE, blockhash_queue, 1) \
323 : X(a, STATIC, SINGULAR, UINT32, rbh_lamports_per_signature, 2) \
324 : X(a, STATIC, OPTIONAL, MESSAGE, fee_rate_governor, 3) \
325 : X(a, STATIC, SINGULAR, UINT64, total_epoch_stake, 4) \
326 : X(a, STATIC, OPTIONAL, MESSAGE, features, 7)
327 : #define FD_EXEC_TEST_TXN_BANK_CALLBACK NULL
328 : #define FD_EXEC_TEST_TXN_BANK_DEFAULT NULL
329 : #define fd_exec_test_txn_bank_t_blockhash_queue_MSGTYPE fd_exec_test_blockhash_queue_entry_t
330 : #define fd_exec_test_txn_bank_t_fee_rate_governor_MSGTYPE fd_exec_test_fee_rate_governor_t
331 : #define fd_exec_test_txn_bank_t_features_MSGTYPE fd_exec_test_feature_set_t
332 :
333 : #define FD_EXEC_TEST_TXN_CONTEXT_FIELDLIST(X, a) \
334 : X(a, STATIC, OPTIONAL, MESSAGE, tx, 1) \
335 : X(a, POINTER, REPEATED, MESSAGE, account_shared_data, 2) \
336 : X(a, STATIC, OPTIONAL, MESSAGE, bank, 6)
337 : #define FD_EXEC_TEST_TXN_CONTEXT_CALLBACK NULL
338 : #define FD_EXEC_TEST_TXN_CONTEXT_DEFAULT NULL
339 : #define fd_exec_test_txn_context_t_tx_MSGTYPE fd_exec_test_sanitized_transaction_t
340 : #define fd_exec_test_txn_context_t_account_shared_data_MSGTYPE fd_exec_test_acct_state_t
341 : #define fd_exec_test_txn_context_t_bank_MSGTYPE fd_exec_test_txn_bank_t
342 :
343 : #define FD_EXEC_TEST_FEE_DETAILS_FIELDLIST(X, a) \
344 : X(a, STATIC, SINGULAR, UINT64, transaction_fee, 1) \
345 : X(a, STATIC, SINGULAR, UINT64, prioritization_fee, 2)
346 : #define FD_EXEC_TEST_FEE_DETAILS_CALLBACK NULL
347 : #define FD_EXEC_TEST_FEE_DETAILS_DEFAULT NULL
348 :
349 : #define FD_EXEC_TEST_TXN_RESULT_FIELDLIST(X, a) \
350 : X(a, STATIC, SINGULAR, BOOL, executed, 1) \
351 : X(a, STATIC, SINGULAR, UINT32, txn_error, 6) \
352 : X(a, STATIC, SINGULAR, UINT32, instruction_error, 7) \
353 : X(a, STATIC, SINGULAR, UINT32, instruction_error_index, 8) \
354 : X(a, STATIC, SINGULAR, UINT32, custom_error, 9) \
355 : X(a, STATIC, SINGULAR, UINT64, executed_units, 11) \
356 : X(a, STATIC, OPTIONAL, MESSAGE, fee_details, 12) \
357 : X(a, STATIC, SINGULAR, UINT64, loaded_accounts_data_size, 13) \
358 : X(a, POINTER, REPEATED, MESSAGE, modified_accounts, 14) \
359 : X(a, POINTER, REPEATED, MESSAGE, rollback_accounts, 15) \
360 : X(a, STATIC, SINGULAR, FIXED64, return_data_hash, 16)
361 : #define FD_EXEC_TEST_TXN_RESULT_CALLBACK NULL
362 : #define FD_EXEC_TEST_TXN_RESULT_DEFAULT NULL
363 : #define fd_exec_test_txn_result_t_fee_details_MSGTYPE fd_exec_test_fee_details_t
364 : #define fd_exec_test_txn_result_t_modified_accounts_MSGTYPE fd_exec_test_acct_state_t
365 : #define fd_exec_test_txn_result_t_rollback_accounts_MSGTYPE fd_exec_test_acct_state_t
366 :
367 : #define FD_EXEC_TEST_TXN_FIXTURE_FIELDLIST(X, a) \
368 : X(a, STATIC, OPTIONAL, MESSAGE, metadata, 1) \
369 : X(a, STATIC, OPTIONAL, MESSAGE, input, 2) \
370 : X(a, STATIC, OPTIONAL, MESSAGE, output, 3)
371 : #define FD_EXEC_TEST_TXN_FIXTURE_CALLBACK NULL
372 : #define FD_EXEC_TEST_TXN_FIXTURE_DEFAULT NULL
373 : #define fd_exec_test_txn_fixture_t_metadata_MSGTYPE fd_exec_test_fixture_metadata_t
374 : #define fd_exec_test_txn_fixture_t_input_MSGTYPE fd_exec_test_txn_context_t
375 : #define fd_exec_test_txn_fixture_t_output_MSGTYPE fd_exec_test_txn_result_t
376 :
377 : extern const pb_msgdesc_t fd_exec_test_message_header_t_msg;
378 : extern const pb_msgdesc_t fd_exec_test_compiled_instruction_t_msg;
379 : extern const pb_msgdesc_t fd_exec_test_message_address_table_lookup_t_msg;
380 : extern const pb_msgdesc_t fd_exec_test_transaction_config_t_msg;
381 : extern const pb_msgdesc_t fd_exec_test_transaction_message_t_msg;
382 : extern const pb_msgdesc_t fd_exec_test_sanitized_transaction_t_msg;
383 : extern const pb_msgdesc_t fd_exec_test_txn_bank_t_msg;
384 : extern const pb_msgdesc_t fd_exec_test_txn_context_t_msg;
385 : extern const pb_msgdesc_t fd_exec_test_fee_details_t_msg;
386 : extern const pb_msgdesc_t fd_exec_test_txn_result_t_msg;
387 : extern const pb_msgdesc_t fd_exec_test_txn_fixture_t_msg;
388 :
389 : /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
390 : #define FD_EXEC_TEST_MESSAGE_HEADER_FIELDS &fd_exec_test_message_header_t_msg
391 : #define FD_EXEC_TEST_COMPILED_INSTRUCTION_FIELDS &fd_exec_test_compiled_instruction_t_msg
392 : #define FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_FIELDS &fd_exec_test_message_address_table_lookup_t_msg
393 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_FIELDS &fd_exec_test_transaction_config_t_msg
394 : #define FD_EXEC_TEST_TRANSACTION_MESSAGE_FIELDS &fd_exec_test_transaction_message_t_msg
395 : #define FD_EXEC_TEST_SANITIZED_TRANSACTION_FIELDS &fd_exec_test_sanitized_transaction_t_msg
396 : #define FD_EXEC_TEST_TXN_BANK_FIELDS &fd_exec_test_txn_bank_t_msg
397 0 : #define FD_EXEC_TEST_TXN_CONTEXT_FIELDS &fd_exec_test_txn_context_t_msg
398 : #define FD_EXEC_TEST_FEE_DETAILS_FIELDS &fd_exec_test_fee_details_t_msg
399 : #define FD_EXEC_TEST_TXN_RESULT_FIELDS &fd_exec_test_txn_result_t_msg
400 0 : #define FD_EXEC_TEST_TXN_FIXTURE_FIELDS &fd_exec_test_txn_fixture_t_msg
401 :
402 : /* Maximum encoded size of messages (where known) */
403 : /* fd_exec_test_CompiledInstruction_size depends on runtime parameters */
404 : /* fd_exec_test_MessageAddressTableLookup_size depends on runtime parameters */
405 : /* fd_exec_test_TransactionMessage_size depends on runtime parameters */
406 : /* fd_exec_test_SanitizedTransaction_size depends on runtime parameters */
407 : /* fd_exec_test_TxnBank_size depends on runtime parameters */
408 : /* fd_exec_test_TxnContext_size depends on runtime parameters */
409 : /* fd_exec_test_TxnResult_size depends on runtime parameters */
410 : /* fd_exec_test_TxnFixture_size depends on runtime parameters */
411 : #define FD_EXEC_TEST_FEE_DETAILS_SIZE 22
412 : #define FD_EXEC_TEST_MESSAGE_HEADER_SIZE 18
413 : #define FD_EXEC_TEST_TRANSACTION_CONFIG_SIZE 29
414 : #define ORG_SOLANA_SEALEVEL_V1_TXN_PB_H_MAX_SIZE FD_EXEC_TEST_TRANSACTION_CONFIG_SIZE
415 :
416 : /* Mapping from canonical names (mangle_names or overridden package name) */
417 : #define org_solana_sealevel_v1_TransactionVersion fd_exec_test_TransactionVersion
418 : #define org_solana_sealevel_v1_MessageHeader fd_exec_test_MessageHeader
419 : #define org_solana_sealevel_v1_CompiledInstruction fd_exec_test_CompiledInstruction
420 : #define org_solana_sealevel_v1_MessageAddressTableLookup fd_exec_test_MessageAddressTableLookup
421 : #define org_solana_sealevel_v1_TransactionConfig fd_exec_test_TransactionConfig
422 : #define org_solana_sealevel_v1_TransactionMessage fd_exec_test_TransactionMessage
423 : #define org_solana_sealevel_v1_SanitizedTransaction fd_exec_test_SanitizedTransaction
424 : #define org_solana_sealevel_v1_TxnBank fd_exec_test_TxnBank
425 : #define org_solana_sealevel_v1_TxnContext fd_exec_test_TxnContext
426 : #define org_solana_sealevel_v1_FeeDetails fd_exec_test_FeeDetails
427 : #define org_solana_sealevel_v1_TxnResult fd_exec_test_TxnResult
428 : #define org_solana_sealevel_v1_TxnFixture fd_exec_test_TxnFixture
429 : #define _ORG_SOLANA_SEALEVEL_V1_TRANSACTION_VERSION_MIN _FD_EXEC_TEST_TRANSACTION_VERSION_MIN
430 : #define _ORG_SOLANA_SEALEVEL_V1_TRANSACTION_VERSION_MAX _FD_EXEC_TEST_TRANSACTION_VERSION_MAX
431 : #define _ORG_SOLANA_SEALEVEL_V1_TRANSACTION_VERSION_ARRAYSIZE _FD_EXEC_TEST_TRANSACTION_VERSION_ARRAYSIZE
432 : #define ORG_SOLANA_SEALEVEL_V1_MESSAGE_HEADER_INIT_DEFAULT FD_EXEC_TEST_MESSAGE_HEADER_INIT_DEFAULT
433 : #define ORG_SOLANA_SEALEVEL_V1_COMPILED_INSTRUCTION_INIT_DEFAULT FD_EXEC_TEST_COMPILED_INSTRUCTION_INIT_DEFAULT
434 : #define ORG_SOLANA_SEALEVEL_V1_MESSAGE_ADDRESS_TABLE_LOOKUP_INIT_DEFAULT FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_INIT_DEFAULT
435 : #define ORG_SOLANA_SEALEVEL_V1_TRANSACTION_CONFIG_INIT_DEFAULT FD_EXEC_TEST_TRANSACTION_CONFIG_INIT_DEFAULT
436 : #define ORG_SOLANA_SEALEVEL_V1_TRANSACTION_MESSAGE_INIT_DEFAULT FD_EXEC_TEST_TRANSACTION_MESSAGE_INIT_DEFAULT
437 : #define ORG_SOLANA_SEALEVEL_V1_SANITIZED_TRANSACTION_INIT_DEFAULT FD_EXEC_TEST_SANITIZED_TRANSACTION_INIT_DEFAULT
438 : #define ORG_SOLANA_SEALEVEL_V1_TXN_BANK_INIT_DEFAULT FD_EXEC_TEST_TXN_BANK_INIT_DEFAULT
439 : #define ORG_SOLANA_SEALEVEL_V1_TXN_CONTEXT_INIT_DEFAULT FD_EXEC_TEST_TXN_CONTEXT_INIT_DEFAULT
440 : #define ORG_SOLANA_SEALEVEL_V1_FEE_DETAILS_INIT_DEFAULT FD_EXEC_TEST_FEE_DETAILS_INIT_DEFAULT
441 : #define ORG_SOLANA_SEALEVEL_V1_TXN_RESULT_INIT_DEFAULT FD_EXEC_TEST_TXN_RESULT_INIT_DEFAULT
442 : #define ORG_SOLANA_SEALEVEL_V1_TXN_FIXTURE_INIT_DEFAULT FD_EXEC_TEST_TXN_FIXTURE_INIT_DEFAULT
443 : #define ORG_SOLANA_SEALEVEL_V1_MESSAGE_HEADER_INIT_ZERO FD_EXEC_TEST_MESSAGE_HEADER_INIT_ZERO
444 : #define ORG_SOLANA_SEALEVEL_V1_COMPILED_INSTRUCTION_INIT_ZERO FD_EXEC_TEST_COMPILED_INSTRUCTION_INIT_ZERO
445 : #define ORG_SOLANA_SEALEVEL_V1_MESSAGE_ADDRESS_TABLE_LOOKUP_INIT_ZERO FD_EXEC_TEST_MESSAGE_ADDRESS_TABLE_LOOKUP_INIT_ZERO
446 : #define ORG_SOLANA_SEALEVEL_V1_TRANSACTION_CONFIG_INIT_ZERO FD_EXEC_TEST_TRANSACTION_CONFIG_INIT_ZERO
447 : #define ORG_SOLANA_SEALEVEL_V1_TRANSACTION_MESSAGE_INIT_ZERO FD_EXEC_TEST_TRANSACTION_MESSAGE_INIT_ZERO
448 : #define ORG_SOLANA_SEALEVEL_V1_SANITIZED_TRANSACTION_INIT_ZERO FD_EXEC_TEST_SANITIZED_TRANSACTION_INIT_ZERO
449 : #define ORG_SOLANA_SEALEVEL_V1_TXN_BANK_INIT_ZERO FD_EXEC_TEST_TXN_BANK_INIT_ZERO
450 : #define ORG_SOLANA_SEALEVEL_V1_TXN_CONTEXT_INIT_ZERO FD_EXEC_TEST_TXN_CONTEXT_INIT_ZERO
451 : #define ORG_SOLANA_SEALEVEL_V1_FEE_DETAILS_INIT_ZERO FD_EXEC_TEST_FEE_DETAILS_INIT_ZERO
452 : #define ORG_SOLANA_SEALEVEL_V1_TXN_RESULT_INIT_ZERO FD_EXEC_TEST_TXN_RESULT_INIT_ZERO
453 : #define ORG_SOLANA_SEALEVEL_V1_TXN_FIXTURE_INIT_ZERO FD_EXEC_TEST_TXN_FIXTURE_INIT_ZERO
454 :
455 : #ifdef __cplusplus
456 : } /* extern "C" */
457 : #endif
458 :
459 : #endif
|