mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Removed reserveLogic import from WETHGateway
This commit is contained in:
parent
126458c7aa
commit
1054dea632
|
@ -2,8 +2,105 @@
|
||||||
pragma solidity 0.6.12;
|
pragma solidity 0.6.12;
|
||||||
pragma experimental ABIEncoderV2;
|
pragma experimental ABIEncoderV2;
|
||||||
|
|
||||||
import {ILendingPoolAddressesProvider} from './ILendingPoolAddressesProvider.sol';
|
/**
|
||||||
import {DataTypes} from '../protocol/libraries/types/DataTypes.sol';
|
* @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
|
||||||
|
**/
|
||||||
|
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 {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -6,7 +6,6 @@ import {IWETH} from './interfaces/IWETH.sol';
|
||||||
import {IWETHGateway} from './interfaces/IWETHGateway.sol';
|
import {IWETHGateway} from './interfaces/IWETHGateway.sol';
|
||||||
import {ILendingPool} from '../interfaces/ILendingPool.sol';
|
import {ILendingPool} from '../interfaces/ILendingPool.sol';
|
||||||
import {IAToken} from '../protocol/tokenization/interfaces/IAToken.sol';
|
import {IAToken} from '../protocol/tokenization/interfaces/IAToken.sol';
|
||||||
import {ReserveLogic} from '../protocol/libraries/logic/ReserveLogic.sol';
|
|
||||||
import {ReserveConfiguration} from '../protocol/libraries/configuration/ReserveConfiguration.sol';
|
import {ReserveConfiguration} from '../protocol/libraries/configuration/ReserveConfiguration.sol';
|
||||||
import {UserConfiguration} from '../protocol/libraries/configuration/UserConfiguration.sol';
|
import {UserConfiguration} from '../protocol/libraries/configuration/UserConfiguration.sol';
|
||||||
import {Helpers} from '../protocol/libraries/helpers/Helpers.sol';
|
import {Helpers} from '../protocol/libraries/helpers/Helpers.sol';
|
||||||
|
|
Loading…
Reference in New Issue
Block a user