mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Fixed ILendingPool interface
This commit is contained in:
parent
0431f0dcbc
commit
e4bccaed91
|
@ -2,105 +2,9 @@
|
||||||
pragma solidity 0.6.12;
|
pragma solidity 0.6.12;
|
||||||
pragma experimental ABIEncoderV2;
|
pragma experimental ABIEncoderV2;
|
||||||
|
|
||||||
/**
|
import {ILendingPoolAddressesProvider} from './ILendingPoolAddressesProvider.sol';
|
||||||
* @title LendingPoolAddressesProvider contract
|
import {DataTypes} from '../protocol/libraries/types/DataTypes.sol';
|
||||||
* @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
|
|
||||||
**/
|
|
||||||
interface ILendingPoolAddressesProvider {
|
|
||||||
event LendingPoolUpdated(address indexed newAddress);
|
|
||||||
event ConfigurationAdminUpdated(address indexed newAddress);
|
|
||||||
event EmergencyAdminUpdated(address indexed newAddress);
|
|
||||||
event LendingPoolConfiguratorUpdated(address indexed newAddress);
|
|
||||||
event LendingPoolCollateralManagerUpdated(address indexed newAddress);
|
|
||||||
event PriceOracleUpdated(address indexed newAddress);
|
|
||||||
event LendingRateOracleUpdated(address indexed newAddress);
|
|
||||||
event ProxyCreated(bytes32 id, address indexed newAddress);
|
|
||||||
event AddressSet(bytes32 id, address indexed newAddress, bool hasProxy);
|
|
||||||
|
|
||||||
function setAddress(bytes32 id, address newAddress) external;
|
|
||||||
|
|
||||||
function setAddressAsProxy(bytes32 id, address impl) external;
|
|
||||||
|
|
||||||
function getAddress(bytes32 id) external view returns (address);
|
|
||||||
|
|
||||||
function getLendingPool() external view returns (address);
|
|
||||||
|
|
||||||
function setLendingPoolImpl(address pool) external;
|
|
||||||
|
|
||||||
function getLendingPoolConfigurator() external view returns (address);
|
|
||||||
|
|
||||||
function setLendingPoolConfiguratorImpl(address configurator) external;
|
|
||||||
|
|
||||||
function getLendingPoolCollateralManager() external view returns (address);
|
|
||||||
|
|
||||||
function setLendingPoolCollateralManager(address manager) external;
|
|
||||||
|
|
||||||
function getPoolAdmin() external view returns (address);
|
|
||||||
|
|
||||||
function setPoolAdmin(address admin) external;
|
|
||||||
|
|
||||||
function getEmergencyAdmin() external view returns (address);
|
|
||||||
|
|
||||||
function setEmergencyAdmin(address admin) external;
|
|
||||||
|
|
||||||
function getPriceOracle() external view returns (address);
|
|
||||||
|
|
||||||
function setPriceOracle(address priceOracle) external;
|
|
||||||
|
|
||||||
function getLendingRateOracle() external view returns (address);
|
|
||||||
|
|
||||||
function setLendingRateOracle(address lendingRateOracle) external;
|
|
||||||
}
|
|
||||||
|
|
||||||
library DataTypes {
|
|
||||||
// refer to the whitepaper, section 1.1 basic concepts for a formal description of these properties.
|
|
||||||
struct ReserveData {
|
|
||||||
//stores the reserve configuration
|
|
||||||
ReserveConfigurationMap configuration;
|
|
||||||
//the liquidity index. Expressed in ray
|
|
||||||
uint128 liquidityIndex;
|
|
||||||
//variable borrow index. Expressed in ray
|
|
||||||
uint128 variableBorrowIndex;
|
|
||||||
//the current supply rate. Expressed in ray
|
|
||||||
uint128 currentLiquidityRate;
|
|
||||||
//the current variable borrow rate. Expressed in ray
|
|
||||||
uint128 currentVariableBorrowRate;
|
|
||||||
//the current stable borrow rate. Expressed in ray
|
|
||||||
uint128 currentStableBorrowRate;
|
|
||||||
uint40 lastUpdateTimestamp;
|
|
||||||
//tokens addresses
|
|
||||||
address aTokenAddress;
|
|
||||||
address stableDebtTokenAddress;
|
|
||||||
address variableDebtTokenAddress;
|
|
||||||
//address of the interest rate strategy
|
|
||||||
address interestRateStrategyAddress;
|
|
||||||
//the id of the reserve. Represents the position in the list of the active reserves
|
|
||||||
uint8 id;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct ReserveConfigurationMap {
|
|
||||||
//bit 0-15: LTV
|
|
||||||
//bit 16-31: Liq. threshold
|
|
||||||
//bit 32-47: Liq. bonus
|
|
||||||
//bit 48-55: Decimals
|
|
||||||
//bit 56: Reserve is active
|
|
||||||
//bit 57: reserve is frozen
|
|
||||||
//bit 58: borrowing is enabled
|
|
||||||
//bit 59: stable rate borrowing enabled
|
|
||||||
//bit 60-63: reserved
|
|
||||||
//bit 64-79: reserve factor
|
|
||||||
uint256 data;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct UserConfigurationMap {
|
|
||||||
uint256 data;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum InterestRateMode {NONE, STABLE, VARIABLE}
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ILendingPool {
|
interface ILendingPool {
|
||||||
/**
|
/**
|
||||||
|
@ -450,14 +354,20 @@ interface ILendingPool {
|
||||||
* @param asset The address of the underlying asset of the reserve
|
* @param asset The address of the underlying asset of the reserve
|
||||||
* @return The configuration of the reserve
|
* @return The configuration of the reserve
|
||||||
**/
|
**/
|
||||||
function getConfiguration(address asset) external view returns (DataTypes.ReserveConfigurationMap memory);
|
function getConfiguration(address asset)
|
||||||
|
external
|
||||||
|
view
|
||||||
|
returns (DataTypes.ReserveConfigurationMap memory);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev Returns the configuration of the user across all the reserves
|
* @dev Returns the configuration of the user across all the reserves
|
||||||
* @param user The user address
|
* @param user The user address
|
||||||
* @return The configuration of the user
|
* @return The configuration of the user
|
||||||
**/
|
**/
|
||||||
function getUserConfiguration(address user) external view returns (DataTypes.UserConfigurationMap memory);
|
function getUserConfiguration(address user)
|
||||||
|
external
|
||||||
|
view
|
||||||
|
returns (DataTypes.UserConfigurationMap memory);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev Returns the normalized income normalized income of the reserve
|
* @dev Returns the normalized income normalized income of the reserve
|
||||||
|
|
Loading…
Reference in New Issue
Block a user