Hey everyone,
With the updated audit from OpenZeppelin, we’ve updated and redeployed the new PriceOracle contract to reflect their recommendations.
As mentioned in our prior update, the new PriceOracle was adjusted for stablecoins to provide actual market pricing based on Chainlink Data Feeds. The PriceOracle also uses a custom feed from Compound for WBTC pricing (more detail here), bringing pricing in v2 into alignment with v3.
Updates
Following the previous review with OpenZeppelin and Compound Labs, the PriceOracle has also been updated to use fixed prices to account for the pricing of deprecated assets SAI, FEI, and REP. The current UAV implementation uses final updates from their price feeds for these assets, stored on the contract as the last price. Since the new PriceOracle aims to support active Compound assets, it would have reverted if a price was requested for these deprecated assets given these old prices. Although this was deemed low risk, we agreed that implementing fixed prices in the configuration was the best approach to manage deprecated assets. Additionally, the community can adjust this configuration if needed in the future.
Deprecated Market Fixed Prices:
- REP: 6433680000000000000
- FEI: 1001094000000000000
- SAI: 14426337000000000000
The REP and FEI values are based on the latest answer from when those feeds were deactivated. The price of SAI in the UAV was derived from the ETH price. Since this market is deprecated and thus provides little in the way of usable current market pricing, the new PriceOracle uses fixed prices quoted in USD. The fixed market price of SAI used at the time of deployment was 14426337000000000000.
All other markets may differ by 2 digits because the new PriceOracle provides 2 extra digits of precision.
Next Steps
In addition to their security review, Open Zeppelin has also conducted extensive fork testing to ensure that the PriceOracle behaves as expected in all scenarios.
If there’s no feedback from the community or service providers, then we will proceed with replacing the UAV with the new PriceOracle contract by:
- Transferring ownership of the new PriceOracle contract to the Compound Community multisig.
- Working with one of the Compound Service Providers or delegates to initiate a DAO vote to point the Comptroller to the new PriceOracle contract.
We look forward to our continued collaboration with the Compound community to finalize this upgrade!
Disclaimer
Chainlink Labs’ development work is offered “as is” without representations, guarantees, or warranties of any kind, on a commercially feasible basis and subject to the Compound DAO’s acceptance of the Chainlink Labs terms of service (available at Terms of Use – Chainlink Labs). The benefits are solely being made available to the Compound Protocol and not to any other party, including the Compound DAO.