Skip to main content

IVoltSystemOracle

interface for the Volt System Oracle

Methods

TIMEFRAME

function TIMEFRAME() external view returns (uint256)

the time frame over which all changes in the APR are applied one month was chosen because this is a temporary oracle

Returns

NameTypeDescription
_0uint256undefined

compoundInterest

function compoundInterest() external nonpayable

public function that allows compounding of interest after duration has passed Sets accumulator to the current accrued interest, and then resets the timer.

getCurrentOraclePrice

function getCurrentOraclePrice() external view returns (uint256)

function to get the current oracle price for the entire system

Returns

NameTypeDescription
_0uint256undefined

monthlyChangeRateBasisPoints

function monthlyChangeRateBasisPoints() external view returns (uint256)

current amount that oracle price is inflating by monthly in basis points does not support negative rates because PCV will not be deposited into negatively yielding venues.

Returns

NameTypeDescription
_0uint256undefined

oraclePrice

function oraclePrice() external view returns (uint256)

oracle price. starts off at 1e18 and compounds monthly acts as an accumulator for interest earned in previous epochs returns the oracle price from the end of the last period

Returns

NameTypeDescription
_0uint256undefined

periodStartTime

function periodStartTime() external view returns (uint256)

start time at which point interest will start accruing, and the current ScalingPriceOracle price will be snapshotted and saved

Returns

NameTypeDescription
_0uint256undefined

Events

InterestCompounded

event InterestCompounded(uint256 periodStart, uint256 newOraclePrice)

event emitted when the Volt system oracle compounds emits the end time of the period that completed and the new oracle price

Parameters

NameTypeDescription
periodStartuint256undefined
newOraclePriceuint256undefined