UniswapV2SwapHelper
The utilitary library which is helping to perform swaps in Uniswap V2.
maxSafeTokenAmount
A helper function to calculate percentage out of token liquidity in pool that is safe to exchange against sandwich attack.
Also checks if token->Native token has better safe limit, so perhaps doing tokenA->Native token->tokenB is better than tokenA->tokenB.
In that case it could be that Native token->tokenB can be attacked because we dont know if Native token received for tokenA->Native token is less than _maxPercentage
of the liquidity in Native token->tokenB.
In our use case it is always eth->dai so either it will be safe or very minimal.
_iHasRouter
The contract address which instance has router address.
_inToken
The address of the token we are swapping.
_outToken
The address of swap result token.
_inTokenAmount
The amount of in token required to swap.
_maxLiquidityPercentageSwap
Max percentage of liquidity to swap to token. When swapping tokens and this value is out of 100000, so for example if you want to set it to 0.3 you need set it to 300.
Returns: safe amount of token that could be swapped.
swap
A helper function to perform swap tokens in the Uniswap V2.
_iHasRouter
The contract address which instance has router address.
_path
The path of the swap.
_tokenAmount
The token amount to swap.
_mintTokenReturn
Minimum token amount to get in swap transaction.
_receiver
The receiver of tokens after swap transaction.
Can only be called by the Avatar.
Last updated