Skip to main content

FutureYieldToken

Future Yield Tokens represent the yield generated by an asset on a given Future. FYTs are minted at the beginning of a period and can be burned against their underlying yield at the expiration of the period.

pragma solidity 0.7.6;
import "contracts/interfaces/IERC20.sol";
interface IFutureYieldToken is IERC20 {    /**     * @dev Destroys `amount` tokens from the caller.     *     * See {ERC20-_burn}.     */    function burn(uint256 amount) external;
    /**     * @dev Destroys `amount` tokens from `account`, deducting from the caller's     * allowance.     *     * See {ERC20-_burn} and {ERC20-allowance}.     *     * Requirements:     *     * - the caller must have allowance for ``accounts``'s tokens of at least     * `amount`.     */    function burnFrom(address account, uint256 amount) external;
    /**     * @dev Creates `amount` new tokens for `to`.     *     * See {ERC20-_mint}.     *     * Requirements:     *     * - the caller must have the `MINTER_ROLE`.     */    function mint(address to, uint256 amount) external;
    /**     * @notice Returns the current balance of one user (without the claimable amount)     * @param account the address of the account to check the balance of     * @return the current fyt balance of this address     */    function recordedBalanceOf(address account) external view returns (uint256);
    /**     * @notice Returns the current balance of one user including unclaimed FYT     * @param account the address of the account to check the balance of     * @return the total FYT balance of one address     */    function balanceOf(address account) external view override returns (uint256);
    /**     * @notice Getter for the future vault link to this fyt     * @return the address of the future vault     */    function futureVault() external view returns (address);
    /**     * @notice Getter for the internal period index of this fyt     * @return the internal period index     */    function internalPeriodID() external view returns (uint256);}