diff --git a/src/clients/web3/Web3Wrapper/client.ts b/src/clients/web3/Web3Wrapper/client.ts index ae4eeaaed9..40b19fb80c 100644 --- a/src/clients/web3/Web3Wrapper/client.ts +++ b/src/clients/web3/Web3Wrapper/client.ts @@ -1,66 +1,42 @@ -import config from 'config'; -import { Chain, configureChains, createClient } from 'wagmi'; +import { configureChains, createClient } from 'wagmi'; import { CoinbaseWalletConnector } from 'wagmi/connectors/coinbaseWallet'; import { InjectedConnector } from 'wagmi/connectors/injected'; import { MetaMaskConnector } from 'wagmi/connectors/metaMask'; import { WalletConnectConnector } from 'wagmi/connectors/walletConnect'; import { publicProvider } from 'wagmi/providers/public'; +import { bsc, bscTestnet, mainnet, goerli } from 'wagmi/chains'; import { WALLET_CONNECT_PROJECT_ID } from 'constants/walletConnect'; import { BinanceWalletConnector } from './binanceWalletConnector'; -const bscExplorer = { - name: 'BscScan', - url: config.isOnTestnet ? 'https://testnet.bscscan.com' : 'https://bscscan.com', -}; +const bscChains = [bsc, bscTestnet]; +const ethereumChains = [mainnet, goerli]; +const chains = [...bscChains, ...ethereumChains]; -export const chain: Chain = { - id: config.chainId, - name: config.isOnTestnet ? 'BNB Smart Chain Testnet' : 'BNB Smart Chain', - network: config.isOnTestnet ? 'bsc-testnet' : 'bsc', - rpcUrls: { - default: { - http: [config.rpcUrl], - }, - public: { - http: [config.rpcUrl], - }, - }, - blockExplorers: { - default: bscExplorer, - etherscan: bscExplorer, - }, - nativeCurrency: { - name: 'Binance Chain Native Token', - symbol: 'BNB', - decimals: 18, - }, -}; - -export const { provider, webSocketProvider } = configureChains([chain], [publicProvider()]); +export const { provider, webSocketProvider } = configureChains(chains, [publicProvider()]); const client = createClient({ autoConnect: true, provider, connectors: [ - new InjectedConnector({ chains: [chain] }), - new MetaMaskConnector({ chains: [chain] }), + new InjectedConnector({ chains }), + new MetaMaskConnector({ chains }), new WalletConnectConnector({ - chains: [chain], + chains, options: { projectId: WALLET_CONNECT_PROJECT_ID, showQrModal: true, }, }), new CoinbaseWalletConnector({ - chains: [chain], + chains, options: { appName: 'Venus', }, }), new BinanceWalletConnector({ - chains: [chain], + chains: bscChains, }), ], webSocketProvider,