<!-- canonical: https://0xsimao.com/findings/maple-finance-syrup-duplicated-slippage-check -->

# Duplicated slippage check in SyrupUserActions

Low/Info · Three Sigma · Permissionless lending · 23rd August, 2024

Finding 3S-SY-N02 of the Maple Syrup security review.

- Protocol: https://maple.finance/
- Report: /reports/maple-finance-syrup
- Source: https://github.com/0xsimao/audits/blob/main/Three%20Sigma/2024-08-23-maple-finance-syrup.pdf

---

### Description

SyrupUserActions::_swap() checks the slippage at the end `require(amountOut_ >= minAmountOut_, "SUA:S:INSUFFICIENT_AMOUNT_OUT");`. When the asset out is USDC, it double checks the slippage in SyrupUserActions::_swapDaiForUsdc() as `require(usdcOut_ >= minUsdcOut_, "SUA:SDU:INSUFFICIENT_AMOUNT_OUT");`.

### Recommendation

There is no need to check the slippage in SyrupUserActions::_swapDaiForUsdc().

---

Related findings:

- [`SyrupBitcoinRouter::requestRedeem()` could also check if the asset picked to redeem has liquidity](https://0xsimao.com/findings/maple-finance-iii-syrup-bitcoin-redeem-picked): Maple Withdrawal Queue
- [`ManagedLeveragedVault::donateCollateral()` is missing a slippage check](https://0xsimao.com/findings/beraborrow-i-managed-donate-collateral-slippage): Beraborrow Managed Dens
- [Unnecessary user balance check in _withdrawRequest()](https://0xsimao.com/findings/glacier-unnecessary-balance-withdraw-request): Glacier
- [`BaseTOFT.sol`: `retrieveFromStrategy` can be used to manipulate other user's positions due to absent approval check](https://0xsimao.com/findings/tapioca-dao-retrieve-manipulate-absent-approval): Tapioca DAO
