TransactionSEALED
◆◇%▫□*^╱▒●■╱□▪▒●▒$#╲@$■&▪^●○╱○#╲◆~░○@^$$╲█■^$~▓@◆!▪░╱◆╱$◆□▪■□#▒○
Transaction ID
Execution Fee
0.00002699 FLOWTransaction Summary
Contract Call
Called aiSportsJuice, FungibleToken, FungibleTokenMetadataViews +1 more
Script Arguments
Copy:
Cadence Script
1import aiSportsJuice from 0x9db94c9564243ba7
2import FungibleToken from 0xf233dcee88fe0abe
3import FungibleTokenMetadataViews from 0xf233dcee88fe0abe
4import aiSportsExchange from 0x254b32edc33e5bc3
5
6transaction() {
7
8 /// FTVaultData metadata view for the token being used
9 let vaultData: FungibleTokenMetadataViews.FTVaultData
10
11 // The Vault resource that holds the tokens that are being transferred
12 let sentVault: @aiSportsJuice.Vault
13
14 let signerAddress: Address
15
16 prepare(signer: auth(BorrowValue) &Account) {
17
18 self.vaultData = aiSportsJuice.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
19 ?? panic("ViewResolver does not resolve FTVaultData view")
20
21 // Get a reference to the signer's stored vault
22 let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &aiSportsJuice.Vault>(from: self.vaultData.storagePath)
23 ?? panic("Could not borrow reference to the owner's Vault!")
24
25 self.signerAddress = signer.address
26
27 // Withdraw tokens from the signer's stored vault
28 self.sentVault <- vaultRef.withdraw(amount: aiSportsExchange.nftPrice) as! @aiSportsJuice.Vault
29
30 }
31
32 execute {
33 let nftID = aiSportsExchange.exchangeForNFT(tokens: <-self.sentVault, to: self.signerAddress)
34 log(nftID)
35 }
36}