TransactionSEALED
◇░▓▫?█^○~▒◆#░%^&▓■&█@◇╳▪~%○^▓▒^?○#%○@▓$▫~○╲╳╳■&▓╱?◇◇!╳%░▓%~*▪╳◇^
Transaction ID
Execution Error
Error Code: 1009
error caused by: 1 error occurred:
Raw Error
[Error Code: 1009] error caused by: 1 error occurred: * transaction verification failed: [Error Code: 1006] invalid proposal key: public key 6 on account f380b22ef386ac7e does not have a valid signature: [Error Code: 1009] invalid envelope key: public key 6 on account f380b22ef386ac7e does not have a valid signature: signature is not valid
Transaction Summary
TransactionScript Arguments
0identifierString
A.0b2a3299cc857e29.TopShot.NFT
1recipientAddrAddress
2ids[UInt64]
[ "17884712" ]
Cadence Script
1import NonFungibleToken from 0x1d7e57aa55817448
2import StorageRent from 0x707adbad1428c624
3import ViewResolver from 0x1d7e57aa55817448
4import MetadataViews from 0x1d7e57aa55817448
5
6
7
8transaction(identifier: String, recipientAddr: Address, ids: [UInt64]) {
9 prepare(signer: auth(Storage, BorrowValue) &Account) {
10 let type = CompositeType(identifier)
11 let identifierSplit = identifier.split(separator: ".")
12 let address = Address.fromString("0x".concat(identifierSplit[1]))!
13 let name = identifierSplit[2]!
14 let viewResolver = getAccount(address).contracts.borrow<&{ViewResolver}>(name: name)
15 ?? panic("Could not borrow ViewResolver from NFT contract")
16
17 let collectionData = viewResolver.resolveContractView(
18 resourceType: nil,
19 viewType: Type<MetadataViews.NFTCollectionData>()
20 ) as! MetadataViews.NFTCollectionData? ?? panic("Could not resolve NFTCollectionData view")
21 // get the recipients public account object
22 let recipient = getAccount(recipientAddr)
23 // borrow a reference to the signer''s NFT collection
24 let collectionRef = signer.storage
25 .borrow<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Collection}>(from: /storage/MomentCollection)
26 ?? panic("Could not borrow a reference to the owner''s collection")
27 let senderRef = signer
28 .capabilities
29 .borrow<&{NonFungibleToken.CollectionPublic}>(/public/MomentCollection)
30 // borrow a public reference to the receivers collection
31 let recipientRef = recipient
32 .capabilities
33 .borrow<&{NonFungibleToken.CollectionPublic}>(/public/MomentCollection) ?? panic("Unable to borrow receiver reference")
34
35 for withdrawID in ids {
36 // withdraw the NFT from the owner''s collection
37 let nft <- collectionRef.withdraw(withdrawID: withdrawID)
38 // Deposit the NFT in the recipient''s collection
39 recipientRef!.deposit(token: <-nft)
40 }
41 StorageRent.tryRefill(recipientAddr)
42 }
43}