Smart Contract

ContractFactory

A.befbaccb5032a457.ContractFactory

Deployed

1h ago
Feb 28, 2026, 09:42:23 PM UTC

Dependents

0 imports
1import ContractFactoryTemplate from 0xbefbaccb5032a457
2import AddressUtils from 0xa340dc0a4ec828ab
3
4access(all) contract ContractFactory {
5    access(all) fun createContract(templateType: Type, acct: auth(Contracts) &Account, name: String, params: {String: AnyStruct}, initializeIdentifier: String) {
6        let templateAddr = AddressUtils.parseAddress(templateType)!
7        let contractName = templateType.identifier.split(separator: ".")[2]
8        let templateContract = getAccount(templateAddr).contracts.borrow<&{ContractFactoryTemplate}>(name: contractName)
9            ?? panic("provided type is not a ContractTemplateFactory")
10        
11        templateContract.createContract(acct: acct, name: name, params: params, initializeIdentifier: initializeIdentifier)
12    }
13}