In the _withdrawFromVault function, the contract does not approve the CurveUSD token before initiating a withdrawal from the Curve vault. The curveVault.withdraw function requires prior approval to burn and transfer tokens back to the system. Without proper approval, the transaction will fail, preventing successful liquidity withdrawal.
The _withdrawFromVault function directly calls curveVault.withdraw without first approving the CurveUSD token.
Since the Curve vault requires an approval before handling tokens, the withdrawal process will revert due to missing authorization.
Incorrect: The contract does not call approve before initiating the withdrawal.
Correct: Approval should be granted before attempting the withdrawal.
The withdrawal process fails, preventing the contract from retrieving liquidity.
This can cause operational disruptions in fund management, affecting withdrawals and liquidity rebalancing.
Manual inspection of the contract's liquidity management logic.
Ensure that the CurveUSD token is approved for the Curve Vault before the withdrawal is initiated.
This ensures that the Curve vault can successfully process the withdrawal request.
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.