18 uint64_t low_leaf_index,
23 uint64_t nullifier_counter,
25 uint64_t low_leaf_index,
48 uint64_t low_leaf_index,
53 uint64_t nullifier_counter,
55 uint64_t low_leaf_index,
void validate_low_leaf(const FF &nullifier, const NullifierTreeLeafPreimage &low_leaf_preimage, bool exists)
void on_checkpoint_committed() override
AppendOnlyTreeSnapshot write(const FF &nullifier, std::optional< AztecAddress > contract_address, uint64_t nullifier_counter, const NullifierTreeLeafPreimage &low_leaf_preimage, uint64_t low_leaf_index, std::span< const FF > low_leaf_sibling_path, const AppendOnlyTreeSnapshot &prev_snapshot, std::optional< std::span< const FF > > insertion_sibling_path) override
FF silo_nullifier(const FF &nullifier, AztecAddress contract_address)
MerkleCheckInterface & merkle_check
void assert_read(const FF &nullifier, std::optional< AztecAddress > contract_address, bool exists, const NullifierTreeLeafPreimage &low_leaf_preimage, uint64_t low_leaf_index, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &snapshot) override
FieldGreaterThanInterface & field_gt
void on_checkpoint_reverted() override
EventEmitterInterface< NullifierTreeCheckEvent > & events
NullifierTreeCheck(Poseidon2Interface &poseidon2, MerkleCheckInterface &merkle_check, FieldGreaterThanInterface &field_gt, EventEmitterInterface< NullifierTreeCheckEvent > &event_emitter)
Poseidon2Interface & poseidon2
void on_checkpoint_created() override
virtual ~NullifierTreeCheckInterface()=default
virtual AppendOnlyTreeSnapshot write(const FF &nullifier, std::optional< AztecAddress > contract_address, uint64_t nullifier_counter, const NullifierTreeLeafPreimage &low_leaf_preimage, uint64_t low_leaf_index, std::span< const FF > low_leaf_sibling_path, const AppendOnlyTreeSnapshot &prev_snapshot, std::optional< std::span< const FF > > insertion_sibling_path)=0
virtual void assert_read(const FF &nullifier, std::optional< AztecAddress > contract_address, bool exists, const NullifierTreeLeafPreimage &low_leaf_preimage, uint64_t low_leaf_index, std::span< const FF > sibling_path, const AppendOnlyTreeSnapshot &snapshot)=0
EventEmitter< DataCopyEvent > event_emitter
AztecAddress contract_address
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept