ChainlinkCalculator

A helper contract for interactions with https://docs.chain.link

Functions

singlePrice

function singlePrice(
  contract AggregatorV3Interface oracle,
  uint256 inverseAndSpread,
  uint256 amount
) external returns (uint256)

Calculates price of token relative to oracle unit (ETH or USD)

Parameters:

NameTypeDescription

oracle

contract AggregatorV3Interface

concatenated inverse flag and spread. Lowest 254 bits specify spread amount. Spread is scaled by 1e9, i.e. 101% = 1.01e9, 99% = 0.99e9. Highest bit is set when oracle price should be inverted, e.g. for DAI-ETH oracle, inverse=false means that we request DAI price in ETH and inverse=true means that we request ETH price in DAI

inverseAndSpread

uint256

amount

uint256

Return Values:

NameTypeDescription

Amount

uint256

spread oracle price

doublePrice

function doublePrice(
  contract AggregatorV3Interface oracle1,
  contract AggregatorV3Interface oracle2,
  uint256 spread,
  int256 decimalsScale,
  uint256 amount
) external returns (uint256)

Calculates price of token A relative to token B. Note that order is important

Parameters:

NameTypeDescription

oracle1

contract AggregatorV3Interface

oracle2

contract AggregatorV3Interface

spread

uint256

decimalsScale

int256

amount

uint256

Return Values:

NameTypeDescription

Result

uint256

Token A relative price times amount

Last updated