SIP-36: Chainlink Oracles Phase 2 - Cryptocurrencies, indexes

Author
StatusImplemented
TypeGovernance
ImplementorTBD
ReleaseTBD
Discussions-Tohttps://discord.gg/3uJ5rAy
Created2020-01-20

Simple Summary

Phase two of migrating to decentralized oracles involves transitioning the rest of our Synths to Chainlink networks.

Abstract

As part of the migration towards decentralized oracles with Chainlink, we have been implementing the transition in phases. Phase 1 involved migrating our forex and commodity synths to Chainlink pricing networks, and phase 2 will be all remaining Synths.

Motivation

As discussed in this issue, it is imperative that the Synthetix ecosystem continue to move away from a centralized oracle to decentralized pricing networks.

Specification

Our ExchangeRates contract (https://contracts.synthetix.io/ExchangeRates) will continue to be fed prices from the decentralized oracle. However, the logic for looking up prices will be extended with a mapping of Chainlink Aggregator contracts for each Synth.

Rather than using Chainlink updates for our inverse Synths, we will simply calculate the inverse Synth rates by using the prices of their partner 'long' Synths. The opposite is true of the 'index' Synths (i.e. sDEFI) — Chainlink oracles will calculate the indexes off-chain and push that single price on-chain rather than pushing each price portion of the index on-chain separately.

Rationale

To be added

Test Cases

To be added

Implementation

To be added

Copyright and related rights waived via CC0.