PtSpotOracle
Inherits: SpotOracle
Spot Oracle for PT MARKETs
This contract assumes that the SY is pegged 1:1 with the underlying asset of IonPool. This is a major assumption to be aware of since this oracle will return a valuation in SY, which may or may not be the same as the underlying in the IonPool.
State Variables
MARKET
IPMarketV3 public immutable MARKET;
TWAP_DURATION
uint32 public immutable TWAP_DURATION;
Functions
constructor
Construct a new PtSpotOracle
instance
constructor(
IPMarketV3 _market,
uint32 _twapDuration,
uint256 _ltv,
address _reserveOracle
)
SpotOracle(_ltv, _reserveOracle);
Parameters
Name
Type
Description
_market
IPMarketV3
The Pendle Market to get the PT price from
_twapDuration
uint32
The duration of the TWAP
_ltv
uint256
The Loan To Value ratio
_reserveOracle
address
The oracle to get the reserve price from
getPrice
Gets the price of the collateral asset in ETH.
Overridden by collateral specific spot oracle contracts.
function getPrice() public view override returns (uint256 price);
Returns
Name
Type
Description
price
uint256
of the asset in ETH. [WAD]
Errors
InsufficientOracleSlots
error InsufficientOracleSlots(uint256 currentSlots);