The vault uses the Token manager to get an array of accepted tokens, and it relies on that list to calculate the value of the euroCollateral value, to decide if the vault is under collateralized, which means that if a token gets removed on the removed from the list of the accepted tokens, due to maybe security reasons the collateral value will drop and the vault will liquidate even though the token assets still exits in the vault, which will lead to false liquidation
When the vault wants to know the value of the asset in the vaults it calls the euroCollateral
function to calculate the values, but as shown below it shows a dependency on the external call dynamic array to know assets it should calculate the value for as shown below
Now to know how much a user can mint from the provided assets in the vault, the maxMintable
is called as shown below
This Dictates how much Tokens can be minted due to the value of the collateral provided
But the issue Starts when the undercollateralised
function is called, which checks if the amount a user of has minted is > than the max mintable, which means that as we followed earlier,
Now we will proceed on how the vault liquidates and see that the incorrect true returned will affect the liquidation process
False liquidation of the smart vaults even though the asset present in the vaults is enough to back the amount of minted tokens
Manual Review
A Pause system of the liquidation process should be implemented in the protocol, in incase of security issues where some tokens have to be removed due to maybe security issues or other reasons, This will prevent the liquidation of vaults that are falsely marked as under collateralized.
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.