mirror of
https://github.com/luxfi/oracle.git
synced 2026-10-30 15:23:21 +00:00
24 lines
1014 B
Solidity
24 lines
1014 B
Solidity
// SPDX-License-Identifier: AGPL-3.0-only
|
|
pragma solidity ^0.8.31;
|
|
|
|
/**
|
|
* @title IFinder
|
|
* @notice Provides addresses of the live contracts implementing certain interfaces.
|
|
* @dev Examples are the Oracle or Store interfaces.
|
|
*/
|
|
interface IFinder {
|
|
/**
|
|
* @notice Updates the address of the contract that implements `interfaceName`.
|
|
* @param interfaceName bytes32 encoding of the interface name that is either changed or registered.
|
|
* @param implementationAddress address of the deployed contract that implements the interface.
|
|
*/
|
|
function changeImplementationAddress(bytes32 interfaceName, address implementationAddress) external;
|
|
|
|
/**
|
|
* @notice Gets the address of the contract that implements the given `interfaceName`.
|
|
* @param interfaceName queried interface.
|
|
* @return implementationAddress address of the deployed contract that implements the interface.
|
|
*/
|
|
function getImplementationAddress(bytes32 interfaceName) external view returns (address);
|
|
}
|