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

A high-level merkle db that tracks side effects. More...

#include <side_effect_tracking_db.hpp>

Inheritance diagram for bb::avm2::simulation::SideEffectTrackingDB:
bb::avm2::simulation::HighLevelMerkleDBInterface

Public Member Functions

 SideEffectTrackingDB (const FF &first_nullifier, HighLevelMerkleDBInterface &merkle_db, SideEffectTrackerInterface &tracked_side_effects)
 
FF storage_read (const AztecAddress &contract_address, const FF &slot) const override
 
bool was_storage_written (const AztecAddress &contract_address, const FF &slot) const override
 
bool nullifier_exists (const AztecAddress &contract_address, const FF &nullifier) const override
 
bool siloed_nullifier_exists (const FF &nullifier) const override
 
bool note_hash_exists (uint64_t leaf_index, const FF &unique_note_hash) const override
 
bool l1_to_l2_msg_exists (uint64_t leaf_index, const FF &msg_hash) const override
 
uint32_t get_checkpoint_id () const override
 
TreeStates get_tree_state () const override
 
LowLevelMerkleDBInterfaceas_unconstrained () const override
 
void storage_write (const AztecAddress &contract_address, const FF &slot, const FF &value, bool is_protocol_write) override
 
void nullifier_write (const AztecAddress &contract_address, const FF &nullifier) override
 
void siloed_nullifier_write (const FF &nullifier) override
 
void note_hash_write (const AztecAddress &contract_address, const FF &note_hash) override
 
void siloed_note_hash_write (const FF &note_hash) override
 
void unique_note_hash_write (const FF &note_hash) override
 
void pad_trees () override
 
void create_checkpoint () override
 
void commit_checkpoint () override
 
void revert_checkpoint () override
 
- Public Member Functions inherited from bb::avm2::simulation::HighLevelMerkleDBInterface
virtual ~HighLevelMerkleDBInterface ()=default
 

Private Attributes

FF first_nullifier
 
HighLevelMerkleDBInterfacemerkle_db
 
SideEffectTrackerInterfacetracked_side_effects
 

Detailed Description

A high-level merkle db that tracks side effects.

This class is a wrapper around a high-level merkle db that tracks side effects. It delegates all methods to the merkle db, and tracks side effects.

Definition at line 16 of file side_effect_tracking_db.hpp.

Constructor & Destructor Documentation

◆ SideEffectTrackingDB()

bb::avm2::simulation::SideEffectTrackingDB::SideEffectTrackingDB ( const FF first_nullifier,
HighLevelMerkleDBInterface merkle_db,
SideEffectTrackerInterface tracked_side_effects 
)
inline

Definition at line 18 of file side_effect_tracking_db.hpp.

Member Function Documentation

◆ as_unconstrained()

LowLevelMerkleDBInterface & bb::avm2::simulation::SideEffectTrackingDB::as_unconstrained ( ) const
overridevirtual

◆ commit_checkpoint()

void bb::avm2::simulation::SideEffectTrackingDB::commit_checkpoint ( )
overridevirtual

◆ create_checkpoint()

void bb::avm2::simulation::SideEffectTrackingDB::create_checkpoint ( )
overridevirtual

◆ get_checkpoint_id()

uint32_t bb::avm2::simulation::SideEffectTrackingDB::get_checkpoint_id ( ) const
overridevirtual

◆ get_tree_state()

TreeStates bb::avm2::simulation::SideEffectTrackingDB::get_tree_state ( ) const
overridevirtual

◆ l1_to_l2_msg_exists()

bool bb::avm2::simulation::SideEffectTrackingDB::l1_to_l2_msg_exists ( uint64_t  leaf_index,
const FF msg_hash 
) const
overridevirtual

◆ note_hash_exists()

bool bb::avm2::simulation::SideEffectTrackingDB::note_hash_exists ( uint64_t  leaf_index,
const FF unique_note_hash 
) const
overridevirtual

◆ note_hash_write()

void bb::avm2::simulation::SideEffectTrackingDB::note_hash_write ( const AztecAddress contract_address,
const FF note_hash 
)
overridevirtual

◆ nullifier_exists()

bool bb::avm2::simulation::SideEffectTrackingDB::nullifier_exists ( const AztecAddress contract_address,
const FF nullifier 
) const
overridevirtual

◆ nullifier_write()

void bb::avm2::simulation::SideEffectTrackingDB::nullifier_write ( const AztecAddress contract_address,
const FF nullifier 
)
overridevirtual

◆ pad_trees()

void bb::avm2::simulation::SideEffectTrackingDB::pad_trees ( )
overridevirtual

◆ revert_checkpoint()

void bb::avm2::simulation::SideEffectTrackingDB::revert_checkpoint ( )
overridevirtual

◆ siloed_note_hash_write()

void bb::avm2::simulation::SideEffectTrackingDB::siloed_note_hash_write ( const FF note_hash)
overridevirtual

◆ siloed_nullifier_exists()

bool bb::avm2::simulation::SideEffectTrackingDB::siloed_nullifier_exists ( const FF nullifier) const
overridevirtual

◆ siloed_nullifier_write()

void bb::avm2::simulation::SideEffectTrackingDB::siloed_nullifier_write ( const FF nullifier)
overridevirtual

◆ storage_read()

FF bb::avm2::simulation::SideEffectTrackingDB::storage_read ( const AztecAddress contract_address,
const FF slot 
) const
overridevirtual

◆ storage_write()

void bb::avm2::simulation::SideEffectTrackingDB::storage_write ( const AztecAddress contract_address,
const FF slot,
const FF value,
bool  is_protocol_write 
)
overridevirtual

◆ unique_note_hash_write()

void bb::avm2::simulation::SideEffectTrackingDB::unique_note_hash_write ( const FF note_hash)
overridevirtual

◆ was_storage_written()

bool bb::avm2::simulation::SideEffectTrackingDB::was_storage_written ( const AztecAddress contract_address,
const FF slot 
) const
overridevirtual

Member Data Documentation

◆ first_nullifier

FF bb::avm2::simulation::SideEffectTrackingDB::first_nullifier
private

Definition at line 55 of file side_effect_tracking_db.hpp.

◆ merkle_db

HighLevelMerkleDBInterface& bb::avm2::simulation::SideEffectTrackingDB::merkle_db
private

Definition at line 56 of file side_effect_tracking_db.hpp.

◆ tracked_side_effects

SideEffectTrackerInterface& bb::avm2::simulation::SideEffectTrackingDB::tracked_side_effects
private

Definition at line 57 of file side_effect_tracking_db.hpp.


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