Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
perms_context.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_CONTEXT_CTX_STACK_CALL";
18 static constexpr std::string_view RELATION_NAME = "context";
19 static constexpr size_t COLUMNS_PER_SET = 26;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_enter_call;
21 static constexpr Column DST_SELECTOR = Column::context_stack_sel;
22 static constexpr Column INVERSES = Column::perm_context_ctx_stack_call_inv;
23 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
24 ColumnAndShifts::execution_next_context_id,
25 ColumnAndShifts::execution_context_id,
26 ColumnAndShifts::execution_parent_id,
27 ColumnAndShifts::execution_next_pc,
28 ColumnAndShifts::execution_msg_sender,
29 ColumnAndShifts::execution_contract_address,
30 ColumnAndShifts::execution_bytecode_id,
31 ColumnAndShifts::execution_is_static,
32 ColumnAndShifts::execution_parent_calldata_addr,
33 ColumnAndShifts::execution_parent_calldata_size,
34 ColumnAndShifts::execution_parent_l2_gas_limit,
35 ColumnAndShifts::execution_parent_da_gas_limit,
36 ColumnAndShifts::execution_parent_l2_gas_used,
37 ColumnAndShifts::execution_parent_da_gas_used,
38 ColumnAndShifts::execution_note_hash_tree_root,
39 ColumnAndShifts::execution_note_hash_tree_size,
40 ColumnAndShifts::execution_num_note_hashes_emitted,
41 ColumnAndShifts::execution_nullifier_tree_root,
42 ColumnAndShifts::execution_nullifier_tree_size,
43 ColumnAndShifts::execution_num_nullifiers_emitted,
44 ColumnAndShifts::execution_public_data_tree_root,
45 ColumnAndShifts::execution_public_data_tree_size,
46 ColumnAndShifts::execution_written_public_data_slots_tree_root,
47 ColumnAndShifts::execution_written_public_data_slots_tree_size,
48 ColumnAndShifts::execution_num_unencrypted_log_fields,
49 ColumnAndShifts::execution_num_l2_to_l1_messages
50 };
51 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
52 ColumnAndShifts::context_stack_entered_context_id,
53 ColumnAndShifts::context_stack_context_id,
54 ColumnAndShifts::context_stack_parent_id,
55 ColumnAndShifts::context_stack_next_pc,
56 ColumnAndShifts::context_stack_msg_sender,
57 ColumnAndShifts::context_stack_contract_address,
58 ColumnAndShifts::context_stack_bytecode_id,
59 ColumnAndShifts::context_stack_is_static,
60 ColumnAndShifts::context_stack_parent_calldata_addr,
61 ColumnAndShifts::context_stack_parent_calldata_size,
62 ColumnAndShifts::context_stack_parent_l2_gas_limit,
63 ColumnAndShifts::context_stack_parent_da_gas_limit,
64 ColumnAndShifts::context_stack_parent_l2_gas_used,
65 ColumnAndShifts::context_stack_parent_da_gas_used,
66 ColumnAndShifts::context_stack_note_hash_tree_root,
67 ColumnAndShifts::context_stack_note_hash_tree_size,
68 ColumnAndShifts::context_stack_num_note_hashes_emitted,
69 ColumnAndShifts::context_stack_nullifier_tree_root,
70 ColumnAndShifts::context_stack_nullifier_tree_size,
71 ColumnAndShifts::context_stack_num_nullifiers_emitted,
72 ColumnAndShifts::context_stack_public_data_tree_root,
73 ColumnAndShifts::context_stack_public_data_tree_size,
74 ColumnAndShifts::context_stack_written_public_data_slots_tree_root,
75 ColumnAndShifts::context_stack_written_public_data_slots_tree_size,
76 ColumnAndShifts::context_stack_num_unencrypted_log_fields,
77 ColumnAndShifts::context_stack_num_l2_to_l1_messages
78 };
79};
80
82template <typename FF_>
84
85} // namespace bb::avm2
This file contains the template for the generic permutation that can be specialized to enforce variou...
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::string_view NAME