2020-05-29 16:45:37 +00:00
|
|
|
// SPDX-License-Identifier: agpl-3.0
|
2020-11-20 10:45:20 +00:00
|
|
|
pragma solidity 0.6.12;
|
2020-05-29 16:45:37 +00:00
|
|
|
|
|
|
|
/**
|
2020-11-19 13:21:36 +00:00
|
|
|
* @title LendingPoolAddressesProvider contract
|
|
|
|
* @dev Main registry of addresses part of or connected to the protocol, including permissioned roles
|
|
|
|
* - Acting also as factory of proxies and admin of those, so with right to change its implementations
|
|
|
|
* - Owned by the Aave Governance
|
|
|
|
* @author Aave
|
|
|
|
**/
|
2020-05-29 16:45:37 +00:00
|
|
|
interface ILendingPoolAddressesProvider {
|
2020-08-21 14:03:01 +00:00
|
|
|
event LendingPoolUpdated(address indexed newAddress);
|
2020-11-05 11:35:50 +00:00
|
|
|
event ConfigurationAdminUpdated(address indexed newAddress);
|
|
|
|
event EmergencyAdminUpdated(address indexed newAddress);
|
2020-08-21 14:03:01 +00:00
|
|
|
event LendingPoolConfiguratorUpdated(address indexed newAddress);
|
2020-09-16 10:41:12 +00:00
|
|
|
event LendingPoolCollateralManagerUpdated(address indexed newAddress);
|
2020-08-21 14:03:01 +00:00
|
|
|
event PriceOracleUpdated(address indexed newAddress);
|
|
|
|
event LendingRateOracleUpdated(address indexed newAddress);
|
|
|
|
event ProxyCreated(bytes32 id, address indexed newAddress);
|
2020-09-29 14:31:21 +00:00
|
|
|
event AddressSet(bytes32 id, address indexed newAddress, bool hasProxy);
|
|
|
|
|
2020-11-19 13:21:36 +00:00
|
|
|
function setAddress(bytes32 id, address newAddress) external;
|
2020-11-10 13:57:09 +00:00
|
|
|
|
2020-11-19 13:21:36 +00:00
|
|
|
function setAddressAsProxy(bytes32 id, address impl) external;
|
2020-09-29 14:31:21 +00:00
|
|
|
|
|
|
|
function getAddress(bytes32 id) external view returns (address);
|
2020-08-21 14:03:01 +00:00
|
|
|
|
2020-07-13 08:54:08 +00:00
|
|
|
function getLendingPool() external view returns (address);
|
2020-05-29 16:45:37 +00:00
|
|
|
|
2020-08-19 12:53:00 +00:00
|
|
|
function setLendingPoolImpl(address pool) external;
|
2020-05-29 16:45:37 +00:00
|
|
|
|
2020-07-13 08:54:08 +00:00
|
|
|
function getLendingPoolConfigurator() external view returns (address);
|
2020-05-29 16:45:37 +00:00
|
|
|
|
2020-08-19 12:53:00 +00:00
|
|
|
function setLendingPoolConfiguratorImpl(address configurator) external;
|
2020-05-29 16:45:37 +00:00
|
|
|
|
2020-09-16 10:41:12 +00:00
|
|
|
function getLendingPoolCollateralManager() external view returns (address);
|
2020-05-29 16:45:37 +00:00
|
|
|
|
2020-09-16 10:41:12 +00:00
|
|
|
function setLendingPoolCollateralManager(address manager) external;
|
2020-07-13 08:54:08 +00:00
|
|
|
|
2020-11-05 11:35:50 +00:00
|
|
|
function getPoolAdmin() external view returns (address);
|
2020-07-13 08:54:08 +00:00
|
|
|
|
2020-11-05 11:35:50 +00:00
|
|
|
function setPoolAdmin(address admin) external;
|
|
|
|
|
|
|
|
function getEmergencyAdmin() external view returns (address);
|
|
|
|
|
|
|
|
function setEmergencyAdmin(address admin) external;
|
2020-07-13 08:54:08 +00:00
|
|
|
|
|
|
|
function getPriceOracle() external view returns (address);
|
|
|
|
|
2020-08-19 12:53:00 +00:00
|
|
|
function setPriceOracle(address priceOracle) external;
|
2020-07-13 08:54:08 +00:00
|
|
|
|
|
|
|
function getLendingRateOracle() external view returns (address);
|
|
|
|
|
2020-08-19 12:53:00 +00:00
|
|
|
function setLendingRateOracle(address lendingRateOracle) external;
|
2020-07-13 08:54:08 +00:00
|
|
|
}
|