Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_nullifier_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_NULLIFIER_CHECK_SILO_POSEIDON2";
18 static constexpr std::string_view RELATION_NAME = "nullifier_check";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
20 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel_silo;
21 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
22 static constexpr Column COUNTS = Column::lookup_nullifier_check_silo_poseidon2_counts;
23 static constexpr Column INVERSES = Column::lookup_nullifier_check_silo_poseidon2_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::nullifier_check_siloing_separator,
26 ColumnAndShifts::nullifier_check_address,
27 ColumnAndShifts::nullifier_check_nullifier,
28 ColumnAndShifts::nullifier_check_siloed_nullifier,
29 ColumnAndShifts::nullifier_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
41template <typename FF_>
44
46
48 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_LOW_LEAF_NULLIFIER_VALIDATION";
49 static constexpr std::string_view RELATION_NAME = "nullifier_check";
50 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
51 static constexpr Column SRC_SELECTOR = Column::nullifier_check_leaf_not_exists;
52 static constexpr Column DST_SELECTOR = Column::ff_gt_sel_gt;
53 static constexpr Column COUNTS = Column::lookup_nullifier_check_low_leaf_nullifier_validation_counts;
54 static constexpr Column INVERSES = Column::lookup_nullifier_check_low_leaf_nullifier_validation_inv;
55 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
56 ColumnAndShifts::nullifier_check_siloed_nullifier,
57 ColumnAndShifts::nullifier_check_low_leaf_nullifier,
58 ColumnAndShifts::nullifier_check_sel
59 };
60 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::ff_gt_a,
61 ColumnAndShifts::ff_gt_b,
62 ColumnAndShifts::ff_gt_result };
63};
64
67template <typename FF_>
70
72
74 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_LOW_LEAF_NEXT_NULLIFIER_VALIDATION";
75 static constexpr std::string_view RELATION_NAME = "nullifier_check";
76 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
77 static constexpr Column SRC_SELECTOR = Column::nullifier_check_next_nullifier_is_nonzero;
78 static constexpr Column DST_SELECTOR = Column::ff_gt_sel_gt;
79 static constexpr Column COUNTS = Column::lookup_nullifier_check_low_leaf_next_nullifier_validation_counts;
80 static constexpr Column INVERSES = Column::lookup_nullifier_check_low_leaf_next_nullifier_validation_inv;
81 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
82 ColumnAndShifts::nullifier_check_low_leaf_next_nullifier,
83 ColumnAndShifts::nullifier_check_siloed_nullifier,
84 ColumnAndShifts::nullifier_check_sel
85 };
86 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::ff_gt_a,
87 ColumnAndShifts::ff_gt_b,
88 ColumnAndShifts::ff_gt_result };
89};
90
93template <typename FF_>
96
98
100 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_LOW_LEAF_POSEIDON2";
101 static constexpr std::string_view RELATION_NAME = "nullifier_check";
102 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
103 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel;
104 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
105 static constexpr Column COUNTS = Column::lookup_nullifier_check_low_leaf_poseidon2_counts;
106 static constexpr Column INVERSES = Column::lookup_nullifier_check_low_leaf_poseidon2_inv;
107 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
108 ColumnAndShifts::nullifier_check_low_leaf_nullifier,
109 ColumnAndShifts::nullifier_check_low_leaf_next_nullifier,
110 ColumnAndShifts::nullifier_check_low_leaf_next_index,
111 ColumnAndShifts::nullifier_check_low_leaf_hash,
112 ColumnAndShifts::nullifier_check_const_three
113 };
114 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
115 ColumnAndShifts::poseidon2_hash_input_0,
116 ColumnAndShifts::poseidon2_hash_input_1,
117 ColumnAndShifts::poseidon2_hash_input_2,
118 ColumnAndShifts::poseidon2_hash_output,
119 ColumnAndShifts::poseidon2_hash_input_len
120 };
121};
122
125template <typename FF_>
128
130
132 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_UPDATED_LOW_LEAF_POSEIDON2";
133 static constexpr std::string_view RELATION_NAME = "nullifier_check";
134 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
135 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel_insert;
136 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
137 static constexpr Column COUNTS = Column::lookup_nullifier_check_updated_low_leaf_poseidon2_counts;
138 static constexpr Column INVERSES = Column::lookup_nullifier_check_updated_low_leaf_poseidon2_inv;
139 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
140 ColumnAndShifts::nullifier_check_low_leaf_nullifier,
141 ColumnAndShifts::nullifier_check_updated_low_leaf_next_nullifier,
142 ColumnAndShifts::nullifier_check_updated_low_leaf_next_index,
143 ColumnAndShifts::nullifier_check_updated_low_leaf_hash,
144 ColumnAndShifts::nullifier_check_const_three
145 };
146 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
147 ColumnAndShifts::poseidon2_hash_input_0,
148 ColumnAndShifts::poseidon2_hash_input_1,
149 ColumnAndShifts::poseidon2_hash_input_2,
150 ColumnAndShifts::poseidon2_hash_output,
151 ColumnAndShifts::poseidon2_hash_input_len
152 };
153};
154
157template <typename FF_>
160
162
164 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_LOW_LEAF_MERKLE_CHECK";
165 static constexpr std::string_view RELATION_NAME = "nullifier_check";
166 static constexpr size_t LOOKUP_TUPLE_SIZE = 7;
167 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel;
168 static constexpr Column DST_SELECTOR = Column::merkle_check_start;
169 static constexpr Column COUNTS = Column::lookup_nullifier_check_low_leaf_merkle_check_counts;
170 static constexpr Column INVERSES = Column::lookup_nullifier_check_low_leaf_merkle_check_inv;
171 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
172 ColumnAndShifts::nullifier_check_sel_insert,
173 ColumnAndShifts::nullifier_check_low_leaf_hash,
174 ColumnAndShifts::nullifier_check_updated_low_leaf_hash,
175 ColumnAndShifts::nullifier_check_low_leaf_index,
176 ColumnAndShifts::nullifier_check_tree_height,
177 ColumnAndShifts::nullifier_check_root,
178 ColumnAndShifts::nullifier_check_intermediate_root
179 };
180 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
181 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
182 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
183 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
184 ColumnAndShifts::merkle_check_write_root
185 };
186};
187
190template <typename FF_>
193
195
197 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_NEW_LEAF_POSEIDON2";
198 static constexpr std::string_view RELATION_NAME = "nullifier_check";
199 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
200 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel_insert;
201 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start;
202 static constexpr Column COUNTS = Column::lookup_nullifier_check_new_leaf_poseidon2_counts;
203 static constexpr Column INVERSES = Column::lookup_nullifier_check_new_leaf_poseidon2_inv;
204 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
205 ColumnAndShifts::nullifier_check_siloed_nullifier,
206 ColumnAndShifts::nullifier_check_low_leaf_next_nullifier,
207 ColumnAndShifts::nullifier_check_low_leaf_next_index,
208 ColumnAndShifts::nullifier_check_new_leaf_hash,
209 ColumnAndShifts::nullifier_check_const_three
210 };
211 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
212 ColumnAndShifts::poseidon2_hash_input_0,
213 ColumnAndShifts::poseidon2_hash_input_1,
214 ColumnAndShifts::poseidon2_hash_input_2,
215 ColumnAndShifts::poseidon2_hash_output,
216 ColumnAndShifts::poseidon2_hash_input_len
217 };
218};
219
222template <typename FF_>
225
227
229 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_NEW_LEAF_MERKLE_CHECK";
230 static constexpr std::string_view RELATION_NAME = "nullifier_check";
231 static constexpr size_t LOOKUP_TUPLE_SIZE = 7;
232 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel_insert;
233 static constexpr Column DST_SELECTOR = Column::merkle_check_start;
234 static constexpr Column COUNTS = Column::lookup_nullifier_check_new_leaf_merkle_check_counts;
235 static constexpr Column INVERSES = Column::lookup_nullifier_check_new_leaf_merkle_check_inv;
236 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
237 ColumnAndShifts::nullifier_check_sel, ColumnAndShifts::precomputed_zero,
238 ColumnAndShifts::nullifier_check_new_leaf_hash, ColumnAndShifts::nullifier_check_tree_size_before_write,
239 ColumnAndShifts::nullifier_check_tree_height, ColumnAndShifts::nullifier_check_intermediate_root,
240 ColumnAndShifts::nullifier_check_write_root
241 };
242 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
243 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
244 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
245 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
246 ColumnAndShifts::merkle_check_write_root
247 };
248};
249
252template <typename FF_>
255
257
259 static constexpr std::string_view NAME = "LOOKUP_NULLIFIER_CHECK_WRITE_NULLIFIER_TO_PUBLIC_INPUTS";
260 static constexpr std::string_view RELATION_NAME = "nullifier_check";
261 static constexpr size_t LOOKUP_TUPLE_SIZE = 2;
262 static constexpr Column SRC_SELECTOR = Column::nullifier_check_sel_write_to_public_inputs;
263 static constexpr Column DST_SELECTOR = Column::public_inputs_sel;
264 static constexpr Column COUNTS = Column::lookup_nullifier_check_write_nullifier_to_public_inputs_counts;
265 static constexpr Column INVERSES = Column::lookup_nullifier_check_write_nullifier_to_public_inputs_inv;
266 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
267 ColumnAndShifts::nullifier_check_public_inputs_index, ColumnAndShifts::nullifier_check_siloed_nullifier
268 };
269 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
270 ColumnAndShifts::precomputed_idx, ColumnAndShifts::public_inputs_cols_0_
271 };
272};
273
276template <typename FF_>
279
280} // namespace bb::avm2
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 > 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 > 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
Settings to be passed ot GenericLookupRelationImpl.