type FactoryContractInfo = { abi?: ContractInterface; createAccount?: ( factory: SmartContract, owner: string, ) => Promise<Transaction>; getAccountAddress?: ( factory: SmartContract, owner: string, ) => Promise<string>;};