github.com/cwntr/go-defi@v0.0.0-20210629134751-07f9ec2f7e66/contracts/handlers/aave/ILendingPool.sol (about)

     1  pragma solidity ^0.5.0;
     2  
     3  interface ILendingPool {
     4  	function addressesProvider() external view returns(address);
     5  	function deposit(address _reserve, uint256 _amount, uint16 _referralCode) external payable;
     6  	function redeemUnderlying(address _reserve, address _user, uint256 _amount) external;
     7  	function borrow(address _reserve, uint256 _amount, uint256 _interestRateMode, uint16 _referralCode) external;
     8  	function repay(address _reserve, uint256 _amount, address _onBehalfOf) external payable;
     9  	function swapBorrowRateMode(address _reserve) external;
    10  	function rebalanceFixedBorrowRate(address _reserve, address _user) external;
    11  	function setUserUseReserveAsCollateral(address _reserve, bool _useAsCollateral) external;
    12  	function liquidationCall(
    13  		address _collateral, address _reserve, address _user, 
    14  		uint256 _purchaseAmount, bool _receiveAToken) external payable;
    15  	function flashLoan(address _receiver, address _reserve, uint256 _amount, bytes calldata _params) external;
    16  	function getReserveConfigurationData(
    17  		address _reserve
    18  	) external view returns(
    19  		uint256 ltv, uint256 liquidationThreshold, uint256 liquidationDiscount, 
    20  		address interestRateStrategyAddress, bool usageAsCollateralEnabled, bool borrowingEnabled, 
    21  		bool fixedBorrowRateEnabled, bool isActive);
    22  	function getReserveData(address _reserve) external view returns(
    23  		uint256 totalLiquidity, uint256 availableLiquidity, uint256 totalBorrowsFixed, 
    24  		uint256 totalBorrowsVariable, uint256 liquidityRate, uint256 variableBorrowRate, 
    25  		uint256 fixedBorrowRate, uint256 averageFixedBorrowRate, uint256 utilizationRate, 
    26  		uint256 liquidityIndex, uint256 variableBorrowIndex, address aTokenAddress, uint40 lastUpdateTimestamp);
    27  	function getUserAccountData(address _user) external view returns(
    28  		uint256 totalLiquidityETH, uint256 totalCollateralETH, uint256 totalBorrowsETH, 
    29  		uint256 availableBorrowsETH, uint256 currentLiquidationThreshold, uint256 ltv, uint256 healthFactor);
    30  	function getUserReserveData(address _reserve, address _user) external view returns(
    31  		uint256 currentATokenBalance, uint256 currentBorrowBalance, uint256 principalBorrowBalance, 
    32  		uint256 borrowRateMode, uint256 borrowRate, uint256 liquidityRate, uint256 originationFee, 
    33  		uint256 variableBorrowIndex, uint256 lastUpdateTimestamp, bool usageAsCollateralEnabled);
    34  	function getReserves() external view;
    35  }