FT TransferSEALED
╱▫▫◇╲○@■○◇○●■?^○░■!░~#?▪@*▫%%▒╲╱~&!▪░$□!╳█▒%%○*░^%~□╲╲◇░●●○░░@○█
Transaction ID
Execution Fee
0.00226 FLOWTransaction Summary
FT TransferCalled USDCFlow, FungibleToken, LendingPool
Contracts
Script Arguments
0amountDepositUFix64
99899.20054000
Cadence Script
1import USDCFlow from 0xf1ab99c82dee3526
2import FungibleToken from 0xf233dcee88fe0abe
3import LendingPool from 0x1113980ca45d1d37
4
5transaction(amountDeposit: UFix64) {
6 let tokenVault: auth(FungibleToken.Withdraw) &USDCFlow.Vault
7 let supplierAddress: Address
8
9 prepare(signer: auth(Storage, Capabilities) &Account) {
10 let storagePath = /storage/usdcFlowVault
11 let receiverPath = /public/usdcFlowReceiver
12 let balancePath = /public/usdcFlowMetadata
13 if (signer.storage.borrow<&USDCFlow.Vault>(from: storagePath) == nil) {
14 signer.storage.save(<-USDCFlow.createEmptyVault(vaultType: Type<@USDCFlow.Vault>()), to: storagePath)
15 signer.capabilities.publish(signer.capabilities.storage.issue<&{FungibleToken.Receiver}>(storagePath), at: receiverPath)
16 signer.capabilities.publish(signer.capabilities.storage.issue<&{FungibleToken.Balance}>(storagePath), at: balancePath)
17 }
18 self.tokenVault = signer.storage.borrow<auth(FungibleToken.Withdraw) &USDCFlow.Vault>(from: storagePath)
19 ?? panic("cannot borrow auth(FT.Withdraw) reference to USDCFlow Vault")
20 self.supplierAddress = signer.address
21 }
22
23 execute {
24 let inUnderlyingVault <- self.tokenVault.withdraw(amount: amountDeposit)
25 LendingPool.supply(supplierAddr: self.supplierAddress, inUnderlyingVault: <-inUnderlyingVault)
26 }
27}