52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import { connectorsForWallets } from "@rainbow-me/rainbowkit";
|
|
import {
|
|
coinbaseWallet,
|
|
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,
|
|
coinbaseWallet,
|
|
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,
|
|
},
|
|
);
|
|
};
|