Skip to main content

IOracleProvider.sol

IOracleProvider

InvalidOracleRound

error InvalidOracleRound()

Error for invalid oracle round

OracleVersion

struct OracleVersion {
uint256 version;
uint256 timestamp;
int256 price;
}

A singular oracle version with its corresponding data

NameTypeDescription
versionuint256The iterative version
timestampuint256the timestamp of the oracle update
priceint256The oracle price of the corresponding version

sync

function sync() external returns (struct IOracleProvider.OracleVersion)

Checks for a new price and updates the internal phase annotation state accordingly

sync is expected to be called soon after a phase update occurs in the underlying proxy. Phase updates should be detected using off-chain mechanism and should trigger a sync call This is feasible in the short term due to how infrequent phase updates are, but phase update and roundCount detection should eventually be implemented at the contract level. Reverts if there is more than 1 phase to update in a single sync because we currently cannot determine the startingRoundId for the intermediary phase.

  • Return Values:

    NameTypeDescription
    [0]struct IOracleProvider.OracleVersionThe current oracle version after sync

currentVersion

function currentVersion() external view returns (struct IOracleProvider.OracleVersion)

Returns the current oracle version

  • Return Values:

    NameTypeDescription
    [0]struct IOracleProvider.OracleVersionoracleVersion Current oracle version

atVersion

function atVersion(uint256 version) external view returns (struct IOracleProvider.OracleVersion)

Returns the current oracle version

  • Parameters:

    NameTypeDescription
    versionuint256The version of which to lookup
  • Return Values:

    NameTypeDescription
    [0]struct IOracleProvider.OracleVersionoracleVersion Oracle version at version version

description

function description() external view returns (string)

Retrieves the description of the Oracle Provider.

  • Return Values:

    NameTypeDescription
    [0]stringA string representing the description of the Oracle Provider.

oracleProviderName

function oracleProviderName() external view returns (string)

Retrieves the name of the Oracle Provider.

  • Return Values:

    NameTypeDescription
    [0]stringA string representing the name of the Oracle Provider.