/ packages / frontend / src / wagmi.ts
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  });