30 const auto constants_DOM_SEP__PUBLIC_STORAGE_MAP_SLOT =
FF(4015149901UL);
31 const auto constants_DOM_SEP__NULLIFIER_MERKLE =
FF(1157584160);
32 const auto tx_LATCH_CONDITION = in.get(C::tx_end_phase) + in.get(C::precomputed_first_row);
33 const auto tx_NOT_PHASE_END = (in.get(C::tx_sel) - in.get(C::tx_end_phase));
34 const auto tx_REM_COUNT_MINUS_1 = (in.get(C::tx_remaining_phase_counter) -
FF(1));
35 const auto tx_IS_ONE_SHOT_PHASE =
36 in.get(C::tx_is_collect_fee) + in.get(C::tx_is_tree_padding) + in.get(C::tx_is_cleanup);
37 const auto tx_REMAINING_NOTE_HASH_WRITES =
38 (constants_MAX_NOTE_HASHES_PER_TX - in.get(C::tx_prev_num_note_hashes_emitted));
39 const auto tx_REMAINING_NULLIFIER_WRITES =
40 (constants_MAX_NULLIFIERS_PER_TX - in.get(C::tx_prev_num_nullifiers_emitted));
41 const auto tx_REMAINING_L2_TO_L1_MSG_WRITES =
42 (constants_MAX_L2_TO_L1_MSGS_PER_TX - in.get(C::tx_prev_num_l2_to_l1_messages));
45 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
46 auto tmp =
static_cast<View
>(in.get(C::tx_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_sel)));
50 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
52 static_cast<View
>(in.get(C::tx_start_phase)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_start_phase)));
56 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
57 auto tmp =
static_cast<View
>(in.get(C::tx_end_phase)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_end_phase)));
61 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
62 auto tmp = (
static_cast<View
>(in.get(C::tx_start_tx)) +
static_cast<View
>(in.get(C::tx_start_phase)) +
63 static_cast<View
>(in.get(C::tx_end_phase))) *
64 (
FF(1) -
static_cast<View
>(in.get(C::tx_sel)));
68 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
69 auto tmp = (
FF(1) -
CView(tx_LATCH_CONDITION)) *
70 (
static_cast<View
>(in.get(C::tx_sel)) -
static_cast<View
>(in.get(C::tx_sel_shift)));
74 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
75 auto tmp =
static_cast<View
>(in.get(C::tx_sel_shift)) *
76 (
static_cast<View
>(in.get(C::tx_start_phase_shift)) -
CView(tx_LATCH_CONDITION));
80 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
82 (
static_cast<View
>(in.get(C::tx_start_tx_shift)) -
static_cast<View
>(in.get(C::precomputed_first_row)));
86 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
87 auto tmp =
static_cast<View
>(in.get(C::tx_is_padded)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_is_padded)));
91 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
92 auto tmp =
static_cast<View
>(in.get(C::tx_sel)) *
93 ((
static_cast<View
>(in.get(C::tx_remaining_phase_counter)) *
94 (
static_cast<View
>(in.get(C::tx_is_padded)) *
95 (
FF(1) -
static_cast<View
>(in.get(C::tx_remaining_phase_inv))) +
96 static_cast<View
>(in.get(C::tx_remaining_phase_inv))) -
98 static_cast<View
>(in.get(C::tx_is_padded)));
102 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
103 auto tmp =
static_cast<View
>(in.get(C::tx_reverted)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_reverted)));
107 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
108 auto tmp =
static_cast<View
>(in.get(C::tx_is_padded)) *
static_cast<View
>(in.get(C::tx_reverted));
112 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
113 auto tmp = (
static_cast<View
>(in.get(C::tx_is_padded)) +
static_cast<View
>(in.get(C::tx_reverted))) *
114 (
FF(1) -
static_cast<View
>(in.get(C::tx_end_phase)));
118 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
119 auto tmp = ((
static_cast<View
>(in.get(C::tx_sel)) -
static_cast<View
>(in.get(C::tx_reverted))) -
120 static_cast<View
>(in.get(C::tx_is_padded))) *
121 ((
CView(tx_REM_COUNT_MINUS_1) *
122 (
static_cast<View
>(in.get(C::tx_end_phase)) *
123 (
FF(1) -
static_cast<View
>(in.get(C::tx_remaining_phase_minus_one_inv))) +
124 static_cast<View
>(in.get(C::tx_remaining_phase_minus_one_inv))) -
126 static_cast<View
>(in.get(C::tx_end_phase)));
130 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
131 auto tmp =
static_cast<View
>(in.get(C::tx_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_sel_shift))) *
132 (
static_cast<View
>(in.get(C::tx_phase_value)) -
CView(constants_AVM_TX_PHASE_VALUE_LAST));
136 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
137 auto tmp =
static_cast<View
>(in.get(C::tx_start_tx)) *
138 (
static_cast<View
>(in.get(C::tx_phase_value)) -
CView(constants_AVM_TX_PHASE_VALUE_START));
142 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
143 auto tmp =
CView(tx_NOT_PHASE_END) *
144 (
static_cast<View
>(in.get(C::tx_phase_value_shift)) -
static_cast<View
>(in.get(C::tx_phase_value)));
148 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
149 auto tmp =
static_cast<View
>(in.get(C::tx_sel_shift)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_reverted))) *
150 static_cast<View
>(in.get(C::tx_end_phase)) *
151 (
static_cast<View
>(in.get(C::tx_phase_value_shift)) -
152 (
static_cast<View
>(in.get(C::tx_phase_value)) +
FF(1)));
156 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
157 auto tmp =
static_cast<View
>(in.get(C::tx_reverted)) * (
static_cast<View
>(in.get(C::tx_next_phase_on_revert)) -
158 static_cast<View
>(in.get(C::tx_phase_value_shift)));
162 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
163 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_read_phase_length)) -
164 static_cast<View
>(in.get(C::tx_start_phase)) * (
FF(1) -
CView(tx_IS_ONE_SHOT_PHASE)));
168 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
169 auto tmp =
CView(tx_IS_ONE_SHOT_PHASE) * (
static_cast<View
>(in.get(C::tx_remaining_phase_counter)) -
FF(1));
173 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
174 auto tmp =
CView(tx_NOT_PHASE_END) * (
static_cast<View
>(in.get(C::tx_remaining_phase_counter_shift)) -
175 (
static_cast<View
>(in.get(C::tx_remaining_phase_counter)) -
FF(1)));
179 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
181 static_cast<View
>(in.get(C::tx_start_phase)) *
182 (
static_cast<View
>(in.get(C::tx_read_pi_offset)) -
static_cast<View
>(in.get(C::tx_read_pi_start_offset)));
186 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
187 auto tmp =
CView(tx_NOT_PHASE_END) * (
static_cast<View
>(in.get(C::tx_read_pi_offset_shift)) -
188 (
static_cast<View
>(in.get(C::tx_read_pi_offset)) +
FF(1)));
192 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
193 auto tmp =
static_cast<View
>(in.get(C::tx_is_static)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_is_static)));
197 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
198 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_process_call_request)) -
199 (
static_cast<View
>(in.get(C::tx_sel)) -
static_cast<View
>(in.get(C::tx_is_padded))) *
200 static_cast<View
>(in.get(C::tx_is_public_call_request)));
204 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
205 auto tmp =
static_cast<View
>(in.get(C::tx_sel_process_call_request)) *
206 (((
FF(0) -
static_cast<View
>(in.get(C::tx_prev_l2_gas_used))) *
207 static_cast<View
>(in.get(C::tx_is_teardown)) +
208 static_cast<View
>(in.get(C::tx_prev_l2_gas_used))) -
209 static_cast<View
>(in.get(C::tx_prev_l2_gas_used_sent_to_enqueued_call)));
213 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
214 auto tmp =
static_cast<View
>(in.get(C::tx_sel_process_call_request)) *
215 (((
FF(0) -
static_cast<View
>(in.get(C::tx_prev_da_gas_used))) *
216 static_cast<View
>(in.get(C::tx_is_teardown)) +
217 static_cast<View
>(in.get(C::tx_prev_da_gas_used))) -
218 static_cast<View
>(in.get(C::tx_prev_da_gas_used_sent_to_enqueued_call)));
222 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
223 auto tmp =
static_cast<View
>(in.get(C::tx_sel_process_call_request)) *
224 (((
static_cast<View
>(in.get(C::tx_prev_l2_gas_used)) -
225 static_cast<View
>(in.get(C::tx_next_l2_gas_used_sent_to_enqueued_call))) *
226 static_cast<View
>(in.get(C::tx_is_teardown)) +
227 static_cast<View
>(in.get(C::tx_next_l2_gas_used_sent_to_enqueued_call))) -
228 static_cast<View
>(in.get(C::tx_next_l2_gas_used)));
232 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
233 auto tmp =
static_cast<View
>(in.get(C::tx_sel_process_call_request)) *
234 (((
static_cast<View
>(in.get(C::tx_prev_da_gas_used)) -
235 static_cast<View
>(in.get(C::tx_next_da_gas_used_sent_to_enqueued_call))) *
236 static_cast<View
>(in.get(C::tx_is_teardown)) +
237 static_cast<View
>(in.get(C::tx_next_da_gas_used_sent_to_enqueued_call))) -
238 static_cast<View
>(in.get(C::tx_next_da_gas_used)));
242 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
243 auto tmp = (
static_cast<View
>(in.get(C::tx_is_tree_insert_phase)) -
244 (
static_cast<View
>(in.get(C::tx_sel_append_note_hash)) +
245 static_cast<View
>(in.get(C::tx_sel_append_nullifier))));
249 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
250 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_try_note_hash_append)) -
251 (
static_cast<View
>(in.get(C::tx_sel)) -
static_cast<View
>(in.get(C::tx_is_padded))) *
252 static_cast<View
>(in.get(C::tx_sel_append_note_hash)));
256 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
257 auto tmp =
static_cast<View
>(in.get(C::tx_sel_try_note_hash_append)) *
258 ((
CView(tx_REMAINING_NOTE_HASH_WRITES) *
259 (
static_cast<View
>(in.get(C::tx_reverted)) *
260 (
FF(1) -
static_cast<View
>(in.get(C::tx_remaining_side_effects_inv))) +
261 static_cast<View
>(in.get(C::tx_remaining_side_effects_inv))) -
263 static_cast<View
>(in.get(C::tx_reverted)));
267 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
268 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_note_hash_append)) -
269 static_cast<View
>(in.get(C::tx_sel_try_note_hash_append)) *
270 (
FF(1) -
static_cast<View
>(in.get(C::tx_reverted))));
274 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
275 auto tmp =
static_cast<View
>(in.get(C::tx_sel_note_hash_append)) *
276 ((
static_cast<View
>(in.get(C::tx_prev_note_hash_tree_size)) +
FF(1)) -
277 static_cast<View
>(in.get(C::tx_next_note_hash_tree_size)));
281 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
282 auto tmp =
static_cast<View
>(in.get(C::tx_sel_note_hash_append)) *
283 ((
static_cast<View
>(in.get(C::tx_prev_num_note_hashes_emitted)) +
FF(1)) -
284 static_cast<View
>(in.get(C::tx_next_num_note_hashes_emitted)));
288 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
289 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_try_nullifier_append)) -
290 (
static_cast<View
>(in.get(C::tx_sel)) -
static_cast<View
>(in.get(C::tx_is_padded))) *
291 static_cast<View
>(in.get(C::tx_sel_append_nullifier)));
295 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
296 auto tmp =
static_cast<View
>(in.get(C::tx_nullifier_limit_error)) *
297 (
FF(1) -
static_cast<View
>(in.get(C::tx_nullifier_limit_error)));
301 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
302 auto tmp =
static_cast<View
>(in.get(C::tx_sel_try_nullifier_append)) *
303 ((
CView(tx_REMAINING_NULLIFIER_WRITES) *
304 (
static_cast<View
>(in.get(C::tx_nullifier_limit_error)) *
305 (
FF(1) -
static_cast<View
>(in.get(C::tx_remaining_side_effects_inv))) +
306 static_cast<View
>(in.get(C::tx_remaining_side_effects_inv))) -
308 static_cast<View
>(in.get(C::tx_nullifier_limit_error)));
312 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
313 auto tmp =
static_cast<View
>(in.get(C::tx_sel_try_nullifier_append)) *
314 static_cast<View
>(in.get(C::tx_nullifier_limit_error)) *
315 (
FF(1) -
static_cast<View
>(in.get(C::tx_reverted)));
319 using View =
typename std::tuple_element_t<39, ContainerOverSubrelations>::View;
320 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_nullifier_append)) -
321 static_cast<View
>(in.get(C::tx_sel_try_nullifier_append)) *
322 (
FF(1) -
static_cast<View
>(in.get(C::tx_nullifier_limit_error))));
326 using View =
typename std::tuple_element_t<40, ContainerOverSubrelations>::View;
327 auto tmp =
static_cast<View
>(in.get(C::tx_sel_nullifier_append)) *
328 ((
CView(constants_AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX) +
329 static_cast<View
>(in.get(C::tx_prev_num_nullifiers_emitted))) -
330 static_cast<View
>(in.get(C::tx_write_nullifier_pi_offset)));
334 using View =
typename std::tuple_element_t<41, ContainerOverSubrelations>::View;
335 auto tmp =
static_cast<View
>(in.get(C::tx_sel_nullifier_append)) *
336 (
static_cast<View
>(in.get(C::tx_nullifier_tree_height)) -
CView(constants_NULLIFIER_TREE_HEIGHT));
340 using View =
typename std::tuple_element_t<42, ContainerOverSubrelations>::View;
342 static_cast<View
>(in.get(C::tx_sel_nullifier_append)) *
343 (
static_cast<View
>(in.get(C::tx_nullifier_merkle_separator)) -
CView(constants_DOM_SEP__NULLIFIER_MERKLE));
347 using View =
typename std::tuple_element_t<43, ContainerOverSubrelations>::View;
348 auto tmp =
static_cast<View
>(in.get(C::tx_sel_nullifier_append)) *
349 ((
static_cast<View
>(in.get(C::tx_prev_nullifier_tree_size)) +
FF(1)) -
350 static_cast<View
>(in.get(C::tx_next_nullifier_tree_size)));
354 using View =
typename std::tuple_element_t<44, ContainerOverSubrelations>::View;
355 auto tmp =
static_cast<View
>(in.get(C::tx_sel_nullifier_append)) *
356 ((
static_cast<View
>(in.get(C::tx_prev_num_nullifiers_emitted)) +
FF(1)) -
357 static_cast<View
>(in.get(C::tx_next_num_nullifiers_emitted)));
361 using View =
typename std::tuple_element_t<45, ContainerOverSubrelations>::View;
362 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_try_l2_l1_msg_append)) -
363 (
static_cast<View
>(in.get(C::tx_sel)) -
static_cast<View
>(in.get(C::tx_is_padded))) *
364 static_cast<View
>(in.get(C::tx_sel_append_l2_l1_msg)));
368 using View =
typename std::tuple_element_t<46, ContainerOverSubrelations>::View;
369 auto tmp =
static_cast<View
>(in.get(C::tx_sel_try_l2_l1_msg_append)) *
370 ((
CView(tx_REMAINING_L2_TO_L1_MSG_WRITES) *
371 (
static_cast<View
>(in.get(C::tx_reverted)) *
372 (
FF(1) -
static_cast<View
>(in.get(C::tx_remaining_side_effects_inv))) +
373 static_cast<View
>(in.get(C::tx_remaining_side_effects_inv))) -
375 static_cast<View
>(in.get(C::tx_reverted)));
379 using View =
typename std::tuple_element_t<47, ContainerOverSubrelations>::View;
380 auto tmp = (
static_cast<View
>(in.get(C::tx_sel_l2_l1_msg_append)) -
381 static_cast<View
>(in.get(C::tx_sel_try_l2_l1_msg_append)) *
382 (
FF(1) -
static_cast<View
>(in.get(C::tx_reverted))) *
383 (
FF(1) -
static_cast<View
>(in.get(C::tx_discard))));
387 using View =
typename std::tuple_element_t<48, ContainerOverSubrelations>::View;
388 auto tmp =
static_cast<View
>(in.get(C::tx_sel_l2_l1_msg_append)) *
389 ((
CView(constants_AVM_PUBLIC_INPUTS_AVM_ACCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX) +
390 static_cast<View
>(in.get(C::tx_prev_num_l2_to_l1_messages))) -
391 static_cast<View
>(in.get(C::tx_write_pi_offset)));
395 using View =
typename std::tuple_element_t<49, ContainerOverSubrelations>::View;
396 auto tmp =
static_cast<View
>(in.get(C::tx_sel_try_l2_l1_msg_append)) *
397 (
FF(1) -
static_cast<View
>(in.get(C::tx_reverted))) *
398 ((
static_cast<View
>(in.get(C::tx_prev_num_l2_to_l1_messages)) +
FF(1)) -
399 static_cast<View
>(in.get(C::tx_next_num_l2_to_l1_messages)));
403 using View =
typename std::tuple_element_t<50, ContainerOverSubrelations>::View;
404 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_sel)));
408 using View =
typename std::tuple_element_t<51, ContainerOverSubrelations>::View;
410 (
static_cast<View
>(in.get(C::tx_fee_payer_pi_offset)) -
411 static_cast<View
>(in.get(C::tx_is_collect_fee)) *
CView(constants_AVM_PUBLIC_INPUTS_FEE_PAYER_ROW_IDX));
415 using View =
typename std::tuple_element_t<52, ContainerOverSubrelations>::View;
416 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
417 ((
static_cast<View
>(in.get(C::tx_effective_fee_per_da_gas)) *
418 static_cast<View
>(in.get(C::tx_prev_da_gas_used)) +
419 static_cast<View
>(in.get(C::tx_effective_fee_per_l2_gas)) *
420 static_cast<View
>(in.get(C::tx_prev_l2_gas_used))) -
421 static_cast<View
>(in.get(C::tx_fee)));
425 using View =
typename std::tuple_element_t<53, ContainerOverSubrelations>::View;
426 auto tmp =
static_cast<View
>(in.get(C::tx_is_teardown)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_is_padded))) *
427 (
static_cast<View
>(in.get(C::tx_fee_shift)) -
static_cast<View
>(in.get(C::tx_fee)));
431 using View =
typename std::tuple_element_t<54, ContainerOverSubrelations>::View;
432 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::tx_is_collect_fee))) *
433 (
FF(1) -
static_cast<View
>(in.get(C::tx_is_teardown))) *
static_cast<View
>(in.get(C::tx_fee));
437 using View =
typename std::tuple_element_t<55, ContainerOverSubrelations>::View;
438 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
439 (
CView(constants_FEE_JUICE_ADDRESS) -
static_cast<View
>(in.get(C::tx_fee_juice_contract_address)));
443 using View =
typename std::tuple_element_t<56, ContainerOverSubrelations>::View;
444 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
445 (
CView(constants_FEE_JUICE_BALANCES_SLOT) -
446 static_cast<View
>(in.get(C::tx_fee_juice_balances_slot_constant)));
450 using View =
typename std::tuple_element_t<57, ContainerOverSubrelations>::View;
451 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
452 (
CView(constants_DOM_SEP__PUBLIC_STORAGE_MAP_SLOT) -
453 static_cast<View
>(in.get(C::tx_dom_sep_public_storage_map_slot)));
457 using View =
typename std::tuple_element_t<58, ContainerOverSubrelations>::View;
459 static_cast<View
>(in.get(C::tx_is_collect_fee)) * (
static_cast<View
>(in.get(C::tx_const_three)) -
FF(3));
463 using View =
typename std::tuple_element_t<59, ContainerOverSubrelations>::View;
464 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
465 ((
static_cast<View
>(in.get(C::tx_fee_payer_balance)) -
static_cast<View
>(in.get(C::tx_fee))) -
466 static_cast<View
>(in.get(C::tx_fee_payer_new_balance)));
470 using View =
typename std::tuple_element_t<60, ContainerOverSubrelations>::View;
471 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
472 (
static_cast<View
>(in.get(C::tx_uint32_max)) -
FF(4294967295UL));
476 using View =
typename std::tuple_element_t<61, ContainerOverSubrelations>::View;
477 auto tmp =
static_cast<View
>(in.get(C::tx_is_collect_fee)) *
478 (
CView(constants_AVM_PUBLIC_INPUTS_TRANSACTION_FEE_ROW_IDX) -
479 static_cast<View
>(in.get(C::tx_write_pi_offset)));
483 using View =
typename std::tuple_element_t<62, ContainerOverSubrelations>::View;
485 static_cast<View
>(in.get(C::tx_is_tree_padding)) *
486 (((
static_cast<View
>(in.get(C::tx_prev_note_hash_tree_size)) +
CView(constants_MAX_NOTE_HASHES_PER_TX)) -
487 static_cast<View
>(in.get(C::tx_prev_num_note_hashes_emitted))) -
488 static_cast<View
>(in.get(C::tx_next_note_hash_tree_size)));
492 using View =
typename std::tuple_element_t<63, ContainerOverSubrelations>::View;
494 static_cast<View
>(in.get(C::tx_is_tree_padding)) *
495 (((
static_cast<View
>(in.get(C::tx_prev_nullifier_tree_size)) +
CView(constants_MAX_NULLIFIERS_PER_TX)) -
496 static_cast<View
>(in.get(C::tx_prev_num_nullifiers_emitted))) -
497 static_cast<View
>(in.get(C::tx_next_nullifier_tree_size)));
501 using View =
typename std::tuple_element_t<64, ContainerOverSubrelations>::View;
502 auto tmp =
static_cast<View
>(in.get(C::tx_is_cleanup)) * (
FF(1) -
static_cast<View
>(in.get(C::tx_sel)));