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
0vaultIdentifierString
A.f1ab99c82dee3526.USDCFlow.Vault
1recipientAddress
2amountUFix64
0.00100000
Cadence Script
1import FungibleToken from 0xf233dcee88fe0abe
2import StorageRent from 0x707adbad1428c624
3import ViewResolver from 0x1d7e57aa55817448
4import FungibleTokenMetadataViews from 0xf233dcee88fe0abe
5
6
7transaction(vaultIdentifier:String, recipient: Address, amount: UFix64) {
8
9 prepare(signer: auth(Storage, BorrowValue) &Account) {
10
11 let type = CompositeType(vaultIdentifier)
12 let identifierSplit = vaultIdentifier.split(separator: ".")
13 let address = Address.fromString("0x".concat(identifierSplit[1]))!
14 let name = identifierSplit[2]!
15
16 let viewResolver = getAccount(address).contracts.borrow<&{ViewResolver}>(name: name)
17 ?? panic("Could not borrow ViewResolver from FungibleToken contract")
18 let vaultData = viewResolver.resolveContractView(
19 resourceType: type,
20 viewType: Type<FungibleTokenMetadataViews.FTVaultData>()
21 ) as! FungibleTokenMetadataViews.FTVaultData? ?? panic("Could not resolve FTVaultData view")
22
23 // Get a reference to the signer's stored vault
24 let vaultRef = signer.storage.borrow<auth(FungibleToken.Withdraw) &{FungibleToken.Vault}>(from: vaultData.storagePath)
25 ?? panic("Could not borrow reference to the owner's Vault!")
26
27
28 // Get the recipient's public account object
29 let recipientAccount = getAccount(recipient)
30
31 // Get a reference to the recipient's Receiver
32 let receiverRef = recipientAccount.capabilities.borrow<&{FungibleToken.Vault}>(vaultData.receiverPath)!
33
34 // Deposit the withdrawn tokens in the recipient's receiver
35 receiverRef.deposit(from: <- vaultRef.withdraw(amount: amount))
36 StorageRent.tryRefill(recipient)
37 }
38
39}