LiquidityPoolManager::runLiquidation()
function's execution is the only mechanism preventing loss of value of the EUROs stablecoin, fully relying on the protocol's implementation Chainlink Automation.
During the liquidation process, in case of an undercollateralization of a vault, the entire collateral is taken from the user and distributed to stakers. EUROs used by stakers to buy the collateral assets are burned, and the EUROs that user minted remain untouched. This pegging mechanism for EUROs is working until market volatility causes the value of collateral assets to drop BELOW the value of minted EUROs before liquidation happens.
For example:
Worth of SmartVault's total collateral ( say 1 ETH ): 1100 USD
Worth of max mintable amount of EUROs possible: 1000 USD
Worth of SmartVault's total collateral after rapid market price drop of ETH: 990 USD
In this case the EUROs value is inflated as the user might buy 1 ETH for less than they bough it for - as the liquidation process came late, the EUROs are loosing value and burning those that were used to buy liquidated assets will not be a sufficient pegging mechanism.
This issue is mostly dependent on the setup of Chainlink Automation, which is beyond the scope, however it should definitely be considered as it is the only thing protecting from a complete worthlessness EUROs.
The collateral rate should be discussed in detail. Also, depending on the properties of automatic liquidation, enhancement of the pegging mechanism should be considered. For instance - decreasing the discount for liquidated assets. All of this to decrease the likelihood of going below the value of collateral in case of a bear market or rapid price jumps.
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.