Skip to content

Instantly share code, notes, and snippets.

@cygaar
Last active September 7, 2022 21:08
Show Gist options
  • Save cygaar/ec3591ed5f376cff316be9a2213da394 to your computer and use it in GitHub Desktop.
Save cygaar/ec3591ed5f376cff316be9a2213da394 to your computer and use it in GitHub Desktop.
interface IERC6000 {
/// @notice Emitted when a subscription expiration changes
/// The zero address for subscriber indicates that the subscription was canceled.
/// @dev When a subscription is canceled, the expiration value should also be 0.
event SubscriptionUpdate(address indexed subscriber, uint256 indexed tokenId, uint256 expiration);
/// @notice Renews the subscription to an NFT
/// Throws if `tokenId` is not a valid NFT
/// @param tokenId The NFT to renew the subscription for
function renewSubscription(uint256 tokenId) external payable;
/// @notice Cancels the subscription of an NFT
/// @dev Throws if `tokenId` is not a valid NFT
/// @param tokenId The NFT to cancel the subscription for
function cancelSubscription(uint256 tokenId) external;
/// @notice Gets the expiration date of a subscription
/// @dev Throws if `tokenId` is not a valid NFT
/// @param tokenId The NFT to get the expiration date of
/// @return The expiration date of the subscription
function expiresAt(uint256 tokenId) external view returns(uint256);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment