// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; /// @notice The subset of Pyth Entropy V2 that RandomnessHub implements with identical /// signatures, selectors and events. Behaviour differs; see docs/PYTH_COMPATIBILITY.md. interface IEntropyV2Compatible { event Requested( address indexed provider, address indexed caller, uint64 indexed sequenceNumber, bytes32 userContribution, uint32 gasLimit, bytes extraArgs ); event Revealed( address indexed provider, address indexed caller, uint64 indexed sequenceNumber, bytes32 randomNumber, bytes32 userContribution, bytes32 providerContribution, bool callbackFailed, bytes callbackReturnValue, uint32 callbackGasUsed, bytes extraArgs ); function requestV2() external payable returns (uint64 assignedSequenceNumber); function requestV2(uint32 gasLimit) external payable returns (uint64 assignedSequenceNumber); function requestV2(address provider, uint32 gasLimit) external payable returns (uint64 assignedSequenceNumber); function requestV2( address provider, bytes32 userRandomNumber, uint32 gasLimit ) external payable returns (uint64 assignedSequenceNumber); function getDefaultProvider() external view returns (address provider); function getFeeV2() external view returns (uint128 feeAmount); function getFeeV2(uint32 gasLimit) external view returns (uint128 feeAmount); function getFeeV2(address provider, uint32 gasLimit) external view returns (uint128 feeAmount); }