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