Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
l1_to_l2_message_tree_check.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
barretenberg/vm2/common/aztec_types.hpp
"
4
#include "
barretenberg/vm2/common/field.hpp
"
5
#include "
barretenberg/vm2/simulation/events/l1_to_l2_message_tree_check_event.hpp
"
6
#include "
barretenberg/vm2/simulation/merkle_check.hpp
"
7
#include "
barretenberg/vm2/simulation/poseidon2.hpp
"
8
9
namespace
bb::avm2::simulation
{
10
11
class
L1ToL2MessageTreeCheckInterface
{
12
public
:
13
virtual
~L1ToL2MessageTreeCheckInterface
() =
default
;
14
15
virtual
bool
exists
(
const
FF
& msg_hash,
16
const
FF
& leaf_value,
17
uint64_t leaf_index,
18
std::span<const FF>
sibling_path,
19
const
AppendOnlyTreeSnapshot
& snapshot) = 0;
20
};
21
22
class
L1ToL2MessageTreeCheck
:
public
L1ToL2MessageTreeCheckInterface
{
23
public
:
24
L1ToL2MessageTreeCheck
(
MerkleCheckInterface
&
merkle_check
,
25
EventEmitterInterface<L1ToL2MessageTreeCheckEvent>
&
event_emitter
)
26
:
events
(
event_emitter
)
27
,
merkle_check
(
merkle_check
)
28
{}
29
30
bool
exists
(
const
FF
& msg_hash,
31
const
FF
& leaf_value,
32
uint64_t leaf_index,
33
std::span<const FF>
sibling_path,
34
const
AppendOnlyTreeSnapshot
& snapshot)
override
;
35
36
private
:
37
EventEmitterInterface<L1ToL2MessageTreeCheckEvent>
&
events
;
38
MerkleCheckInterface
&
merkle_check
;
39
};
40
41
}
// namespace bb::avm2::simulation
aztec_types.hpp
bb::avm2::merkle_check
Definition
merkle_check.hpp:34
bb::avm2::simulation::EventEmitterInterface
Definition
event_emitter.hpp:10
bb::avm2::simulation::L1ToL2MessageTreeCheck
Definition
l1_to_l2_message_tree_check.hpp:22
bb::avm2::simulation::L1ToL2MessageTreeCheck::events
EventEmitterInterface< L1ToL2MessageTreeCheckEvent > & events
Definition
l1_to_l2_message_tree_check.hpp:37
bb::avm2::simulation::L1ToL2MessageTreeCheck::merkle_check
MerkleCheckInterface & merkle_check
Definition
l1_to_l2_message_tree_check.hpp:38
bb::avm2::simulation::L1ToL2MessageTreeCheck::L1ToL2MessageTreeCheck
L1ToL2MessageTreeCheck(MerkleCheckInterface &merkle_check, EventEmitterInterface< L1ToL2MessageTreeCheckEvent > &event_emitter)
Definition
l1_to_l2_message_tree_check.hpp:24
bb::avm2::simulation::L1ToL2MessageTreeCheckInterface
Definition
l1_to_l2_message_tree_check.hpp:11
bb::avm2::simulation::L1ToL2MessageTreeCheckInterface::~L1ToL2MessageTreeCheckInterface
virtual ~L1ToL2MessageTreeCheckInterface()=default
bb::avm2::simulation::L1ToL2MessageTreeCheckInterface::exists
virtual bool exists(const FF &msg_hash, const FF &leaf_value, uint64_t leaf_index, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &snapshot)=0
bb::avm2::simulation::MerkleCheckInterface
Definition
merkle_check.hpp:16
event_emitter
EventEmitter< DataCopyEvent > event_emitter
Definition
data_copy.test.cpp:53
exists
bool exists
Definition
nullifier_tree_check.test.cpp:73
l1_to_l2_message_tree_check_event.hpp
bb::avm2::simulation
Definition
address_derivation.cpp:8
bb::avm2::FF
AvmFlavorSettings::FF FF
Definition
field.hpp:10
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
merkle_check.hpp
bb::avm2::AppendOnlyTreeSnapshot
Definition
aztec_types.hpp:273
field.hpp
poseidon2.hpp
src
barretenberg
vm2
simulation
l1_to_l2_message_tree_check.hpp
Generated by
1.9.8