AaveSwapWrapper
AaveSwapWrapper
A wrapper contract for interacting with aTokens
Methods
LENDING_POOL
function LENDING_POOL() external view returns (contract ILendingPool)
Returns
_0
contract ILendingPool
undefined
LP_TOKEN
function LP_TOKEN() external view returns (contract LPToken)
Returns
_0
contract LPToken
undefined
OWNER
function OWNER() external view returns (address)
Returns
_0
address
undefined
POOLED_TOKENS
function POOLED_TOKENS(uint256) external view returns (contract IERC20)
Parameters
_0
uint256
undefined
Returns
_0
contract IERC20
undefined
SWAP
function SWAP() external view returns (contract Swap)
Returns
_0
contract Swap
undefined
UNDERLYING_TOKENS
function UNDERLYING_TOKENS(uint256) external view returns (contract IERC20)
Parameters
_0
uint256
undefined
Returns
_0
contract IERC20
undefined
addLiquidity
function addLiquidity(uint256[] amounts, uint256 minToMint, uint256 deadline) external nonpayable returns (uint256)
Add liquidity to the pool with the given amounts of tokens.
Parameters
amounts
uint256[]
the amounts of each token to add, in their native precision
minToMint
uint256
the minimum LP tokens adding this amount of liquidity should mint, otherwise revert. Handy for front-running mitigation
deadline
uint256
latest timestamp to accept this transaction
Returns
_0
uint256
amount of LP token user minted and received
calculateRemoveLiquidity
function calculateRemoveLiquidity(uint256 amount) external view returns (uint256[])
A simple method to calculate amount of each underlying tokens that is returned upon burning given amount of LP tokens
Parameters
amount
uint256
the amount of LP tokens that would be burned on withdrawal
Returns
_0
uint256[]
array of token balances that the user will receive
calculateRemoveLiquidityOneToken
function calculateRemoveLiquidityOneToken(uint256 tokenAmount, uint8 tokenIndex) external view returns (uint256 availableTokenAmount)
Calculate the amount of underlying token available to withdraw when withdrawing via only single token
Parameters
tokenAmount
uint256
the amount of LP token to burn
tokenIndex
uint8
index of which token will be withdrawn
Returns
availableTokenAmount
uint256
calculated amount of underlying token available to withdraw
calculateSwap
function calculateSwap(uint8 tokenIndexFrom, uint8 tokenIndexTo, uint256 dx) external view returns (uint256)
Calculate amount of tokens you receive on swap
Parameters
tokenIndexFrom
uint8
the token the user wants to sell
tokenIndexTo
uint8
the token the user wants to buy
dx
uint256
the amount of tokens the user wants to sell. If the token charges a fee on transfers, use the amount that gets transferred after the fee.
Returns
_0
uint256
amount of tokens the user will receive
calculateTokenAmount
function calculateTokenAmount(uint256[] amounts, bool deposit) external view returns (uint256)
A simple method to calculate prices from deposits or withdrawals, excluding fees but including slippage. This is helpful as an input into the various "min" parameters on calls to fight front-running
This shouldn't be used outside frontends for user estimates.
Parameters
amounts
uint256[]
an array of token amounts to deposit or withdrawal, corresponding to pooledTokens. The amount should be in each pooled token's native precision. If a token charges a fee on transfers, use the amount that gets transferred after the fee.
deposit
bool
whether this is a deposit or a withdrawal
Returns
_0
uint256
token amount the user will receive
getToken
function getToken(uint8 index) external view returns (contract IERC20)
Return address of the pooled token at given index. Reverts if tokenIndex is out of range.
Parameters
index
uint8
the index of the token
Returns
_0
contract IERC20
address of the token at given index
removeLiquidity
function removeLiquidity(uint256 amount, uint256[] minAmounts, uint256 deadline) external nonpayable returns (uint256[])
Burn LP tokens to remove liquidity from the pool.
Liquidity can always be removed, even when the pool is paused. Caller will receive ETH instead of WETH9.
Parameters
amount
uint256
the amount of LP tokens to burn
minAmounts
uint256[]
the minimum amounts of each token in the pool acceptable for this burn. Useful as a front-running mitigation
deadline
uint256
latest timestamp to accept this transaction
Returns
_0
uint256[]
amounts of tokens user received
removeLiquidityOneToken
function removeLiquidityOneToken(uint256 tokenAmount, uint8 tokenIndex, uint256 minAmount, uint256 deadline) external nonpayable returns (uint256)
Remove liquidity from the pool all in one token.
Caller will receive ETH instead of WETH9.
Parameters
tokenAmount
uint256
the amount of the token you want to receive
tokenIndex
uint8
the index of the token you want to receive
minAmount
uint256
the minimum amount to withdraw, otherwise revert
deadline
uint256
latest timestamp to accept this transaction
Returns
_0
uint256
amount of chosen token user received
rescue
function rescue() external nonpayable
Rescues any of the ETH, the pooled tokens, or the LPToken that may be stuck in this contract. Only the OWNER can call this function.
swap
function swap(uint8 tokenIndexFrom, uint8 tokenIndexTo, uint256 dx, uint256 minDy, uint256 deadline) external nonpayable returns (uint256)
Swap two tokens using the underlying pool. If tokenIndexFrom represents WETH9 in the pool, the caller must set msg.value equal to dx. If the user is swapping to WETH9 in the pool, the user will receive ETH instead.
Parameters
tokenIndexFrom
uint8
the token the user wants to swap from
tokenIndexTo
uint8
the token the user wants to swap to
dx
uint256
the amount of tokens the user wants to swap from
minDy
uint256
the min amount the user would like to receive, or revert.
deadline
uint256
latest timestamp to accept this transaction
Returns
_0
uint256
undefined
Last updated
Was this helpful?