wagmi.ts
1 import { getDefaultConfig } from "@rainbow-me/rainbowkit"; 2 import { hardhat, mainnet, optimism, sepolia } from "wagmi/chains"; 3 import type { Transport } from "viem"; 4 import { fallback, http, unstable_connector } from "wagmi"; 5 import { injected } from "wagmi/connectors"; 6 import { isTesting } from "./utils/env.ts"; 7 import { env } from "./utils/env.ts"; 8 9 // First we try to connect to the block using window.ethereum 10 // if that does not exist (metamask is not installed) we try to connect using the http provider 11 const transport = fallback([ 12 unstable_connector(injected), 13 http(env.ethRPCUrl), 14 ]); 15 16 const transports = isTesting 17 ? { 18 [hardhat.id]: transport, 19 } 20 : { 21 [hardhat.id]: transport, 22 [mainnet.id]: transport, 23 [sepolia.id]: transport, 24 [optimism.id]: transport, 25 }; 26 27 export const config = getDefaultConfig({ 28 appName: "Mass Labs", 29 projectId: "6c432edcd930e0fa2c87a8d940ae5b91", 30 ssr: false, 31 chains: isTesting ? [hardhat] : [hardhat, mainnet, optimism, sepolia], 32 transports: transports as unknown as Record<string, Transport>, 33 });