FallbackOracleImpl2 ​
This contract is used to get the exchange rate from a main oracle feed and a fallback oracle feed.
_FALLBACK_ORACLE2_MAIN_SOURCE ​
solidity
uint8 _FALLBACK_ORACLE2_MAIN_SOURCE
_which oracle to use as main source:
- 1 = Chainlink ONLY (no fallback)
- 2 = Chainlink with Redstone Fallback
- 3 = Redstone with Chainlink Fallback_
constructor ​
solidity
constructor(uint8 mainSource_, struct ChainlinkStructs.ChainlinkConstructorParams chainlinkParams_, struct RedstoneStructs.RedstoneOracleData redstoneOracle_) internal
sets the main source, Chainlink Oracle and Redstone Oracle data.
Parameters ​
Name | Type | Description |
---|---|---|
mainSource_ | uint8 | which oracle to use as main source: - 1 = Chainlink ONLY (no fallback) - 2 = Chainlink with Redstone Fallback - 3 = Redstone with Chainlink 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) |
_getRateWithFallback2 ​
solidity
function _getRateWithFallback2() internal view returns (uint256 exchangeRate_, bool fallback_)
returns the exchange rate for the main oracle source, or the fallback source (if configured) if the main exchange rate fails to be fetched. If returned rate is 0, fetching rate failed or something went wrong.
Return Values ​
Name | Type | Description |
---|---|---|
exchangeRate_ | uint256 | exchange rate |
fallback_ | bool | whether fallback was necessary or not |
_getChainlinkOrRedstoneAsFallback2 ​
solidity
function _getChainlinkOrRedstoneAsFallback2() internal view returns (uint256 exchangeRate_)
returns the exchange rate for Chainlink, or Redstone if configured & Chainlink fails.