// SPDX-License-Identifier: MIT pragma solidity 0.8.24; /// @notice Chainlink VRF V2.5 direct-funding wrapper surface; native amounts are wei. interface IDirectFundingVrfWrapper { /// @dev Uses tx.gasprice; off-chain eth_call callers must set gasPrice explicitly. function calculateRequestPriceNative(uint32 callbackGasLimit, uint32 numWords) external view returns (uint256); function estimateRequestPriceNative(uint32 callbackGasLimit, uint32 numWords, uint256 requestGasPriceWei) external view returns (uint256); function requestRandomWordsInNative( uint32 callbackGasLimit, uint16 requestConfirmations, uint32 numWords, bytes calldata extraArgs ) external payable returns (uint256 requestId); function getConfig() external view returns ( int256 fallbackWeiPerUnitLink, uint32 stalenessSeconds, uint32 fulfillmentFlatFeeNativePPM, uint32 fulfillmentFlatFeeLinkDiscountPPM, uint32 wrapperGasOverhead, uint32 coordinatorGasOverheadNative, uint32 coordinatorGasOverheadLink, uint16 coordinatorGasOverheadPerWord, uint8 wrapperNativePremiumPercentage, uint8 wrapperLinkPremiumPercentage, bytes32 keyHash, uint8 maxNumWords ); }