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