Price Oracle
Introduction
As blockchain-powered smart contracts are unable to directly communicate with the external system, JustLend DAO protocol requires reliable price feeds. We have chosen WinkLink's price service as our price feed. JustLend DAO protocol uses a PriceOracle contract to set and display token prices in sun(10^-6 TRX)
, scaled by 10^(tokenDecimal - 6)
. Prices of the underlying tokens are posted every 30 minutes via setPrice()
by a specified poster.
SimplePriceOracle.sol
allows users to:
Price Poster
Get Asset Price
Set Price
The source code is available on Github.
Contracts ABI
Anchor Token Price
Calling this methods returns the current price anchor of a specified token.
Parameter description:
token
: the address of the underlying token(e.g. TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t for USDT)
Returns:
period
: the current time period. Calculated as: current block height/ 600 (the TRON network produces approx. 600 blocks per 30 mins)riceMantissa
: token prices in sun(10^-6 TRX), scaled by 10^(tokenDecimal - 6).
Price Poster
Calling this methods returns the current price poster.
Parameter description: N/A.
Returns:Address of the current poster.
Asset Prices
Calling this method returns the current price of the specified asset.
Parameter description:
asset
: the address of the token to query.
Returns:the current price of the token in sun(10^-6 TRX), scaled by 10^(tokenDecimal - 6).
Get Price
Calling this method returns the current price of the specified asset.
Parameter description:
asset
: the address of the token to query.
Returns:the current price of the token in sun(10^-6 TRX), scaled by 10^(tokenDecimal - 6).
Set Price (poster-only)
Calling this methods set a token price for the current time period.
Parameter description:
asset
: The address of the underlying token (e.g. TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t for USDT);requestedPriceMantissa: new price, scaled by 10^18.
Returns:0 for success, otherwise an error code.
Last updated