ChainlinkOracle
ChainlinkOracle
This oracle fetches prices of assets from the Chainlink oracle.
Solidity API
NATIVE_TOKEN_ADDR
Set this as asset address for native token on each chain. This is the underlying address for vBNB on BNB chain or an underlying asset for a native market on any chain.
prices
Manually set an override price, useful under extenuating conditions such as price feed failure
tokenConfigs
Token config by assets
constructor
Constructor for the implementation contract.
initialize
Initializes the owner of the contract
Parameters
Name | Type | Description |
---|---|---|
accessControlManager_ | address | Address of the access control manager contract |
setDirectPrice
Manually set the price of a given asset
Parameters
Name | Type | Description |
---|---|---|
asset | address | Asset address |
price | uint256 | Asset price in 18 decimals |
📅 Events
Emits PricePosted event on succesfully setup of asset price
⛔️ Access Requirements
Only Governance
setTokenConfigs
Add multiple token configs at the same time
Parameters
Name | Type | Description |
---|---|---|
tokenConfigs_ | struct ChainlinkOracle.TokenConfig[] | config array |
⛔️ Access Requirements
Only Governance
❌ Errors
Zero length error thrown, if length of the array in parameter is 0
setTokenConfig
Add single token config. asset & feed cannot be null addresses and maxStalePeriod must be positive
Parameters
Name | Type | Description |
---|---|---|
tokenConfig | struct ChainlinkOracle.TokenConfig | Token config struct |
📅 Events
Emits TokenConfigAdded event on succesfully setting of the token config
⛔️ Access Requirements
Only Governance
❌ Errors
NotNullAddress error is thrown if asset address is null
NotNullAddress error is thrown if token feed address is null
Range error is thrown if maxStale period of token is not greater than zero
getPrice
Gets the price of a asset from the chainlink oracle
Parameters
Name | Type | Description |
---|---|---|
asset | address | Address of the asset |
Return Values
Name | Type | Description |
---|---|---|
[0] | uint256 | Price in USD from Chainlink or a manually set price for the asset |
Last updated