import { getNames } from '@/identity/utils/getNames'; import { DEFAULT_QUERY_OPTIONS } from '@/internal/constants'; import { useQuery } from '@tanstack/react-query'; import { mainnet } from 'viem/chains'; import type { GetNameReturnType, UseNamesParams, UseQueryOptions, } from '../types'; /** * A React hook that leverages the `@tanstack/react-query` for fetching and optionally caching * multiple Basenames or ENS names in a single batch request. */ export const useNames = ( { addresses, chain = mainnet }: UseNamesParams, queryOptions?: UseQueryOptions, ) => { const addressesKey = addresses.join(','); const queryKey = ['useNames', addressesKey, chain.id]; return useQuery({ queryKey, queryFn: () => getNames({ addresses, chain }), enabled: !!addresses.length, ...DEFAULT_QUERY_OPTIONS, ...queryOptions, }); };