Summary:
Upgrade sreUSD-long oracle implementation to contract deployed here.
Abstract:
This modified oracle contract prices reUSD/crvUSD instead of the current implementation which prices reUSD/USD using the aggregated price of crvUSD. It uses the same Resupply oracle contract as the price reference, which also applies a min return value of 0.99, accounting for permissionless redemption of reUSD for underlying crvUSD. It maintains an upper price cap of 1 reUSD/crvUSD to prevent oracle manipulation or transient price divergence.
Motivation:
The current oracle prices reUSD/USD in a market where crvUSD is the debt token. reUSD has an inherent correlation with crvUSD, which, during recent peg instability for crvUSD has resulted in reUSD depegging in tandem. While the current oracle correctly reflects the decline in reUSD’s price, it can be considered unfair to borrowers, since the debt token’s decline in value is not reflected in the oracle price. The updated oracle will report the price of reUSD w.r.t. crvUSD, consistent with the assumption that reUSD is mainly backed by crvUSD and is expected to remain highly correlated with crvUSD. This is expected to reinforce stability in the lend market during periods of crvUSD peg instability.
Source: Resupply Team
Specification:
OWNER_PROXY = "0xb7400D2EA0f6DC1d7b153aA430B9E572F28afB79"
ORACLE_PROXY = "0x8535a120f6166959B124E156467d8cAf41ca2887"
oracle = Contract(ORACLE_PROXY)
contract = web3.eth.contract(address=ORACLE_PROXY, abi=oracle.abi)
calldata = contract.encodeABI("set_price_oracle",["0x519b00D4685712930596B8e521106F5E020157A3"])
ACTIONS = [
# set sreUSD oracle impl
(OWNER_PROXY, "execute", ORACLE_PROXY, calldata)
]
