1#include <gmock/gmock.h>
2#include <gtest/gtest.h>
12using testing::ElementsAre;
17TEST(ContextStackTraceGenTest, TraceGenerationSnapshot)
19 TestTraceContainer
trace;
20 ContextStackTraceBuilder
builder;
22 TreeStates tree_states = TreeStates{
26 .next_available_leaf_index = 9,
33 .next_available_leaf_index = 6,
37 .l1_to_l2_message_tree = {
40 .next_available_leaf_index = 3,
47 .next_available_leaf_index = 1,
53 AppendOnlyTreeSnapshot written_public_data_slots_tree_snapshot = AppendOnlyTreeSnapshot{
55 .next_available_leaf_index = 10,
65 .tree_states = tree_states,
66 .written_public_data_slots_tree_snapshot = written_public_data_slots_tree_snapshot,
67 .numUnencryptedLogFields = 1,
68 .numL2ToL1Messages = 2,
81 ROW_FIELD_EQ(context_stack_note_hash_tree_root, tree_states.note_hash_tree.tree.root),
83 tree_states.note_hash_tree.tree.next_available_leaf_index),
84 ROW_FIELD_EQ(context_stack_num_note_hashes_emitted, tree_states.note_hash_tree.counter),
85 ROW_FIELD_EQ(context_stack_nullifier_tree_root, tree_states.nullifier_tree.tree.root),
87 tree_states.nullifier_tree.tree.next_available_leaf_index),
88 ROW_FIELD_EQ(context_stack_num_nullifiers_emitted, tree_states.nullifier_tree.counter),
89 ROW_FIELD_EQ(context_stack_public_data_tree_root, tree_states.public_data_tree.tree.root),
91 tree_states.public_data_tree.tree.next_available_leaf_index),
92 ROW_FIELD_EQ(context_stack_written_public_data_slots_tree_root,
93 written_public_data_slots_tree_snapshot.root),
94 ROW_FIELD_EQ(context_stack_written_public_data_slots_tree_size,
95 written_public_data_slots_tree_snapshot.next_available_leaf_index),
96 ROW_FIELD_EQ(context_stack_num_unencrypted_log_fields, 1),
void process(const simulation::EventEmitterInterface< simulation::AluEvent >::Container &events, TraceContainer &trace)
Process the ALU events and populate the ALU relevant columns in the trace.
std::vector< AvmFullRowConstRef > as_rows() const
#define ROW_FIELD_EQ(field_name, expression)
TEST(BoomerangMegaCircuitBuilder, BasicCircuit)