TransactionSEALED

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

Transaction ID

Timestamp

Aug 27, 2024, 08:56:57 AM UTC
1y ago

Block Height

85,420,810

Computation

0

Execution Fee

0.00001672 FLOW

Transaction Summary

Contract Call

Called PDS, PackNFT, TopShot +2 more

Script Arguments

0distIdUInt64
1603
1packIdUInt64
98956047488285
3nftContractName[String]
[
  "TopShot",
  "TopShot",
  "TopShot"
]
4nftIds[UInt64]
[
  "47122353",
  "47130099",
  "47142615"
]
5saltString
e779da5b82c4acf26edc75fbf24d61b70b596d8502a1c559e267f578595e3146
6ownerAddress
7openRequestBool
true
8NFTProviderPathPrivatePath?
null

Cadence Script

1import PDS from 0xb6f2481eba4df97b
2import PackNFT from 0x0b2a3299cc857e29
3import TopShot from 0x0b2a3299cc857e29
4import NonFungibleToken from 0x1d7e57aa55817448
5import DapperStorageRent from 0xa08e88e23f332538
6
7transaction (
8    distId: UInt64,
9    packId: UInt64,
10    nftContractAddrs: [Address],
11    nftContractName: [String],
12    nftIds: [UInt64],
13    salt: String,
14    owner: Address,
15    openRequest: Bool,
16    NFTProviderPath: PrivatePath?
17) {
18    prepare(pds: AuthAccount) {
19        DapperStorageRent.tryRefill(owner)
20        let cap = pds.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) ?? panic("pds does not have Dist manager")
21        let p = PackNFT.borrowPackRepresentation(id: packId) ?? panic ("No such pack")
22        if openRequest && p.status == PackNFT.Status.Revealed {
23            let recvAcct = getAccount(owner)
24            let recv = recvAcct.getCapability(/public/MomentCollection).borrow<&{NonFungibleToken.CollectionPublic}>()
25                ?? panic("Unable to borrow Collection Public reference for recipient")
26            cap.openPackNFT(
27                distId: distId,
28                packId: packId,
29                nftContractAddrs: nftContractAddrs,
30                nftContractName: nftContractName,
31                nftIds: nftIds,
32                recvCap: recv,
33                collectionProviderPath: NFTProviderPath
34            )
35        } else {
36            cap.revealPackNFT(
37                    distId: distId,
38                    packId: packId,
39                    nftContractAddrs: nftContractAddrs,
40                    nftContractName: nftContractName,
41                    nftIds: nftIds,
42                    salt: salt)
43        }
44    }
45}