Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_note_hash_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_NOTE_HASH_TREE_CHECK_SILO_POSEIDON2";
18 static constexpr std::string_view RELATION_NAME = "note_hash_tree_check";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
20 static constexpr Column SRC_SELECTOR = Column::note_hash_tree_check_should_silo;
21 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_end;
22 static constexpr Column COUNTS = Column::lookup_note_hash_tree_check_silo_poseidon2_counts;
23 static constexpr Column INVERSES = Column::lookup_note_hash_tree_check_silo_poseidon2_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::note_hash_tree_check_sel,
26 ColumnAndShifts::note_hash_tree_check_siloing_separator,
27 ColumnAndShifts::note_hash_tree_check_address,
28 ColumnAndShifts::note_hash_tree_check_note_hash,
29 ColumnAndShifts::note_hash_tree_check_siloed_note_hash
30 };
31 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
32 ColumnAndShifts::poseidon2_hash_start,
33 ColumnAndShifts::poseidon2_hash_input_0,
34 ColumnAndShifts::poseidon2_hash_input_1,
35 ColumnAndShifts::poseidon2_hash_input_2,
36 ColumnAndShifts::poseidon2_hash_output
37 };
38};
39
42template <typename FF_>
45
47
49 static constexpr std::string_view NAME = "LOOKUP_NOTE_HASH_TREE_CHECK_READ_FIRST_NULLIFIER";
50 static constexpr std::string_view RELATION_NAME = "note_hash_tree_check";
51 static constexpr size_t LOOKUP_TUPLE_SIZE = 2;
52 static constexpr Column SRC_SELECTOR = Column::note_hash_tree_check_should_unique;
53 static constexpr Column DST_SELECTOR = Column::public_inputs_sel;
54 static constexpr Column COUNTS = Column::lookup_note_hash_tree_check_read_first_nullifier_counts;
55 static constexpr Column INVERSES = Column::lookup_note_hash_tree_check_read_first_nullifier_inv;
56 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
57 ColumnAndShifts::note_hash_tree_check_first_nullifier_pi_index,
58 ColumnAndShifts::note_hash_tree_check_first_nullifier
59 };
60 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
61 ColumnAndShifts::precomputed_clk, ColumnAndShifts::public_inputs_cols_0_
62 };
63};
64
67template <typename FF_>
70
72
74 static constexpr std::string_view NAME = "LOOKUP_NOTE_HASH_TREE_CHECK_NONCE_COMPUTATION_POSEIDON2";
75 static constexpr std::string_view RELATION_NAME = "note_hash_tree_check";
76 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
77 static constexpr Column SRC_SELECTOR = Column::note_hash_tree_check_should_unique;
78 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_end;
79 static constexpr Column COUNTS = Column::lookup_note_hash_tree_check_nonce_computation_poseidon2_counts;
80 static constexpr Column INVERSES = Column::lookup_note_hash_tree_check_nonce_computation_poseidon2_inv;
81 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
82 ColumnAndShifts::note_hash_tree_check_sel,
83 ColumnAndShifts::note_hash_tree_check_nonce_separator,
84 ColumnAndShifts::note_hash_tree_check_first_nullifier,
85 ColumnAndShifts::note_hash_tree_check_note_hash_index,
86 ColumnAndShifts::note_hash_tree_check_nonce
87 };
88 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
89 ColumnAndShifts::poseidon2_hash_start,
90 ColumnAndShifts::poseidon2_hash_input_0,
91 ColumnAndShifts::poseidon2_hash_input_1,
92 ColumnAndShifts::poseidon2_hash_input_2,
93 ColumnAndShifts::poseidon2_hash_output
94 };
95};
96
99template <typename FF_>
102
104
106 static constexpr std::string_view NAME = "LOOKUP_NOTE_HASH_TREE_CHECK_UNIQUE_NOTE_HASH_POSEIDON2";
107 static constexpr std::string_view RELATION_NAME = "note_hash_tree_check";
108 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
109 static constexpr Column SRC_SELECTOR = Column::note_hash_tree_check_should_unique;
110 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_end;
111 static constexpr Column COUNTS = Column::lookup_note_hash_tree_check_unique_note_hash_poseidon2_counts;
112 static constexpr Column INVERSES = Column::lookup_note_hash_tree_check_unique_note_hash_poseidon2_inv;
113 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
114 ColumnAndShifts::note_hash_tree_check_sel,
115 ColumnAndShifts::note_hash_tree_check_unique_note_hash_separator,
116 ColumnAndShifts::note_hash_tree_check_nonce,
117 ColumnAndShifts::note_hash_tree_check_siloed_note_hash,
118 ColumnAndShifts::note_hash_tree_check_unique_note_hash
119 };
120 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
121 ColumnAndShifts::poseidon2_hash_start,
122 ColumnAndShifts::poseidon2_hash_input_0,
123 ColumnAndShifts::poseidon2_hash_input_1,
124 ColumnAndShifts::poseidon2_hash_input_2,
125 ColumnAndShifts::poseidon2_hash_output
126 };
127};
128
131template <typename FF_>
134
136
138 static constexpr std::string_view NAME = "LOOKUP_NOTE_HASH_TREE_CHECK_MERKLE_CHECK";
139 static constexpr std::string_view RELATION_NAME = "note_hash_tree_check";
140 static constexpr size_t LOOKUP_TUPLE_SIZE = 7;
141 static constexpr Column SRC_SELECTOR = Column::note_hash_tree_check_sel;
142 static constexpr Column DST_SELECTOR = Column::merkle_check_start;
143 static constexpr Column COUNTS = Column::lookup_note_hash_tree_check_merkle_check_counts;
144 static constexpr Column INVERSES = Column::lookup_note_hash_tree_check_merkle_check_inv;
145 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
146 ColumnAndShifts::note_hash_tree_check_write,
147 ColumnAndShifts::note_hash_tree_check_prev_leaf_value,
148 ColumnAndShifts::note_hash_tree_check_next_leaf_value,
149 ColumnAndShifts::note_hash_tree_check_leaf_index,
150 ColumnAndShifts::note_hash_tree_check_note_hash_tree_height,
151 ColumnAndShifts::note_hash_tree_check_prev_root,
152 ColumnAndShifts::note_hash_tree_check_next_root
153 };
154 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
155 ColumnAndShifts::merkle_check_write, ColumnAndShifts::merkle_check_read_node,
156 ColumnAndShifts::merkle_check_write_node, ColumnAndShifts::merkle_check_index,
157 ColumnAndShifts::merkle_check_path_len, ColumnAndShifts::merkle_check_read_root,
158 ColumnAndShifts::merkle_check_write_root
159 };
160};
161
164template <typename FF_>
167
169
171 static constexpr std::string_view NAME = "LOOKUP_NOTE_HASH_TREE_CHECK_WRITE_NOTE_HASH_TO_PUBLIC_INPUTS";
172 static constexpr std::string_view RELATION_NAME = "note_hash_tree_check";
173 static constexpr size_t LOOKUP_TUPLE_SIZE = 2;
174 static constexpr Column SRC_SELECTOR = Column::note_hash_tree_check_should_write_to_public_inputs;
175 static constexpr Column DST_SELECTOR = Column::public_inputs_sel;
176 static constexpr Column COUNTS = Column::lookup_note_hash_tree_check_write_note_hash_to_public_inputs_counts;
177 static constexpr Column INVERSES = Column::lookup_note_hash_tree_check_write_note_hash_to_public_inputs_inv;
178 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
179 ColumnAndShifts::note_hash_tree_check_public_inputs_index,
180 ColumnAndShifts::note_hash_tree_check_unique_note_hash
181 };
182 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
183 ColumnAndShifts::precomputed_clk, ColumnAndShifts::public_inputs_cols_0_
184 };
185};
186
189template <typename FF_>
192
193} // namespace bb::avm2
This file contains the template for the generic lookup that can be specialized to enforce various loo...
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