"use client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ConnectKitProvider, getDefaultConfig } from "connectkit"; import { useTheme } from "next-themes"; import type { ReactNode } from "react"; import * as chains from "viem/chains"; import { WagmiProvider, createConfig, http, useChainId } from "wagmi"; import { NETWORK_IDS, getRpcUrl } from "../../evm-networks"; import { metadata } from "../../metadata"; const CHAINS = NETWORK_IDS.map((id) => Object.values(chains).find((chain) => chain.id === id), ).filter((chain) => chain !== undefined) as unknown as readonly [ chains.Chain, ...chains.Chain[], ]; const TRANSPORTS = Object.fromEntries( CHAINS.map((chain) => { const url = getRpcUrl(chain.id); if (url) { return [chain.id, http(url)]; } else { throw new Error(`No rpc url found for ${chain.name}`); } }), ); type EvmProviderProps = { children: ReactNode; walletConnectProjectId?: string | undefined; }; export const EvmProvider = ({ children, walletConnectProjectId, }: EvmProviderProps) => ( {children} ); const ConnectKitProviderWrapper = ({ children }: { children: ReactNode }) => { const { resolvedTheme } = useTheme(); const chainId = useChainId(); return ( {children} ); };