Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
l1_to_l2_message_tree_check.test.cpp
Go to the documentation of this file.
2
3#include <gmock/gmock.h>
4#include <gtest/gtest.h>
5
9
10namespace bb::avm2::simulation {
11
12using ::testing::_;
13using ::testing::ElementsAre;
14using ::testing::Return;
15using ::testing::StrictMock;
16
18
19namespace {
20
21TEST(AvmSimulationL1ToL2MessageTree, Read)
22{
23 StrictMock<MockMerkleCheck> merkle_check;
24
25 EventEmitter<L1ToL2MessageTreeCheckEvent> event_emitter;
26 L1ToL2MessageTreeCheck l1_to_l2_message_tree_check(merkle_check, event_emitter);
27
28 std::vector<FF> sibling_path = { 1, 2, 3, 4, 5 };
29 AppendOnlyTreeSnapshot snapshot = {
30 .root = 123456,
31 .next_available_leaf_index = 128,
32 };
33
34 FF msg_hash = 42;
35 uint64_t leaf_index = 30;
36
37 EXPECT_CALL(merkle_check, assert_membership(DOM_SEP__MERKLE_HASH, msg_hash, leaf_index, _, snapshot.root))
38 .WillRepeatedly(Return());
39
40 EXPECT_TRUE(l1_to_l2_message_tree_check.exists(msg_hash, msg_hash, leaf_index, sibling_path, snapshot));
41 EXPECT_FALSE(l1_to_l2_message_tree_check.exists(27, msg_hash, leaf_index, sibling_path, snapshot));
42 EXPECT_THAT(event_emitter.dump_events(),
43 ElementsAre(
44 L1ToL2MessageTreeCheckEvent{
45 .msg_hash = msg_hash,
46 .leaf_value = msg_hash,
47 .leaf_index = leaf_index,
48 .snapshot = snapshot,
49 },
50 L1ToL2MessageTreeCheckEvent{
51 .msg_hash = 27,
52 .leaf_value = msg_hash,
53 .leaf_index = leaf_index,
54 .snapshot = snapshot,
55 }));
56}
57
58} // namespace
59
60} // namespace bb::avm2::simulation
#define DOM_SEP__MERKLE_HASH
MerkleCheck merkle_check
EventEmitter< DataCopyEvent > event_emitter
AVM range check gadget for witness generation.
TEST(BoomerangMegaCircuitBuilder, BasicCircuit)