13 merkle_check.assert_membership(leaf_value, leaf_index, sibling_path, snapshot.
root);
15 .existing_leaf_value = leaf_value,
16 .leaf_index = leaf_index,
17 .prev_snapshot = snapshot });
18 return unique_note_hash == leaf_value;
38 uint64_t note_hash_counter,
43 note_hash,
contract_address,
true, note_hash_counter, sibling_path, prev_snapshot);
47 uint64_t note_hash_counter,
60 uint64_t note_hash_counter,
74 bool should_make_unique,
75 uint64_t note_hash_counter,
79 FF original_note_hash = note_hash;
87 if (should_make_unique) {
101 .existing_leaf_value = 0,
103 .prev_snapshot = prev_snapshot,
106 .uniqueness_data = uniqueness_data,
107 .note_hash_counter = note_hash_counter,
108 .next_snapshot = next_snapshot,
110 return next_snapshot;
#define GENERATOR_INDEX__NOTE_HASH_NONCE
#define GENERATOR_INDEX__SILOED_NOTE_HASH
#define GENERATOR_INDEX__UNIQUE_NOTE_HASH
virtual void emit(Event &&event)=0
void on_checkpoint_created() override
AppendOnlyTreeSnapshot append_siloed_note_hash(const FF &siloed_note_hash, uint64_t note_hash_counter, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &prev_snapshot) override
EventEmitterInterface< NoteHashTreeCheckEvent > & events
AppendOnlyTreeSnapshot append_note_hash(const FF ¬e_hash, AztecAddress contract_address, uint64_t note_hash_counter, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &prev_snapshot) override
FF make_nonce(uint64_t note_hash_counter) const
FF make_unique(const FF &siloed_note_hash, const FF &nonce) const
FF make_siloed(AztecAddress contract_address, const FF ¬e_hash) const
void on_checkpoint_committed() override
void on_checkpoint_reverted() override
AppendOnlyTreeSnapshot append_note_hash_internal(FF note_hash, std::optional< AztecAddress > contract_address, bool should_make_unique, uint64_t note_hash_counter, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &prev_snapshot)
bool note_hash_exists(const FF &unique_note_hash, const FF &leaf_value, uint64_t leaf_index, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &snapshot) override
AppendOnlyTreeSnapshot append_unique_note_hash(const FF &unique_note_hash, uint64_t note_hash_counter, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &prev_snapshot) override
static FF hash(const std::vector< FF > &input)
Hashes a vector of field elements.
AztecAddress contract_address
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
uint64_t nextAvailableLeafIndex
std::optional< NoteHashSiloingData > siloing_data