mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| // SPDX-License-Identifier: agpl-3.0
 | |
| pragma solidity 0.6.12;
 | |
| pragma experimental ABIEncoderV2;
 | |
| 
 | |
| import {ILendingPoolAddressesProvider} from '../../interfaces/ILendingPoolAddressesProvider.sol';
 | |
| 
 | |
| interface IUiPoolDataProvider {
 | |
|   struct AggregatedReserveData {
 | |
|     address underlyingAsset;
 | |
|     string name;
 | |
|     string symbol;
 | |
|     uint256 decimals;
 | |
|     uint256 baseLTVasCollateral;
 | |
|     uint256 reserveLiquidationThreshold;
 | |
|     uint256 reserveLiquidationBonus;
 | |
|     uint256 reserveFactor;
 | |
|     bool usageAsCollateralEnabled;
 | |
|     bool borrowingEnabled;
 | |
|     bool stableBorrowRateEnabled;
 | |
|     bool isActive;
 | |
|     bool isFrozen;
 | |
|     // base data
 | |
|     uint128 liquidityIndex;
 | |
|     uint128 variableBorrowIndex;
 | |
|     uint128 liquidityRate;
 | |
|     uint128 variableBorrowRate;
 | |
|     uint128 stableBorrowRate;
 | |
|     uint40 lastUpdateTimestamp;
 | |
|     address aTokenAddress;
 | |
|     address stableDebtTokenAddress;
 | |
|     address variableDebtTokenAddress;
 | |
|     address interestRateStrategyAddress;
 | |
|     //
 | |
|     uint256 availableLiquidity;
 | |
|     uint256 totalPrincipalStableDebt;
 | |
|     uint256 averageStableRate;
 | |
|     uint256 stableDebtLastUpdateTimestamp;
 | |
|     uint256 totalScaledVariableDebt;
 | |
|     uint256 priceInEth;
 | |
|     uint256 variableRateSlope1;
 | |
|     uint256 variableRateSlope2;
 | |
|     uint256 stableRateSlope1;
 | |
|     uint256 stableRateSlope2;
 | |
|   }
 | |
|   //
 | |
|   //  struct ReserveData {
 | |
|   //    uint256 averageStableBorrowRate;
 | |
|   //    uint256 totalLiquidity;
 | |
|   //  }
 | |
| 
 | |
|   struct UserReserveData {
 | |
|     address underlyingAsset;
 | |
|     uint256 scaledATokenBalance;
 | |
|     bool usageAsCollateralEnabledOnUser;
 | |
|     uint256 stableBorrowRate;
 | |
|     uint256 scaledVariableDebt;
 | |
|     uint256 principalStableDebt;
 | |
|     uint256 stableBorrowLastUpdateTimestamp;
 | |
|   }
 | |
| 
 | |
|   //
 | |
|   //  struct ATokenSupplyData {
 | |
|   //    string name;
 | |
|   //    string symbol;
 | |
|   //    uint8 decimals;
 | |
|   //    uint256 totalSupply;
 | |
|   //    address aTokenAddress;
 | |
|   //  }
 | |
| 
 | |
|   function getReservesData(ILendingPoolAddressesProvider provider, address user)
 | |
|     external
 | |
|     view
 | |
|     returns (
 | |
|       AggregatedReserveData[] memory,
 | |
|       UserReserveData[] memory,
 | |
|       uint256
 | |
|     );
 | |
| 
 | |
|   //  function getUserReservesData(ILendingPoolAddressesProvider provider, address user)
 | |
|   //    external
 | |
|   //    view
 | |
|   //    returns (UserReserveData[] memory);
 | |
|   //
 | |
|   //  function getAllATokenSupply(ILendingPoolAddressesProvider provider)
 | |
|   //    external
 | |
|   //    view
 | |
|   //    returns (ATokenSupplyData[] memory);
 | |
|   //
 | |
|   //  function getATokenSupply(address[] calldata aTokens)
 | |
|   //    external
 | |
|   //    view
 | |
|   //    returns (ATokenSupplyData[] memory);
 | |
| }
 | 
