8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_TIMESTAMP_FROM_PUBLIC_INPUTS";
22 static constexpr Column COUNTS = Column::lookup_update_check_timestamp_from_public_inputs_counts;
23 static constexpr Column INVERSES = Column::lookup_update_check_timestamp_from_public_inputs_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
25 ColumnAndShifts::update_check_timestamp_pi_offset, ColumnAndShifts::update_check_timestamp
27 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
28 ColumnAndShifts::precomputed_clk, ColumnAndShifts::public_inputs_cols_0_
34template <
typename FF_>
41 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_DELAYED_PUBLIC_MUTABLE_SLOT_POSEIDON2";
46 static constexpr Column COUNTS = Column::lookup_update_check_delayed_public_mutable_slot_poseidon2_counts;
47 static constexpr Column INVERSES = Column::lookup_update_check_delayed_public_mutable_slot_poseidon2_inv;
48 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
49 ColumnAndShifts::update_check_updated_class_ids_slot,
50 ColumnAndShifts::update_check_address,
51 ColumnAndShifts::precomputed_zero,
52 ColumnAndShifts::update_check_delayed_public_mutable_slot
54 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
55 ColumnAndShifts::poseidon2_hash_input_0,
56 ColumnAndShifts::poseidon2_hash_input_1,
57 ColumnAndShifts::poseidon2_hash_input_2,
58 ColumnAndShifts::poseidon2_hash_output
64template <
typename FF_>
71 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_UPDATE_HASH_PUBLIC_DATA_READ";
76 static constexpr Column COUNTS = Column::lookup_update_check_update_hash_public_data_read_counts;
77 static constexpr Column INVERSES = Column::lookup_update_check_update_hash_public_data_read_inv;
78 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
79 ColumnAndShifts::update_check_deployer_protocol_contract_address,
80 ColumnAndShifts::update_check_delayed_public_mutable_hash_slot,
81 ColumnAndShifts::update_check_update_hash,
82 ColumnAndShifts::update_check_public_data_tree_root
84 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
85 ColumnAndShifts::public_data_check_address,
86 ColumnAndShifts::public_data_check_slot,
87 ColumnAndShifts::public_data_check_value,
88 ColumnAndShifts::public_data_check_root
94template <
typename FF_>
101 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_UPDATE_HASH_POSEIDON2";
106 static constexpr Column COUNTS = Column::lookup_update_check_update_hash_poseidon2_counts;
107 static constexpr Column INVERSES = Column::lookup_update_check_update_hash_poseidon2_inv;
108 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
109 ColumnAndShifts::update_check_update_preimage_metadata,
110 ColumnAndShifts::update_check_update_preimage_pre_class_id,
111 ColumnAndShifts::update_check_update_preimage_post_class_id,
112 ColumnAndShifts::update_check_update_hash
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
124template <
typename FF_>
131 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_UPDATE_HI_METADATA_RANGE";
136 static constexpr Column COUNTS = Column::lookup_update_check_update_hi_metadata_range_counts;
137 static constexpr Column INVERSES = Column::lookup_update_check_update_hi_metadata_range_inv;
138 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
139 ColumnAndShifts::update_check_update_hi_metadata, ColumnAndShifts::update_check_update_hi_metadata_bit_size
141 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
142 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
148template <
typename FF_>
155 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_UPDATE_LO_METADATA_RANGE";
160 static constexpr Column COUNTS = Column::lookup_update_check_update_lo_metadata_range_counts;
161 static constexpr Column INVERSES = Column::lookup_update_check_update_lo_metadata_range_inv;
162 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
163 ColumnAndShifts::update_check_timestamp_of_change, ColumnAndShifts::update_check_timestamp_of_change_bit_size
165 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
166 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
172template <
typename FF_>
179 static constexpr std::string_view
NAME =
"LOOKUP_UPDATE_CHECK_TIMESTAMP_OF_CHANGE_CMP_RANGE";
184 static constexpr Column COUNTS = Column::lookup_update_check_timestamp_of_change_cmp_range_counts;
185 static constexpr Column INVERSES = Column::lookup_update_check_timestamp_of_change_cmp_range_inv;
186 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
187 ColumnAndShifts::update_check_timestamp_of_change_subtraction,
188 ColumnAndShifts::update_check_timestamp_of_change_bit_size
190 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
191 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
197template <
typename FF_>
This file contains the template for the generic lookup that can be specialized to enforce various loo...
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME