<!-- canonical: https://0xsimao.com/findings/maple-finance-iv-erc4626-redeem-revert-withdrawals -->

# ERC4626::previewRedeem() may revert, which will DoS MaplePool withdrawals

Low/Info · Three Sigma · Institutional lending · 26th November, 2024

Finding 3S-Maple-N03 of the Maple Cash Strategies security review.

- Protocol: https://maple.finance/
- Report: /reports/maple-finance-iv
- Source: https://cdn.sanity.io/files/qoqld077/staging/a68d604be9eca467b1f656c2ca775e1cebc2a468.pdf

---

### Description

The EIP4626 interface says for previewRedeem() that it may revert, which will DoS
withdrawals in the MaplePool:
> MAY revert due to other conditions that would also cause redeem to revert.

### Recommendation

This should be analyzed on a case by case basis for each underlying ERC4626 vault.

### Status

Acknowledged

---

Related findings:

- [`previewRedeem` and `redeem` functions deviate from the ERC4626 specification](https://0xsimao.com/findings/tokemak-redeem-deviate-erc4626-specification): Tokemak
- [Incorrect `ERC4626ExceededMaxRedeem` event on `ManagedLeveragedVault.sol:: cancelWithdrawalIntent()`](https://0xsimao.com/findings/beraborrow-i-erc4626-exceeded-redeem-withdrawal): Beraborrow Managed Dens
- [Queue MapleWithdrawalManager may revert due to honest removeShares() or manual redeem calls](https://0xsimao.com/findings/maple-finance-ii-queue-withdrawal-shares-redeem): Maple Withdrawal Manager
- [RedeemQueue::get() reverts due to underflow when it should revert and throw the correct error](https://0xsimao.com/findings/mitosis-redeem-queue-reverts-underflow): Mitosis
