TransactionSEALED
&▪◇░?▓○?░░~◇█&&□╱#?╱$?▪%%□*▒▒▒█~░╳○▒$◆■▫▓▓^▓#@▪○╲╲&▫╳█╲◇!!▒~&▪◇╳
Transaction ID
Transaction Summary
Contract CallCalled PDS, PackNFT, AllDay +2 more
Script Arguments
0distIdUInt64
6280
1packIdUInt64
20890723200447
2nftContractAddrs[Address]
3nftContractNames[String]
[ "AllDay" ]
4nftIds[UInt64]
[ "10172596" ]
5saltString
2a27500e7e5cd44672e42e7b0029504406ca43bb446855a3cf43984aa988af65
6ownerAddress
7openRequestBool
true
8collectionStoragePathStoragePath?
storage/AllDayNFTCollection
Cadence Script
1import PDS from 0xb6f2481eba4df97b
2import PackNFT from 0xe4cf4bdc1751c65d
3import AllDay from 0xe4cf4bdc1751c65d
4import NonFungibleToken from 0x1d7e57aa55817448
5import MetadataViews from 0x1d7e57aa55817448
6
7transaction (
8 distId: UInt64,
9 packId: UInt64,
10 nftContractAddrs: [Address],
11 nftContractNames: [String],
12 nftIds: [UInt64],
13 salt: String,
14 owner: Address,
15 openRequest: Bool,
16 collectionStoragePath: StoragePath?
17) {
18 prepare(pds: auth(BorrowValue) &Account) {
19 let collectionData = AllDay.resolveContractView(resourceType: nil, viewType: Type<MetadataViews.NFTCollectionData>()) as! MetadataViews.NFTCollectionData?
20 ?? panic("ViewResolver does not resolve NFTCollectionData view")
21
22 let cap = pds.storage.borrow<auth(PDS.Operate) &PDS.DistributionManager>(from: PDS.DistManagerStoragePath)
23 ?? panic("pds does not have Dist manager")
24 let p = PackNFT.borrowPackRepresentation(id: packId)
25 ?? panic ("No such pack")
26
27 if openRequest && p.status == PackNFT.Status.Revealed {
28 let recvAcct = getAccount(owner)
29 let recv = recvAcct.capabilities.borrow<&{NonFungibleToken.CollectionPublic}>(collectionData.publicPath)
30 ?? panic("Unable to borrow Collection Public reference for recipient")
31 cap.openPackNFT(
32 distId: distId,
33 packId: packId,
34 nftContractAddrs: nftContractAddrs,
35 nftContractNames: nftContractNames,
36 nftIds: nftIds,
37 recvCap: recv,
38 collectionStoragePath: collectionStoragePath
39 )
40 } else {
41 cap.revealPackNFT(
42 distId: distId,
43 packId: packId,
44 nftContractAddrs: nftContractAddrs,
45 nftContractNames: nftContractNames,
46 nftIds: nftIds,
47 salt: salt
48 )
49 }
50 }
51}