// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.13; import "@equilibria/root/number/types/Fixed18.sol"; import "@equilibria/perennial-oracle/contracts/interfaces/IOracleProvider.sol"; import "./types/PayoffDefinition.sol"; interface IPayoffProvider { event OracleUpdated(address newOracle, uint256 oracleVersion); error PayoffProviderInvalidOracle(); error PayoffProviderInvalidPayoffDefinitionError(); function oracle() external view returns (IOracleProvider); function payoffDefinition() external view returns (PayoffDefinition memory); function currentVersion() external view returns (IOracleProvider.OracleVersion memory); function atVersion(uint256 oracleVersion) external view returns (IOracleProvider.OracleVersion memory); }