Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::simulation::L1ToL2MessageTreeCheck Class Reference

#include <l1_to_l2_message_tree_check.hpp>

Inheritance diagram for bb::avm2::simulation::L1ToL2MessageTreeCheck:
bb::avm2::simulation::L1ToL2MessageTreeCheckInterface

Public Member Functions

 L1ToL2MessageTreeCheck (MerkleCheckInterface &merkle_check, EventEmitterInterface< L1ToL2MessageTreeCheckEvent > &event_emitter)
 
bool exists (const FF &msg_hash, const FF &leaf_value, uint64_t leaf_index, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &snapshot) override
 Checks whether an L1-to-L2 message exists in the message tree via Merkle membership proof.
 
- Public Member Functions inherited from bb::avm2::simulation::L1ToL2MessageTreeCheckInterface
virtual ~L1ToL2MessageTreeCheckInterface ()=default
 

Private Attributes

EventEmitterInterface< L1ToL2MessageTreeCheckEvent > & events
 
MerkleCheckInterfacemerkle_check
 

Detailed Description

Definition at line 15 of file l1_to_l2_message_tree_check.hpp.

Constructor & Destructor Documentation

◆ L1ToL2MessageTreeCheck()

bb::avm2::simulation::L1ToL2MessageTreeCheck::L1ToL2MessageTreeCheck ( MerkleCheckInterface merkle_check,
EventEmitterInterface< L1ToL2MessageTreeCheckEvent > &  event_emitter 
)
inline

Definition at line 17 of file l1_to_l2_message_tree_check.hpp.

Member Function Documentation

◆ exists()

bool bb::avm2::simulation::L1ToL2MessageTreeCheck::exists ( const FF msg_hash,
const FF leaf_value,
uint64_t  leaf_index,
std::span< const FF sibling_path,
const AppendOnlyTreeSnapshot snapshot 
)
overridevirtual

Checks whether an L1-to-L2 message exists in the message tree via Merkle membership proof.

Verifies that leaf_value is present at leaf_index in the tree whose root is given by snapshot, then compares it against the user provided msg_hash.

Note
This won't check that leaf index is less than the next available leaf index.
Parameters
msg_hashThe message hash the user wants to know if exists.
leaf_valueThe actual leaf value retrieved from the tree.
leaf_indexThe index of the leaf in the tree.
sibling_pathThe Merkle sibling path used for the membership proof.
snapshotThe tree snapshot to verify against.
Returns
true if msg_hash equals leaf_value, false otherwise.

Implements bb::avm2::simulation::L1ToL2MessageTreeCheckInterface.

Definition at line 19 of file l1_to_l2_message_tree_check.cpp.

Member Data Documentation

◆ events

EventEmitterInterface<L1ToL2MessageTreeCheckEvent>& bb::avm2::simulation::L1ToL2MessageTreeCheck::events
private

Definition at line 30 of file l1_to_l2_message_tree_check.hpp.

◆ merkle_check

MerkleCheckInterface& bb::avm2::simulation::L1ToL2MessageTreeCheck::merkle_check
private

Definition at line 31 of file l1_to_l2_message_tree_check.hpp.


The documentation for this class was generated from the following files: