@@ -21,6 +21,7 @@ import { useNetwork } from 'store/network';
21import { WALLET_TYPES } from 'lib/constants';
21import { WALLET_TYPES } from 'lib/constants';
22import { useWalletConnect } from 'lib/useWalletConnect';
22import { useWalletConnect } from 'lib/useWalletConnect';
23import { MetamaskWallet } from 'lib/metamask';
23import { MetamaskWallet } from 'lib/metamask';
24+import { expectedChainId } from 'lib/network';
24import useLoginView from 'lib/useLoginView';
25import useLoginView from 'lib/useLoginView';
25import { getAuthToken } from 'lib/authToken';
26import { getAuthToken } from 'lib/authToken';
@@ -94,6 +95,20 @@ export default function LoginSelector({
94 'Device does not have an Ethereum provider available (is Metamask or Brave Wallet installed?)'
95 'Device does not have an Ethereum provider available (is Metamask or Brave Wallet installed?)'
100+ * Ensure wallet is connected to expected chain
102+ if (window.ethereum.chainId !== expectedChainId() ) {
103+ console.log(`unexpected chain: ${window.ethereum.chainId}`);
104+ await window.ethereum.request({
105+ method: 'wallet_switchEthereumChain',
106+ params: [{ chainId: expectedChainId() }],
108+ window.location.reload();
97 setMetamask(true);
112 setMetamask(true);
98 setMetamaskSelected(true);
113 setMetamaskSelected(true);