// SPDX-License-Identifier: MIT pragma solidity >=0.7.6 <0.9; pragma abicoder v2; interface IFlareContractRegistry { /** * @notice Returns contract address for the given name - might be address(0) * @param _name name of the contract */ function getContractAddressByName( string calldata _name ) external view returns (address); /** * @notice Returns contract address for the given name hash - might be address(0) * @param _nameHash hash of the contract name (keccak256(abi.encode(name)) */ function getContractAddressByHash( bytes32 _nameHash ) external view returns (address); /** * @notice Returns contract addresses for the given names - might be address(0) * @param _names names of the contracts */ function getContractAddressesByName( string[] calldata _names ) external view returns (address[] memory); /** * @notice Returns contract addresses for the given name hashes - might be address(0) * @param _nameHashes hashes of the contract names (keccak256(abi.encode(name)) */ function getContractAddressesByHash( bytes32[] calldata _nameHashes ) external view returns (address[] memory); /** * @notice Returns all contract names and corresponding addresses */ function getAllContracts() external view returns (string[] memory _names, address[] memory _addresses); }