TransactionSEALED

$$╲▪?◆◆◆$■○&$&╱▫░■◆^○◇*!&~?◇▓░?◆▒@@#~&╳╱□▪▪#█◆█@#█▫○!▓▪%@*█╱!○▒#

Transaction ID

Timestamp

Jun 02, 2025, 08:43:51 AM UTC
9mo ago

Block Height

115,074,232

Computation

0

Execution Fee

0.00000724 FLOW

Transaction Summary

Contract Call

Called NFL, NonFungibleToken, MetadataViews

Script Arguments

Cadence Script

1import NFL from 0x8f3e345219de6fed
2                import NonFungibleToken from 0x1d7e57aa55817448
3                import MetadataViews from 0x1d7e57aa55817448
4
5                transaction {
6                    prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) {
7                        
8                        // Resolve NFT collection data from the contract
9                        let collectionData = NFL.resolveContractView(resourceType: nil, viewType: Type<MetadataViews.NFTCollectionData>()) as! MetadataViews.NFTCollectionData?
10                            ?? panic("ViewResolver does not resolve NFTCollectionData view")
11
12                        // Return early if the account already has a collection
13                        if signer.storage.borrow<&NFL.Collection>(from: collectionData.storagePath) != nil {
14                            return
15                        }
16
17                        // Create a new empty collection
18                        let collection <- NFL.createEmptyCollection(nftType: Type<@NFL.NFT>())
19
20                        // Store the empty NFT Collection in account storage
21                        signer.storage.save(<-collection, to: collectionData.storagePath)
22                        log("Collection created for account")
23
24                        // Unpublish any existing capability for this path
25                        signer.capabilities.unpublish(collectionData.publicPath)
26
27                        // Issue a new capability for the Collection
28                        let collectionCap = signer.capabilities.storage.issue<&NFL.Collection>(collectionData.storagePath)
29                        
30                        // Publish the new capability
31                        signer.capabilities.publish(collectionCap, at: collectionData.publicPath)
32                        log("Capability created")
33                    }
34                }