StableOracle.sol
View Source: contracts/oracles/StableOracle.sol
StableOracle
Contract Members
Constants & Variables
contract IOracle public oracle;
uint256 public lastPrice;
uint256 public evictPercentage;
bool public manualOverride;
uint256 public manualPrice;
Events
event ChangeOracle(address _oldOracle, address _newOracle);
event ChangeEvictPercentage(uint256 _oldEvictPercentage, uint256 _newEvictPercentage);
event SetManualPrice(uint256 _oldPrice, uint256 _newPrice);
event SetManualOverride(bool _override);
Functions
Creates a new stable oracle based on existing oracle
function (address _oracle, uint256 _evictPercentage) public nonpayable
Arguments
Name
Type
Description
_oracle
address
address of underlying oracle
_evictPercentage
uint256
changeOracle
Updates medianizer address
function changeOracle(address _oracle) public nonpayable onlyOwner
Arguments
Name
Type
Description
_oracle
address
Address of underlying oracle
changeEvictPercentage
Updates eviction percentage
function changeEvictPercentage(uint256 _evictPercentage) public nonpayable onlyOwner
Arguments
Name
Type
Description
_evictPercentage
uint256
Percentage multiplied by 10**16
getCurrencyAddress
⤾ overrides IOracle.getCurrencyAddress
Returns address of oracle currency (0x0 for ETH)
function getCurrencyAddress() external view
returns(address)
Arguments
Name
Type
Description
getCurrencySymbol
⤾ overrides IOracle.getCurrencySymbol
Returns symbol of oracle currency (0x0 for ETH)
function getCurrencySymbol() external view
returns(bytes32)
Arguments
Name
Type
Description
getCurrencyDenominated
⤾ overrides IOracle.getCurrencyDenominated
Returns denomination of price
function getCurrencyDenominated() external view
returns(bytes32)
Arguments
Name
Type
Description
getPrice
⤾ overrides IOracle.getPrice
Returns price - should throw if not valid
function getPrice() external nonpayable
returns(uint256)
Arguments
Name
Type
Description
_change
function _change(uint256 _newPrice, uint256 _oldPrice) internal pure
returns(uint256)
Arguments
Name
Type
Description
_newPrice
uint256
_oldPrice
uint256
setManualPrice
Set a manual price. NA - this will only be used if manualOverride == true
function setManualPrice(uint256 _price) public nonpayable onlyOwner
Arguments
Name
Type
Description
_price
uint256
Price to set
setManualOverride
Determine whether manual price is used or not
function setManualOverride(bool _override) public nonpayable onlyOwner
Arguments
Name
Type
Description
_override
bool
Whether to use the manual override price or not
Last updated
Was this helpful?