Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
perms_execution.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 = "PERM_EXECUTION_DISPATCH_KECCAKF1600";
18 static constexpr std::string_view RELATION_NAME = "execution";
19 static constexpr size_t COLUMNS_PER_SET = 5;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_execute_keccakf1600;
21 static constexpr Column DST_SELECTOR = Column::keccakf1600_start;
22 static constexpr Column INVERSES = Column::perm_execution_dispatch_keccakf1600_inv;
23 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
24 ColumnAndShifts::precomputed_clk,
25 ColumnAndShifts::execution_rop_0_,
26 ColumnAndShifts::execution_rop_1_,
27 ColumnAndShifts::execution_context_id,
28 ColumnAndShifts::execution_sel_opcode_error
29 };
30 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = { ColumnAndShifts::keccakf1600_clk,
31 ColumnAndShifts::keccakf1600_dst_addr,
32 ColumnAndShifts::keccakf1600_src_addr,
33 ColumnAndShifts::keccakf1600_space_id,
34 ColumnAndShifts::keccakf1600_error };
35};
36
39template <typename FF_>
42
44
46 static constexpr std::string_view NAME = "PERM_EXECUTION_DISPATCH_GET_CONTRACT_INSTANCE";
47 static constexpr std::string_view RELATION_NAME = "execution";
48 static constexpr size_t COLUMNS_PER_SET = 8;
49 static constexpr Column SRC_SELECTOR = Column::execution_sel_execute_get_contract_instance;
50 static constexpr Column DST_SELECTOR = Column::get_contract_instance_sel;
51 static constexpr Column INVERSES = Column::perm_execution_dispatch_get_contract_instance_inv;
52 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
53 ColumnAndShifts::precomputed_clk,
54 ColumnAndShifts::execution_register_0_,
55 ColumnAndShifts::execution_rop_1_,
56 ColumnAndShifts::execution_rop_2_,
57 ColumnAndShifts::execution_context_id,
58 ColumnAndShifts::execution_nullifier_tree_root,
59 ColumnAndShifts::execution_public_data_tree_root,
60 ColumnAndShifts::execution_sel_opcode_error
61 };
62 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
63 ColumnAndShifts::get_contract_instance_clk,
64 ColumnAndShifts::get_contract_instance_contract_address,
65 ColumnAndShifts::get_contract_instance_dst_offset,
66 ColumnAndShifts::get_contract_instance_member_enum,
67 ColumnAndShifts::get_contract_instance_space_id,
68 ColumnAndShifts::get_contract_instance_nullifier_tree_root,
69 ColumnAndShifts::get_contract_instance_public_data_tree_root,
70 ColumnAndShifts::get_contract_instance_sel_error
71 };
72};
73
76template <typename FF_>
79
80} // namespace bb::avm2
This file contains the template for the generic permutation that can be specialized to enforce variou...
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS