aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers
diff options
context:
space:
mode:
authorChen Wei <chenwei@byzantine-lab.io>2019-06-28 21:21:42 +0800
committerChen Wei <chenwei@byzantine-lab.io>2019-06-28 21:21:42 +0800
commitf3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6 (patch)
tree6583e237166409bd2d8f720249541023b5fd7f30 /app/scripts/controllers
parent27a572d15a1c9a8463912df9d41dcfb96838bb80 (diff)
downloadtangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.tar
tangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.tar.gz
tangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.tar.bz2
tangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.tar.lz
tangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.tar.xz
tangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.tar.zst
tangerine-wallet-browser-f3d35329a6c3f6b7627af78eff3c0c9a9fc59bd6.zip
be able to switch between eth and tan
Diffstat (limited to 'app/scripts/controllers')
-rw-r--r--app/scripts/controllers/network/enums.js12
-rw-r--r--app/scripts/controllers/network/network.js31
2 files changed, 39 insertions, 4 deletions
diff --git a/app/scripts/controllers/network/enums.js b/app/scripts/controllers/network/enums.js
index 2f7025392..0ebea4509 100644
--- a/app/scripts/controllers/network/enums.js
+++ b/app/scripts/controllers/network/enums.js
@@ -5,18 +5,25 @@ const MAINNET = 'mainnet'
const LOCALHOST = 'localhost'
const GOERLI = 'goerli'
+const TANGERINE_TESTNET = 'tangerine_testnet'
+
const MAINNET_CODE = 1
const ROPSTEN_CODE = 3
const RINKEYBY_CODE = 4
const KOVAN_CODE = 42
const GOERLI_CODE = 5
+const TANGERINE_TESTNET_CODE = 374
+
const ROPSTEN_DISPLAY_NAME = 'Ropsten'
const RINKEBY_DISPLAY_NAME = 'Rinkeby'
const KOVAN_DISPLAY_NAME = 'Kovan'
const MAINNET_DISPLAY_NAME = 'Main Ethereum Network'
const GOERLI_DISPLAY_NAME = 'Goerli'
+const TANGERINE_TESTNET_DISPLAYNAME = 'Tangerine Testnet Displayname'
+const TANGERINE_TESTNET_RPC = 'https://testnet-rpc.tangerine-network.io'
+
module.exports = {
ROPSTEN,
RINKEBY,
@@ -34,4 +41,9 @@ module.exports = {
KOVAN_DISPLAY_NAME,
MAINNET_DISPLAY_NAME,
GOERLI_DISPLAY_NAME,
+ // Tangerine Network
+ TANGERINE_TESTNET,
+ TANGERINE_TESTNET_CODE,
+ TANGERINE_TESTNET_DISPLAYNAME,
+ TANGERINE_TESTNET_RPC,
}
diff --git a/app/scripts/controllers/network/network.js b/app/scripts/controllers/network/network.js
index 2c68e4378..b0c742e1f 100644
--- a/app/scripts/controllers/network/network.js
+++ b/app/scripts/controllers/network/network.js
@@ -21,8 +21,11 @@ const {
MAINNET,
LOCALHOST,
GOERLI,
+ TANGERINE_TESTNET,
+ TANGERINE_TESTNET_RPC,
} = require('./enums')
const INFURA_PROVIDER_TYPES = [ROPSTEN, RINKEBY, KOVAN, MAINNET, GOERLI]
+const TANGERINE_PROVIDER_TYPES = [TANGERINE_TESTNET]
const env = process.env.METAMASK_ENV
const METAMASK_DEBUG = process.env.METAMASK_DEBUG
@@ -31,9 +34,9 @@ let defaultProviderConfigType
if (process.env.IN_TEST === 'true') {
defaultProviderConfigType = LOCALHOST
} else if (METAMASK_DEBUG || env === 'test') {
- defaultProviderConfigType = RINKEBY
+ defaultProviderConfigType = TANGERINE_TESTNET
} else {
- defaultProviderConfigType = MAINNET
+ defaultProviderConfigType = TANGERINE_TESTNET
}
const defaultProviderConfig = {
@@ -142,9 +145,17 @@ module.exports = class NetworkController extends EventEmitter {
}
async setProviderType (type, rpcTarget = '', ticker = 'ETH', nickname = '') {
+ console.log('1')
assert.notEqual(type, 'rpc', `NetworkController - cannot call "setProviderType" with type 'rpc'. use "setRpcTarget"`)
- assert(INFURA_PROVIDER_TYPES.includes(type) || type === LOCALHOST, `NetworkController - Unknown rpc type "${type}"`)
+ console.log('2')
+
+ if (INFURA_PROVIDER_TYPES.includes(type)) {
+ assert(INFURA_PROVIDER_TYPES.includes(type) || type === LOCALHOST, `NetworkController - Unknown rpc type "${type}"`)
+ } else {
+ assert(TANGERINE_PROVIDER_TYPES.includes(type) || type === LOCALHOST, `NetworkController - Unknown rpc type "${type}"`)
+ }
const providerConfig = { type, rpcTarget, ticker, nickname }
+ console.log('providerConfig', providerConfig)
this.providerConfig = providerConfig
}
@@ -174,8 +185,13 @@ module.exports = class NetworkController extends EventEmitter {
_configureProvider (opts) {
const { type, rpcTarget, chainId, ticker, nickname } = opts
// infura type-based endpoints
+
const isInfura = INFURA_PROVIDER_TYPES.includes(type)
- if (isInfura) {
+ const isTangerine = TANGERINE_PROVIDER_TYPES.includes(type)
+ console.log('_configureProvider', opts, isTangerine)
+ if (isTangerine) {
+ this._configureTangerineProvider(opts)
+ } else if (isInfura) {
this._configureInfuraProvider(opts)
// other type-based rpc endpoints
} else if (type === LOCALHOST) {
@@ -199,6 +215,13 @@ module.exports = class NetworkController extends EventEmitter {
this.networkConfig.putState(settings)
}
+ _configureTangerineProvider ({ type }) {
+ log.info('NetworkController - configureTangerineProvider', type)
+ const networkClient = createJsonRpcClient({ rpcUrl: TANGERINE_TESTNET_RPC })
+ this._setNetworkClient(networkClient)
+ }
+
+
_configureLocalhostProvider () {
log.info('NetworkController - configureLocalhostProvider')
const networkClient = createLocalhostClient()