aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/config.js
blob: 21905d5b40657f49d5f1af21e11adbfd68d0c1f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
const MAINET_RPC_URL = 'https://mainnet.infura.io/metamask'
const ROPSTEN_RPC_URL = 'https://ropsten.infura.io/metamask'
const KOVAN_RPC_URL = 'https://kovan.infura.io/metamask'
const RINKEBY_RPC_URL = 'https://rinkeby.infura.io/metamask'
const LOCALHOST_RPC_URL = 'http://localhost:8545'

const MAINET_RPC_URL_BETA = 'https://mainnet.infura.io/metamask2'
const ROPSTEN_RPC_URL_BETA = 'https://ropsten.infura.io/metamask2'
const KOVAN_RPC_URL_BETA = 'https://kovan.infura.io/metamask2'
const RINKEBY_RPC_URL_BETA = 'https://rinkeby.infura.io/metamask2'

const DEFAULT_RPC = 'rinkeby'
const OLD_UI_NETWORK_TYPE = 'network'
const BETA_UI_NETWORK_TYPE = 'networkBeta'

global.METAMASK_DEBUG = process.env.METAMASK_DEBUG

/**
 * @typedef {Object} UrlConfig
 * @property {string} localhost URL of local RPC provider
 * @property {string} mainnet URL of mainnet RPC provider
 * @property {string} ropsten URL of Ropsten testnet RPC provider
 * @property {string} kovan URL of Kovan testnet RPC provider
 * @property {string} rinkeby URL of Rinkeby testnet RPC provider
 */

/**
 * @typedef {Object} NameConfig
 * @property {string} 3 URL of local RPC provider
 * @property {string} 4 URL of mainnet RPC provider
 * @property {string} 42 URL of Ropsten testnet RPC provider
 */

/**
 * @typedef {Object} EnumConfig
 * @property {string} DEFAULT_RPC Default network provider URL
 * @property {string} OLD_UI_NETWORK_TYPE
 * @property {string} BETA_UI_NETWORK_TYPE
 */

/**
 * @typedef {Object} Config
 * @property {UrlConfig} network Network configuration parameters
 * @property {UrlConfig} networkBeta Beta UI network configuration parameters
 * @property {NameConfig} networkNames Network name configuration parameters
 * @property {EnumConfig} enums Application-wide string constants
 */

/**
 * @type {Config}
 **/
const config = {
  network: {
    localhost: LOCALHOST_RPC_URL,
    mainnet: MAINET_RPC_URL,
    ropsten: ROPSTEN_RPC_URL,
    kovan: KOVAN_RPC_URL,
    rinkeby: RINKEBY_RPC_URL,
  },
  networkBeta: {
    localhost: LOCALHOST_RPC_URL,
    mainnet: MAINET_RPC_URL_BETA,
    ropsten: ROPSTEN_RPC_URL_BETA,
    kovan: KOVAN_RPC_URL_BETA,
    rinkeby: RINKEBY_RPC_URL_BETA,
  },
  networkNames: {
    3: 'Ropsten',
    4: 'Rinkeby',
    42: 'Kovan',
  },
  enums: {
    DEFAULT_RPC,
    OLD_UI_NETWORK_TYPE,
    BETA_UI_NETWORK_TYPE,
  },
}

module.exports = config