TermPriceConsumerV3.sol

This contract operates at the protocol level and governs all instances of a Term Repo. This contract is a centralized price oracle contract that feeds pricing data to all Term Repos.

TermPriceConsumerV3

This contract is a centralized price oracle contract that feeds pricing data to all Term Repos

This contract operates at the protocol level and governs all instances of a Term Repo

DEVOPS_ROLE

bytes32 DEVOPS_ROLE

priceFeeds

mapping(address => struct TermPriceFeedConfig) priceFeeds

fallbackPriceFeeds

mapping(address => struct TermPriceFeedConfig) fallbackPriceFeeds

constructor

constructor() public

initialize

function initialize(address devopsWallet_) external

Intializes with an array of token addresses, followed with an array of Chainlink aggregator addresses https://docs.chain.link/docs/ethereum-addresses/

addNewTokenPriceFeedAndFallbackPriceFeed

function addNewTokenPriceFeedAndFallbackPriceFeed(address token, address tokenPriceAggregator, uint256 tokenPriceAggregatorRefreshRateThreshold, address fallbackPriceAggregator, uint256 fallbackPriceAggregatorRefreshRateThreshold) external

Parameters

NameTypeDescription

token

address

The address of the token to add a price feed for

tokenPriceAggregator

address

The price aggregator address for token to be added

tokenPriceAggregatorRefreshRateThreshold

uint256

Refresh threshold in seconds for primary price feed updates beyond which price is stale

fallbackPriceAggregator

address

The fallback price aggregator address for token to be added

fallbackPriceAggregatorRefreshRateThreshold

uint256

Refresh threshold for fallback price feed updates beyond which price is stale

addNewTokenPriceFeed

function addNewTokenPriceFeed(address token, address tokenPriceAggregator, uint256 refreshRateThreshold) external

Parameters

NameTypeDescription

token

address

The address of the token to add a price feed for

tokenPriceAggregator

address

The proxy price aggregator address for token to be added

refreshRateThreshold

uint256

Refresh threshold in seconds for primary price feed updates beyond which price is stale

addNewTokenFallbackPriceFeed

function addNewTokenFallbackPriceFeed(address token, address tokenPriceAggregator, uint256 refreshRateThreshold) external

Parameters

NameTypeDescription

token

address

The address of the token to add a price feed for

tokenPriceAggregator

address

The proxy price aggregator address for token to be added

refreshRateThreshold

uint256

Refresh threshold in seconds for fallback price feed updates beyond which price is stale

removeTokenPriceFeed

function removeTokenPriceFeed(address token) external

Parameters

NameTypeDescription

token

address

The address of the token whose price feed needs to be removed

removeFallbackTokenPriceFeed

function removeFallbackTokenPriceFeed(address token) external

Parameters

NameTypeDescription

token

address

The address of the token whose price feed needs to be removed

usdValueOfTokens

function usdValueOfTokens(address token, uint256 amount) external view returns (struct ExponentialNoError.Exp)

A function to return current market value given a token address and an amount

Parameters

NameTypeDescription

token

address

The address of the token to query

amount

uint256

The amount tokens to value

Return Values

NameTypeDescription

[0]

struct ExponentialNoError.Exp

The current market value of tokens at the specified amount, in USD

_addNewTokenPriceFeed

function _addNewTokenPriceFeed(address token, address tokenPriceAggregator, uint256 refreshRateThreshold) internal

Parameters

NameTypeDescription

token

address

The address of the token to add a price feed for

tokenPriceAggregator

address

The proxy price aggregator address for token to be added

refreshRateThreshold

uint256

Refresh threshold in seconds for primary price feed updates beyond which price is stale

_addNewTokenFallbackPriceFeed

function _addNewTokenFallbackPriceFeed(address token, address tokenPriceAggregator, uint256 refreshRateThreshold) internal

Parameters

NameTypeDescription

token

address

The address of the token to add a price feed for

tokenPriceAggregator

address

The proxy price aggregator address for token to be added

refreshRateThreshold

uint256

Refresh threshold in seconds for fallback price feed updates beyond which price is stale

_getLatestPrice

function _getLatestPrice(address token) internal view returns (int256, uint8)

Return Values

NameTypeDescription

[0]

int256

The latest price from price aggregator and the decimals in the price

[1]

uint8

_authorizeUpgrade

function _authorizeUpgrade(address) internal view

required override by the OpenZeppelin UUPS module

Last updated