aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/metamask-controller.js
diff options
context:
space:
mode:
authorHackyMiner <hackyminer@gmail.com>2018-10-26 16:26:43 +0800
committerWhymarrh Whitby <whymarrh.whitby@gmail.com>2018-10-26 16:26:43 +0800
commit54a8ade2669cb5f8f046509873bc2a9c25425847 (patch)
treeaaf40ae8168848b89365647bb863d0c967932ef8 /app/scripts/metamask-controller.js
parenteaca9a0e8a6a8e65a4dd099c8f860a9616b7360e (diff)
downloadtangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.tar
tangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.tar.gz
tangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.tar.bz2
tangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.tar.lz
tangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.tar.xz
tangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.tar.zst
tangerine-wallet-browser-54a8ade2669cb5f8f046509873bc2a9c25425847.zip
Add support for RPC endpoints with custom chain IDs (#5134)
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r--app/scripts/metamask-controller.js18
1 files changed, 13 insertions, 5 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 7913662d4..3778dbdb6 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -138,12 +138,12 @@ module.exports = class MetamaskController extends EventEmitter {
this.accountTracker.stop()
}
})
-
+
// ensure accountTracker updates balances after network change
this.networkController.on('networkDidChange', () => {
this.accountTracker._updateAccounts()
})
-
+
// key mgmt
const additionalKeyrings = [TrezorKeyring, LedgerBridgeKeyring]
this.keyringController = new KeyringController({
@@ -197,6 +197,8 @@ module.exports = class MetamaskController extends EventEmitter {
})
this.networkController.on('networkDidChange', () => {
this.balancesController.updateAllBalances()
+ var currentCurrency = this.currencyController.getCurrentCurrency()
+ this.setCurrentCurrency(currentCurrency, function() {})
})
this.balancesController.updateAllBalances()
@@ -1412,10 +1414,13 @@ module.exports = class MetamaskController extends EventEmitter {
* @param {Function} cb - A callback function returning currency info.
*/
setCurrentCurrency (currencyCode, cb) {
+ const { ticker } = this.networkController.getNetworkConfig()
try {
+ this.currencyController.setNativeCurrency(ticker)
this.currencyController.setCurrentCurrency(currencyCode)
this.currencyController.updateConversionRate()
const data = {
+ nativeCurrency: ticker || 'ETH',
conversionRate: this.currencyController.getConversionRate(),
currentCurrency: this.currencyController.getCurrentCurrency(),
conversionDate: this.currencyController.getConversionDate(),
@@ -1454,11 +1459,14 @@ module.exports = class MetamaskController extends EventEmitter {
/**
* A method for selecting a custom URL for an ethereum RPC provider.
* @param {string} rpcTarget - A URL for a valid Ethereum RPC API.
+ * @param {number} chainId - The chainId of the selected network.
+ * @param {string} ticker - The ticker symbol of the selected network.
+ * @param {string} nickname - Optional nickname of the selected network.
* @returns {Promise<String>} - The RPC Target URL confirmed.
*/
- async setCustomRpc (rpcTarget) {
- this.networkController.setRpcTarget(rpcTarget)
- await this.preferencesController.addToFrequentRpcList(rpcTarget)
+ async setCustomRpc (rpcTarget, chainId, ticker = 'ETH', nickname = '') {
+ this.networkController.setRpcTarget(rpcTarget, chainId, ticker, nickname)
+ await this.preferencesController.addToFrequentRpcList(rpcTarget, chainId, ticker, nickname)
return rpcTarget
}