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 .nextAvailableLeafIndex = 9,
33 .nextAvailableLeafIndex = 6,
37 .l1ToL2MessageTree = {
40 .nextAvailableLeafIndex = 3,
47 .nextAvailableLeafIndex = 1,
53 AppendOnlyTreeSnapshot written_public_data_slots_tree_snapshot = AppendOnlyTreeSnapshot{
55 .nextAvailableLeafIndex = 10,
58 SideEffectStates side_effect_states = SideEffectStates{ .numUnencryptedLogs = 1, .numL2ToL1Messages = 2 };
67 .tree_states = tree_states,
68 .written_public_data_slots_tree_snapshot = written_public_data_slots_tree_snapshot,
69 .side_effect_states = side_effect_states,
84 ROW_FIELD_EQ(context_stack_note_hash_tree_root, tree_states.noteHashTree.tree.root),
85 ROW_FIELD_EQ(context_stack_note_hash_tree_size, tree_states.noteHashTree.tree.nextAvailableLeafIndex),
86 ROW_FIELD_EQ(context_stack_num_note_hashes_emitted, tree_states.noteHashTree.counter),
87 ROW_FIELD_EQ(context_stack_nullifier_tree_root, tree_states.nullifierTree.tree.root),
88 ROW_FIELD_EQ(context_stack_nullifier_tree_size, tree_states.nullifierTree.tree.nextAvailableLeafIndex),
89 ROW_FIELD_EQ(context_stack_num_nullifiers_emitted, tree_states.nullifierTree.counter),
90 ROW_FIELD_EQ(context_stack_public_data_tree_root, tree_states.publicDataTree.tree.root),
92 tree_states.publicDataTree.tree.nextAvailableLeafIndex),
93 ROW_FIELD_EQ(context_stack_written_public_data_slots_tree_root,
94 written_public_data_slots_tree_snapshot.root),
95 ROW_FIELD_EQ(context_stack_written_public_data_slots_tree_size,
96 written_public_data_slots_tree_snapshot.nextAvailableLeafIndex),
97 ROW_FIELD_EQ(context_stack_num_unencrypted_logs, side_effect_states.numUnencryptedLogs),
98 ROW_FIELD_EQ(context_stack_num_l2_to_l1_messages, side_effect_states.numL2ToL1Messages))));
void process(const simulation::EventEmitterInterface< simulation::AluEvent >::Container &events, TraceContainer &trace)
std::vector< AvmFullRowConstRef > as_rows() const
#define ROW_FIELD_EQ(field_name, expression)
TEST(EmitUnencryptedLogTest, Basic)