Line data Source code
1 : /* Automatically generated by fd_pb_gen.py. Do not edit. */
2 :
3 : #include "vm_serialization.pb.h"
4 :
5 : static int
6 : fd_exec_test_vm_input_memory_region_encode( fd_pb_encoder_t * enc,
7 0 : void const * msg_ ) {
8 0 : fd_exec_test_vm_input_memory_region_t const * msg = msg_;
9 0 : if( msg->vm_address && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->vm_address ) ) ) return 0;
10 0 : if( msg->region_size && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->region_size ) ) ) return 0;
11 0 : if( msg->is_writable && FD_UNLIKELY( !fd_pb_push_bool( enc, 3U, msg->is_writable ) ) ) return 0;
12 0 : return 1;
13 0 : }
14 :
15 : static int
16 : fd_exec_test_vm_input_memory_region_decode( fd_pb_inbuf_t * in,
17 : void * msg_,
18 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
19 0 : fd_exec_test_vm_input_memory_region_t * msg = msg_;
20 0 : while( fd_pb_inbuf_sz( in ) ) {
21 0 : fd_pb_tlv_t tlv[1];
22 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
23 0 : switch( tlv->field_id ) {
24 0 : case 1:
25 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->vm_address ) ) ) return 0;
26 0 : break;
27 0 : case 2:
28 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->region_size ) ) ) return 0;
29 0 : break;
30 0 : case 3:
31 0 : if( FD_UNLIKELY( !fd_pb_dec_bool( tlv, &msg->is_writable ) ) ) return 0;
32 0 : break;
33 0 : default:
34 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
35 0 : break;
36 0 : }
37 0 : }
38 0 : return 1;
39 0 : }
40 :
41 : fd_pb_msgdesc_t const fd_exec_test_vm_input_memory_region_desc = {
42 : .encode = fd_exec_test_vm_input_memory_region_encode,
43 : .decode = fd_exec_test_vm_input_memory_region_decode
44 : };
45 :
46 : static int
47 : fd_exec_test_vm_serialized_account_metadata_encode( fd_pb_encoder_t * enc,
48 0 : void const * msg_ ) {
49 0 : fd_exec_test_vm_serialized_account_metadata_t const * msg = msg_;
50 0 : if( msg->original_data_len && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->original_data_len ) ) ) return 0;
51 0 : if( msg->vm_data_addr && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->vm_data_addr ) ) ) return 0;
52 0 : if( msg->vm_key_addr && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->vm_key_addr ) ) ) return 0;
53 0 : if( msg->vm_lamports_addr && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->vm_lamports_addr ) ) ) return 0;
54 0 : if( msg->vm_owner_addr && FD_UNLIKELY( !fd_pb_push_uint64( enc, 5U, msg->vm_owner_addr ) ) ) return 0;
55 0 : return 1;
56 0 : }
57 :
58 : static int
59 : fd_exec_test_vm_serialized_account_metadata_decode( fd_pb_inbuf_t * in,
60 : void * msg_,
61 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
62 0 : fd_exec_test_vm_serialized_account_metadata_t * msg = msg_;
63 0 : while( fd_pb_inbuf_sz( in ) ) {
64 0 : fd_pb_tlv_t tlv[1];
65 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
66 0 : switch( tlv->field_id ) {
67 0 : case 1:
68 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->original_data_len ) ) ) return 0;
69 0 : break;
70 0 : case 2:
71 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->vm_data_addr ) ) ) return 0;
72 0 : break;
73 0 : case 3:
74 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->vm_key_addr ) ) ) return 0;
75 0 : break;
76 0 : case 4:
77 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->vm_lamports_addr ) ) ) return 0;
78 0 : break;
79 0 : case 5:
80 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->vm_owner_addr ) ) ) return 0;
81 0 : break;
82 0 : default:
83 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
84 0 : break;
85 0 : }
86 0 : }
87 0 : return 1;
88 0 : }
89 :
90 : fd_pb_msgdesc_t const fd_exec_test_vm_serialized_account_metadata_desc = {
91 : .encode = fd_exec_test_vm_serialized_account_metadata_encode,
92 : .decode = fd_exec_test_vm_serialized_account_metadata_decode
93 : };
94 :
95 : static int
96 : fd_exec_test_vm_serialization_effects_encode( fd_pb_encoder_t * enc,
97 0 : void const * msg_ ) {
98 0 : fd_exec_test_vm_serialization_effects_t const * msg = msg_;
99 0 : if( msg->has_error && FD_UNLIKELY( !fd_pb_push_bool( enc, 1U, msg->has_error ) ) ) return 0;
100 0 : if( msg->serialized_memory_hash && FD_UNLIKELY( !fd_pb_push_fixed64( enc, 2U, msg->serialized_memory_hash ) ) ) return 0;
101 0 : for( ulong i=0UL; i<msg->vm_input_memory_regions_count; i++ ) {
102 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_vm_input_memory_region_desc, &msg->vm_input_memory_regions[ i ] ) ) ) return 0;
103 0 : }
104 0 : for( ulong i=0UL; i<msg->serialized_account_metadata_count; i++ ) {
105 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 4U, &fd_exec_test_vm_serialized_account_metadata_desc, &msg->serialized_account_metadata[ i ] ) ) ) return 0;
106 0 : }
107 0 : return 1;
108 0 : }
109 :
110 : static int
111 : fd_exec_test_vm_serialization_effects_decode( fd_pb_inbuf_t * in,
112 : void * msg_,
113 0 : fd_spad_t * spad ) {
114 0 : fd_exec_test_vm_serialization_effects_t * msg = msg_;
115 0 : while( fd_pb_inbuf_sz( in ) ) {
116 0 : fd_pb_tlv_t tlv[1];
117 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
118 0 : switch( tlv->field_id ) {
119 0 : case 1:
120 0 : if( FD_UNLIKELY( !fd_pb_dec_bool( tlv, &msg->has_error ) ) ) return 0;
121 0 : break;
122 0 : case 2:
123 0 : if( FD_UNLIKELY( !fd_pb_dec_fixed64( tlv, &msg->serialized_memory_hash ) ) ) return 0;
124 0 : break;
125 0 : case 3:
126 0 : {
127 0 : void * ele = fd_pb_dec_grow( spad, &msg->vm_input_memory_regions, &msg->vm_input_memory_regions_count, alignof(fd_exec_test_vm_input_memory_region_t), sizeof(fd_exec_test_vm_input_memory_region_t) );
128 0 : if( FD_UNLIKELY( !ele ) ) return 0;
129 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_vm_input_memory_region_desc, ele ) ) ) return 0;
130 0 : }
131 0 : break;
132 0 : case 4:
133 0 : {
134 0 : void * ele = fd_pb_dec_grow( spad, &msg->serialized_account_metadata, &msg->serialized_account_metadata_count, alignof(fd_exec_test_vm_serialized_account_metadata_t), sizeof(fd_exec_test_vm_serialized_account_metadata_t) );
135 0 : if( FD_UNLIKELY( !ele ) ) return 0;
136 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_vm_serialized_account_metadata_desc, ele ) ) ) return 0;
137 0 : }
138 0 : break;
139 0 : default:
140 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
141 0 : break;
142 0 : }
143 0 : }
144 0 : return 1;
145 0 : }
146 :
147 : fd_pb_msgdesc_t const fd_exec_test_vm_serialization_effects_desc = {
148 : .encode = fd_exec_test_vm_serialization_effects_encode,
149 : .decode = fd_exec_test_vm_serialization_effects_decode
150 : };
151 :
152 : static int
153 : fd_exec_test_vm_serialization_fixture_encode( fd_pb_encoder_t * enc,
154 0 : void const * msg_ ) {
155 0 : fd_exec_test_vm_serialization_fixture_t const * msg = msg_;
156 0 : if( msg->has_metadata && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
157 0 : if( msg->has_input && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_instr_context_desc, &msg->input ) ) ) return 0;
158 0 : if( msg->has_output && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_vm_serialization_effects_desc, &msg->output ) ) ) return 0;
159 0 : return 1;
160 0 : }
161 :
162 : static int
163 : fd_exec_test_vm_serialization_fixture_decode( fd_pb_inbuf_t * in,
164 : void * msg_,
165 0 : fd_spad_t * spad ) {
166 0 : fd_exec_test_vm_serialization_fixture_t * msg = msg_;
167 0 : while( fd_pb_inbuf_sz( in ) ) {
168 0 : fd_pb_tlv_t tlv[1];
169 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
170 0 : switch( tlv->field_id ) {
171 0 : case 1:
172 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
173 0 : msg->has_metadata = 1;
174 0 : break;
175 0 : case 2:
176 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_instr_context_desc, &msg->input ) ) ) return 0;
177 0 : msg->has_input = 1;
178 0 : break;
179 0 : case 3:
180 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_vm_serialization_effects_desc, &msg->output ) ) ) return 0;
181 0 : msg->has_output = 1;
182 0 : break;
183 0 : default:
184 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
185 0 : break;
186 0 : }
187 0 : }
188 0 : return 1;
189 0 : }
190 :
191 : fd_pb_msgdesc_t const fd_exec_test_vm_serialization_fixture_desc = {
192 : .encode = fd_exec_test_vm_serialization_fixture_encode,
193 : .decode = fd_exec_test_vm_serialization_fixture_decode
194 : };
195 :
|