Findings
Issue 01
Description
approve is being called on every transaction which automatically contributes liquidity to the pool, on the same tokens and for the same spender (the router).
Recommendation
In order to reduce gas costs, approve
could be called once (with max int).
Issue 02
Description
_transfer
may call internally to uniswap router functions (such as swap function and liquidity addition function) it may cause _transfer
to fail unnecessarily.
Recommendation
_transfer function should always work and not fail due to any other router-related functions in order to ensure the token's tradability.
Although it's a best practice to gracefully handle errors, the probability of these functions failing frequently is low.
Issue 03
Description
There is a chance that the amount swapped for eth will result in a very high slippage ( since Uniswap UI interface allow 49% slippage there is a risk that investors won't be able to sell the tokens).
Recommendation
Currently, there is no option to turn off swapping and liquidity addition. In the event of the aforementioned issue, we recommend adding a feature to disable this option. This will ensure that the token remains tradable at all times.
Issue 04
Description
The tokens are being swapped twice in a single transaction.
Recommendation
Consider calling the swap function only once to minimize gas fees.
Last updated