import { Chain, ChainProviderFn, configureChains, createClient } from 'wagmi'
import { jsonRpcProvider } from 'wagmi/providers/jsonRpc'
import { connectorsForWallets } from '@rainbow-me/rainbowkit'
import {
coinbaseWallet,
metaMaskWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets'
const providerArray: ChainProviderFn[] = []
const mainnet: Chain = {
id: 369,
name: 'PulseChain',
network: 'pulse',
nativeCurrency: {
name: 'Pulse Coin',
symbol: 'PLS',
decimals: 18,
},
rpcUrls: {
default: {
http: ['https://rpc.pulsechain.com']
},
public: {
http: ['https://rpc.pulsechain.com']
},
},
blockExplorers: {
default: {
name: 'PulseChain Explorer',
url: 'https://otter.pulsechain.com',
}
},
contracts: {
ensRegistry: {
address: '0xbd5133993FCDED5945c5539D9f032261F0d13170'
},
ensUniversalResolver: {
address: '0x6644e794F5aFfb8abcfea0e71d5624D013BA2dBA'
}
}
}
providerArray.push(
jsonRpcProvider({
rpc: (chain) => {
if (chain.id === 369) {
return { http: 'https://rpc.pulsechain.com' }
}
return null
},
})
)
const { provider, chains } = configureChains([
mainnet,
], providerArray)
const wallets = connectorsForWallets([
{
groupName: 'GROUP_NAME',
wallets: [
coinbaseWallet({ chains, appName: 'APP_NAME' }),
metaMaskWallet({ chains, projectId: 'WALLET_CONNECT_PROJECT_ID' }),
walletConnectWallet({ chains, projectId: 'WALLET_CONNECT_PROJECT_ID' })
]
}
])
const wagmiClient = createClient({
autoConnect: true,
connectors: wallets(),
provider,
persister: null,
})
Go to Docs