'use client' import { type Config, type GetChainsReturnType, getChains, type ResolvedRegister, } from '@wagmi/core' import type { ConfigParameter } from '@wagmi/core/internal' import { watchChains } from '@wagmi/core/internal' import { useSyncExternalStore } from 'react' import { useConfig } from './useConfig.js' export type UseChainsParameters = ConfigParameter export type UseChainsReturnType = GetChainsReturnType /** https://wagmi.sh/react/api/hooks/useChains */ export function useChains( parameters: UseChainsParameters = {}, ): UseChainsReturnType { const config = useConfig(parameters) return useSyncExternalStore( (onChange) => watchChains(config, { onChange }), () => getChains(config), () => getChains(config), ) }