35 lines
1012 B
Solidity
35 lines
1012 B
Solidity
|
// SPDX-License-Identifier: CC0-1.0
|
||
|
|
||
|
pragma solidity ^0.8.0;
|
||
|
|
||
|
import "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
||
|
|
||
|
/*
|
||
|
*
|
||
|
* @dev Interface for the Future Rewards Token Standard.
|
||
|
*
|
||
|
* A standardized way to receive future rewards for non-fungible tokens (NFTs.)
|
||
|
*
|
||
|
*/
|
||
|
interface InFR is IERC165 {
|
||
|
|
||
|
event FRClaimed(address indexed account, uint256 indexed amount);
|
||
|
|
||
|
event FRDistributed(uint256 indexed tokenId, uint256 indexed soldPrice, uint256 indexed allocatedFR);
|
||
|
|
||
|
function list(uint256 tokenId, uint256 salePrice) external;
|
||
|
|
||
|
function unlist(uint256 tokenId) external;
|
||
|
|
||
|
function buy(uint256 tokenId) payable external;
|
||
|
|
||
|
function releaseFR(address payable account) external;
|
||
|
|
||
|
function retrieveFRInfo(uint256 tokenId) external returns(uint8, uint256, uint256, uint256, uint256, address[] memory);
|
||
|
|
||
|
function retrieveAllottedFR(address account) external returns(uint256);
|
||
|
|
||
|
function retrieveListInfo(uint256 tokenId) external returns(uint256, address, bool);
|
||
|
|
||
|
}
|