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