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