Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
l1_to_l2_message_tree_trace.cpp
Go to the documentation of this file.
2
3#include <cassert>
4#include <memory>
5#include <stack>
6#include <unordered_map>
7
16
17namespace bb::avm2::tracegen {
18
22{
23 using C = Column;
24
25 uint32_t row = 0;
26 for (const auto& event : events) {
27 bool exists = event.leaf_value == event.msg_hash;
28 FF leaf_value_msg_hash_diff_inv = exists ? 0 : (event.leaf_value - event.msg_hash).invert();
29
30 trace.set(row,
31 { { { C::l1_to_l2_message_tree_check_sel, 1 },
32 { C::l1_to_l2_message_tree_check_exists, exists },
33 { C::l1_to_l2_message_tree_check_msg_hash, event.msg_hash },
34 { C::l1_to_l2_message_tree_check_leaf_index, event.leaf_index },
35 { C::l1_to_l2_message_tree_check_root, event.snapshot.root },
36 { C::l1_to_l2_message_tree_check_leaf_value, event.leaf_value },
37 { C::l1_to_l2_message_tree_check_leaf_value_msg_hash_diff_inv, leaf_value_msg_hash_diff_inv },
38 { C::l1_to_l2_message_tree_check_l1_to_l2_message_tree_height, L1_TO_L2_MSG_TREE_HEIGHT } } });
39 row++;
40 }
41}
42
46
47} // namespace bb::avm2::tracegen
#define L1_TO_L2_MSG_TREE_HEIGHT
InteractionDefinition & add(auto &&... args)
void process(const simulation::EventEmitterInterface< simulation::L1ToL2MessageTreeCheckEvent >::Container &events, TraceContainer &trace)
TestTraceContainer trace
lookup_settings< lookup_l1_to_l2_message_tree_check_merkle_check_settings_ > lookup_l1_to_l2_message_tree_check_merkle_check_settings
AvmFlavorSettings::FF FF
Definition field.hpp:10
simulation::PublicDataTreeReadWriteEvent event