FT TransferSEALED
~○╳*&##*█?~╲??╱╳◇╲○○□~▪■▓*#█╱╱◇%!~^╳&▓▒▫&▒◇*╲█○▒█!*▪▓*~◆%○▫╲╱▪$@
Transaction ID
Execution Fee
0.00098 FLOWTransaction Summary
FT TransferCalled FungibleToken, FungibleTokenMetadataViews, NonFungibleToken +1 more
Script Arguments
Cadence Script
1import FungibleToken from 0xf233dcee88fe0abe
2import FungibleTokenMetadataViews from 0xf233dcee88fe0abe
3import NonFungibleToken from 0x1d7e57aa55817448
4import KARATZKGGML from 0x82ed1b9cba5bb1b3
5
6transaction () {
7
8 prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue) &Account) {
9
10 let vaultData = KARATZKGGML.resolveContractView(resourceType: nil, viewType: Type<FungibleTokenMetadataViews.FTVaultData>()) as! FungibleTokenMetadataViews.FTVaultData?
11 ?? panic("ViewResolver does not resolve FTVaultData view")
12
13 // Return early if the account already stores a KARATZKGGML Vault
14 if signer.storage.borrow<&KARATZKGGML.Vault>(from: vaultData.storagePath) != nil {
15 return
16 }
17
18 let vault <- KARATZKGGML.createEmptyVault(vaultType: Type<@KARATZKGGML.Vault>())
19
20 // Create a new KARATZKGGML Vault and put it in storage
21 signer.storage.save(<-vault, to: vaultData.storagePath)
22
23 // Create a public capability to the Vault that exposes the Vault interfaces
24 let vaultCap = signer.capabilities.storage.issue<&KARATZKGGML.Vault>(
25 vaultData.storagePath
26 )
27 signer.capabilities.publish(vaultCap, at: vaultData.metadataPath)
28
29 // Create a public Capability to the Vault's Receiver functionality
30 let receiverCap = signer.capabilities.storage.issue<&KARATZKGGML.Vault>(
31 vaultData.storagePath
32 )
33 signer.capabilities.publish(receiverCap, at: vaultData.receiverPath)
34 }
35}