Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_indexed_tree_check.hpp
Go to the documentation of this file.
1// AUTOGENERATED FILE
2#pragma once
3
4#include <cstddef>
5#include <string_view>
6#include <tuple>
7
8#include "../columns.hpp"
11
12namespace bb::avm2 {
13
15
17 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_SILO_POSEIDON2";
18 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
20 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_silo;
21 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
22 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_silo_poseidon2_counts;
23 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_silo_poseidon2_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::indexed_tree_check_siloing_separator,
26 ColumnAndShifts::indexed_tree_check_address,
27 ColumnAndShifts::indexed_tree_check_value,
28 ColumnAndShifts::indexed_tree_check_siloed_value,
29 ColumnAndShifts::indexed_tree_check_const_three
30 };
31 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
32 ColumnAndShifts::poseidon2_hash_input_0,
33 ColumnAndShifts::poseidon2_hash_input_1,
34 ColumnAndShifts::poseidon2_hash_input_2,
35 ColumnAndShifts::poseidon2_hash_output,
36 ColumnAndShifts::poseidon2_hash_input_len
37 };
38};
39
42template <typename FF_>
45
47
49 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_LOW_LEAF_VALUE_VALIDATION";
50 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
51 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
52 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_not_exists;
53 static constexpr Column DST_SELECTOR = Column::ff_gt_sel_gt;
54 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_low_leaf_value_validation_counts;
55 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_low_leaf_value_validation_inv;
56 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
57 ColumnAndShifts::indexed_tree_check_siloed_value,
58 ColumnAndShifts::indexed_tree_check_low_leaf_value,
59 ColumnAndShifts::indexed_tree_check_sel
60 };
61 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::ff_gt_a,
62 ColumnAndShifts::ff_gt_b,
63 ColumnAndShifts::ff_gt_result };
64};
65
68template <typename FF_>
71
73
75 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_LOW_LEAF_NEXT_VALUE_VALIDATION";
76 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
77 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
78 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_next_value_is_nonzero;
79 static constexpr Column DST_SELECTOR = Column::ff_gt_sel_gt;
80 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_low_leaf_next_value_validation_counts;
81 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_low_leaf_next_value_validation_inv;
82 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
83 ColumnAndShifts::indexed_tree_check_low_leaf_next_value,
84 ColumnAndShifts::indexed_tree_check_siloed_value,
85 ColumnAndShifts::indexed_tree_check_sel
86 };
87 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::ff_gt_a,
88 ColumnAndShifts::ff_gt_b,
89 ColumnAndShifts::ff_gt_result };
90};
91
94template <typename FF_>
97
99
101 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_LOW_LEAF_POSEIDON2";
102 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
103 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
104 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel;
105 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
106 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_low_leaf_poseidon2_counts;
107 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_low_leaf_poseidon2_inv;
108 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
109 ColumnAndShifts::indexed_tree_check_low_leaf_value,
110 ColumnAndShifts::indexed_tree_check_low_leaf_next_value,
111 ColumnAndShifts::indexed_tree_check_low_leaf_next_index,
112 ColumnAndShifts::indexed_tree_check_low_leaf_hash,
113 ColumnAndShifts::indexed_tree_check_const_three
114 };
115 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
116 ColumnAndShifts::poseidon2_hash_input_0,
117 ColumnAndShifts::poseidon2_hash_input_1,
118 ColumnAndShifts::poseidon2_hash_input_2,
119 ColumnAndShifts::poseidon2_hash_output,
120 ColumnAndShifts::poseidon2_hash_input_len
121 };
122};
123
126template <typename FF_>
129
131
133 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_UPDATED_LOW_LEAF_POSEIDON2";
134 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
135 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
136 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_insert;
137 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
138 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_updated_low_leaf_poseidon2_counts;
139 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_updated_low_leaf_poseidon2_inv;
140 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
141 ColumnAndShifts::indexed_tree_check_low_leaf_value,
142 ColumnAndShifts::indexed_tree_check_updated_low_leaf_next_value,
143 ColumnAndShifts::indexed_tree_check_updated_low_leaf_next_index,
144 ColumnAndShifts::indexed_tree_check_updated_low_leaf_hash,
145 ColumnAndShifts::indexed_tree_check_const_three
146 };
147 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
148 ColumnAndShifts::poseidon2_hash_input_0,
149 ColumnAndShifts::poseidon2_hash_input_1,
150 ColumnAndShifts::poseidon2_hash_input_2,
151 ColumnAndShifts::poseidon2_hash_output,
152 ColumnAndShifts::poseidon2_hash_input_len
153 };
154};
155
158template <typename FF_>
161
163
165 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_LOW_LEAF_MERKLE_CHECK";
166 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
167 static constexpr size_t LOOKUP_TUPLE_SIZE = 7;
168 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel;
169 static constexpr Column DST_SELECTOR = Column::merkle_check_start;
170 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_low_leaf_merkle_check_counts;
171 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_low_leaf_merkle_check_inv;
172 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
173 ColumnAndShifts::indexed_tree_check_sel_insert,
174 ColumnAndShifts::indexed_tree_check_low_leaf_hash,
175 ColumnAndShifts::indexed_tree_check_updated_low_leaf_hash,
176 ColumnAndShifts::indexed_tree_check_low_leaf_index,
177 ColumnAndShifts::indexed_tree_check_tree_height,
178 ColumnAndShifts::indexed_tree_check_root,
179 ColumnAndShifts::indexed_tree_check_intermediate_root
180 };
181 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
182 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
183 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
184 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
185 ColumnAndShifts::merkle_check_write_root
186 };
187};
188
191template <typename FF_>
194
196
198 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_NEW_LEAF_POSEIDON2";
199 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
200 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
201 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_insert;
202 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
203 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_new_leaf_poseidon2_counts;
204 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_new_leaf_poseidon2_inv;
205 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
206 ColumnAndShifts::indexed_tree_check_siloed_value,
207 ColumnAndShifts::indexed_tree_check_low_leaf_next_value,
208 ColumnAndShifts::indexed_tree_check_low_leaf_next_index,
209 ColumnAndShifts::indexed_tree_check_new_leaf_hash,
210 ColumnAndShifts::indexed_tree_check_const_three
211 };
212 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
213 ColumnAndShifts::poseidon2_hash_input_0,
214 ColumnAndShifts::poseidon2_hash_input_1,
215 ColumnAndShifts::poseidon2_hash_input_2,
216 ColumnAndShifts::poseidon2_hash_output,
217 ColumnAndShifts::poseidon2_hash_input_len
218 };
219};
220
223template <typename FF_>
226
228
230 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_NEW_LEAF_MERKLE_CHECK";
231 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
232 static constexpr size_t LOOKUP_TUPLE_SIZE = 7;
233 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_insert;
234 static constexpr Column DST_SELECTOR = Column::merkle_check_start;
235 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_new_leaf_merkle_check_counts;
236 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_new_leaf_merkle_check_inv;
237 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
238 ColumnAndShifts::indexed_tree_check_sel, ColumnAndShifts::precomputed_zero,
239 ColumnAndShifts::indexed_tree_check_new_leaf_hash, ColumnAndShifts::indexed_tree_check_tree_size_before_write,
240 ColumnAndShifts::indexed_tree_check_tree_height, ColumnAndShifts::indexed_tree_check_intermediate_root,
241 ColumnAndShifts::indexed_tree_check_write_root
242 };
243 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
244 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
245 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
246 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
247 ColumnAndShifts::merkle_check_write_root
248 };
249};
250
253template <typename FF_>
256
258
260 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_WRITE_VALUE_TO_PUBLIC_INPUTS";
261 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
262 static constexpr size_t LOOKUP_TUPLE_SIZE = 2;
263 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_write_to_public_inputs;
264 static constexpr Column DST_SELECTOR = Column::public_inputs_sel;
265 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_write_value_to_public_inputs_counts;
266 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_write_value_to_public_inputs_inv;
267 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
268 ColumnAndShifts::indexed_tree_check_public_inputs_index, ColumnAndShifts::indexed_tree_check_siloed_value
269 };
270 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
271 ColumnAndShifts::precomputed_idx, ColumnAndShifts::public_inputs_cols_0_
272 };
273};
274
277template <typename FF_>
280
281} // namespace bb::avm2
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
Settings to be passed ot GenericLookupRelationImpl.