AaveSwapWrapper

AaveSwapWrapper

A wrapper contract for interacting with aTokens

Methods

LENDING_POOL

function LENDING_POOL() external view returns (contract ILendingPool)

Returns

NameTypeDescription

_0

contract ILendingPool

undefined

LP_TOKEN

function LP_TOKEN() external view returns (contract LPToken)

Returns

NameTypeDescription

_0

contract LPToken

undefined

OWNER

function OWNER() external view returns (address)

Returns

NameTypeDescription

_0

address

undefined

POOLED_TOKENS

function POOLED_TOKENS(uint256) external view returns (contract IERC20)

Parameters

NameTypeDescription

_0

uint256

undefined

Returns

NameTypeDescription

_0

contract IERC20

undefined

SWAP

function SWAP() external view returns (contract Swap)

Returns

NameTypeDescription

_0

contract Swap

undefined

UNDERLYING_TOKENS

function UNDERLYING_TOKENS(uint256) external view returns (contract IERC20)

Parameters

NameTypeDescription

_0

uint256

undefined

Returns

NameTypeDescription

_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

NameTypeDescription

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

NameTypeDescription

_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

NameTypeDescription

amount

uint256

the amount of LP tokens that would be burned on withdrawal

Returns

NameTypeDescription

_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

NameTypeDescription

tokenAmount

uint256

the amount of LP token to burn

tokenIndex

uint8

index of which token will be withdrawn

Returns

NameTypeDescription

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

NameTypeDescription

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

NameTypeDescription

_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

NameTypeDescription

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

NameTypeDescription

_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

NameTypeDescription

index

uint8

the index of the token

Returns

NameTypeDescription

_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

NameTypeDescription

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

NameTypeDescription

_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

NameTypeDescription

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

NameTypeDescription

_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

NameTypeDescription

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

NameTypeDescription

_0

uint256

undefined

Last updated