SIP 166: Removing sCEX, iCEX and adding sCEFI Source

AuthorJustin J. Moses
Discussions-Tohttps://research.synthetix.io
StatusApproved
Created2021-07-13

Simple Summary

Purge and remove the sCEX synth along with iCEX and replace them with the sCEFI synth.

Abstract

In order to support the rebalancing of sCEX and introduction of new non-exchange elements into sCEFI, the current sCEX token must be purged and removed in order to make way for a new sCEFI token using the upgraded feed from Chainlink. The iCEX token will also be purged and removed - it will have no short equivalent for now due to SIP-158.

Motivation & Rationale

SCCP-124 proposed the rebalancing of the sCEX index with two new centralized finance tokens - NEXO and CEL - and a rename into sCEFI which more correctly depicts the index. A rename in this instance is not valid due to the 150k of open interest currently held in the sCEX synth, as those holders did not buy into a sCEFI token. In order to correctly handle this rebalance, we either a) keep sCEX around and create a new sCEFI token or b) purge sCEX holders into sUSD and create the new sCEFI synth allowing them to trade into it. Due to the desire to sunset sCEX for sCEFI and the cost of running an additional decentralized oracle, this SIP proposes option b) - purging existing sCEX holders out to sUSD, removing the synth and then creating the new sCEFI synth and ensuring Chainlink enable the feed based on the weighting in SCCP-124.

Specification

Overview

The new synth will behave as other indexes with no new API or semantics.

Technical Specification

While there is no new API changes in the SIP, there is a proposed migration contract to perform the upgrade (this pattern was introduced in SIP-151 allows the pDAO to easily manage a multi-step migration).

Following a pre-deployment of the sCEFI synth, proxy and token state and the suspension of sCEFI for trading, the whole upgrade can be performed in a single migration contract as follows:

  • SynthsCEX, SynthiCEX, ExchangeRates, Issuer accept ownership
  • Purge all holders of iCEX (it’s frozen)
  • Remove iCEX from Issuer
  • Configure sCEX to be frozen at its current rate (this is to avoid the 100k open interest limitation on purging a non-inverse synth)
  • Purge all holders of sCEX
  • Remove sCEX from Issuer
  • ExchangeRates add aggregator for sCEFI (the same feed address currently used for sCEFI)
  • Add sCEFI to Issuer (note it will remain suspended for trading until the Chainlink feed is rebalanced)
  • Return ownerships of all system contracts

Once the migration is complete, a new version of Synthetix will be released to npm and Chainlink oracles can upgrade to the new index. Once all of the oracles have upgraded to the new index (approximately one week), the pDAO can resume sCEFI for trading.

Test Cases

TBD

Configurable Values (Via SCCP)

N/A

Copyright and related rights waived via CC0.