interface IF1DTBurnableCrateKey {
    /**
     * Destroys `amount` of token.
     * @dev Reverts if called by any other than the contract owner.
     * @dev Reverts is `amount` is zero.
     * @param amount Amount of token to burn.
     */
    function burn(uint256 amount) external;

    /**
     * See {IERC20-transferFrom(address,address,uint256)}.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) external;
}
function transferOwnership(address newOwner) external;

/**
 * @dev Transfers ownership of the contract to a new account (`newOwner`).
 * Can only be called by the current owner.
 */