@rainbow-me/rainbowkit
Version:
The best way to connect a wallet
54 lines (51 loc) • 1.34 kB
JavaScript
"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
};