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

Parameters

Name
Type
Description

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

Parameters

Name
Type
Description

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

Parameters

Name
Type
Description

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

Parameters

Name
Type
Description

token

address

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

removeFallbackTokenPriceFeed

Parameters

Name
Type
Description

token

address

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

usdValueOfTokens

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

Parameters

Name
Type
Description

token

address

The address of the token to query

amount

uint256

The amount tokens to value

Return Values

Name
Type
Description

[0]

struct ExponentialNoError.Exp

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

_addNewTokenPriceFeed

Parameters

Name
Type
Description

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

Parameters

Name
Type
Description

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

Return Values

Name
Type
Description

[0]

int256

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

[1]

uint8

_authorizeUpgrade

required override by the OpenZeppelin UUPS module

Last updated