Skip to content

Commit

Permalink
Merge pull request #8 from makerdao/master
Browse files Browse the repository at this point in the history
sync
  • Loading branch information
Niklas Kunkel authored Oct 8, 2020
2 parents 8e32d33 + 4fa2f28 commit 336e18b
Show file tree
Hide file tree
Showing 47 changed files with 2,110 additions and 60 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "MIP22/tinlake-maker-lib"]
path = MIP22/tinlake-maker-lib
url = https://github.com/centrifuge/tinlake-maker-lib/
2 changes: 1 addition & 1 deletion MIP0/MIP0c13-Subproposals/MIP0c13-SP1.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ This subproposal should in no way be seen as a condemnation of, or a reaction to

### Relevant Information
[Meeting Summary](https://github.com/makerdao/community/blob/master/governance/governance-and-risk-meetings/summaries/episode-102.md#rich-brown) in which Rich annouced his intention to step away from his role at the Foundation.
Forum [thread](https://forum.makerdao.com/t/thank-you-rich-brown/3379) thanking Rich for his work.
Forum [thread](https://forum.makerdao.com/t/thank-you-rich-brown/3379) thanking Rich for his work.
108 changes: 83 additions & 25 deletions MIP10/MIP10c11-List-of-Oracle-Whitelists.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions MIP10/MIP10c3-Subproposals/MIP10c3-SP5.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Author(s): Niklas Kunkel (@NiklasKunkel)
Contributors:
Type: Process Component
Oracle Team Name: Green
Status: RFC
Status: Formal Submission (FS)
Date Proposed: 2020-08-05
Date Ratified: <yyyy-mm-dd>
```
Expand Down Expand Up @@ -78,4 +78,4 @@ This Oracle would provide the LRC/USD price as part of the collateral onboarding

### Summary

LRC has a decent distribution of sources over a multitude of different quotes that in combination provide a resilient mechanism for determining a price. That being said, the Oracle Team will continue to monitor new exchange listings and their volume growth in order to potentially append a 6th data source.
LRC has a decent distribution of sources over a multitude of different quotes that in combination provide a resilient mechanism for determining a price. That being said, the Oracle Team will continue to monitor new exchange listings and their volume growth in order to potentially append a 6th data source.
6 changes: 3 additions & 3 deletions MIP10/MIP10c3-Subproposals/MIP10c3-SP6.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
## Preamble
```
MIP10c3-SP#: 5
MIP10c3-SP#: 6
Author(s): Niklas Kunkel (@NiklasKunkel)
Contributors:
Type: Process Component
Oracle Team Name: Green
Status: RFC
Status: Formal Submission (FS)
Date Proposed: 2020-08-05
Date Ratified: <yyyy-mm-dd>
```
Expand Down Expand Up @@ -70,4 +70,4 @@ This Oracle would provide the USDT/USD price as part of the collateral onboardin

Unlike other regulated fiat-backed stablecoins, Tether stands out due to its unregulated nature and questionable backing. It makes little sense to hard-peg the value of USDT to $1 because there is no guarantee of solvency. This is in contrast to tokens like USDC, TUSD, or PAXOS which have much stronger guarantees. As such, the Oracle Team recommends a floating price USDT Oracle with active liquidations.

Being one of the most highly traded tokens in the Ethereum ecosystem, there are a plethora of data to choose from. While high volume and liquidity are always high priority items for Data Models, the Oracle Team focused additional attention towards segregating the USDT price from outsized influence to any single pair. Out of the six total sources, two are against BTC, two are against ETH, and two are against USD. This minimizes the impact of price distortions driven exclusively by BTC or ETH though not necessarily a combination of the two. Similarly the Oracle is also resilient to manipulation of lower liquidity fiat pairs on BitFinex and Kraken.
Being one of the most highly traded tokens in the Ethereum ecosystem, there are a plethora of data to choose from. While high volume and liquidity are always high priority items for Data Models, the Oracle Team focused additional attention towards segregating the USDT price from outsized influence to any single pair. Out of the six total sources, two are against BTC, two are against ETH, and two are against USD. This minimizes the impact of price distortions driven exclusively by BTC or ETH though not necessarily a combination of the two. Similarly the Oracle is also resilient to manipulation of lower liquidity fiat pairs on BitFinex and Kraken.
48 changes: 48 additions & 0 deletions MIP10/MIP10c3-Subproposals/MIP10c3-SP7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## Preamble
```
MIP10c3-SP#: 7
Author(s): Niklas Kunkel (@NiklasKunkel)
Contributors:
Type: Process Component
Oracle Team Name: Green
Status: Formal Submission (FS)
Date Proposed: 2020-08-05
Date Ratified: <yyyy-mm-dd>
```

## Specification

### Introduction

This Oracle would provide the PAX/USD price as part of the collateral onboarding process for PAX.

### Oracle Data Model

| Source | Asset Pair |Quorum | Feed Model | Oracle Model |
| :----------- | :------------ | :---: | :---------: | :----------: |
| 1 | PAX/USD | N/A | N/A | N/A |


### Oracle Supporting Data Model(s)

N/A

### Oracle Address
- Medianizer - Mainnet TBD
- Oracle Security Module (OSM) - Mainnet TBD

### Supported Tools
- Setzer - N/A
- Omnia - N/A
- PAX/USD DSValue on Kovan Testnet - [0x437e95fef67f931e47279692812bfb35a127e0dc](https://kovan.etherscan.io/address/0x437e95fef67f931e47279692812bfb35a127e0dc)

### Remaining Work

- Deploy and configure DSValue and Oracle Security Module smart contracts to Mainnet
- Coordinate Feeds to upgrade to latest release candidate

### Summary

As a regulated fiat-backed stablecoin, PAX can be treated similarly to the manner the Maker Protocol handles USDC and TUSD. This is a relatively safe operation due to the redeemable guarantees of PAXOS for the underlying USD as well as the regulatory and legal guarantees surrounding the deposit trusts.

This fixed value is meant to incentivize Dai generation as there is no risk of liquidation. Similarly this mechanism protects the Maker Protocol from triggering short-sighted liquidations when short-term blips such as a flash crash arise in the market when the $1 peg should soon thereafter recover in most circumstances.
67 changes: 67 additions & 0 deletions MIP10/MIP10c7-Subproposals/MIP10c7-SP1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
## Preamble
```
MIP10c7-SP#: 1
Author(s): Niklas Kunkel (@NiklasKunkel)
Contributors:
Oracle Team Name: Green
Status: Formal Submission
Date Proposed: 2020-09-12
Date Ratified: <yyyy-mm-dd>
```

## Specification

### Introduction

As markets and liquidity profiles evolve, it is important to revisit Data Models for collateral assets to ensure they accurately reflect the new normal.

*This proposal adds FTX (ETH/USD) and Uniswap (ETH/USDC) as price sources for the ETH/USD Oracle and removes Bitfinex (ETH/USDT).*


### Oracle Data Model

| Source | Asset Pair | Quorum | Feed Model | Oracle Model |
| :------------ | :------------ | :----: | :---------: | :----------: |
| Binance | ETH/BTC | 13 | Median | Median |
| Bitstamp | ETH/USD |
| Coinbase | ETH/USD |
| FTX | ETH/USD |
| Gemini | ETH/USD |
| Kraken | ETH/USD |
| Uniswap | ETH/USDC |


### Oracle Supporting Data Model(s)

### BTC/USD Data Model

| Source | Asset Pair |Quorum | Feed Model | Oracle Model |
| :------------ | :------------ | :---: | :---------: | :----------: |
| Bitstamp | BTC/USD | 13 | Median | Median |
| Bittrex | BTC/USD |
| Coinbase | BTC/USD |
| Gemini | BTC/USD |
| Kraken | BTC/USD |


### USDC/USD
| Source | Asset Pair | Feed Model |
| :-------------- | :------------ | :----------: |
| 1 | N/A | N/A |


### Supporting Evidence

DeFi has grown exponentially and Uniswap now does significant volume rivaling many centralized exchanges. Similarly, FTX has experienced remarkable growth and now boasts a significant Ethereum volume against USD. Meanwhile there is continued uncertainty over Tether's backing.


- What is better about the new Data Model?
This proposal would remove any dependency on USDT from the ETH/USD Data Model.
It also adds Uniswap as a source which as an AMM is very expensive for an attacker to manipulate.

### Oracle Address
- Medianizer
- Oracle Security Module (OSM)

### Supported Tools
- Setzer -3adfa65dfb926f41a451ee2ce60d48432e7ff69f - [Added FTX/Uniswap & Removed BitFinex](https://github.com/makerdao/setzer-mcd/commit/3adfa65dfb926f41a451ee2ce60d48432e7ff69f)
2 changes: 2 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP1.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# MIP10c9-SP1: Subproposal to Whitelist DeFi Saver for ETH/USD Oracle Access

## Preamble

```
Expand Down
39 changes: 39 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Preamble
```
MIP10c9-SP#: 10
Author(s): Artem K
Contributors:
Status: Formal Submission
Date Proposed: 2020-09-16
Date Ratified: <yyyy-mm-dd>
```

## Specification

### Introduction
Yearn's core product is Vaults which allow depositing certain assets which are then delegated to Strategies which farm and recycle the rewards back into the base asset. A more complex product is Delegated Vaults which leverage a certain asset to borrow another asset and delegate it to a Vault.

We are currently building our second Maker-based vault that will leverage WBTC-A ilk in a similar manner to our yWETH vault that uses ETH-A ilk. It will maintain a Maker Vault and delegate the drawn DAI to the yearn DAI Vault. To make the strategy able to rebalance and unwind, we require access to the next OSM price.

We'll be using a permissioned proxy contract should new strategies requiring the OSM emerge. It is controlled by yearn's governance.

### Oracle Name
BTC/USD

### Customer(s)
yearn finance - Andre Cronje ([email protected])

### Whitelist
yearn finance - 0x82c93333e4E295AA17a05B15092159597e823e8a - OSM

### Requirements
For each customer address to be whitelisted:
- Is the contract source code verified on etherscan? yes
- Is the Oracle data used in a permissioned manner that would prevent parasitic behavior? yes
- Is Oracle data written to storage? no
- If Oracle data is stored, is it stored in a private variable? not stored
- If Oracle data is stored, is the value accessible on-chain exclusively by the protocol? not stored

### Fee

In accordance with the Responsible Oracle Migration Proposal, fees are waived for the first year and determined by MKR Governance after that.
46 changes: 46 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
## Preamble
## Preamble
```
MIP10c9-SP#: 11
Author(s): Desmond Ho, Anton Buenavista
Contributors: Desmond Ho, Anton Buenavista
Status: Formal Submission
Date Proposed: 2020-09-16
Date Ratified: <yyyy-mm-dd>
```

## Disclaimer

MIP10 is meant to handle all of the Oracle related actions. Unfortunately MIP10 has inconsistencies and doesn’t conform to the monthly governance cadence that the Maker Improvement Proposal framework is built around. This has generated a backlog of Oracle proposals. While MIP10 is refactored to conform to the regular MIP process, Oracle proposals such as this one will utilize the more liberal weekly governance cycle. While strictly speaking this makes them not subproposals, they are included in the subproposal archive as a point of provenance to serve as a paper trail.

## Specification

### Introduction

KyberSwap has a Promo Token, facilitated by Kyber Network, that is used at hackathons and conferences to promote usage of its platform. 1 PT token is pegged to approximately 1 USD, and is priced against ETH. Hence, the v1 medianizer suited its purpose well and was used.

### Oracle Name

ETH/USD

### Customer(s)

Kyber Network - [[email protected]](mailto:[email protected])

### Whitelist

PT Pricing Contract - 0xe1bdeb1f71b1cd855b95d4ec2d1bfdc092e00e4f - MedianETHUSD (0x64DE91F5A373Cd4c28de3600cB34C7C6cE410C85)

### Requirements

For each customer address to be whitelisted:

* Is the contract source code verified on etherscan? yes
* Is the Oracle data used in a permissioned manner that would prevent parasitic behavior? yes
* Is Oracle data written to storage? no
* If Oracle data is stored, is it stored in a private variable? no
* If Oracle data is stored, is the value accessible on-chain exclusively by the protocol? no

### Fee

In accordance with the Responsible Oracle Migration Proposal, fees are waived for the first year and determined by MKR Governance after that.
2 changes: 2 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP2.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# MIP10c9-SP2: Subproposal to Whitelist DeFi Saver for BAT/USD Oracle Access

## Preamble

```
Expand Down
2 changes: 2 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP3.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# MIP10c9-SP3: Subproposal to Whitelist DeFi Saver for WBTC/USD Oracle Access

## Preamble

```
Expand Down
39 changes: 39 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Preamble
```
MIP10c9-SP#: 6
Author(s): Artem K
Contributors:
Status: Formal Submission
Date Proposed: 2020-08-23
Date Ratified:
```

## Specification

### Introduction
Yearn's core product is Vaults ([example](https://etherscan.io/address/0xacd43e627e64355f1861cec6d3a6688b31a6f952#code)) which allow staking certain assets which are then delegated to Strategies ([example](https://etherscan.io/address/0xa069E33994DcC24928D99f4BBEDa83AAeF00B5f3#code)) which recycle the rewards back into the base asset. A more complex product is Delegated Vaults which leverage a certain asset to borrow an asset and delegate it to a Vault.

We are currently building ([work in progress](https://etherscan.io/address/0x6f6194041f019c7fa21a6e35e4fb496b2d6e1e95#code)) such a delegated vault strategy for the ETH Vault. It will maintain a Maker Vault and and delegate the drawn DAI to the yearn DAI Vault. To make the strategy safer and more robust, we require an ability to incentivize people to save the Vault from liquidation. To verify this on chain, we need access to the next OSM price.

We'll be using a permissioned proxy contract should new strategies requiring the OSM emerge. It is controlled by yearn's governance.

### Oracle Name
ETH/USD

### Customer(s)
yearn finance - Andre Cronje ([email protected])

### Whitelist
yearn finance - 0xCF63089A8aD2a9D8BD6Bb8022f3190EB7e1eD0f1 - OSM

### Requirements
For each customer address to be whitelisted:
- Is the contract source code verified on etherscan? yes
- Is the Oracle data used in a permissioned manner that would prevent parasitic behavior? yes
- Is Oracle data written to storage? no
- If Oracle data is stored, is it stored in a private variable? not stored
- If Oracle data is stored, is the value accessible on-chain exclusively by the protocol? not stored

### Fee

In accordance with the Responsible Oracle Migration Proposal, fees are waived for the first year and determined by MKR Governance after that.
42 changes: 42 additions & 0 deletions MIP10/MIP10c9-Subproposals/MIP10c9-SP7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## Preamble
```
MIP10c9-SP#: 7
Author(s): Andrew Leone
Contributors: Nik Kunkel (@NiklasKunkel)
Status: Formal Submission
Date Proposed: 2020-09-09
Date Ratified: <yyyy-mm-dd>
```

## Specification

### Introduction
Opyn has outstanding insurance options for cDAI, cUSDC, aUSDC which utilize the v1 Maker medianizer oracle for the ETH/USD price. The ETH/USD price is required throughout each Opyn insurance option’s life to ensure that options are correctly collateralized and to calculate a settlement value upon an exercise of an option. The options are collateralized in ETH and pay out an amount of USDC or DAI, in ETH.

Shutting off the v1 medianizer has paused the contracts as the price of ETH/USD is no longer being returned. The options expire on February 10, 2021 and June 30, 2021. Future options will not be deployed using the v1 medianizer as a price source and Opyn will not require the v1 medianizer after June 30, 2021. The v1 medianizer can be removed from the v2 medianizer whitelist after that date.


This proposal is to:
1. Whitelist the v1 Maker medianizer address with the v2 Maker medianizer.
2. Reconfigure the v1 medianizer to allow poke() to query the v2 medianizer for the ETH/USD medianizer price. peek() will return the value most recently queried from the v2 medianizer.

### Oracle Name
- ETH/USD

### Customer(s)
- Opyn - [email protected]

### Whitelist
- Maker v1 Medianizer - 0x729D19f657BD0614b4985Cf1D82531c67569197B - Medianizer

### Requirements
For each customer address to be whitelisted:
- Is the contract source code verified on etherscan? Yes
- Is the Oracle data used in a permissioned manner that would prevent parasitic behavior? No
- Is Oracle data written to storage? Yes
- If Oracle data is stored, is it stored in a private variable? No
- If Oracle data is stored, is the value accessible on-chain exclusively by the protocol? No

### Fee

In accordance with the Responsible Oracle Migration Proposal, fees are waived for the first year and determined by MKR Governance after that.
Loading

0 comments on commit 336e18b

Please sign in to comment.