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 |