Line data Source code
1 : /* Automatically generated by fd_pb_gen.py. Do not edit. */
2 :
3 : #include "txn.pb.h"
4 :
5 : static int
6 : fd_exec_test_message_header_encode( fd_pb_encoder_t * enc,
7 0 : void const * msg_ ) {
8 0 : fd_exec_test_message_header_t const * msg = msg_;
9 0 : if( msg->num_required_signatures && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->num_required_signatures ) ) ) return 0;
10 0 : if( msg->num_readonly_signed_accounts && FD_UNLIKELY( !fd_pb_push_uint32( enc, 2U, msg->num_readonly_signed_accounts ) ) ) return 0;
11 0 : if( msg->num_readonly_unsigned_accounts && FD_UNLIKELY( !fd_pb_push_uint32( enc, 3U, msg->num_readonly_unsigned_accounts ) ) ) return 0;
12 0 : return 1;
13 0 : }
14 :
15 : static int
16 : fd_exec_test_message_header_decode( fd_pb_inbuf_t * in,
17 : void * msg_,
18 7647 : fd_spad_t * spad FD_PARAM_UNUSED ) {
19 7647 : fd_exec_test_message_header_t * msg = msg_;
20 23367 : while( fd_pb_inbuf_sz( in ) ) {
21 15724 : fd_pb_tlv_t tlv[1];
22 15724 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
23 15724 : switch( tlv->field_id ) {
24 7557 : case 1:
25 7557 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->num_required_signatures ) ) ) return 0;
26 7557 : break;
27 7557 : case 2:
28 3219 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->num_readonly_signed_accounts ) ) ) return 0;
29 3219 : break;
30 5097 : case 3:
31 5097 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->num_readonly_unsigned_accounts ) ) ) return 0;
32 5097 : break;
33 5097 : default:
34 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
35 0 : break;
36 15724 : }
37 15724 : }
38 7643 : return 1;
39 7647 : }
40 :
41 : fd_pb_msgdesc_t const fd_exec_test_message_header_desc = {
42 : .encode = fd_exec_test_message_header_encode,
43 : .decode = fd_exec_test_message_header_decode
44 : };
45 :
46 : static int
47 : fd_exec_test_compiled_instruction_encode( fd_pb_encoder_t * enc,
48 0 : void const * msg_ ) {
49 0 : fd_exec_test_compiled_instruction_t const * msg = msg_;
50 0 : if( msg->program_id_index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->program_id_index ) ) ) return 0;
51 0 : if( FD_UNLIKELY( !fd_pb_enc_packed( enc, 2U, FD_PB_GEN_UINT32, msg->accounts, msg->accounts_count ) ) ) return 0;
52 0 : if( msg->data && msg->data->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 3U, msg->data->bytes, msg->data->size ) ) ) return 0;
53 0 : return 1;
54 0 : }
55 :
56 : static int
57 : fd_exec_test_compiled_instruction_decode( fd_pb_inbuf_t * in,
58 : void * msg_,
59 21433 : fd_spad_t * spad ) {
60 21433 : fd_exec_test_compiled_instruction_t * msg = msg_;
61 77938 : while( fd_pb_inbuf_sz( in ) ) {
62 56694 : fd_pb_tlv_t tlv[1];
63 56694 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
64 56694 : switch( tlv->field_id ) {
65 21387 : case 1:
66 21387 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->program_id_index ) ) ) return 0;
67 21387 : break;
68 21387 : case 2:
69 16647 : if( FD_UNLIKELY( !fd_pb_dec_repeated( in, tlv, spad, FD_PB_GEN_UINT32, &msg->accounts, &msg->accounts_count ) ) ) return 0;
70 16647 : break;
71 19440 : case 3:
72 19440 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->data ) ) ) return 0;
73 19440 : break;
74 19440 : default:
75 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
76 0 : break;
77 56694 : }
78 56694 : }
79 21244 : return 1;
80 21433 : }
81 :
82 : fd_pb_msgdesc_t const fd_exec_test_compiled_instruction_desc = {
83 : .encode = fd_exec_test_compiled_instruction_encode,
84 : .decode = fd_exec_test_compiled_instruction_decode
85 : };
86 :
87 : static int
88 : fd_exec_test_message_address_table_lookup_encode( fd_pb_encoder_t * enc,
89 0 : void const * msg_ ) {
90 0 : fd_exec_test_message_address_table_lookup_t const * msg = msg_;
91 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->account_key, 32UL ) ) ) return 0;
92 0 : if( FD_UNLIKELY( !fd_pb_enc_packed( enc, 2U, FD_PB_GEN_UINT32, msg->writable_indexes, msg->writable_indexes_count ) ) ) return 0;
93 0 : if( FD_UNLIKELY( !fd_pb_enc_packed( enc, 3U, FD_PB_GEN_UINT32, msg->readonly_indexes, msg->readonly_indexes_count ) ) ) return 0;
94 0 : return 1;
95 0 : }
96 :
97 : static int
98 : fd_exec_test_message_address_table_lookup_decode( fd_pb_inbuf_t * in,
99 : void * msg_,
100 5705 : fd_spad_t * spad ) {
101 5705 : fd_exec_test_message_address_table_lookup_t * msg = msg_;
102 20222 : while( fd_pb_inbuf_sz( in ) ) {
103 14543 : fd_pb_tlv_t tlv[1];
104 14543 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
105 14543 : switch( tlv->field_id ) {
106 5706 : case 1:
107 5706 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->account_key, 32UL ) ) ) return 0;
108 5706 : break;
109 5706 : case 2:
110 4662 : if( FD_UNLIKELY( !fd_pb_dec_repeated( in, tlv, spad, FD_PB_GEN_UINT32, &msg->writable_indexes, &msg->writable_indexes_count ) ) ) return 0;
111 4662 : break;
112 4662 : case 3:
113 4219 : if( FD_UNLIKELY( !fd_pb_dec_repeated( in, tlv, spad, FD_PB_GEN_UINT32, &msg->readonly_indexes, &msg->readonly_indexes_count ) ) ) return 0;
114 4219 : break;
115 4219 : default:
116 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
117 0 : break;
118 14543 : }
119 14543 : }
120 5679 : return 1;
121 5705 : }
122 :
123 : fd_pb_msgdesc_t const fd_exec_test_message_address_table_lookup_desc = {
124 : .encode = fd_exec_test_message_address_table_lookup_encode,
125 : .decode = fd_exec_test_message_address_table_lookup_decode
126 : };
127 :
128 : static int
129 : fd_exec_test_transaction_config_encode( fd_pb_encoder_t * enc,
130 0 : void const * msg_ ) {
131 0 : fd_exec_test_transaction_config_t const * msg = msg_;
132 0 : if( msg->has_priority_fee && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->priority_fee ) ) ) return 0;
133 0 : if( msg->has_compute_unit_limit && FD_UNLIKELY( !fd_pb_push_uint32( enc, 2U, msg->compute_unit_limit ) ) ) return 0;
134 0 : if( msg->has_loaded_accounts_data_size_limit && FD_UNLIKELY( !fd_pb_push_uint32( enc, 3U, msg->loaded_accounts_data_size_limit ) ) ) return 0;
135 0 : if( msg->has_heap_size && FD_UNLIKELY( !fd_pb_push_uint32( enc, 4U, msg->heap_size ) ) ) return 0;
136 0 : return 1;
137 0 : }
138 :
139 : static int
140 : fd_exec_test_transaction_config_decode( fd_pb_inbuf_t * in,
141 : void * msg_,
142 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
143 0 : fd_exec_test_transaction_config_t * msg = msg_;
144 0 : while( fd_pb_inbuf_sz( in ) ) {
145 0 : fd_pb_tlv_t tlv[1];
146 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
147 0 : switch( tlv->field_id ) {
148 0 : case 1:
149 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->priority_fee ) ) ) return 0;
150 0 : msg->has_priority_fee = 1;
151 0 : break;
152 0 : case 2:
153 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->compute_unit_limit ) ) ) return 0;
154 0 : msg->has_compute_unit_limit = 1;
155 0 : break;
156 0 : case 3:
157 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->loaded_accounts_data_size_limit ) ) ) return 0;
158 0 : msg->has_loaded_accounts_data_size_limit = 1;
159 0 : break;
160 0 : case 4:
161 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->heap_size ) ) ) return 0;
162 0 : msg->has_heap_size = 1;
163 0 : break;
164 0 : default:
165 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
166 0 : break;
167 0 : }
168 0 : }
169 0 : return 1;
170 0 : }
171 :
172 : fd_pb_msgdesc_t const fd_exec_test_transaction_config_desc = {
173 : .encode = fd_exec_test_transaction_config_encode,
174 : .decode = fd_exec_test_transaction_config_decode
175 : };
176 :
177 : static int
178 : fd_exec_test_transaction_message_encode( fd_pb_encoder_t * enc,
179 0 : void const * msg_ ) {
180 0 : fd_exec_test_transaction_message_t const * msg = msg_;
181 0 : if( msg->has_header && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_message_header_desc, &msg->header ) ) ) return 0;
182 0 : for( ulong i=0UL; i<msg->account_keys_count; i++ ) {
183 0 : if( FD_UNLIKELY( !fd_pb_enc_bytes_ptr( enc, 3U, msg->account_keys[ i ] ) ) ) return 0;
184 0 : }
185 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 5U, msg->recent_blockhash, 32UL ) ) ) return 0;
186 0 : for( ulong i=0UL; i<msg->instructions_count; i++ ) {
187 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 6U, &fd_exec_test_compiled_instruction_desc, &msg->instructions[ i ] ) ) ) return 0;
188 0 : }
189 0 : for( ulong i=0UL; i<msg->address_table_lookups_count; i++ ) {
190 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 7U, &fd_exec_test_message_address_table_lookup_desc, &msg->address_table_lookups[ i ] ) ) ) return 0;
191 0 : }
192 0 : if( msg->version && FD_UNLIKELY( !fd_pb_push_int64( enc, 8U, (long)msg->version ) ) ) return 0;
193 0 : if( msg->has_v1_config && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 9U, &fd_exec_test_transaction_config_desc, &msg->v1_config ) ) ) return 0;
194 0 : return 1;
195 0 : }
196 :
197 : static int
198 : fd_exec_test_transaction_message_decode( fd_pb_inbuf_t * in,
199 : void * msg_,
200 9057 : fd_spad_t * spad ) {
201 9057 : fd_exec_test_transaction_message_t * msg = msg_;
202 95759 : while( fd_pb_inbuf_sz( in ) ) {
203 86868 : fd_pb_tlv_t tlv[1];
204 86868 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
205 86868 : switch( tlv->field_id ) {
206 7637 : case 2:
207 7637 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_message_header_desc, &msg->header ) ) ) return 0;
208 7637 : msg->has_header = 1;
209 7637 : break;
210 44760 : case 3:
211 44760 : {
212 44760 : fd_pb_bytes_array_t ** ele = fd_pb_dec_grow( spad, &msg->account_keys, &msg->account_keys_count, alignof(fd_pb_bytes_array_t *), sizeof(fd_pb_bytes_array_t *) );
213 44760 : if( FD_UNLIKELY( !ele ) ) return 0;
214 44760 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, ele ) ) ) return 0;
215 44760 : }
216 44760 : break;
217 44760 : case 5:
218 7684 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->recent_blockhash, 32UL ) ) ) return 0;
219 7684 : break;
220 21463 : case 6:
221 21463 : {
222 21463 : void * ele = fd_pb_dec_grow( spad, &msg->instructions, &msg->instructions_count, alignof(fd_exec_test_compiled_instruction_t), sizeof(fd_exec_test_compiled_instruction_t) );
223 21463 : if( FD_UNLIKELY( !ele ) ) return 0;
224 21463 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_compiled_instruction_desc, ele ) ) ) return 0;
225 21463 : }
226 21463 : break;
227 21463 : case 7:
228 5704 : {
229 5704 : void * ele = fd_pb_dec_grow( spad, &msg->address_table_lookups, &msg->address_table_lookups_count, alignof(fd_exec_test_message_address_table_lookup_t), sizeof(fd_exec_test_message_address_table_lookup_t) );
230 5704 : if( FD_UNLIKELY( !ele ) ) return 0;
231 5704 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_message_address_table_lookup_desc, ele ) ) ) return 0;
232 5704 : }
233 5704 : break;
234 5704 : case 8:
235 1706 : if( FD_UNLIKELY( !fd_pb_dec_int32( tlv, (int *)&msg->version ) ) ) return 0;
236 1706 : break;
237 1706 : case 9:
238 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_transaction_config_desc, &msg->v1_config ) ) ) return 0;
239 0 : msg->has_v1_config = 1;
240 0 : break;
241 0 : default:
242 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
243 0 : break;
244 86868 : }
245 86868 : }
246 8891 : return 1;
247 9057 : }
248 :
249 : fd_pb_msgdesc_t const fd_exec_test_transaction_message_desc = {
250 : .encode = fd_exec_test_transaction_message_encode,
251 : .decode = fd_exec_test_transaction_message_decode
252 : };
253 :
254 : static int
255 : fd_exec_test_sanitized_transaction_encode( fd_pb_encoder_t * enc,
256 0 : void const * msg_ ) {
257 0 : fd_exec_test_sanitized_transaction_t const * msg = msg_;
258 0 : if( msg->has_message && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_transaction_message_desc, &msg->message ) ) ) return 0;
259 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->message_hash, 32UL ) ) ) return 0;
260 0 : for( ulong i=0UL; i<msg->signatures_count; i++ ) {
261 0 : if( FD_UNLIKELY( !fd_pb_enc_bytes_ptr( enc, 4U, msg->signatures[ i ] ) ) ) return 0;
262 0 : }
263 0 : return 1;
264 0 : }
265 :
266 : static int
267 : fd_exec_test_sanitized_transaction_decode( fd_pb_inbuf_t * in,
268 : void * msg_,
269 9076 : fd_spad_t * spad ) {
270 9076 : fd_exec_test_sanitized_transaction_t * msg = msg_;
271 47332 : while( fd_pb_inbuf_sz( in ) ) {
272 38306 : fd_pb_tlv_t tlv[1];
273 38306 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
274 38306 : switch( tlv->field_id ) {
275 9025 : case 1:
276 9025 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_transaction_message_desc, &msg->message ) ) ) return 0;
277 9025 : msg->has_message = 1;
278 9025 : break;
279 7693 : case 2:
280 7693 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->message_hash, 32UL ) ) ) return 0;
281 7693 : break;
282 21730 : case 4:
283 21730 : {
284 21730 : fd_pb_bytes_array_t ** ele = fd_pb_dec_grow( spad, &msg->signatures, &msg->signatures_count, alignof(fd_pb_bytes_array_t *), sizeof(fd_pb_bytes_array_t *) );
285 21730 : if( FD_UNLIKELY( !ele ) ) return 0;
286 21730 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, ele ) ) ) return 0;
287 21730 : }
288 21730 : break;
289 21730 : default:
290 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
291 0 : break;
292 38306 : }
293 38306 : }
294 9026 : return 1;
295 9076 : }
296 :
297 : fd_pb_msgdesc_t const fd_exec_test_sanitized_transaction_desc = {
298 : .encode = fd_exec_test_sanitized_transaction_encode,
299 : .decode = fd_exec_test_sanitized_transaction_decode
300 : };
301 :
302 : static int
303 : fd_exec_test_txn_bank_encode( fd_pb_encoder_t * enc,
304 0 : void const * msg_ ) {
305 0 : fd_exec_test_txn_bank_t const * msg = msg_;
306 0 : for( ulong i=0UL; i<msg->blockhash_queue_count; i++ ) {
307 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_blockhash_queue_entry_desc, &msg->blockhash_queue[ i ] ) ) ) return 0;
308 0 : }
309 0 : if( msg->rbh_lamports_per_signature && FD_UNLIKELY( !fd_pb_push_uint32( enc, 2U, msg->rbh_lamports_per_signature ) ) ) return 0;
310 0 : if( msg->has_fee_rate_governor && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_fee_rate_governor_desc, &msg->fee_rate_governor ) ) ) return 0;
311 0 : if( msg->total_epoch_stake && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->total_epoch_stake ) ) ) return 0;
312 0 : if( msg->has_features && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 7U, &fd_exec_test_feature_set_desc, &msg->features ) ) ) return 0;
313 0 : return 1;
314 0 : }
315 :
316 : static int
317 : fd_exec_test_txn_bank_decode( fd_pb_inbuf_t * in,
318 : void * msg_,
319 7719 : fd_spad_t * spad ) {
320 7719 : fd_exec_test_txn_bank_t * msg = msg_;
321 1039051 : while( fd_pb_inbuf_sz( in ) ) {
322 1031290 : fd_pb_tlv_t tlv[1];
323 1031290 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
324 1031290 : switch( tlv->field_id ) {
325 997983 : case 1:
326 997983 : {
327 997983 : void * ele = fd_pb_dec_grow( spad, &msg->blockhash_queue, &msg->blockhash_queue_count, alignof(fd_exec_test_blockhash_queue_entry_t), sizeof(fd_exec_test_blockhash_queue_entry_t) );
328 997983 : if( FD_UNLIKELY( !ele ) ) return 0;
329 997983 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_blockhash_queue_entry_desc, ele ) ) ) return 0;
330 997983 : }
331 997983 : break;
332 997983 : case 2:
333 7706 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->rbh_lamports_per_signature ) ) ) return 0;
334 7706 : break;
335 7711 : case 3:
336 7711 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fee_rate_governor_desc, &msg->fee_rate_governor ) ) ) return 0;
337 7711 : msg->has_fee_rate_governor = 1;
338 7711 : break;
339 32 : case 4:
340 32 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->total_epoch_stake ) ) ) return 0;
341 32 : break;
342 7719 : case 7:
343 7719 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_feature_set_desc, &msg->features ) ) ) return 0;
344 7719 : msg->has_features = 1;
345 7719 : break;
346 0 : default:
347 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
348 0 : break;
349 1031290 : }
350 1031290 : }
351 7761 : return 1;
352 7719 : }
353 :
354 : fd_pb_msgdesc_t const fd_exec_test_txn_bank_desc = {
355 : .encode = fd_exec_test_txn_bank_encode,
356 : .decode = fd_exec_test_txn_bank_decode
357 : };
358 :
359 : static int
360 : fd_exec_test_txn_context_encode( fd_pb_encoder_t * enc,
361 0 : void const * msg_ ) {
362 0 : fd_exec_test_txn_context_t const * msg = msg_;
363 0 : if( msg->has_tx && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_sanitized_transaction_desc, &msg->tx ) ) ) return 0;
364 0 : for( ulong i=0UL; i<msg->account_shared_data_count; i++ ) {
365 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_acct_state_desc, &msg->account_shared_data[ i ] ) ) ) return 0;
366 0 : }
367 0 : if( msg->has_bank && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 6U, &fd_exec_test_txn_bank_desc, &msg->bank ) ) ) return 0;
368 0 : return 1;
369 0 : }
370 :
371 : static int
372 : fd_exec_test_txn_context_decode( fd_pb_inbuf_t * in,
373 : void * msg_,
374 7612 : fd_spad_t * spad ) {
375 7612 : fd_exec_test_txn_context_t * msg = msg_;
376 224340 : while( fd_pb_inbuf_sz( in ) ) {
377 216932 : fd_pb_tlv_t tlv[1];
378 216932 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
379 216932 : switch( tlv->field_id ) {
380 7627 : case 1:
381 7627 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_sanitized_transaction_desc, &msg->tx ) ) ) return 0;
382 7627 : msg->has_tx = 1;
383 7627 : break;
384 200673 : case 2:
385 200673 : {
386 200673 : void * ele = fd_pb_dec_grow( spad, &msg->account_shared_data, &msg->account_shared_data_count, alignof(fd_exec_test_acct_state_t), sizeof(fd_exec_test_acct_state_t) );
387 200673 : if( FD_UNLIKELY( !ele ) ) return 0;
388 200673 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_acct_state_desc, ele ) ) ) return 0;
389 200673 : }
390 200673 : break;
391 200673 : case 6:
392 7704 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_txn_bank_desc, &msg->bank ) ) ) return 0;
393 7704 : msg->has_bank = 1;
394 7704 : break;
395 0 : default:
396 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
397 0 : break;
398 216932 : }
399 216932 : }
400 7408 : return 1;
401 7612 : }
402 :
403 : fd_pb_msgdesc_t const fd_exec_test_txn_context_desc = {
404 : .encode = fd_exec_test_txn_context_encode,
405 : .decode = fd_exec_test_txn_context_decode
406 : };
407 :
408 : static int
409 : fd_exec_test_fee_details_encode( fd_pb_encoder_t * enc,
410 0 : void const * msg_ ) {
411 0 : fd_exec_test_fee_details_t const * msg = msg_;
412 0 : if( msg->transaction_fee && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->transaction_fee ) ) ) return 0;
413 0 : if( msg->prioritization_fee && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->prioritization_fee ) ) ) return 0;
414 0 : return 1;
415 0 : }
416 :
417 : static int
418 : fd_exec_test_fee_details_decode( fd_pb_inbuf_t * in,
419 : void * msg_,
420 5696 : fd_spad_t * spad FD_PARAM_UNUSED ) {
421 5696 : fd_exec_test_fee_details_t * msg = msg_;
422 11426 : while( fd_pb_inbuf_sz( in ) ) {
423 5733 : fd_pb_tlv_t tlv[1];
424 5733 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
425 5733 : switch( tlv->field_id ) {
426 5697 : case 1:
427 5697 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->transaction_fee ) ) ) return 0;
428 5697 : break;
429 5697 : case 2:
430 35 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->prioritization_fee ) ) ) return 0;
431 35 : break;
432 35 : default:
433 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
434 0 : break;
435 5733 : }
436 5733 : }
437 5693 : return 1;
438 5696 : }
439 :
440 : fd_pb_msgdesc_t const fd_exec_test_fee_details_desc = {
441 : .encode = fd_exec_test_fee_details_encode,
442 : .decode = fd_exec_test_fee_details_decode
443 : };
444 :
445 : static int
446 : fd_exec_test_txn_result_encode( fd_pb_encoder_t * enc,
447 0 : void const * msg_ ) {
448 0 : fd_exec_test_txn_result_t const * msg = msg_;
449 0 : if( msg->executed && FD_UNLIKELY( !fd_pb_push_bool( enc, 1U, msg->executed ) ) ) return 0;
450 0 : if( msg->txn_error && FD_UNLIKELY( !fd_pb_push_uint32( enc, 6U, msg->txn_error ) ) ) return 0;
451 0 : if( msg->instruction_error && FD_UNLIKELY( !fd_pb_push_uint32( enc, 7U, msg->instruction_error ) ) ) return 0;
452 0 : if( msg->instruction_error_index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 8U, msg->instruction_error_index ) ) ) return 0;
453 0 : if( msg->custom_error && FD_UNLIKELY( !fd_pb_push_uint32( enc, 9U, msg->custom_error ) ) ) return 0;
454 0 : if( msg->executed_units && FD_UNLIKELY( !fd_pb_push_uint64( enc, 11U, msg->executed_units ) ) ) return 0;
455 0 : if( msg->has_fee_details && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 12U, &fd_exec_test_fee_details_desc, &msg->fee_details ) ) ) return 0;
456 0 : if( msg->loaded_accounts_data_size && FD_UNLIKELY( !fd_pb_push_uint64( enc, 13U, msg->loaded_accounts_data_size ) ) ) return 0;
457 0 : for( ulong i=0UL; i<msg->modified_accounts_count; i++ ) {
458 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 14U, &fd_exec_test_acct_state_desc, &msg->modified_accounts[ i ] ) ) ) return 0;
459 0 : }
460 0 : for( ulong i=0UL; i<msg->rollback_accounts_count; i++ ) {
461 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 15U, &fd_exec_test_acct_state_desc, &msg->rollback_accounts[ i ] ) ) ) return 0;
462 0 : }
463 0 : if( msg->return_data_hash && FD_UNLIKELY( !fd_pb_push_fixed64( enc, 16U, msg->return_data_hash ) ) ) return 0;
464 0 : return 1;
465 0 : }
466 :
467 : static int
468 : fd_exec_test_txn_result_decode( fd_pb_inbuf_t * in,
469 : void * msg_,
470 7715 : fd_spad_t * spad ) {
471 7715 : fd_exec_test_txn_result_t * msg = msg_;
472 72308 : while( fd_pb_inbuf_sz( in ) ) {
473 64585 : fd_pb_tlv_t tlv[1];
474 64585 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
475 64585 : switch( tlv->field_id ) {
476 5690 : case 1:
477 5690 : if( FD_UNLIKELY( !fd_pb_dec_bool( tlv, &msg->executed ) ) ) return 0;
478 5690 : break;
479 7103 : case 6:
480 7103 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->txn_error ) ) ) return 0;
481 7103 : break;
482 7103 : case 7:
483 5087 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->instruction_error ) ) ) return 0;
484 5087 : break;
485 5087 : case 8:
486 995 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->instruction_error_index ) ) ) return 0;
487 995 : break;
488 995 : case 9:
489 49 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->custom_error ) ) ) return 0;
490 49 : break;
491 49 : case 16:
492 27 : if( FD_UNLIKELY( !fd_pb_dec_fixed64( tlv, &msg->return_data_hash ) ) ) return 0;
493 27 : break;
494 2470 : case 11:
495 2470 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->executed_units ) ) ) return 0;
496 2470 : break;
497 5696 : case 12:
498 5696 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fee_details_desc, &msg->fee_details ) ) ) return 0;
499 5696 : msg->has_fee_details = 1;
500 5696 : break;
501 5384 : case 13:
502 5384 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->loaded_accounts_data_size ) ) ) return 0;
503 5384 : break;
504 27021 : case 14:
505 27021 : {
506 27021 : void * ele = fd_pb_dec_grow( spad, &msg->modified_accounts, &msg->modified_accounts_count, alignof(fd_exec_test_acct_state_t), sizeof(fd_exec_test_acct_state_t) );
507 27021 : if( FD_UNLIKELY( !ele ) ) return 0;
508 27021 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_acct_state_desc, ele ) ) ) return 0;
509 27021 : }
510 27021 : break;
511 27021 : case 15:
512 5498 : {
513 5498 : void * ele = fd_pb_dec_grow( spad, &msg->rollback_accounts, &msg->rollback_accounts_count, alignof(fd_exec_test_acct_state_t), sizeof(fd_exec_test_acct_state_t) );
514 5498 : if( FD_UNLIKELY( !ele ) ) return 0;
515 5498 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_acct_state_desc, ele ) ) ) return 0;
516 5498 : }
517 5498 : break;
518 5498 : default:
519 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
520 0 : break;
521 64585 : }
522 64585 : }
523 7723 : return 1;
524 7715 : }
525 :
526 : fd_pb_msgdesc_t const fd_exec_test_txn_result_desc = {
527 : .encode = fd_exec_test_txn_result_encode,
528 : .decode = fd_exec_test_txn_result_decode
529 : };
530 :
531 : static int
532 : fd_exec_test_txn_fixture_encode( fd_pb_encoder_t * enc,
533 0 : void const * msg_ ) {
534 0 : fd_exec_test_txn_fixture_t const * msg = msg_;
535 0 : if( msg->has_metadata && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
536 0 : if( msg->has_input && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_txn_context_desc, &msg->input ) ) ) return 0;
537 0 : if( msg->has_output && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_txn_result_desc, &msg->output ) ) ) return 0;
538 0 : return 1;
539 0 : }
540 :
541 : static int
542 : fd_exec_test_txn_fixture_decode( fd_pb_inbuf_t * in,
543 : void * msg_,
544 7678 : fd_spad_t * spad ) {
545 7678 : fd_exec_test_txn_fixture_t * msg = msg_;
546 30677 : while( fd_pb_inbuf_sz( in ) ) {
547 22868 : fd_pb_tlv_t tlv[1];
548 22868 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
549 22868 : switch( tlv->field_id ) {
550 7571 : case 1:
551 7571 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
552 7571 : msg->has_metadata = 1;
553 7571 : break;
554 7573 : case 2:
555 7573 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_txn_context_desc, &msg->input ) ) ) return 0;
556 7573 : msg->has_input = 1;
557 7573 : break;
558 7722 : case 3:
559 7722 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_txn_result_desc, &msg->output ) ) ) return 0;
560 7722 : msg->has_output = 1;
561 7722 : break;
562 0 : default:
563 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
564 0 : break;
565 22868 : }
566 22868 : }
567 7809 : return 1;
568 7678 : }
569 :
570 : fd_pb_msgdesc_t const fd_exec_test_txn_fixture_desc = {
571 : .encode = fd_exec_test_txn_fixture_encode,
572 : .decode = fd_exec_test_txn_fixture_decode
573 : };
574 :
|