Skip to content
Request an audit

‹ All findings

User may be requesting/fulfilling withdrawals at better rates than the real share/asset ratio

Low/InfoYieldoor LoopedVault Update·0xSimao · Leveraged yield farming · 23rd June 2025L-7

Description:

LoopedVault::requestWithdraw() burns shares as per the current totalAssets(), which uses a cached lastTotalAssets. In case the LoopedVault is liquidated or its value simply lowers (collateral PT price goes down), but it's in the middle of a vesting interval, this will not be reflected on totalAssets(), and users will withdraw at a better rate than they really should. The same happens on LoopedVault::fulfillWithdraw().

Recommended Mitigation:

Optimally, the ratio used on withdrawals should be the worse one for the user, so ideally it should calculate the real total assets and use them in the shares calculation if it is lower. The same should also be compared when fulfilling withdrawals.