Smart Contract
ContractBorrower
A.befbaccb5032a457.ContractBorrower
1import FlowtyDrops from 0xbefbaccb5032a457
2import NFTMetadata from 0xbefbaccb5032a457
3import AddressUtils from 0xa340dc0a4ec828ab
4import ContractInitializer from 0xbefbaccb5032a457
5
6access(all) contract ContractBorrower {
7 access(all) fun borrowInitializer(typeIdentifier: String): &{ContractInitializer} {
8 let type = CompositeType(typeIdentifier) ?? panic("invalid type identifier")
9 let addr = AddressUtils.parseAddress(type)!
10
11 let contractName = type.identifier.split(separator: ".")[2]
12 return getAccount(addr).contracts.borrow<&{ContractInitializer}>(name: contractName)!
13 }
14}