Smart Contract

IFantastecPackNFT

A.4bbff461fa8f6192.IFantastecPackNFT

Deployed

14h ago
Feb 28, 2026, 02:27:40 AM UTC

Dependents

0 imports
1import Crypto
2import NonFungibleToken from 0x1d7e57aa55817448
3import FantastecNFT from 0x4bbff461fa8f6192
4
5access(all) contract interface IFantastecPackNFT {
6
7    access(all) entitlement Owner
8
9    /// StoragePath for Collection Resource
10    access(all) let CollectionStoragePath: StoragePath
11
12    /// PublicPath expected for deposit
13    access(all) let CollectionPublicPath: PublicPath
14
15    /// PublicPath for receiving NFT
16    access(all) let CollectionIFantastecPackNFTPublicPath: PublicPath
17
18    /// StoragePath for the NFT Operator Resource (issuer owns this)
19    access(all) let OperatorStoragePath: StoragePath
20
21    /// Burned
22    /// Emitted when a NFT has been burned
23    access(all) event Burned(id: UInt64 )
24
25    access(all) resource interface IOperator {
26        access(Owner) fun mint(packId: UInt64, productId: UInt64): @{NFT}
27        access(Owner) fun addFantastecNFT(id: UInt64, nft: @FantastecNFT.NFT)
28        access(Owner) fun open(id: UInt64, recipient: Address)
29    }
30
31    access(all) resource interface FantastecPackNFTOperator: IOperator {
32        access(Owner) fun mint(packId: UInt64, productId: UInt64): @{NFT}
33        access(Owner) fun addFantastecNFT(id: UInt64, nft: @FantastecNFT.NFT)
34        access(Owner) fun open(id: UInt64, recipient: Address)
35    }
36
37    access(all) resource interface IFantastecPack {
38        access(all) var ownedNFTs: @{UInt64: FantastecNFT.NFT}
39
40        access(all) fun addFantastecNFT(nft: @FantastecNFT.NFT)
41        access(Owner) fun open(recipient: Address)
42    }
43
44    access(all) resource interface NFT: NonFungibleToken.NFT {
45        access(all) let id: UInt64
46    }
47
48    access(all) resource interface IFantastecPackNFTCollectionPublic: NonFungibleToken.Collection {
49        access(all) fun deposit(token: @{NonFungibleToken.NFT})
50    }
51}