mirror of
https://github.com/Instadapp/dsa-resolvers-deprecated.git
synced 2024-07-29 22:38:16 +00:00
98 lines
2.9 KiB
Solidity
98 lines
2.9 KiB
Solidity
pragma solidity ^0.6.0;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
|
|
interface AaveProtocolDataProvider {
|
|
function getUserReserveData(address asset, address user) external view returns (
|
|
uint256 currentATokenBalance,
|
|
uint256 currentStableDebt,
|
|
uint256 currentVariableDebt,
|
|
uint256 principalStableDebt,
|
|
uint256 scaledVariableDebt,
|
|
uint256 stableBorrowRate,
|
|
uint256 liquidityRate,
|
|
uint40 stableRateLastUpdated,
|
|
bool usageAsCollateralEnabled
|
|
);
|
|
|
|
function getReserveConfigurationData(address asset) external view returns (
|
|
uint256 decimals,
|
|
uint256 ltv,
|
|
uint256 liquidationThreshold,
|
|
uint256 liquidationBonus,
|
|
uint256 reserveFactor,
|
|
bool usageAsCollateralEnabled,
|
|
bool borrowingEnabled,
|
|
bool stableBorrowRateEnabled,
|
|
bool isActive,
|
|
bool isFrozen
|
|
);
|
|
|
|
function getReserveData(address asset) external view returns (
|
|
uint256 availableLiquidity,
|
|
uint256 totalStableDebt,
|
|
uint256 totalVariableDebt,
|
|
uint256 liquidityRate,
|
|
uint256 variableBorrowRate,
|
|
uint256 stableBorrowRate,
|
|
uint256 averageStableBorrowRate,
|
|
uint256 liquidityIndex,
|
|
uint256 variableBorrowIndex,
|
|
uint40 lastUpdateTimestamp
|
|
);
|
|
|
|
function getReserveTokensAddresses(address asset) external view returns (
|
|
address aTokenAddress,
|
|
address stableDebtTokenAddress,
|
|
address variableDebtTokenAddress
|
|
);
|
|
}
|
|
|
|
interface AaveLendingPool {
|
|
function getUserAccountData(address user) external view returns (
|
|
uint256 totalCollateralETH,
|
|
uint256 totalDebtETH,
|
|
uint256 availableBorrowsETH,
|
|
uint256 currentLiquidationThreshold,
|
|
uint256 ltv,
|
|
uint256 healthFactor
|
|
);
|
|
}
|
|
|
|
interface TokenInterface {
|
|
function totalSupply() external view returns (uint);
|
|
}
|
|
|
|
interface AaveAddressProvider {
|
|
function getLendingPool() external view returns (address);
|
|
function getPriceOracle() external view returns (address);
|
|
}
|
|
|
|
interface AavePriceOracle {
|
|
function getAssetPrice(address _asset) external view returns(uint256);
|
|
function getAssetsPrices(address[] calldata _assets) external view returns(uint256[] memory);
|
|
function getSourceOfAsset(address _asset) external view returns(uint256);
|
|
function getFallbackOracle() external view returns(uint256);
|
|
}
|
|
|
|
interface AaveIncentivesInterface {
|
|
struct AssetData {
|
|
uint128 emissionPerSecond;
|
|
uint128 lastUpdateTimestamp;
|
|
uint256 index;
|
|
}
|
|
|
|
function getRewardsBalance(
|
|
address[] calldata assets,
|
|
address user
|
|
) external view returns (uint256);
|
|
|
|
function assets(
|
|
address asset
|
|
) external view returns (AssetData memory);
|
|
}
|
|
|
|
interface ChainLinkInterface {
|
|
function latestAnswer() external view returns (int256);
|
|
function decimals() external view returns (uint256);
|
|
} |