Skip to main content
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.
tokens
address[]
Array of token addresses

priceFeeds

function priceFeeds(address token) external view returns (address priceFeed)
Returns the price feed for a token.
token
address
required
The token address
priceFeed
address
The price feed contract address

reservePriceFeeds

function reservePriceFeeds(address token) external view returns (address)
Returns the reserve price feed for a token.
token
address
required
The token address
reservePriceFeed
address
The reserve price feed contract address

priceFeedParams

function priceFeedParams(address token) external view returns (PriceFeedParams memory)
Returns the price feed parameters for a token.
token
address
required
The token address
params
PriceFeedParams
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.
token
address
required
The token address
params
PriceFeedParams
Reserve price feed parameters

Conversion

getPrice

function getPrice(address token) external view returns (uint256)
Returns the price of a token in USD.
token
address
required
The token address
price
uint256
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.
token
address
required
The token address
price
uint256
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.
token
address
required
The token address
price
uint256
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.
amount
uint256
required
Amount of tokens
token
address
required
The token address
usdValue
uint256
USD value (8 decimals)

convertFromUSD

function convertFromUSD(
    uint256 amount,
    address token
) external view returns (uint256)
Converts a USD amount to token amount.
amount
uint256
required
USD amount (8 decimals)
token
address
required
The token address
tokenAmount
uint256
Amount of tokens

convert

function convert(
    uint256 amount,
    address tokenFrom,
    address tokenTo
) external view returns (uint256)
Converts an amount from one token to another.
amount
uint256
required
Amount of source tokens
tokenFrom
address
required
Source token address
tokenTo
address
required
Destination token address
convertedAmount
uint256
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.
amount
uint256
required
Amount of tokens
token
address
required
The token address
usdValue
uint256
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.
token
address
required
The token address
priceFeed
address
required
The price feed contract address
stalenessPeriod
uint32
required
Staleness period in seconds

setReservePriceFeed

function setReservePriceFeed(
    address token,
    address priceFeed,
    uint32 stalenessPeriod
) external
Sets the reserve price feed for a token.
token
address
required
The token address
priceFeed
address
required
The reserve price feed contract address
stalenessPeriod
uint32
required
Staleness period in seconds

Build docs developers (and LLMs) love