AaveV3Lender
AaveV3Lenderβ
POOLβ
contract IPool POOL
The AAVE pool retrieved from the pool provider.
ADDRESS_PROVIDERβ
contract IPoolAddressesProvider ADDRESS_PROVIDER
The AAVE pool address provider.
constructorβ
constructor(address addressesProvider) public
contract's constructor
Parametersβ
| Name | Type | Description | 
|---|---|---|
| addressesProvider | address | address of AAVE's address provider | 
_approveLenderβ
function _approveLender(contract IERC20 token, uint256 amount) internal
allows this contract to approve the POOL to transfer some underlying asset on its behalf
this is a necessary step prior to supplying tokens to the POOL or to repay a debt
Parametersβ
| Name | Type | Description | 
|---|---|---|
| token | contract IERC20 | the underlying asset for which approval is required | 
| amount | uint256 | the approval amount | 
_exitMarketβ
function _exitMarket(contract IERC20 underlying) internal
prevents the POOL from using some underlying as collateral
this call will revert if removing the asset from collateral would put the account into a liquidation state
Parametersβ
| Name | Type | Description | 
|---|---|---|
| underlying | contract IERC20 | the token one wishes to remove collateral | 
_enterMarketsβ
function _enterMarkets(contract IERC20[] underlyings) internal
allows the POOL to use some underlying tokens as collateral
when supplying a token for the first time, it is automatically set as possible collateral so there is no need to call this function for it.
Parametersβ
| Name | Type | Description | 
|---|---|---|
| underlyings | contract IERC20[] | the token one wishes to add as collateral | 
overlyingβ
function overlying(contract IERC20 asset) public view returns (contract IERC20 aToken)
convenience function to obtain the overlying of a given asset
Parametersβ
| Name | Type | Description | 
|---|---|---|
| asset | contract IERC20 | the underlying asset | 
Return Valuesβ
| Name | Type | Description | 
|---|---|---|
| aToken | contract IERC20 | the overlying asset | 
_redeemβ
function _redeem(contract IERC20 token, uint256 amount, address to) internal returns (uint256 redeemed)
redeems funds from the pool
Parametersβ
| Name | Type | Description | 
|---|---|---|
| token | contract IERC20 | the asset one is trying to redeem | 
| amount | uint256 | of assets one wishes to redeem | 
| to | address | is the address where the redeemed assets should be transferred | 
Return Valuesβ
| Name | Type | Description | 
|---|---|---|
| redeemed | uint256 | the amount of asset that were transferred to to | 
_supplyβ
function _supply(contract IERC20 token, uint256 amount, address onBehalf, bool noRevert) internal returns (bytes32)
supplies funds to the pool
Parametersβ
| Name | Type | Description | 
|---|---|---|
| token | contract IERC20 | the asset one is supplying | 
| amount | uint256 | of assets to be transferred to the pool | 
| onBehalf | address | address of the account whose collateral is being supplied to and which will receive the overlying | 
| noRevert | bool | does not revert if supplies throws | 
Return Valuesβ
| Name | Type | Description | 
|---|---|---|
| [0] | bytes32 | reason for revert from Aave. | 
_claimRewardsβ
function _claimRewards(address[] assets, address to) internal returns (address[] rewardsList, uint256[] claimedAmounts)
rewards claiming.
Parametersβ
| Name | Type | Description | 
|---|---|---|
| assets | address[] | list of overlying for which one is claiming awards | 
| to | address | whom the rewards should be sent | 
Return Valuesβ
| Name | Type | Description | 
|---|---|---|
| rewardsList | address[] | the address of assets that have been claimed | 
| claimedAmounts | uint256[] | the amount of assets that have been claimed | 
checkAssetβ
function checkAsset(contract IERC20 asset) public view returns (bool)
verifies whether an asset can be supplied on pool
Parametersβ
| Name | Type | Description | 
|---|---|---|
| asset | contract IERC20 | the asset one wants to lend | 
Return Valuesβ
| Name | Type | Description | 
|---|---|---|
| [0] | bool | true if the asset can be supplied on pool |