SFrxETHOracle

SFrxETHOracle

This oracle fetches the price of sfrxETH

Solidity API

SFRXETH_FRAX_ORACLE

Address of SfrxEthFraxOracle

contract ISfrxEthFraxOracle SFRXETH_FRAX_ORACLE

SFRXETH

Address of sfrxETH

address SFRXETH

maxAllowedPriceDifference

Maximum allowed price difference

uint256 maxAllowedPriceDifference

constructor

Constructor for the implementation contract.

constructor(address _sfrxEthFraxOracle, address _sfrxETH) public

❌ Errors

  • ZeroAddressNotAllowed is thrown when _sfrxEthFraxOracle or _sfrxETH are the zero address


initialize

Sets the contracts required to fetch prices

function initialize(address _accessControlManager, uint256 _maxAllowedPriceDifference) external

Parameters

NameTypeDescription

_accessControlManager

address

Address of the access control manager contract

_maxAllowedPriceDifference

uint256

Maximum allowed price difference

❌ Errors

  • ZeroValueNotAllowed is thrown if _maxAllowedPriceDifference is zero


setMaxAllowedPriceDifference

Sets the maximum allowed price difference

function setMaxAllowedPriceDifference(uint256 _maxAllowedPriceDifference) external

Parameters

NameTypeDescription

_maxAllowedPriceDifference

uint256

Maximum allowed price difference

❌ Errors

  • ZeroValueNotAllowed is thrown if _maxAllowedPriceDifference is zero


getPrice

Fetches the USD price of sfrxETH

function getPrice(address asset) external view returns (uint256)

Parameters

NameTypeDescription

asset

address

Address of the sfrxETH token

Return Values

NameTypeDescription

[0]

uint256

price The price scaled by 1e18

❌ Errors

  • InvalidTokenAddress is thrown when the asset is not the sfrxETH token (SFRXETH)

  • BadPriceData is thrown if the SFRXETH_FRAX_ORACLE oracle informs it has bad data

  • ZeroValueNotAllowed is thrown if the prices (low or high, in USD) are zero

  • PriceDifferenceExceeded is thrown if priceHigh/priceLow is greater than maxAllowedPriceDifference


Last updated