TransactionSEALED
▒$%▒░◆&▓▓▪◆▫@■◇~?□◆╲!?#&?▒#█●□▒@◇▫╱▫▓^#╲~╱□$&□#▒▪#╳░■╳▫▪╲$&?▓■^!
Transaction ID
Execution Fee
0.00000724 FLOWTransaction Summary
Contract CallCalled NFL, NonFungibleToken, MetadataViews
Contracts
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 }