Skip to main content

OracleRef

defines some utilities around interacting with the referenced oracle

Functions

constructor

function constructor(
address _core,
address _oracle,
address _backupOracle,
int256 _decimalsNormalizer,
bool _doInvert
) internal

OracleRef constructor

Parameters

NameTypeDescription
_coreaddressFei Core to reference
_oracleaddressoracle to reference
_backupOracleaddressbackup oracle to reference
_decimalsNormalizerint256number of decimals to normalize the oracle feed if necessary
_doInvertboolinvert the oracle price if this flag is on

setOracle

function setOracle(
address newOracle
) external

sets the referenced oracle

Parameters

NameTypeDescription
newOracleaddressthe new oracle to reference

setDoInvert

function setDoInvert(
bool newDoInvert
) external

sets the flag for whether to invert or not

Parameters

NameTypeDescription
newDoInvertboolthe new flag for whether to invert

setDecimalsNormalizer

function setDecimalsNormalizer(
int256 newDecimalsNormalizer
) external

sets the new decimalsNormalizer

Parameters

NameTypeDescription
newDecimalsNormalizerint256the new decimalsNormalizer

setBackupOracle

function setBackupOracle(
address newBackupOracle
) external

sets the referenced backup oracle

Parameters

NameTypeDescription
newBackupOracleaddressthe new backup oracle to reference

invert

function invert(
struct Decimal.D256 price
) public returns (struct Decimal.D256)

invert a peg price

the inverted peg would be X per FEI

Parameters

NameTypeDescription
pricestruct Decimal.D256the peg price to invert

Return Values

NameTypeDescription
[0]struct Decimal.D256the inverted peg as a Decimal

updateOracle

function updateOracle() public

updates the referenced oracle

readOracle

function readOracle() public returns (struct Decimal.D256)

the peg price of the referenced oracle

the peg is defined as FEI per X with X being ETH, dollars, etc

Return Values

NameTypeDescription
[0]struct Decimal.D256the peg as a Decimal

_setOracle

function _setOracle(
address newOracle
) internal

Parameters

NameTypeDescription
newOracleaddress

_setBackupOracle

function _setBackupOracle(
address newBackupOracle
) internal

Parameters

NameTypeDescription
newBackupOracleaddress

_setDoInvert

function _setDoInvert(
bool newDoInvert
) internal

Parameters

NameTypeDescription
newDoInvertbool

_setDecimalsNormalizer

function _setDecimalsNormalizer(
int256 newDecimalsNormalizer
) internal

Parameters

NameTypeDescription
newDecimalsNormalizerint256

_setDecimalsNormalizerFromToken

function _setDecimalsNormalizerFromToken(
address token
) internal

Parameters

NameTypeDescription
tokenaddress