82 bool is_protocol_write)
override;
123 { { .note_hash_counter = 0, .nullifier_counter = 0, .l2_to_l1_msg_counter = 0 } }
ContractDBInterface & raw_contract_db
ClassIdDerivationInterface & class_id_derivation
ContractDB(ContractDBInterface &raw_contract_db, AddressDerivationInterface &address_derivation, ClassIdDerivationInterface &class_id_derivation)
AddressDerivationInterface & address_derivation
std::optional< ContractClass > get_contract_class(const ContractClassId &class_id) const override
void add_checkpoint_listener(CheckpointNotifiable &listener)
WrittenPublicDataSlotsInterface & written_public_data_slots
void note_hash_write(const AztecAddress &contract_address, const FF ¬e_hash) override
std::vector< CheckpointNotifiable * > checkpoint_listeners
std::stack< TreeCounters > tree_counters_stack
LowLevelMerkleDBInterface & as_unconstrained() const override
NoteHashTreeCheckInterface & note_hash_tree_check
LowLevelMerkleDBInterface & raw_merkle_db
void create_checkpoint() override
MerkleDB(LowLevelMerkleDBInterface &raw_merkle_db, PublicDataTreeCheckInterface &public_data_tree_check, NullifierTreeCheckInterface &nullifier_tree_check, NoteHashTreeCheckInterface ¬e_hash_tree_check, WrittenPublicDataSlotsInterface &written_public_data_slots, L1ToL2MessageTreeCheckInterface &l1_to_l2_msg_tree_check)
void unique_note_hash_write(const FF ¬e_hash) override
TreeStates get_tree_state() const override
bool was_storage_written(const AztecAddress &contract_address, const FF &slot) const override
NullifierTreeCheckInterface & nullifier_tree_check
uint32_t get_checkpoint_id() const override
bool nullifier_write_internal(std::optional< AztecAddress > contract_address, const FF &nullifier)
bool note_hash_exists(uint64_t leaf_index, const FF &unique_note_hash) const override
void siloed_note_hash_write(const FF ¬e_hash) override
void pad_trees() override
FF storage_read(const AztecAddress &contract_address, const FF &slot) const override
bool siloed_nullifier_exists(const FF &nullifier) const override
void commit_checkpoint() override
bool nullifier_write(const AztecAddress &contract_address, const FF &nullifier) override
PublicDataTreeCheckInterface & public_data_tree_check
void storage_write(const AztecAddress &contract_address, const FF &slot, const FF &value, bool is_protocol_write) override
bool nullifier_exists_internal(std::optional< AztecAddress > contract_address, const FF &nullifier) const
void revert_checkpoint() override
bool siloed_nullifier_write(const FF &nullifier) override
L1ToL2MessageTreeCheckInterface & l1_to_l2_msg_tree_check
bool l1_to_l2_msg_exists(uint64_t leaf_index, const FF &msg_hash) const override
AztecAddress contract_address
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
uint32_t nullifier_counter
uint32_t l2_to_l1_msg_counter
uint32_t note_hash_counter
bool operator==(const TreeCounters &other) const =default