diff --git a/src/hooks/use-network-config.ts b/src/hooks/use-network-config.ts index 8e54587..3856e39 100644 --- a/src/hooks/use-network-config.ts +++ b/src/hooks/use-network-config.ts @@ -1,8 +1,14 @@ import { useAccount } from "wagmi"; -import { type NetworkConfig, getNetworkConfigByChainId } from "@/lib/config"; +import { type NetworkConfig, getNetworkConfigByChainId, NETWORK_CONFIGS } from "@/lib/config"; +import { safeLocalStorage } from "@/lib/utils"; export const useNetworkConfig = (): NetworkConfig => { const { chainId } = useAccount(); + const overrideChainId = safeLocalStorage("overrideChainId"); + if (overrideChainId) { + const mainnet = NETWORK_CONFIGS.find(c => c.chainId === 1) ?? NETWORK_CONFIGS[0]; + return { ...mainnet, chainId: Number(overrideChainId) }; + } return getNetworkConfigByChainId(chainId); }; diff --git a/src/lib/wagmi.ts b/src/lib/wagmi.ts index 87f8c88..e9d189b 100644 --- a/src/lib/wagmi.ts +++ b/src/lib/wagmi.ts @@ -74,15 +74,19 @@ const viemChainsByChainId: Record = { 560048: hoodi }; +const overrideChainId = safeLocalStorage("overrideChainId"); + // Dynamically generate chains from NETWORK_CONFIGS, using viem's configs as base const chainsArray = NETWORK_CONFIGS.map(config => { - const rpcUrl = safeLocalStorage(`customRpcUrl_${config.chainId}`) ?? config.rpcUrl; + const chainId = config.chainId === 1 && overrideChainId ? Number(overrideChainId) : config.chainId; + const rpcUrl = safeLocalStorage(`customRpcUrl_${chainId}`) ?? config.rpcUrl; const baseChain = viemChainsByChainId[config.chainId]; if (baseChain) { // Use viem's chain config and override only what's needed return defineChain({ ...baseChain, + id: chainId, iconBackground: "none", iconUrl: "/figma/ethereum_0-2171.svg", rpcUrls: {