diff --git a/packages/bridge-ui/src/App.svelte b/packages/bridge-ui/src/App.svelte index f8eecf34be..10329e6a3b 100644 --- a/packages/bridge-ui/src/App.svelte +++ b/packages/bridge-ui/src/App.svelte @@ -7,12 +7,12 @@ import { configureChains, createClient, - InjectedConnector, } from "@wagmi/core"; import { publicProvider } from "@wagmi/core/providers/public"; import { jsonRpcProvider } from "@wagmi/core/providers/jsonRpc"; import { CoinbaseWalletConnector } from "@wagmi/core/connectors/coinbaseWallet"; import { WalletConnectConnector } from "@wagmi/core/connectors/walletConnect"; + import { MetaMaskConnector } from '@wagmi/core/connectors/metaMask' import Home from "./pages/home/Home.svelte"; import { setupI18n } from "./i18n"; @@ -85,7 +85,7 @@ $wagmiClient = createClient({ provider, connectors: [ - new InjectedConnector({ + new MetaMaskConnector({ chains: wagmiChains, }), new CoinbaseWalletConnector({ diff --git a/packages/bridge-ui/src/components/buttons/Connect.svelte b/packages/bridge-ui/src/components/buttons/Connect.svelte index 7486ab9d76..21d1791f85 100644 --- a/packages/bridge-ui/src/components/buttons/Connect.svelte +++ b/packages/bridge-ui/src/components/buttons/Connect.svelte @@ -9,6 +9,7 @@ fetchSigner, watchAccount, watchNetwork, + ConnectorNotFoundError } from "@wagmi/core"; import { CHAIN_MAINNET, CHAIN_TKO } from "../../domain/chain"; @@ -47,19 +48,27 @@ } async function connectWithConnector(connector: Connector) { - const { chain } = await wagmiConnect({ connector }); - await setSigner(); - await changeChain(chain.id); - unwatchNetwork = watchNetwork( - async (network) => await changeChain(network.chain.id) - ); - unwatchAccount = watchAccount(async () => { - const s = await setSigner(); - transactions.set( - await $transactioner.GetAllByAddress(await s.getAddress()) - ); - }); - successToast("Connected"); + try { + const { chain } = await wagmiConnect({ connector }); + await setSigner(); + await changeChain(chain.id); + unwatchNetwork = watchNetwork( + async (network) => await changeChain(network.chain.id) + ); + unwatchAccount = watchAccount(async () => { + const s = await setSigner(); + transactions.set( + await $transactioner.GetAllByAddress(await s.getAddress()) + ); + }); + successToast("Connected"); + } catch(error) { + if(error instanceof ConnectorNotFoundError) { + errorToast(`${connector.name} not installed`); + } else { + errorToast(`Error while connecting to wallet`); + } + } } const iconMap = {