// SPDX-License-Identifier: MIT pragma solidity >=0.7.6 <0.9; pragma abicoder v2; interface IIAddressUpdater { /** * @notice Returns all contract names and corresponding addresses */ function getContractNamesAndAddresses() external view returns( string[] memory _contractNames, address[] memory _contractAddresses ); /** * @notice Returns contract address for the given name - might be address(0) * @param _name name of the contract */ function getContractAddress(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 getContractAddresses(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); }