The function availableWithdrawLimit does not account for all available withdraw assets.
The availableWithdrawLimit is derived from baseStrategy contract and is overriding to set a upper limit for withdraw amout when user trying to withdraw or redeem their assets. However, this function only accout for current avaible alTokens from strategy contract and Alchemix transmuter.
Since the assets user deposited are instantly deposited into transmuter, this makes the implemented logic available limit mostly equal to transmuter.getUnexchangedBalance.
The transmuter machanism gradully exchange alToken to underlying token when time flys. This makes the withdraw limit lesser and lesser as time goes. If a user is trying to withdraw his alToken, most of the deposited assets in strategy has turned into claimable underlying token. He may not get his funds back.
Users may not be able to withdraw their alToken back if most of the deposits are turned into underlying tokens and locked in transmuter.
manual
claim from transmuter and consider accout for all the available assets.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.