M-1: EtherfiEETHStrategy dealocation will always revert
Description:
EtherfiEETHStrategy._deallocate() in src/strategies/EtherfiEETHStrategy.sol does the following on the direct path:
- Compute
shortfall = amount - idleBalance - Check
redemptionManager.canRedeem(shortfall, address(eETH)) - Compute
weETHToRedeem = weETH.getWeETHByeETH(shortfall) - Redeem that amount through
redemptionManager.redeemWeEth(...) - Revert unless
ethReceived >= shortfall
The problem is that the strategy sizes the redemption to the requested net WETH amount, but Ether. fi's instant redemption incurs a fee. With the current 0.30% instant redemption fee, the direct path should revert for essentially any meaningful non-dust withdrawal that actually enters the redemption branch.
Impact:
Medium. The strategy still has a swap-based exit path
Recommendation:
Consider the etherfi fee when deallocating.
Developer Response:
Fixed in e6bbf29 .