SIP-240: Update Liquidate Amount

Author
StatusImplemented
TypeGovernance
NetworkEthereum & Optimism
ImplementorMEB (@barrasso)
ReleaseSaiph
ProposalLoading status...
Created2022-05-18

Simple Summary

Liquidates the correct amount of debt for accounts with mostly escrowed SNX

Abstract

An account whose SNX collateral composition is predominantly in escrow will not have the proper amount of debt burned when it is liquidated. The liquidated amount is currently based on the proportion of their SNX balance relative to all of their collateral (including escrow + liquidator rewards). This leads to burning less debt than expected, which effectively adds an unnecessary penalty. This SIP ensures that the correct amount of debt is liquidated for accounts in this situation.

Motivation

To make sure that accounts with a majority of their collateral in escrow are not penalized more than intended when liquidated.

Technical Specification

In the case that totalRedeemed > transferableBalance, the amountToLiquidate needs to take into the account the liquidation penalty.

Update L720 in Issuer.liquidateAccount to burn debt corresponding to the penalty instead of the proportion of an account's collateral.

i.e. Synthetix.balanceOf(addr) / _collateral(addr)

/* Current code */
amountToLiquidate = debtBalance.multiplyDecimal(transferableBalance).divideDecimal(collateralForAccount);
/* Proposed code */
amountToLiquidate = transferableBalance.multiplyDecimal(SafeDecimalMath.unit().add(penalty));

Configurable Values (Via SCCP)

N/A

Copyright and related rights waived via CC0.