SIP-196: Remove Centralized Oracle

Author
StatusImplemented
TypeGovernance
NetworkEthereum & Optimism
ImplementorArthur Deygin (@artdgn)
ReleaseAlsephina
ProposalLoading status...
Created2021-12-20

Simple Summary

Remove all centralized oracle code from Synthetix contracts and testing.

Abstract

Remove from the ExchangeRates contract: oracle, currentRoundForRate, updateRates, setOracle', deleteRate`.

Motivation

Once SIP-36 and SIP-75 have been implemented, the centralized Synthetix oracle is no longer being used. In order to decentralize even more, this SIP proposes to remove the power of a centralized oracle to update rates.

Specification

Overview

updateRates and setOracle are to be removed from the ExchangeRates contract. This will mean that only decentralized Agggregator price feeds can be used in the future. This includes all synths, SNX, ETH, etc. This also includes all testnets.

Rationale

The centralized oracle code is currently alongside the decentralized code in ExchangeRates. This SIP simply proposes removing the former altogether.

Technical Specification

  • Remove ExchangeRates.oracle
  • Remove ExchangeRates.currentRoundForRate
  • Remove ExchangeRates.updateRates()
  • Remove ExchangeRates.deleteRate()
  • Remove ExchangeRates.setOracle()

Test Cases

N/A.

Configurable Values (Via SCCP)

Please list all values configurable via SCCP under this implementation.

Copyright and related rights waived via CC0.