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 = 8;
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 ColumnAndShifts::indexed_tree_check_merkle_hash_separator
181 };
182 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
183 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
184 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
185 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
186 ColumnAndShifts::merkle_check_write_root, ColumnAndShifts::merkle_check_merkle_hash_separator
187 };
188};
189
192template <typename FF_>
195
197
199 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_NEW_LEAF_POSEIDON2";
200 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
201 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
202 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_insert;
203 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
204 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_new_leaf_poseidon2_counts;
205 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_new_leaf_poseidon2_inv;
206 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
207 ColumnAndShifts::indexed_tree_check_siloed_value,
208 ColumnAndShifts::indexed_tree_check_low_leaf_next_value,
209 ColumnAndShifts::indexed_tree_check_low_leaf_next_index,
210 ColumnAndShifts::indexed_tree_check_new_leaf_hash,
211 ColumnAndShifts::indexed_tree_check_const_three
212 };
213 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
214 ColumnAndShifts::poseidon2_hash_input_0,
215 ColumnAndShifts::poseidon2_hash_input_1,
216 ColumnAndShifts::poseidon2_hash_input_2,
217 ColumnAndShifts::poseidon2_hash_output,
218 ColumnAndShifts::poseidon2_hash_input_len
219 };
220};
221
224template <typename FF_>
227
229
231 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_NEW_LEAF_MERKLE_CHECK";
232 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
233 static constexpr size_t LOOKUP_TUPLE_SIZE = 8;
234 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_insert;
235 static constexpr Column DST_SELECTOR = Column::merkle_check_start;
236 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_new_leaf_merkle_check_counts;
237 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_new_leaf_merkle_check_inv;
238 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
239 ColumnAndShifts::indexed_tree_check_sel, ColumnAndShifts::precomputed_zero,
240 ColumnAndShifts::indexed_tree_check_new_leaf_hash, ColumnAndShifts::indexed_tree_check_tree_size_before_write,
241 ColumnAndShifts::indexed_tree_check_tree_height, ColumnAndShifts::indexed_tree_check_intermediate_root,
242 ColumnAndShifts::indexed_tree_check_write_root, ColumnAndShifts::indexed_tree_check_merkle_hash_separator
243 };
244 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
245 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
246 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
247 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
248 ColumnAndShifts::merkle_check_write_root, ColumnAndShifts::merkle_check_merkle_hash_separator
249 };
250};
251
254template <typename FF_>
257
259
261 static constexpr std::string_view NAME = "LOOKUP_INDEXED_TREE_CHECK_WRITE_VALUE_TO_PUBLIC_INPUTS";
262 static constexpr std::string_view RELATION_NAME = "indexed_tree_check";
263 static constexpr size_t LOOKUP_TUPLE_SIZE = 2;
264 static constexpr Column SRC_SELECTOR = Column::indexed_tree_check_sel_write_to_public_inputs;
265 static constexpr Column DST_SELECTOR = Column::public_inputs_sel;
266 static constexpr Column COUNTS = Column::lookup_indexed_tree_check_write_value_to_public_inputs_counts;
267 static constexpr Column INVERSES = Column::lookup_indexed_tree_check_write_value_to_public_inputs_inv;
268 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
269 ColumnAndShifts::indexed_tree_check_public_inputs_index, ColumnAndShifts::indexed_tree_check_siloed_value
270 };
271 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
272 ColumnAndShifts::precomputed_idx, ColumnAndShifts::public_inputs_cols_0_
273 };
274};
275
278template <typename FF_>
281
282} // 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.