clAsset Deprecation
A comprehensive guide on the process of deprecating clAsset markets in Clone Protocol, ensuring clarity and security for all users.
Although it won't be common, there may come a day where Clone is forced to deprecate one of our clAssets. Deprecating a clAsset within Clone Protocol is a meticulously structured process, designed to safeguard user interests and and ensure all clAsset holders are fully compensated. This guide outlines each step in the deprecation process. At the end of the process, users holding clAssets will always be able to exchange them 1:1 for the underlying bridged asset, ensuring no one is left with deprecated clAssets.
clAsset Deprecation Process
Step 1: Extraction
The process begins by changing the market status to ‘Extraction’. The follow actions are restricted for markets with status 'Extraction': Swap, add liquidity, swap clAsset for underlying, and borrow more clAsset. This gives LPs an opportunity to withdraw all of the liquidity that they have provided to this poo and pay off their impermanent loss debt (ILD). Borrowers will also have the opportunity to close their positions.
Step 2: Liquidation
The market status will be updated to 'Liquidation' next. In this phase, LPs who failed to withdraw their liquidity and pay ILD, and borrowers who failed to close their position for the deprecated clAsset market can now be liquidated. At the end of this process we can be sure that all liquidity has been removed.
Step 3: Deprecation
Lastly, the market status is changed to 'Deprecation'. At this point, there will be a handful of users who still have the deprecated clAsset in their wallet, and their will be an equivalent amount of bridged asset representing the clAsset locked in the protocol. For example, if clARB were the deprecated token, we would be sure that in this phase the amount of clARB held by users and bridged ARB locked in the protocol are equal. Users will now be able to swap their clARB for bridged ARB and off-load their capital, no user of Clone will ever be stuck holding a deprecated clAsset.
Last updated