diff options
Diffstat (limited to 'app/scripts')
-rw-r--r-- | app/scripts/background.js | 7 | ||||
-rw-r--r-- | app/scripts/lib/config-manager.js | 34 |
2 files changed, 34 insertions, 7 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js index 0f9ecc1c9..a52eab2d3 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -168,6 +168,7 @@ function setupControllerConnection(stream){ var dnode = Dnode({ getState: function(cb){ cb(null, getState()) }, setRpcTarget: setRpcTarget, + setProviderType: setProviderType, useEtherscanProvider: useEtherscanProvider, // forward directly to idStore createNewVault: idStore.createNewVault.bind(idStore), @@ -255,6 +256,12 @@ function setRpcTarget(rpcTarget){ idStore.getNetwork(3) // 3 retry attempts } +function setProviderType(type) { + configManager.setProviderType(type) + chrome.runtime.reload() + idStore.getNetwork(3) +} + function useEtherscanProvider() { configManager.useEtherscanProvider() chrome.runtime.reload() diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js index 5bfb8befe..fd48432b5 100644 --- a/app/scripts/lib/config-manager.js +++ b/app/scripts/lib/config-manager.js @@ -2,7 +2,8 @@ const Migrator = require('pojo-migrator') const extend = require('xtend') const STORAGE_KEY = 'metamask-config' -const DEFAULT_RPC = 'https://testrpc.metamask.io/' +const TESTNET_RPC = 'http://morden.infura.io' +const MAINNET_RPC = 'http://mainnet.infura.io/' const migrations = require('./migrations') @@ -59,8 +60,7 @@ ConfigManager.prototype.getConfig = function() { } else { return { provider: { - type: 'rpc', - rpcTarget: DEFAULT_RPC, + type: 'testnet', } } } @@ -75,6 +75,14 @@ ConfigManager.prototype.setRpcTarget = function(rpcUrl) { this.setConfig(config) } +ConfigManager.prototype.setProviderType = function(type) { + var config = this.getConfig() + config.provider = { + type: type, + } + this.setConfig(config) +} + ConfigManager.prototype.useEtherscanProvider = function() { var config = this.getConfig() config.provider = { @@ -130,9 +138,19 @@ ConfigManager.prototype.getShouldShowSeedWords = function() { } ConfigManager.prototype.getCurrentRpcAddress = function() { - var config = this.getConfig() - if (!config) return null - return config.provider && config.provider.rpcTarget ? config.provider.rpcTarget : DEFAULT_RPC + var provider = this.getProvider() + if (!provider) return null + switch (provider.type) { + + case 'mainnet': + return MAINNET_RPC + + case 'testnet': + return TESTNET_RPC + + default: + return provider && provider.rpcTarget ? provider.rpcTarget : TESTNET_RPC + } } ConfigManager.prototype.clearWallet = function() { @@ -246,7 +264,9 @@ function loadData() { }, data: { config: { - rpcTarget: DEFAULT_RPC, + provider: { + type: 'testnet', + } } } }, oldData ? oldData : null, newData ? newData : null) |