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
priceFeeds
fallbackPriceFeeds
constructor
initialize
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