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
14{
15 using C = Column;
16 uint32_t row = 0;
17
18 for (const auto& event : ctx_stack_events) {
19 trace.set(
20 row,
21 { {
22 { C::context_stack_sel, 1 },
23 { C::context_stack_context_id_inv, FF(event.id).invert() },
24 { C::context_stack_context_id, event.id },
25 { C::context_stack_parent_id, event.parent_id },
26 { C::context_stack_entered_context_id, event.entered_context_id },
27 { C::context_stack_next_pc, event.next_pc },
28 { C::context_stack_msg_sender, event.msg_sender },
29 { C::context_stack_contract_address, event.contract_addr },
30 { C::context_stack_bytecode_id, event.bytecode_id },
31 { C::context_stack_is_static, event.is_static },
32 { C::context_stack_parent_calldata_addr, event.parent_cd_addr },
33 { C::context_stack_parent_calldata_size, event.parent_cd_size },
34 { C::context_stack_parent_l2_gas_limit, event.parent_gas_limit.l2Gas },
35 { C::context_stack_parent_da_gas_limit, event.parent_gas_limit.daGas },
36 { C::context_stack_parent_l2_gas_used, event.parent_gas_used.l2Gas },
37 { C::context_stack_parent_da_gas_used, event.parent_gas_used.daGas },
38 { C::context_stack_note_hash_tree_root, event.tree_states.noteHashTree.tree.root },
39 { C::context_stack_note_hash_tree_size, event.tree_states.noteHashTree.tree.nextAvailableLeafIndex },
40 { C::context_stack_num_note_hashes_emitted, event.tree_states.noteHashTree.counter },
41 { C::context_stack_nullifier_tree_root, event.tree_states.nullifierTree.tree.root },
42 { C::context_stack_nullifier_tree_size, event.tree_states.nullifierTree.tree.nextAvailableLeafIndex },
43 { C::context_stack_num_nullifiers_emitted, event.tree_states.nullifierTree.counter },
44 { C::context_stack_public_data_tree_root, event.tree_states.publicDataTree.tree.root },
45 { C::context_stack_public_data_tree_size,
46 event.tree_states.publicDataTree.tree.nextAvailableLeafIndex },
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.nextAvailableLeafIndex },
51 { C::context_stack_num_unencrypted_logs, event.side_effect_states.numUnencryptedLogs },
52 { C::context_stack_num_l2_to_l1_messages, event.side_effect_states.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
AvmFlavorSettings::FF FF
Definition field.hpp:10
simulation::PublicDataTreeReadWriteEvent event