SIP-240: Update Liquidate Amount

NetworkEthereum & Optimism
ImplementorMEB (@barrasso)
ProposalLoading status...

Simple Summary

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


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.


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)


Copyright and related rights waived via CC0.