Line data Source code
1 : /* Automatically generated by fd_pb_gen.py. Do not edit. */
2 :
3 : #include "block.pb.h"
4 :
5 : static int
6 : fd_exec_test_cost_tracker_encode( fd_pb_encoder_t * enc,
7 0 : void const * msg_ ) {
8 0 : fd_exec_test_cost_tracker_t const * msg = msg_;
9 0 : if( msg->block_cost && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->block_cost ) ) ) return 0;
10 0 : return 1;
11 0 : }
12 :
13 : static int
14 : fd_exec_test_cost_tracker_decode( fd_pb_inbuf_t * in,
15 : void * msg_,
16 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
17 0 : fd_exec_test_cost_tracker_t * msg = msg_;
18 0 : while( fd_pb_inbuf_sz( in ) ) {
19 0 : fd_pb_tlv_t tlv[1];
20 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
21 0 : switch( tlv->field_id ) {
22 0 : case 1:
23 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->block_cost ) ) ) return 0;
24 0 : break;
25 0 : default:
26 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
27 0 : break;
28 0 : }
29 0 : }
30 0 : return 1;
31 0 : }
32 :
33 : fd_pb_msgdesc_t const fd_exec_test_cost_tracker_desc = {
34 : .encode = fd_exec_test_cost_tracker_encode,
35 : .decode = fd_exec_test_cost_tracker_decode
36 : };
37 :
38 : static int
39 : fd_exec_test_inflation_encode( fd_pb_encoder_t * enc,
40 0 : void const * msg_ ) {
41 0 : fd_exec_test_inflation_t const * msg = msg_;
42 0 : if( fd_pb_enc_nonzero( &msg->initial, sizeof(msg->initial) ) && FD_UNLIKELY( !fd_pb_push_double( enc, 1U, msg->initial ) ) ) return 0;
43 0 : if( fd_pb_enc_nonzero( &msg->terminal, sizeof(msg->terminal) ) && FD_UNLIKELY( !fd_pb_push_double( enc, 2U, msg->terminal ) ) ) return 0;
44 0 : if( fd_pb_enc_nonzero( &msg->taper, sizeof(msg->taper) ) && FD_UNLIKELY( !fd_pb_push_double( enc, 3U, msg->taper ) ) ) return 0;
45 0 : if( fd_pb_enc_nonzero( &msg->foundation, sizeof(msg->foundation) ) && FD_UNLIKELY( !fd_pb_push_double( enc, 4U, msg->foundation ) ) ) return 0;
46 0 : if( fd_pb_enc_nonzero( &msg->foundation_term, sizeof(msg->foundation_term) ) && FD_UNLIKELY( !fd_pb_push_double( enc, 5U, msg->foundation_term ) ) ) return 0;
47 0 : return 1;
48 0 : }
49 :
50 : static int
51 : fd_exec_test_inflation_decode( fd_pb_inbuf_t * in,
52 : void * msg_,
53 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
54 0 : fd_exec_test_inflation_t * msg = msg_;
55 0 : while( fd_pb_inbuf_sz( in ) ) {
56 0 : fd_pb_tlv_t tlv[1];
57 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
58 0 : switch( tlv->field_id ) {
59 0 : case 1:
60 0 : if( FD_UNLIKELY( !fd_pb_dec_double( tlv, &msg->initial ) ) ) return 0;
61 0 : break;
62 0 : case 2:
63 0 : if( FD_UNLIKELY( !fd_pb_dec_double( tlv, &msg->terminal ) ) ) return 0;
64 0 : break;
65 0 : case 3:
66 0 : if( FD_UNLIKELY( !fd_pb_dec_double( tlv, &msg->taper ) ) ) return 0;
67 0 : break;
68 0 : case 4:
69 0 : if( FD_UNLIKELY( !fd_pb_dec_double( tlv, &msg->foundation ) ) ) return 0;
70 0 : break;
71 0 : case 5:
72 0 : if( FD_UNLIKELY( !fd_pb_dec_double( tlv, &msg->foundation_term ) ) ) return 0;
73 0 : break;
74 0 : default:
75 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
76 0 : break;
77 0 : }
78 0 : }
79 0 : return 1;
80 0 : }
81 :
82 : fd_pb_msgdesc_t const fd_exec_test_inflation_desc = {
83 : .encode = fd_exec_test_inflation_encode,
84 : .decode = fd_exec_test_inflation_decode
85 : };
86 :
87 : static int
88 : fd_exec_test_epoch_credit_encode( fd_pb_encoder_t * enc,
89 0 : void const * msg_ ) {
90 0 : fd_exec_test_epoch_credit_t const * msg = msg_;
91 0 : if( msg->epoch && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->epoch ) ) ) return 0;
92 0 : if( msg->credits && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->credits ) ) ) return 0;
93 0 : if( msg->prev_credits && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->prev_credits ) ) ) return 0;
94 0 : return 1;
95 0 : }
96 :
97 : static int
98 : fd_exec_test_epoch_credit_decode( fd_pb_inbuf_t * in,
99 : void * msg_,
100 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
101 0 : fd_exec_test_epoch_credit_t * msg = msg_;
102 0 : while( fd_pb_inbuf_sz( in ) ) {
103 0 : fd_pb_tlv_t tlv[1];
104 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
105 0 : switch( tlv->field_id ) {
106 0 : case 1:
107 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->epoch ) ) ) return 0;
108 0 : break;
109 0 : case 2:
110 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->credits ) ) ) return 0;
111 0 : break;
112 0 : case 3:
113 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->prev_credits ) ) ) return 0;
114 0 : break;
115 0 : default:
116 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
117 0 : break;
118 0 : }
119 0 : }
120 0 : return 1;
121 0 : }
122 :
123 : fd_pb_msgdesc_t const fd_exec_test_epoch_credit_desc = {
124 : .encode = fd_exec_test_epoch_credit_encode,
125 : .decode = fd_exec_test_epoch_credit_decode
126 : };
127 :
128 : static int
129 : fd_exec_test_prev_vote_account_encode( fd_pb_encoder_t * enc,
130 0 : void const * msg_ ) {
131 0 : fd_exec_test_prev_vote_account_t const * msg = msg_;
132 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->address, 32UL ) ) ) return 0;
133 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->node_pubkey, 32UL ) ) ) return 0;
134 0 : if( msg->stake && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->stake ) ) ) return 0;
135 0 : if( msg->commission_bps && FD_UNLIKELY( !fd_pb_push_uint32( enc, 4U, msg->commission_bps ) ) ) return 0;
136 0 : for( ulong i=0UL; i<msg->epoch_credits_count; i++ ) {
137 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 5U, &fd_exec_test_epoch_credit_desc, &msg->epoch_credits[ i ] ) ) ) return 0;
138 0 : }
139 0 : if( msg->version && FD_UNLIKELY( !fd_pb_push_int64( enc, 6U, (long)msg->version ) ) ) return 0;
140 0 : if( FD_UNLIKELY( msg->inflation_rewards_collector.size>32U ) ) return 0;
141 0 : if( msg->inflation_rewards_collector.size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 7U, msg->inflation_rewards_collector.bytes, msg->inflation_rewards_collector.size ) ) ) return 0;
142 0 : if( FD_UNLIKELY( msg->block_revenue_collector.size>32U ) ) return 0;
143 0 : if( msg->block_revenue_collector.size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 8U, msg->block_revenue_collector.bytes, msg->block_revenue_collector.size ) ) ) return 0;
144 0 : if( msg->block_revenue_commission_bps && FD_UNLIKELY( !fd_pb_push_uint32( enc, 9U, msg->block_revenue_commission_bps ) ) ) return 0;
145 0 : if( msg->pending_delegator_rewards && FD_UNLIKELY( !fd_pb_push_uint64( enc, 10U, msg->pending_delegator_rewards ) ) ) return 0;
146 0 : return 1;
147 0 : }
148 :
149 : static int
150 : fd_exec_test_prev_vote_account_decode( fd_pb_inbuf_t * in,
151 : void * msg_,
152 0 : fd_spad_t * spad ) {
153 0 : fd_exec_test_prev_vote_account_t * msg = msg_;
154 0 : while( fd_pb_inbuf_sz( in ) ) {
155 0 : fd_pb_tlv_t tlv[1];
156 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
157 0 : switch( tlv->field_id ) {
158 0 : case 1:
159 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->address, 32UL ) ) ) return 0;
160 0 : break;
161 0 : case 2:
162 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->node_pubkey, 32UL ) ) ) return 0;
163 0 : break;
164 0 : case 3:
165 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->stake ) ) ) return 0;
166 0 : break;
167 0 : case 4:
168 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->commission_bps ) ) ) return 0;
169 0 : break;
170 0 : case 5:
171 0 : {
172 0 : void * ele = fd_pb_dec_grow( spad, &msg->epoch_credits, &msg->epoch_credits_count, alignof(fd_exec_test_epoch_credit_t), sizeof(fd_exec_test_epoch_credit_t) );
173 0 : if( FD_UNLIKELY( !ele ) ) return 0;
174 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_epoch_credit_desc, ele ) ) ) return 0;
175 0 : }
176 0 : break;
177 0 : case 6:
178 0 : if( FD_UNLIKELY( !fd_pb_dec_int32( tlv, (int *)&msg->version ) ) ) return 0;
179 0 : break;
180 0 : case 7:
181 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_static( in, tlv, msg->inflation_rewards_collector.bytes, &msg->inflation_rewards_collector.size, 32UL ) ) ) return 0;
182 0 : break;
183 0 : case 8:
184 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_static( in, tlv, msg->block_revenue_collector.bytes, &msg->block_revenue_collector.size, 32UL ) ) ) return 0;
185 0 : break;
186 0 : case 9:
187 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->block_revenue_commission_bps ) ) ) return 0;
188 0 : break;
189 0 : case 10:
190 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->pending_delegator_rewards ) ) ) return 0;
191 0 : break;
192 0 : default:
193 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
194 0 : break;
195 0 : }
196 0 : }
197 0 : return 1;
198 0 : }
199 :
200 : fd_pb_msgdesc_t const fd_exec_test_prev_vote_account_desc = {
201 : .encode = fd_exec_test_prev_vote_account_encode,
202 : .decode = fd_exec_test_prev_vote_account_decode
203 : };
204 :
205 : static int
206 : fd_exec_test_block_bank_encode( fd_pb_encoder_t * enc,
207 0 : void const * msg_ ) {
208 0 : fd_exec_test_block_bank_t const * msg = msg_;
209 0 : for( ulong i=0UL; i<msg->blockhash_queue_count; i++ ) {
210 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_blockhash_queue_entry_desc, &msg->blockhash_queue[ i ] ) ) ) return 0;
211 0 : }
212 0 : if( msg->rbh_lamports_per_signature && FD_UNLIKELY( !fd_pb_push_uint32( enc, 2U, msg->rbh_lamports_per_signature ) ) ) return 0;
213 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;
214 0 : if( msg->slot && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->slot ) ) ) return 0;
215 0 : if( msg->parent_slot && FD_UNLIKELY( !fd_pb_push_uint64( enc, 5U, msg->parent_slot ) ) ) return 0;
216 0 : if( msg->capitalization && FD_UNLIKELY( !fd_pb_push_uint64( enc, 6U, msg->capitalization ) ) ) return 0;
217 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 7U, msg->ns_per_slot, 16UL ) ) ) return 0;
218 0 : if( msg->has_inflation && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 8U, &fd_exec_test_inflation_desc, &msg->inflation ) ) ) return 0;
219 0 : if( msg->block_height && FD_UNLIKELY( !fd_pb_push_uint64( enc, 9U, msg->block_height ) ) ) return 0;
220 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 10U, msg->poh, 32UL ) ) ) return 0;
221 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 11U, msg->parent_bank_hash, 32UL ) ) ) return 0;
222 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 12U, msg->parent_lt_hash, 2048UL ) ) ) return 0;
223 0 : if( msg->parent_signature_count && FD_UNLIKELY( !fd_pb_push_uint64( enc, 13U, msg->parent_signature_count ) ) ) return 0;
224 0 : if( msg->has_features && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 16U, &fd_exec_test_feature_set_desc, &msg->features ) ) ) return 0;
225 0 : for( ulong i=0UL; i<msg->vote_accounts_t_1_count; i++ ) {
226 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 17U, &fd_exec_test_prev_vote_account_desc, &msg->vote_accounts_t_1[ i ] ) ) ) return 0;
227 0 : }
228 0 : for( ulong i=0UL; i<msg->vote_accounts_t_2_count; i++ ) {
229 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 18U, &fd_exec_test_prev_vote_account_desc, &msg->vote_accounts_t_2[ i ] ) ) ) return 0;
230 0 : }
231 0 : return 1;
232 0 : }
233 :
234 : static int
235 : fd_exec_test_block_bank_decode( fd_pb_inbuf_t * in,
236 : void * msg_,
237 0 : fd_spad_t * spad ) {
238 0 : fd_exec_test_block_bank_t * msg = msg_;
239 0 : while( fd_pb_inbuf_sz( in ) ) {
240 0 : fd_pb_tlv_t tlv[1];
241 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
242 0 : switch( tlv->field_id ) {
243 0 : case 1:
244 0 : {
245 0 : 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) );
246 0 : if( FD_UNLIKELY( !ele ) ) return 0;
247 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_blockhash_queue_entry_desc, ele ) ) ) return 0;
248 0 : }
249 0 : break;
250 0 : case 2:
251 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->rbh_lamports_per_signature ) ) ) return 0;
252 0 : break;
253 0 : case 3:
254 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fee_rate_governor_desc, &msg->fee_rate_governor ) ) ) return 0;
255 0 : msg->has_fee_rate_governor = 1;
256 0 : break;
257 0 : case 4:
258 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->slot ) ) ) return 0;
259 0 : break;
260 0 : case 5:
261 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->parent_slot ) ) ) return 0;
262 0 : break;
263 0 : case 6:
264 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->capitalization ) ) ) return 0;
265 0 : break;
266 0 : case 7:
267 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->ns_per_slot, 16UL ) ) ) return 0;
268 0 : break;
269 0 : case 8:
270 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_inflation_desc, &msg->inflation ) ) ) return 0;
271 0 : msg->has_inflation = 1;
272 0 : break;
273 0 : case 9:
274 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->block_height ) ) ) return 0;
275 0 : break;
276 0 : case 10:
277 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->poh, 32UL ) ) ) return 0;
278 0 : break;
279 0 : case 11:
280 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->parent_bank_hash, 32UL ) ) ) return 0;
281 0 : break;
282 0 : case 12:
283 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->parent_lt_hash, 2048UL ) ) ) return 0;
284 0 : break;
285 0 : case 13:
286 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->parent_signature_count ) ) ) return 0;
287 0 : break;
288 0 : case 16:
289 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_feature_set_desc, &msg->features ) ) ) return 0;
290 0 : msg->has_features = 1;
291 0 : break;
292 0 : case 17:
293 0 : {
294 0 : void * ele = fd_pb_dec_grow( spad, &msg->vote_accounts_t_1, &msg->vote_accounts_t_1_count, alignof(fd_exec_test_prev_vote_account_t), sizeof(fd_exec_test_prev_vote_account_t) );
295 0 : if( FD_UNLIKELY( !ele ) ) return 0;
296 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_prev_vote_account_desc, ele ) ) ) return 0;
297 0 : }
298 0 : break;
299 0 : case 18:
300 0 : {
301 0 : void * ele = fd_pb_dec_grow( spad, &msg->vote_accounts_t_2, &msg->vote_accounts_t_2_count, alignof(fd_exec_test_prev_vote_account_t), sizeof(fd_exec_test_prev_vote_account_t) );
302 0 : if( FD_UNLIKELY( !ele ) ) return 0;
303 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_prev_vote_account_desc, ele ) ) ) return 0;
304 0 : }
305 0 : break;
306 0 : default:
307 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
308 0 : break;
309 0 : }
310 0 : }
311 0 : return 1;
312 0 : }
313 :
314 : fd_pb_msgdesc_t const fd_exec_test_block_bank_desc = {
315 : .encode = fd_exec_test_block_bank_encode,
316 : .decode = fd_exec_test_block_bank_decode
317 : };
318 :
319 : static int
320 : fd_exec_test_block_context_encode( fd_pb_encoder_t * enc,
321 0 : void const * msg_ ) {
322 0 : fd_exec_test_block_context_t const * msg = msg_;
323 0 : for( ulong i=0UL; i<msg->txns_count; i++ ) {
324 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_sanitized_transaction_desc, &msg->txns[ i ] ) ) ) return 0;
325 0 : }
326 0 : for( ulong i=0UL; i<msg->acct_states_count; i++ ) {
327 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_acct_state_desc, &msg->acct_states[ i ] ) ) ) return 0;
328 0 : }
329 0 : if( msg->has_bank && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 6U, &fd_exec_test_block_bank_desc, &msg->bank ) ) ) return 0;
330 0 : return 1;
331 0 : }
332 :
333 : static int
334 : fd_exec_test_block_context_decode( fd_pb_inbuf_t * in,
335 : void * msg_,
336 0 : fd_spad_t * spad ) {
337 0 : fd_exec_test_block_context_t * msg = msg_;
338 0 : while( fd_pb_inbuf_sz( in ) ) {
339 0 : fd_pb_tlv_t tlv[1];
340 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
341 0 : switch( tlv->field_id ) {
342 0 : case 1:
343 0 : {
344 0 : void * ele = fd_pb_dec_grow( spad, &msg->txns, &msg->txns_count, alignof(fd_exec_test_sanitized_transaction_t), sizeof(fd_exec_test_sanitized_transaction_t) );
345 0 : if( FD_UNLIKELY( !ele ) ) return 0;
346 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_sanitized_transaction_desc, ele ) ) ) return 0;
347 0 : }
348 0 : break;
349 0 : case 2:
350 0 : {
351 0 : void * ele = fd_pb_dec_grow( spad, &msg->acct_states, &msg->acct_states_count, alignof(fd_exec_test_acct_state_t), sizeof(fd_exec_test_acct_state_t) );
352 0 : if( FD_UNLIKELY( !ele ) ) return 0;
353 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_acct_state_desc, ele ) ) ) return 0;
354 0 : }
355 0 : break;
356 0 : case 6:
357 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_block_bank_desc, &msg->bank ) ) ) return 0;
358 0 : msg->has_bank = 1;
359 0 : break;
360 0 : default:
361 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
362 0 : break;
363 0 : }
364 0 : }
365 0 : return 1;
366 0 : }
367 :
368 : fd_pb_msgdesc_t const fd_exec_test_block_context_desc = {
369 : .encode = fd_exec_test_block_context_encode,
370 : .decode = fd_exec_test_block_context_decode
371 : };
372 :
373 : static int
374 : fd_exec_test_leader_schedule_effects_encode( fd_pb_encoder_t * enc,
375 0 : void const * msg_ ) {
376 0 : fd_exec_test_leader_schedule_effects_t const * msg = msg_;
377 0 : if( msg->leaders_epoch && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->leaders_epoch ) ) ) return 0;
378 0 : if( msg->leaders_slot0 && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->leaders_slot0 ) ) ) return 0;
379 0 : if( msg->leaders_slot_cnt && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->leaders_slot_cnt ) ) ) return 0;
380 0 : if( msg->leader_pub_cnt && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->leader_pub_cnt ) ) ) return 0;
381 0 : if( msg->leaders_sched_cnt && FD_UNLIKELY( !fd_pb_push_uint64( enc, 5U, msg->leaders_sched_cnt ) ) ) return 0;
382 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 6U, msg->leader_schedule_hash, 16UL ) ) ) return 0;
383 0 : return 1;
384 0 : }
385 :
386 : static int
387 : fd_exec_test_leader_schedule_effects_decode( fd_pb_inbuf_t * in,
388 : void * msg_,
389 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
390 0 : fd_exec_test_leader_schedule_effects_t * msg = msg_;
391 0 : while( fd_pb_inbuf_sz( in ) ) {
392 0 : fd_pb_tlv_t tlv[1];
393 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
394 0 : switch( tlv->field_id ) {
395 0 : case 1:
396 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->leaders_epoch ) ) ) return 0;
397 0 : break;
398 0 : case 2:
399 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->leaders_slot0 ) ) ) return 0;
400 0 : break;
401 0 : case 3:
402 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->leaders_slot_cnt ) ) ) return 0;
403 0 : break;
404 0 : case 4:
405 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->leader_pub_cnt ) ) ) return 0;
406 0 : break;
407 0 : case 5:
408 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->leaders_sched_cnt ) ) ) return 0;
409 0 : break;
410 0 : case 6:
411 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->leader_schedule_hash, 16UL ) ) ) return 0;
412 0 : break;
413 0 : default:
414 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
415 0 : break;
416 0 : }
417 0 : }
418 0 : return 1;
419 0 : }
420 :
421 : fd_pb_msgdesc_t const fd_exec_test_leader_schedule_effects_desc = {
422 : .encode = fd_exec_test_leader_schedule_effects_encode,
423 : .decode = fd_exec_test_leader_schedule_effects_decode
424 : };
425 :
426 : static int
427 : fd_exec_test_stake_delegation_encode( fd_pb_encoder_t * enc,
428 0 : void const * msg_ ) {
429 0 : fd_exec_test_stake_delegation_t const * msg = msg_;
430 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->stake_account, 32UL ) ) ) return 0;
431 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->vote_account, 32UL ) ) ) return 0;
432 0 : if( msg->stake && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->stake ) ) ) return 0;
433 0 : if( msg->activation_epoch && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->activation_epoch ) ) ) return 0;
434 0 : if( msg->deactivation_epoch && FD_UNLIKELY( !fd_pb_push_uint64( enc, 5U, msg->deactivation_epoch ) ) ) return 0;
435 0 : if( msg->credits_observed && FD_UNLIKELY( !fd_pb_push_uint64( enc, 6U, msg->credits_observed ) ) ) return 0;
436 0 : if( msg->lamports && FD_UNLIKELY( !fd_pb_push_uint64( enc, 7U, msg->lamports ) ) ) return 0;
437 0 : if( msg->data_len && FD_UNLIKELY( !fd_pb_push_uint64( enc, 8U, msg->data_len ) ) ) return 0;
438 0 : return 1;
439 0 : }
440 :
441 : static int
442 : fd_exec_test_stake_delegation_decode( fd_pb_inbuf_t * in,
443 : void * msg_,
444 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
445 0 : fd_exec_test_stake_delegation_t * msg = msg_;
446 0 : while( fd_pb_inbuf_sz( in ) ) {
447 0 : fd_pb_tlv_t tlv[1];
448 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
449 0 : switch( tlv->field_id ) {
450 0 : case 1:
451 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->stake_account, 32UL ) ) ) return 0;
452 0 : break;
453 0 : case 2:
454 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->vote_account, 32UL ) ) ) return 0;
455 0 : break;
456 0 : case 3:
457 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->stake ) ) ) return 0;
458 0 : break;
459 0 : case 4:
460 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->activation_epoch ) ) ) return 0;
461 0 : break;
462 0 : case 5:
463 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->deactivation_epoch ) ) ) return 0;
464 0 : break;
465 0 : case 6:
466 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->credits_observed ) ) ) return 0;
467 0 : break;
468 0 : case 7:
469 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->lamports ) ) ) return 0;
470 0 : break;
471 0 : case 8:
472 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->data_len ) ) ) return 0;
473 0 : break;
474 0 : default:
475 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
476 0 : break;
477 0 : }
478 0 : }
479 0 : return 1;
480 0 : }
481 :
482 : fd_pb_msgdesc_t const fd_exec_test_stake_delegation_desc = {
483 : .encode = fd_exec_test_stake_delegation_encode,
484 : .decode = fd_exec_test_stake_delegation_decode
485 : };
486 :
487 : static int
488 : fd_exec_test_block_effects_encode( fd_pb_encoder_t * enc,
489 0 : void const * msg_ ) {
490 0 : fd_exec_test_block_effects_t const * msg = msg_;
491 0 : if( msg->has_error && FD_UNLIKELY( !fd_pb_push_bool( enc, 1U, msg->has_error ) ) ) return 0;
492 0 : if( msg->slot_capitalization && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->slot_capitalization ) ) ) return 0;
493 0 : if( FD_UNLIKELY( !fd_pb_push_bytes( enc, 3U, msg->bank_hash, 32UL ) ) ) return 0;
494 0 : if( msg->has_cost_tracker && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 4U, &fd_exec_test_cost_tracker_desc, &msg->cost_tracker ) ) ) return 0;
495 0 : if( msg->has_leader_schedule && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 5U, &fd_exec_test_leader_schedule_effects_desc, &msg->leader_schedule ) ) ) return 0;
496 0 : for( ulong i=0UL; i<msg->stake_delegations_count; i++ ) {
497 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 6U, &fd_exec_test_stake_delegation_desc, &msg->stake_delegations[ i ] ) ) ) return 0;
498 0 : }
499 0 : return 1;
500 0 : }
501 :
502 : static int
503 : fd_exec_test_block_effects_decode( fd_pb_inbuf_t * in,
504 : void * msg_,
505 0 : fd_spad_t * spad ) {
506 0 : fd_exec_test_block_effects_t * msg = msg_;
507 0 : while( fd_pb_inbuf_sz( in ) ) {
508 0 : fd_pb_tlv_t tlv[1];
509 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
510 0 : switch( tlv->field_id ) {
511 0 : case 1:
512 0 : if( FD_UNLIKELY( !fd_pb_dec_bool( tlv, &msg->has_error ) ) ) return 0;
513 0 : break;
514 0 : case 2:
515 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->slot_capitalization ) ) ) return 0;
516 0 : break;
517 0 : case 3:
518 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_fixed( in, tlv, msg->bank_hash, 32UL ) ) ) return 0;
519 0 : break;
520 0 : case 4:
521 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_cost_tracker_desc, &msg->cost_tracker ) ) ) return 0;
522 0 : msg->has_cost_tracker = 1;
523 0 : break;
524 0 : case 5:
525 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_leader_schedule_effects_desc, &msg->leader_schedule ) ) ) return 0;
526 0 : msg->has_leader_schedule = 1;
527 0 : break;
528 0 : case 6:
529 0 : {
530 0 : void * ele = fd_pb_dec_grow( spad, &msg->stake_delegations, &msg->stake_delegations_count, alignof(fd_exec_test_stake_delegation_t), sizeof(fd_exec_test_stake_delegation_t) );
531 0 : if( FD_UNLIKELY( !ele ) ) return 0;
532 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_stake_delegation_desc, ele ) ) ) return 0;
533 0 : }
534 0 : break;
535 0 : default:
536 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
537 0 : break;
538 0 : }
539 0 : }
540 0 : return 1;
541 0 : }
542 :
543 : fd_pb_msgdesc_t const fd_exec_test_block_effects_desc = {
544 : .encode = fd_exec_test_block_effects_encode,
545 : .decode = fd_exec_test_block_effects_decode
546 : };
547 :
548 : static int
549 : fd_exec_test_block_fixture_encode( fd_pb_encoder_t * enc,
550 0 : void const * msg_ ) {
551 0 : fd_exec_test_block_fixture_t const * msg = msg_;
552 0 : if( msg->has_metadata && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
553 0 : if( msg->has_input && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_block_context_desc, &msg->input ) ) ) return 0;
554 0 : if( msg->has_output && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_block_effects_desc, &msg->output ) ) ) return 0;
555 0 : return 1;
556 0 : }
557 :
558 : static int
559 : fd_exec_test_block_fixture_decode( fd_pb_inbuf_t * in,
560 : void * msg_,
561 0 : fd_spad_t * spad ) {
562 0 : fd_exec_test_block_fixture_t * msg = msg_;
563 0 : while( fd_pb_inbuf_sz( in ) ) {
564 0 : fd_pb_tlv_t tlv[1];
565 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
566 0 : switch( tlv->field_id ) {
567 0 : case 1:
568 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
569 0 : msg->has_metadata = 1;
570 0 : break;
571 0 : case 2:
572 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_block_context_desc, &msg->input ) ) ) return 0;
573 0 : msg->has_input = 1;
574 0 : break;
575 0 : case 3:
576 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_block_effects_desc, &msg->output ) ) ) return 0;
577 0 : msg->has_output = 1;
578 0 : break;
579 0 : default:
580 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
581 0 : break;
582 0 : }
583 0 : }
584 0 : return 1;
585 0 : }
586 :
587 : fd_pb_msgdesc_t const fd_exec_test_block_fixture_desc = {
588 : .encode = fd_exec_test_block_fixture_encode,
589 : .decode = fd_exec_test_block_fixture_decode
590 : };
591 :
|