on 94ccbdb help sign in
bridge/src/lib/network.js
50 lines 1.1 kB history raw
1import { isDevelopment, isGoerli, isMainnet } from './flags';
2import {
3 ETHEREUM_GOERLI_CHAIN_ID,
4 ETHEREUM_LOCAL_CHAIN_ID,
5 ETHEREUM_MAINNET_CHAIN_ID,
6} from './constants';
8const NETWORK_TYPES = {
9 OFFLINE: Symbol('OFFLINE'),
10 LOCAL: Symbol('LOCAL'),
11 GOERLI: Symbol('GOERLI'),
12 MAINNET: Symbol('MAINNET'),
13};
15const renderNetworkType = network =>
16 network === NETWORK_TYPES.OFFLINE
17 ? 'Offline'
18 : network === NETWORK_TYPES.GOERLI
19 ? 'Goerli'
20 : network === NETWORK_TYPES.MAINNET
21 ? 'Main Network'
22 : network === NETWORK_TYPES.LOCAL
23 ? 'Local Node'
24 : 'Offline';
26const chainIdToNetworkType = chainId => {
27 switch (chainId) {
28 case '0x1':
29 return NETWORK_TYPES.MAINNET;
30 case '0x5':
31 return NETWORK_TYPES.GOERLI;
32 default:
33 return NETWORK_TYPES.LOCAL;
34 }
35};
37const expectedChainId = () => {
38 return isGoerli
39 ? ETHEREUM_GOERLI_CHAIN_ID
40 : isDevelopment && !isMainnet
41 ? ETHEREUM_LOCAL_CHAIN_ID
42 : ETHEREUM_MAINNET_CHAIN_ID;
43};
45export {
46 NETWORK_TYPES,
47 expectedChainId,
48 renderNetworkType,
49 chainIdToNetworkType,
50};