Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
context_stack_trace.cpp
Go to the documentation of this file.
2
3#include <cstdint>
4
8
9namespace bb::avm2::tracegen {
10
13 TraceContainer& trace)
14{
15 using C = Column;
16 uint32_t row = 0;
17
18 for (const auto& event : ctx_stack_events) {
19 trace.set(row,
20 { {
21 { C::context_stack_sel, 1 },
22 { C::context_stack_context_id, event.id },
23 { C::context_stack_parent_id, event.parent_id },
24 { C::context_stack_entered_context_id, event.entered_context_id },
25 { C::context_stack_next_pc, event.next_pc },
26 { C::context_stack_msg_sender, event.msg_sender },
27 { C::context_stack_contract_address, event.contract_addr },
28 { C::context_stack_bytecode_id, event.bytecode_id },
29 { C::context_stack_is_static, event.is_static },
30 { C::context_stack_parent_calldata_addr, event.parent_cd_addr },
31 { C::context_stack_parent_calldata_size, event.parent_cd_size },
32 { C::context_stack_parent_l2_gas_limit, event.parent_gas_limit.l2_gas },
33 { C::context_stack_parent_da_gas_limit, event.parent_gas_limit.da_gas },
34 { C::context_stack_parent_l2_gas_used, event.parent_gas_used.l2_gas },
35 { C::context_stack_parent_da_gas_used, event.parent_gas_used.da_gas },
36 { C::context_stack_note_hash_tree_root, event.tree_states.note_hash_tree.tree.root },
37 { C::context_stack_note_hash_tree_size,
38 event.tree_states.note_hash_tree.tree.next_available_leaf_index },
39 { C::context_stack_num_note_hashes_emitted, event.tree_states.note_hash_tree.counter },
40 { C::context_stack_nullifier_tree_root, event.tree_states.nullifier_tree.tree.root },
41 { C::context_stack_nullifier_tree_size,
42 event.tree_states.nullifier_tree.tree.next_available_leaf_index },
43 { C::context_stack_num_nullifiers_emitted, event.tree_states.nullifier_tree.counter },
44 { C::context_stack_public_data_tree_root, event.tree_states.public_data_tree.tree.root },
45 { C::context_stack_public_data_tree_size,
46 event.tree_states.public_data_tree.tree.next_available_leaf_index },
47 { C::context_stack_written_public_data_slots_tree_root,
48 event.written_public_data_slots_tree_snapshot.root },
49 { C::context_stack_written_public_data_slots_tree_size,
50 event.written_public_data_slots_tree_snapshot.next_available_leaf_index },
51 { C::context_stack_num_unencrypted_log_fields, event.numUnencryptedLogFields },
52 { C::context_stack_num_l2_to_l1_messages, event.numL2ToL1Messages },
53 } });
54 row++;
55 }
56}
57
58} // namespace bb::avm2::tracegen
void process(const simulation::EventEmitterInterface< simulation::ContextStackEvent >::Container &ctx_stack_events, TraceContainer &trace)
TestTraceContainer trace
simulation::PublicDataTreeReadWriteEvent event