18 , protocol_contracts(protocol_contracts)
55 maybe_instance.has_value(),
56 "Derived address should be found if the instance was retrieved and vice versa");
61 .nullifier_tree_root = tree_state.nullifier_tree.tree.root,
62 .public_data_tree_root = tree_state.public_data_tree.tree.root,
63 .exists = derived_address.has_value(),
64 .is_protocol_contract =
true,
66 return maybe_instance;
73 .contract_instance = {},
74 .nullifier_tree_root = tree_state.nullifier_tree.tree.root,
75 .public_data_tree_root = tree_state.public_data_tree.tree.root,
83 BB_ASSERT(maybe_instance.has_value(),
"Contract instance should be found if nullifier exists");
93 .nullifier_tree_root = tree_state.nullifier_tree.tree.root,
94 .public_data_tree_root = tree_state.public_data_tree.tree.root,
#define BB_ASSERT(expression,...)
#define BB_ASSERT_EQ(actual, expected,...)
std::shared_ptr< Napi::ThreadSafeFunction > instance
#define MAX_PROTOCOL_CONTRACTS
#define CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS
StrictMock< MockHighLevelMerkleDB > merkle_db
StrictMock< MockContractDB > contract_db
virtual std::optional< ContractInstance > get_contract_instance(const AztecAddress &address) const =0
ContractInstanceManager(ContractDBInterface &contract_db, HighLevelMerkleDBInterface &merkle_db, UpdateCheckInterface &update_check, FieldGreaterThanInterface &ff_gt, const ProtocolContracts &protocol_contracts, EventEmitterInterface< ContractInstanceRetrievalEvent > &event_emitter)
std::optional< ContractInstance > get_contract_instance(const FF &contract_address) override
Retrieves a contract instance from the contract database.
HighLevelMerkleDBInterface & merkle_db
ContractDBInterface & contract_db
EventEmitterInterface< ContractInstanceRetrievalEvent > & event_emitter
const ProtocolContracts & protocol_contracts
virtual bool nullifier_exists(const AztecAddress &contract_address, const FF &nullifier) const =0
virtual TreeStates get_tree_state() const =0
EventEmitter< DataCopyEvent > event_emitter
AztecAddress contract_address
std::optional< AztecAddress > get_derived_address(const ProtocolContracts &protocol_contracts, const AztecAddress &canonical_address)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept