IAToken
Defines the basic interface for an AToken.
BalanceTransfer
Emitted during the transfer action
Parameters
from
address
The user whose tokens are being transferred
to
address
The recipient
value
uint256
The scaled amount being transferred
index
uint256
The next liquidity index of the reserve
mint
Mints amount
aTokens to user
Parameters
caller
address
The address performing the mint
onBehalfOf
address
The address of the user that will receive the minted aTokens
amount
uint256
The amount of tokens getting minted
index
uint256
The next liquidity index of the reserve
Return Values
[0]
bool
true
if the the previous balance of the user was 0
burn
Burns aTokens from user
and sends the equivalent amount of underlying to receiverOfUnderlying
In some instances, the mint event could be emitted from a burn transaction if the amount to burn is less than the interest that the user accrued
Parameters
from
address
The address from which the aTokens will be burned
receiverOfUnderlying
address
The address that will receive the underlying
amount
uint256
The amount being burned
index
uint256
The next liquidity index of the reserve
mintToTreasury
Mints aTokens to the reserve treasury
Parameters
amount
uint256
The amount of tokens getting minted
index
uint256
The next liquidity index of the reserve
transferOnLiquidation
Transfers aTokens in the event of a borrow being liquidated, in case the liquidators reclaims the aToken
Parameters
from
address
The address getting liquidated, current owner of the aTokens
to
address
The recipient
value
uint256
The amount of tokens getting transferred
transferUnderlyingTo
Transfers the underlying asset to target
.
Used by the Pool to transfer assets in borrow(), withdraw() and flashLoan()
Parameters
target
address
The recipient of the underlying
amount
uint256
The amount getting transferred
handleRepayment
Handles the underlying received by the aToken after the transfer has been completed.
The default implementation is empty as with standard ERC20 tokens, nothing needs to be done after the
transfer is concluded. However in the future there may be aTokens that allow for example to stake the underlying
to receive LM rewards. In that case, handleRepayment()
would perform the staking of the underlying asset.
Parameters
user
address
The user executing the repayment
onBehalfOf
address
The address of the user who will get his debt reduced/removed
amount
uint256
The amount getting repaid
permit
Allow passing a signed message to approve spending
implements the permit function as for https://github.com/ethereum/EIPs/blob/8a34d644aacf0f9f8f00815307fd7dd5da07655f/EIPS/eip-2612.md
Parameters
owner
address
The owner of the funds
spender
address
The spender
value
uint256
The amount
deadline
uint256
The deadline timestamp, type(uint256).max for max deadline
v
uint8
Signature param
r
bytes32
Signature param
s
bytes32
Signature param
UNDERLYING_ASSET_ADDRESS
Returns the address of the underlying asset of this aToken (E.g. WETH for aWETH)
Return Values
[0]
address
The address of the underlying asset
RESERVE_TREASURY_ADDRESS
Returns the address of the Aave treasury, receiving the fees on this aToken.
Return Values
[0]
address
Address of the Aave treasury
DOMAIN_SEPARATOR
Get the domain separator for the token
Return cached value if chainId matches cache, otherwise recomputes separator
Return Values
[0]
bytes32
The domain separator of the token at current chain
nonces
Returns the nonce for owner.
Parameters
owner
address
The address of the owner
Return Values
[0]
uint256
The nonce of the owner
rescueTokens
Rescue and transfer tokens locked in this contract
Parameters
token
address
The address of the token
to
address
The address of the recipient
amount
uint256
The amount of token to transfer