Files
sre-04-dice-game/packages/nextjs/services/web3/wagmiConnectors.tsx
2026-01-21 11:18:02 +07:00

52 lines
1.2 KiB
TypeScript

import { connectorsForWallets } from "@rainbow-me/rainbowkit";
import {
baseAccount,
ledgerWallet,
metaMaskWallet,
rainbowWallet,
safeWallet,
walletConnectWallet,
} from "@rainbow-me/rainbowkit/wallets";
import { rainbowkitBurnerWallet } from "burner-connector";
import * as chains from "viem/chains";
import scaffoldConfig from "~~/scaffold.config";
const { onlyLocalBurnerWallet, targetNetworks } = scaffoldConfig;
const wallets = [
metaMaskWallet,
walletConnectWallet,
ledgerWallet,
baseAccount,
rainbowWallet,
safeWallet,
...(!targetNetworks.some(network => network.id !== (chains.hardhat as chains.Chain).id) || !onlyLocalBurnerWallet
? [rainbowkitBurnerWallet]
: []),
];
/**
* wagmi connectors for the wagmi context
*/
export const wagmiConnectors = () => {
// Only create connectors on client-side to avoid SSR issues
// TODO: update when https://github.com/rainbow-me/rainbowkit/issues/2476 is resolved
if (typeof window === "undefined") {
return [];
}
return connectorsForWallets(
[
{
groupName: "Supported Wallets",
wallets,
},
],
{
appName: "scaffold-eth-2",
projectId: scaffoldConfig.walletConnectProjectId,
},
);
};