The Price Oracle manages price feeds for all tokens in the system and provides price conversion functions.
View Functions
getTokens
function getTokens() external view returns (address[] memory)
Returns all tokens with configured price feeds.
priceFeeds
function priceFeeds(address token) external view returns (address priceFeed)
Returns the price feed for a token.
The price feed contract address
reservePriceFeeds
function reservePriceFeeds(address token) external view returns (address)
Returns the reserve price feed for a token.
The reserve price feed contract address
priceFeedParams
function priceFeedParams(address token) external view returns (PriceFeedParams memory)
Returns the price feed parameters for a token.
Price feed parameters including staleness period and skip check flag
reservePriceFeedParams
function reservePriceFeedParams(address token) external view returns (PriceFeedParams memory)
Returns the reserve price feed parameters for a token.
Reserve price feed parameters
Conversion
getPrice
function getPrice(address token) external view returns (uint256)
Returns the price of a token in USD.
Token price in USD (8 decimals)
getSafePrice
function getSafePrice(address token) external view returns (uint256)
Returns the safe price (minimum of main and reserve feeds) of a token in USD.
Safe token price in USD (8 decimals)
getReservePrice
function getReservePrice(address token) external view returns (uint256)
Returns the reserve price of a token in USD.
Reserve token price in USD (8 decimals)
convertToUSD
function convertToUSD(
uint256 amount,
address token
) external view returns (uint256)
Converts a token amount to USD value.
convertFromUSD
function convertFromUSD(
uint256 amount,
address token
) external view returns (uint256)
Converts a USD amount to token amount.
convert
function convert(
uint256 amount,
address tokenFrom,
address tokenTo
) external view returns (uint256)
Converts an amount from one token to another.
Destination token address
Amount in destination token
safeConvertToUSD
function safeConvertToUSD(
uint256 amount,
address token
) external view returns (uint256)
Converts a token amount to USD value using safe price.
USD value using safe price (8 decimals)
Configuration
setPriceFeed
function setPriceFeed(
address token,
address priceFeed,
uint32 stalenessPeriod
) external
Sets the price feed for a token.
The price feed contract address
Staleness period in seconds
setReservePriceFeed
function setReservePriceFeed(
address token,
address priceFeed,
uint32 stalenessPeriod
) external
Sets the reserve price feed for a token.
The reserve price feed contract address
Staleness period in seconds