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