Thankful Plum Pheasant
High
USDT token in Ethereum is not compatible with the interface IERC20Upgradeable::approve(). This will cause all USDT's approval operation reverted.
In SolidlyV2AMO.sol, we will try to approve usd for router. However, some usds are not compatible with the interface IERC20Upgradeable
. This will cause this transaction reverted.
IERC20Upgradeable(usd).approve(router, usdAmount);
In AMO, the usd is USDT, and the AMO is deployed in Ethereum. In readme.md, our sponsor mentions:
- The smart contracts can potentially be implemented on any full-EVM chain.
- In the the scope of this audit would be any USD-pegged token, beside fee-on-transfer ones. So USDT in Ethereum is in this audit scope.
None
If AMO is deployed on Ethereum and use USDT as the usd token, _addLiquidity
function will always be reverted.
Some key functions will not work well, for example, _unfarmBuyBurn
, _addLiquidity
in SolidlyV2AMO and SolidlyV3AMO.
N/A
Suggest using safeApprove.