UNPKG

@rainbow-me/rainbowkit

Version:
54 lines (51 loc) 1.34 kB
"use client"; import { provideRainbowKitChains } from "./chunk-QEKGRQAR.js"; // src/components/RainbowKitProvider/RainbowKitChainContext.tsx import React, { createContext, useContext, useMemo } from "react"; import { useConfig } from "wagmi"; var RainbowKitChainContext = createContext({ chains: [] }); function RainbowKitChainProvider({ children, initialChain }) { const { chains } = useConfig(); return /* @__PURE__ */ React.createElement( RainbowKitChainContext.Provider, { value: useMemo( () => ({ chains: provideRainbowKitChains(chains), initialChainId: typeof initialChain === "number" ? initialChain : initialChain?.id }), [chains, initialChain] ) }, children ); } var useRainbowKitChains = () => useContext(RainbowKitChainContext).chains; var useInitialChainId = () => useContext(RainbowKitChainContext).initialChainId; var useRainbowKitChainsById = () => { const rainbowkitChains = useRainbowKitChains(); return useMemo(() => { const rainbowkitChainsById = {}; for (const rkChain of rainbowkitChains) { rainbowkitChainsById[rkChain.id] = rkChain; } return rainbowkitChainsById; }, [rainbowkitChains]); }; export { RainbowKitChainProvider, useRainbowKitChains, useInitialChainId, useRainbowKitChainsById };