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

_core

address

Chi Core to reference

_oracle

address

oracle to reference

_backupOracle

address

backup oracle to reference

_decimalsNormalizer

int256

number of decimals to normalize the oracle feed if necessary

_doInvert

bool

invert the oracle price if this flag is on

setOracle

function setOracle(
    address newOracle
) external

sets the referenced oracle

Parameters

NameTypeDescription

newOracle

address

the new oracle to reference

setDoInvert

function setDoInvert(
    bool newDoInvert
) external

sets the flag for whether to invert or not

Parameters

NameTypeDescription

newDoInvert

bool

the new flag for whether to invert

setDecimalsNormalizer

function setDecimalsNormalizer(
    int256 newDecimalsNormalizer
) external

sets the new decimalsNormalizer

Parameters

NameTypeDescription

newDecimalsNormalizer

int256

the new decimalsNormalizer

setBackupOracle

function setBackupOracle(
    address newBackupOracle
) external

sets the referenced backup oracle

Parameters

NameTypeDescription

newBackupOracle

address

the 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 CHI

Parameters

NameTypeDescription

price

struct Decimal.D256

the peg price to invert

Return Values

NameTypeDescription

[0]

struct Decimal.D256

the 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 CHI per X with X being ETH, dollars, etc

Return Values

NameTypeDescription

[0]

struct Decimal.D256

the peg as a Decimal

_setOracle

function _setOracle(
    address newOracle
) internal

Parameters

NameTypeDescription

newOracle

address

_setBackupOracle

function _setBackupOracle(
    address newBackupOracle
) internal

Parameters

NameTypeDescription

newBackupOracle

address

_setDoInvert

function _setDoInvert(
    bool newDoInvert
) internal

Parameters

NameTypeDescription

newDoInvert

bool

_setDecimalsNormalizer

function _setDecimalsNormalizer(
    int256 newDecimalsNormalizer
) internal

Parameters

NameTypeDescription

newDecimalsNormalizer

int256

_setDecimalsNormalizerFromToken

function _setDecimalsNormalizerFromToken(
    address token
) internal

Parameters

NameTypeDescription

token

address

Last updated