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