<!-- canonical: https://0xsimao.com/findings/mitosis-manual-redeem-deposit-inconsistent -->

# BasicVault::manualRedeem() and BasicVault::manualDeposit() are inconsistent

Low/Info · Three Sigma · Cross-chain liquidity layer 1 · 25th June, 2024

Finding 3S-Mitosis-L03 of the Mitosis security review.

- Protocol: https://mitosis.org/
- Report: /reports/mitosis
- Source: https://cdn.sanity.io/files/qoqld077/production/b6b3bd7bb47407d99e76abb7c6dc615c1db5018e.pdf

---

### Description

BasicVault::manualDeposit() does not pull assets from the msg.sender, but
BasicVault::manualRedeem() burns shares from msg.sender, which is inconsistent. In
fact, BasicVault::manualRedeem() is exactly the same as BasicVault::redeem(), the
only difference being that the former is permissioned.

### Recommendation

The purpose of BasicVault::manualRedeem() is unclear.

### Status

Addressed in [#07b77cf](https://github.com/mitosis-org/evm/pull/183/commits/07b77cf1baff3f2263b94bc3ee29ab3e1fdacc93).

---

Related findings:

- [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
- [Inconsistent Use of `lastCumulativeRate` in `depositTokens()` and `withdraw()` Functions in `Borrowings` Contract](https://0xsimao.com/findings/autonomint-cumulative-deposit-withdraw-borrowings): Autonomint
- [`ManagedLeveragedVault::deposit()` slippage control on `collVaultShares` is not intuitive](https://0xsimao.com/findings/beraborrow-i-deposit-slippage-control-shares): Beraborrow Managed Dens
- [Incorrect `ERC4626ExceededMaxRedeem` event on `ManagedLeveragedVault.sol:: cancelWithdrawalIntent()`](https://0xsimao.com/findings/beraborrow-i-erc4626-exceeded-redeem-withdrawal): Beraborrow Managed Dens
