The function_withdrawFromVault
will always revert due to third parameter being hardcoded to msg.sender
when the contract is internally calling curveVault.withdraw
the reason for this is - as the `msg.sender` is being passed as the parameter therefore it will be the user address that will be passed as the third parameter(the owner of the shares parameter in the vault) and not the contracts address thus leading to this function always reverting as the owner of shares inside the vault from which liquidity is being withdrawn should be the contract and not be the user who are using the protocols functionalities
this will break the protocols functionality for the function _ensureLiquidity
and _rebalanceLiquidity
whenever the code hits
when these conditions hit(whenever there is low liquidity in the contract) the protocol would not be able to withdraw liquidity that it deposited in the curve vault
_ensureLiquidity
and _rebalanceLiquidity
are being called(important functions of the protocol called internally by deposit, withdraw and borrow) and the bug part here being the third parameter msg.sender
which is hardcoded leading to the users who are calling these functions being passed as the owner of the shares leading to this function always revertingaddress(this)
in the third parameter when withdrawing from the vaultThe 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.