55 maybe_instance.has_value(),
56 "Derived address should be found if the instance was retrieved and vice versa");
59 .address = contract_address,
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;
72 .address = contract_address,
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,
76 .deployment_nullifier = contract_address,
83 BB_ASSERT(maybe_instance.has_value(),
"Contract instance should be found if nullifier exists");
90 .address = contract_address,
93 .nullifier_tree_root = tree_state.nullifier_tree.tree.root,
94 .public_data_tree_root = tree_state.public_data_tree.tree.root,
95 .deployment_nullifier = contract_address,
ContractInstanceManager(ContractDBInterface &contract_db, HighLevelMerkleDBInterface &merkle_db, UpdateCheckInterface &update_check, FieldGreaterThanInterface &ff_gt, const ProtocolContracts &protocol_contracts, EventEmitterInterface< ContractInstanceRetrievalEvent > &event_emitter)