on master help sign in
fix local network detection
12605e6dillon
src/lib/constants.ts+3−1
@@ -230,6 +230,7 @@ const EIP1559_TRANSACTION_TYPE = 2;
230// https://chainlist.org/?testnets=true
230// https://chainlist.org/?testnets=true
231const ETHEREUM_MAINNET_CHAIN_ID = '0x1';
231const ETHEREUM_MAINNET_CHAIN_ID = '0x1';
232const ETHEREUM_GOERLI_CHAIN_ID = '0x5';
232const ETHEREUM_GOERLI_CHAIN_ID = '0x5';
233+const ETHEREUM_LOCAL_CHAIN_ID = '0x539';
233
234
234export {
235export {
235 CHECK_BLOCK_EVERY_MS,
236 CHECK_BLOCK_EVERY_MS,
@@ -281,5 +282,6 @@ export {
281 LOCKUP_TOOLTIP,
282 LOCKUP_TOOLTIP,
282 INITIAL_NETWORK_KEY_REVISION,
283 INITIAL_NETWORK_KEY_REVISION,
283 ETHEREUM_MAINNET_CHAIN_ID,
284 ETHEREUM_MAINNET_CHAIN_ID,
284− ETHEREUM_GOERLI_CHAIN_ID
285+ ETHEREUM_GOERLI_CHAIN_ID,
286+ ETHEREUM_LOCAL_CHAIN_ID,
285};
287};
src/lib/flags.js+1−1
@@ -1,7 +1,7 @@
1import { version } from '../../package.json';
1import { version } from '../../package.json';
2
2
3// are we running bridge in a development build
3// are we running bridge in a development build
4−export const isDevelopment = import.meta.env.DEV === 'development';
4+export const isDevelopment = import.meta.env.DEV === true;
5export const isGoerli = import.meta.env.VITE_GOERLI === 'true';
5export const isGoerli = import.meta.env.VITE_GOERLI === 'true';
6export const isMainnet = import.meta.env.VITE_MAINNET === 'true';
6export const isMainnet = import.meta.env.VITE_MAINNET === 'true';
7export const versionLabel =
7export const versionLabel =
src/lib/network.js+18−5
@@ -1,5 +1,9 @@
1−import { isMainnet } from "./flags";
1+import { isDevelopment, isGoerli, isMainnet } from './flags';
2+import {
3+ ETHEREUM_GOERLI_CHAIN_ID,
4+ ETHEREUM_LOCAL_CHAIN_ID,
2−import { ETHEREUM_GOERLI_CHAIN_ID, ETHEREUM_MAINNET_CHAIN_ID, } from './constants';
5+ ETHEREUM_MAINNET_CHAIN_ID,
6+} from './constants';
3
7
4const NETWORK_TYPES = {
8const NETWORK_TYPES = {
5 OFFLINE: Symbol('OFFLINE'),
9 OFFLINE: Symbol('OFFLINE'),
@@ -31,7 +35,16 @@ const chainIdToNetworkType = chainId => {
31};
35};
32
36
33const expectedChainId = () => {
37const expectedChainId = () => {
38+ return isGoerli
39+ ? ETHEREUM_GOERLI_CHAIN_ID
40+ : isDevelopment && !isMainnet
41+ ? ETHEREUM_LOCAL_CHAIN_ID
34− return isMainnet ? ETHEREUM_MAINNET_CHAIN_ID : ETHEREUM_GOERLI_CHAIN_ID;
42+ : ETHEREUM_MAINNET_CHAIN_ID;
35−}
43+};
36
44
45+export {
46+ NETWORK_TYPES,
47+ expectedChainId,
48+ renderNetworkType,
37−export { NETWORK_TYPES, expectedChainId, renderNetworkType, chainIdToNetworkType };
49+ chainIdToNetworkType,
50+};
src/views/Login/LoginSelector.tsx+1−1
@@ -99,7 +99,7 @@ export default function LoginSelector({
99 /**
99 /**
100 * Ensure wallet is connected to expected chain
100 * Ensure wallet is connected to expected chain
101 */
101 */
102− if (window.ethereum.chainId !== expectedChainId() ) {
102+ if (window.ethereum.chainId !== expectedChainId()) {
103 console.log(`unexpected chain: ${window.ethereum.chainId}`);
103 console.log(`unexpected chain: ${window.ethereum.chainId}`);
104 await window.ethereum.request({
104 await window.ethereum.request({
105 method: 'wallet_switchEthereumChain',
105 method: 'wallet_switchEthereumChain',