8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"LOOKUP_CONTRACT_INSTANCE_RETRIEVAL_CHECK_PROTOCOL_ADDRESS_RANGE";
18 static constexpr std::string_view
RELATION_NAME =
"contract_instance_retrieval";
22 static constexpr Column COUNTS = Column::lookup_contract_instance_retrieval_check_protocol_address_range_counts;
23 static constexpr Column INVERSES = Column::lookup_contract_instance_retrieval_check_protocol_address_range_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
25 ColumnAndShifts::contract_instance_retrieval_max_protocol_contracts,
26 ColumnAndShifts::contract_instance_retrieval_address_sub_one,
27 ColumnAndShifts::contract_instance_retrieval_is_protocol_contract
29 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = { ColumnAndShifts::ff_gt_a,
30 ColumnAndShifts::ff_gt_b,
31 ColumnAndShifts::ff_gt_result };
36template <
typename FF_>
43 static constexpr std::string_view
NAME =
44 "LOOKUP_CONTRACT_INSTANCE_RETRIEVAL_READ_DERIVED_ADDRESS_FROM_PUBLIC_INPUTS";
45 static constexpr std::string_view
RELATION_NAME =
"contract_instance_retrieval";
50 Column::lookup_contract_instance_retrieval_read_derived_address_from_public_inputs_counts;
52 Column::lookup_contract_instance_retrieval_read_derived_address_from_public_inputs_inv;
53 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
54 ColumnAndShifts::contract_instance_retrieval_derived_address_pi_index,
55 ColumnAndShifts::contract_instance_retrieval_derived_address
57 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
58 ColumnAndShifts::precomputed_clk, ColumnAndShifts::public_inputs_cols_0_
64template <
typename FF_>
71 static constexpr std::string_view
NAME =
"LOOKUP_CONTRACT_INSTANCE_RETRIEVAL_DEPLOYMENT_NULLIFIER_READ";
72 static constexpr std::string_view
RELATION_NAME =
"contract_instance_retrieval";
74 static constexpr Column SRC_SELECTOR = Column::contract_instance_retrieval_should_check_nullifier;
76 static constexpr Column COUNTS = Column::lookup_contract_instance_retrieval_deployment_nullifier_read_counts;
77 static constexpr Column INVERSES = Column::lookup_contract_instance_retrieval_deployment_nullifier_read_inv;
78 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
79 ColumnAndShifts::contract_instance_retrieval_exists,
80 ColumnAndShifts::contract_instance_retrieval_address,
81 ColumnAndShifts::contract_instance_retrieval_nullifier_tree_root,
82 ColumnAndShifts::contract_instance_retrieval_deployer_protocol_contract_address,
83 ColumnAndShifts::contract_instance_retrieval_sel
85 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
86 ColumnAndShifts::nullifier_check_exists,
87 ColumnAndShifts::nullifier_check_nullifier,
88 ColumnAndShifts::nullifier_check_root,
89 ColumnAndShifts::nullifier_check_address,
90 ColumnAndShifts::nullifier_check_should_silo
96template <
typename FF_>
103 static constexpr std::string_view
NAME =
"LOOKUP_CONTRACT_INSTANCE_RETRIEVAL_ADDRESS_DERIVATION";
104 static constexpr std::string_view
RELATION_NAME =
"contract_instance_retrieval";
108 static constexpr Column COUNTS = Column::lookup_contract_instance_retrieval_address_derivation_counts;
109 static constexpr Column INVERSES = Column::lookup_contract_instance_retrieval_address_derivation_inv;
110 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
111 ColumnAndShifts::contract_instance_retrieval_derived_address,
112 ColumnAndShifts::contract_instance_retrieval_salt,
113 ColumnAndShifts::contract_instance_retrieval_deployer_addr,
114 ColumnAndShifts::contract_instance_retrieval_original_class_id,
115 ColumnAndShifts::contract_instance_retrieval_init_hash,
116 ColumnAndShifts::contract_instance_retrieval_nullifier_key_x,
117 ColumnAndShifts::contract_instance_retrieval_nullifier_key_y,
118 ColumnAndShifts::contract_instance_retrieval_incoming_viewing_key_x,
119 ColumnAndShifts::contract_instance_retrieval_incoming_viewing_key_y,
120 ColumnAndShifts::contract_instance_retrieval_outgoing_viewing_key_x,
121 ColumnAndShifts::contract_instance_retrieval_outgoing_viewing_key_y,
122 ColumnAndShifts::contract_instance_retrieval_tagging_key_x,
123 ColumnAndShifts::contract_instance_retrieval_tagging_key_y
125 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
126 ColumnAndShifts::address_derivation_address,
127 ColumnAndShifts::address_derivation_salt,
128 ColumnAndShifts::address_derivation_deployer_addr,
129 ColumnAndShifts::address_derivation_class_id,
130 ColumnAndShifts::address_derivation_init_hash,
131 ColumnAndShifts::address_derivation_nullifier_key_x,
132 ColumnAndShifts::address_derivation_nullifier_key_y,
133 ColumnAndShifts::address_derivation_incoming_viewing_key_x,
134 ColumnAndShifts::address_derivation_incoming_viewing_key_y,
135 ColumnAndShifts::address_derivation_outgoing_viewing_key_x,
136 ColumnAndShifts::address_derivation_outgoing_viewing_key_y,
137 ColumnAndShifts::address_derivation_tagging_key_x,
138 ColumnAndShifts::address_derivation_tagging_key_y
144template <
typename FF_>
151 static constexpr std::string_view
NAME =
"LOOKUP_CONTRACT_INSTANCE_RETRIEVAL_UPDATE_CHECK";
152 static constexpr std::string_view
RELATION_NAME =
"contract_instance_retrieval";
156 static constexpr Column COUNTS = Column::lookup_contract_instance_retrieval_update_check_counts;
157 static constexpr Column INVERSES = Column::lookup_contract_instance_retrieval_update_check_inv;
158 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
159 ColumnAndShifts::contract_instance_retrieval_address,
160 ColumnAndShifts::contract_instance_retrieval_current_class_id,
161 ColumnAndShifts::contract_instance_retrieval_original_class_id,
162 ColumnAndShifts::contract_instance_retrieval_public_data_tree_root
164 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
165 ColumnAndShifts::update_check_address,
166 ColumnAndShifts::update_check_current_class_id,
167 ColumnAndShifts::update_check_original_class_id,
168 ColumnAndShifts::update_check_public_data_tree_root
174template <
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 COUNTS
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
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 Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS