Chainlink Underlier Feed

Chainlink Oracle Implementation

🔎 High-level Overview

The Chainlink Oracle acts as a wrapper over a Chainlink Data Feed by fetching the latest price for a single token. Each Chainlink Oracle is updating the spot price for an underlier used by the FIAT protocol.

List of deployed Chainlink Oracles:

  • DAI Oracle

  • USDC Oracle

  • LUSD Oracle

🐣 Initialization

In order to deploy a Chainlink Oracle we only need the address of the Data Feed:

  • chainlinkAggregatorAddress - the address of the deployed chainlink aggregator contract

All of the initial parameters are immutable which means once they are set they can not be modified.

🌈 Execution Flow

Each specific oracle implementation must define the Oracle.getValue() function. This function is called when the global execution flow is triggered by the Relayer.

To obtain the new price the Oracle will retrieve the latest data from the Chainlink Data Feed by calling the latestRoundData(). After the price is retrieved it is converted to an 18-digit fix-point number.

📑 Public Methods

These methods can be called by anyone:

underlierDecimals

Returns the decimal value for the Chainlink Data Feed.

chainlinkAggregatorAddress

Returns the address of the Chainlink Data Feed.

getValue

Computes and returns the spot price.

description

Retrieves and returns the description of the Chainlink Data Feed.

📘 References

Last updated