// SPDX-License-Identifier: UNLICENSED // Proprietary - (c) 2026 Durian (durianfun). All rights reserved. Not open source; for Durianfun + authorized integrations only. See /LICENSE. pragma solidity 0.8.24; /// @title IEntropyConsumer /// @notice The one function DurianEntropyV2 calls back into your contract with the randomness. /// Inherit `EntropyConsumer` (which implements this safely) instead of implementing it raw. /// @dev Mirrors Chainlink VRF's `fulfillRandomWords` / Pyth Entropy's `IEntropyConsumer`: /// the callback MUST NOT revert on the happy path and MUST gate `msg.sender == entropy`. interface IEntropyConsumer { /// @param id The request id returned by `requestCallback`. /// @param rng The 256-bit randomness. Derive many values with `EntropyLib` (expand/pick/digits). function onRandomness(uint256 id, uint256 rng) external; }