ForgeVRFFacet
event VrfResponse(address user, uint256 randomNumber, bytes32 requestId, uint256 blockNumber)
event GeodeWin(address user, uint256 itemId, uint256 geodeTokenId, bytes32 requestId, uint256 blockNumber)
event GeodeEmpty(address user, uint256 geodeTokenId, bytes32 requestId, uint256 blockNumber)
event GeodeRefunded(address user, uint256 geodeTokenId, bytes32 requestId, uint256 blockNumber)
function linkBalance() external view returns (uint256 linkBalance_)
function vrfCoordinator() external view returns (address)
function link() external view returns (address)
function keyHash() external view returns (bytes32)
function getMaxVrf() public pure returns (uint256)
function areGeodePrizesAvailable() public view returns (bool)
function numTotalPrizesLeft() public view returns (uint256 total)
function openGeodes(uint256[] _geodeTokenIds, uint256[] _amountPerToken) external
function rawFulfillRandomness(bytes32 _requestId, uint256 _randomNumber) external
fulfillRandomness handles the VRF response. Your contract must implement it.
The VRFCoordinator expects a calling contract to have a method with this signature, and will trigger it once it has verified the proof associated with the randomness (It is triggered via a call to rawFulfillRandomness, below.)
Name | Type | Description |
---|---|---|
_requestId | bytes32 | The Id initially returned by requestRandomness |
_randomNumber | uint256 | the VRF output // |
function getRequestInfo(address user) external view returns (struct VrfRequestInfo)
function getRequestInfoByRequestId(bytes32 requestId) external view returns (struct VrfRequestInfo)
function claimWinnings() external
function changeVrf(uint256 _newFee, bytes32 _keyHash, address _vrfCoordinator, address _link) external
Allow the diamond owner or DAO to change the vrf details
function removeLinkTokens(address _to, uint256 _value) external