-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
We need NFT subscription contract for offering Unbound Plan for dVPN access.
Unbound Plan
Experience the internet without limits. Secure, decentralized VPN access puts you in control. Break free from restrictions and reclaim your online freedom with the Erebrus Unbound Plan.
Cost
- 30 Days: $4 USD
- 90 Days: $9 USD
- 365 Days: $30 USD
Functions
- mint(uint days) - Calculate cost based on the days entered (30, 90 or 365) and send the funds to the payoutAddress + mint the NFT setting the expiration accordingly [public]
- delegateMint(walletAddress, days) - Mint the NFT setting the expiration based on the days to the walletAddress [Operator Only]
- extend(uint256 tokenId, uint256 expirationTime) - Extends the validity of the NFT (ensure that the newExpirationTime > currentExpirationTime) [Operator Only]
- setTokenURI(tokenURI []) - Sets tokenURI for these tokenId status: 30Days (Active), 30Days (Expired), 90Days (Active), 90Days (Expired), 365Days (Active), 365Days (Expired) [Operator Only]
- setSubscriptionCost(subscriptionCost []) - Sets the subscription cost for the 30, 90, 365 Days plan [Operator Only]
- expiration(uint256 tokenId) - Returns the timestamp when the Subscription expires / NFT becomes invalid [public view]
- isValid(uint256 tokenId) - Returns true/false based on expiration [public view]
- burn(uint256 tokenId) - Burns the NFT invalidating the Subscription - [Only Owner]
Operations
- Add the expirationTime field in events for mint and extend functions
- Deploy and Verify the contract on peaq (mainnet) and optimism (mainnet)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request