FallbackCLRSOracle
Gets the exchange rate between the underlying asset and the peg asset by using: the price from a Chainlink price feed or a Redstone Oracle with one of them being used as main source and the other one acting as a fallback if the main source fails for any reason. Reverts if fetched rate is 0.
constructor
constructor(string infoName_, uint8 mainSource_, struct ChainlinkStructs.ChainlinkConstructorParams chainlinkParams_, struct RedstoneStructs.RedstoneOracleData redstoneOracle_) public
sets the main source, Chainlink Oracle and Redstone Oracle data.
Parameters
Name | Type | Description |
---|---|---|
infoName_ | string | Oracle identify helper name. |
mainSource_ | uint8 | which oracle to use as main source: 1 = Chainlink, 2 = Redstone (other one is fallback). |
chainlinkParams_ | struct ChainlinkStructs.ChainlinkConstructorParams | chainlink Oracle constructor params struct. |
redstoneOracle_ | struct RedstoneStructs.RedstoneOracleData | Redstone Oracle data. (address can be set to zero address if using Chainlink only) |
getExchangeRateOperate
function getExchangeRateOperate() public view virtual returns (uint256 exchangeRate_)
Get the exchangeRate_
between the underlying asset and the peg asset in 1e27 for operates
getExchangeRateLiquidate
function getExchangeRateLiquidate() public view virtual returns (uint256 exchangeRate_)
Get the exchangeRate_
between the underlying asset and the peg asset in 1e27 for liquidations
getExchangeRate
function getExchangeRate() public view virtual returns (uint256 exchangeRate_)
Deprecated. Use getExchangeRateOperate()
and getExchangeRateLiquidate()
instead. Only implemented for
backwards compatibility.
FALLBACK_ORACLE_MAIN_SOURCE
function FALLBACK_ORACLE_MAIN_SOURCE() public view returns (uint8)
which oracle to use as main source: - 1 = Chainlink ONLY (no fallback) - 2 = Chainlink with Redstone Fallback - 3 = Redstone with Chainlink Fallback