PriceProviderAggregator
Overview
License: MIT
The PriceProviderAggregator contract is the contract that provides the functionality of getting the latest price from different price providers.
Contract that provides the functionality of getting the latest price from different price providers.
Events info
SetTokenAndPriceProvider
Emitted when the price provider is set to a token.
Parameters:
token
address
The address of the token whose price provider is set.
priceProvider
address
The address of the price provider.
SetPriceOracle
Emitted when the priceOracle is set.
Parameters:
priceOracle
address
The address of priceOracle contract.
SetPrimaryLendingPlatform
Emitted when the primary lending platform address is set.
Parameters:
newPrimaryLendingPlatform
address
The new address of the primary lending platform.
ChangeActive
Emitted when the active status of a token changes.
Parameters:
token
address
The address of the token whose active status has changed.
active
bool
The new active status of the token.
Constants info
MODERATOR_ROLE (0x797669c9)
State variables info
priceOracle (0x2630c12f)
primaryLendingPlatform (0x92641a7c)
tokenPriceProvider (0xa33540f1)
Modifiers info
onlyModerator
Modifier to check if the caller has the MODERATOR_ROLE.
Functions info
initialize (0xc4d66de8)
This function should only be called once during contract deployment. Initializes the contract by setting up the access control roles and assigning the default and moderator roles to the contract deployer.
Parameters:
newPriceOracle
address
The address of the new PriceOracle contract.
setTokenAndPriceProvider (0x072f27b0)
Sets price provider to token
and its corresponding price provider.
Requirements:
The caller must be the moderator.
token
cannot be the zero address.priceProvider
cannot be the zero address.
Parameters:
token
address
the address of token.
priceProvider
address
the address of price provider. Should implement the interface of PriceProvider
.
setPriceOracle (0x530e784f)
Sets new priceOracle contract. Requirements:
The caller must be the moderator.
newPriceOracle
cannot be the zero address.
Parameters:
newPriceOracle
address
The address of new PriceOracle contract.
setPrimaryLendingPlatform (0xe801734a)
Sets the address of the primary lending platform contract.
Parameters:
plp
address
The address of the primary lending platform contract.
Requirements:
plp
cannot be the zero address. |
changeActive (0x3651084e)
Allows the moderator to change the active status of a price provider for a specific token.
Requirements:
The caller must be the moderator.
The token's current price provider must match the provided price provider address.
Parameters:
priceProvider
address
The address of the price provider to change the active status for.
token
address
The address of the token to change the active status for.
active
bool
The new active status to set for the price provider.
updateMultiFinalPrices (0x1e5f85e6)
Calculates and update multiple the final TWAP prices of a token.
Parameters:
token
address[]
The token array needs to update the price.
getTokensUpdateFinalPrices (0xef290120)
This function is called when performing operations using token prices, to determine which tokens will need to update their final price.
Parameters:
projectToken
address
Address of the project token.
actualLendingToken
address
Address of the lending token.
isBorrow
bool
Whether getting the list of tokens for updateFinalPrices is related to the borrowing operation or not.
Return values:
tokens
address[]
Array of tokens that need to update final price.
getPrice (0x41976e09)
Returns the most recent TWAP price or non-TWAP price of a token.
Formula: price = priceMantissa / (10 ** priceDecimals)
Parameters:
token
address
The address of the token.
Return values:
priceDecimals
uint8
The decimals of the price.
timestamp
uint64
The last updated timestamp of the price.
collateralPrice
uint256
The collateral price of the token.
capitalPrice
uint256
The capital price of the token.
getEvaluation (0x81fd01ea)
returns the most TWAP price or non-TWAP price in USD evaluation of token by its tokenAmount
Parameters:
token
address
the address of token to evaluate
tokenAmount
uint256
the amount of token to evaluate
Return values:
collateralEvaluation
uint256
the USD evaluation of token by its tokenAmount
in collateral price
capitalEvaluation
uint256
the USD evaluation of token by its tokenAmount
in capital price
getMostEvaluation (0x894b23cd)
returns the last stored TWAP price in USD evaluation of token by its tokenAmount
Parameters:
token
address
the address of token to evaluate
tokenAmount
uint256
the amount of token to evaluate
Return values:
collateralEvaluation
uint256
the USD evaluation of token by its tokenAmount
in collateral price
capitalEvaluation
uint256
the USD evaluation of token by its tokenAmount
in capital price
Last updated