type UseContractResult< TContract extends ValidContractInstance = SmartContract, > = UseQueryResult<TContract | undefined> & { contract: TContract | undefined };