Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_merkle_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_MERKLE_CHECK_MERKLE_POSEIDON2_READ";
18 static constexpr std::string_view RELATION_NAME = "merkle_check";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
20 static constexpr Column SRC_SELECTOR = Column::merkle_check_sel;
21 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_end;
22 static constexpr Column COUNTS = Column::lookup_merkle_check_merkle_poseidon2_read_counts;
23 static constexpr Column INVERSES = Column::lookup_merkle_check_merkle_poseidon2_read_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::merkle_check_read_left_node,
26 ColumnAndShifts::merkle_check_read_right_node,
27 ColumnAndShifts::precomputed_zero,
28 ColumnAndShifts::merkle_check_constant_2,
29 ColumnAndShifts::merkle_check_read_output_hash
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_input_len,
36 ColumnAndShifts::poseidon2_hash_output
37 };
38};
39
42template <typename FF_>
45
47
49 static constexpr std::string_view NAME = "LOOKUP_MERKLE_CHECK_MERKLE_POSEIDON2_WRITE";
50 static constexpr std::string_view RELATION_NAME = "merkle_check";
51 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
52 static constexpr Column SRC_SELECTOR = Column::merkle_check_write;
53 static constexpr Column DST_SELECTOR = Column::poseidon2_hash_end;
54 static constexpr Column COUNTS = Column::lookup_merkle_check_merkle_poseidon2_write_counts;
55 static constexpr Column INVERSES = Column::lookup_merkle_check_merkle_poseidon2_write_inv;
56 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
57 ColumnAndShifts::merkle_check_write_left_node,
58 ColumnAndShifts::merkle_check_write_right_node,
59 ColumnAndShifts::precomputed_zero,
60 ColumnAndShifts::merkle_check_constant_2,
61 ColumnAndShifts::merkle_check_write_output_hash
62 };
63 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
64 ColumnAndShifts::poseidon2_hash_input_0,
65 ColumnAndShifts::poseidon2_hash_input_1,
66 ColumnAndShifts::poseidon2_hash_input_2,
67 ColumnAndShifts::poseidon2_hash_input_len,
68 ColumnAndShifts::poseidon2_hash_output
69 };
70};
71
74template <typename FF_>
77
78} // 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 > 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