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.
Parameter name | Annotation |
---|---|
_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.
Parameter name | Annotation |
---|---|
_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