diff --git a/app/scripts/controllers/network/createPocketClient.js b/app/scripts/controllers/network/createPocketClient.js index 51836c547d9e..392b7221994b 100644 --- a/app/scripts/controllers/network/createPocketClient.js +++ b/app/scripts/controllers/network/createPocketClient.js @@ -8,43 +8,16 @@ const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/b const providerFromMiddleware = require('eth-json-rpc-middleware/providerFromMiddleware') const createPocketMiddleware = require('json-rpc-pocket') const BlockTracker = require('eth-block-tracker') +const { getNetworkID } = require('../../../../old-ui/app/util') const devid = 'DEVVGQ8VfHgBBet8CyowHcN' -const { - ROPSTEN, - ROPSTEN_CODE, - ROPSTEN_CHAINID, - RINKEBY_CODE, - RINKEBY_CHAINID, - RINKEBY, - KOVAN, - KOVAN_CODE, - KOVAN_CHAINID, - MAINNET, - MAINNET_CODE, - MAINNET_CHAINID, - ETH_TICK, - POA_SOKOL, - POA_CODE, - POA_CHAINID, - POA_TICK, - POA, - DAI, - DAI_CODE, - DAI_CHAINID, - GOERLI_TESTNET, - GOERLI_TESTNET_CODE, - GOERLI_TESTNET_CHAINID, - POA_SOKOL_CODE, - POA_SOKOL_CHAINID, -} = require('./enums') module.exports = createPocketClient function createPocketClient ({ network }) { - const networkIDs = getNetworkIds({ network }) + const networkID = getNetworkID({ network }) const pocketMiddleware = createPocketMiddleware(devid, { - netID: networkIDs.netId, - network: networkIDs.ticker, + netID: networkID.netId, + network: networkID.ticker, }) const pocketProvider = providerFromMiddleware(pocketMiddleware) const blockTracker = new BlockTracker({ provider: pocketProvider }) @@ -61,64 +34,11 @@ function createPocketClient ({ network }) { return { networkMiddleware, blockTracker } } -function getNetworkIds ({ network }) { - let chainId - let netId - let ticker - switch (network) { - case MAINNET: - netId = MAINNET_CODE.toString() - chainId = MAINNET_CHAINID - ticker = ETH_TICK - break - case ROPSTEN: - netId = ROPSTEN_CODE.toString() - chainId = ROPSTEN_CHAINID - ticker = ETH_TICK - break - case RINKEBY: - netId = RINKEBY_CODE.toString() - chainId = RINKEBY_CHAINID - ticker = ETH_TICK - break - case KOVAN: - netId = KOVAN_CODE.toString() - chainId = KOVAN_CHAINID - ticker = ETH_TICK - break - case GOERLI_TESTNET: - netId = GOERLI_TESTNET_CODE.toString() - chainId = GOERLI_TESTNET_CHAINID - ticker = ETH_TICK - break - case POA: - netId = POA_CODE.toString() - chainId = POA_CHAINID - ticker = POA_TICK - break - case DAI: - netId = DAI_CODE.toString() - chainId = DAI_CHAINID - ticker = POA_TICK - break - case POA_SOKOL: - netId = POA_SOKOL_CODE.toString() - chainId = POA_SOKOL_CHAINID - ticker = POA_TICK - break - default: - throw new Error(`createPocketClient - unknown network "${network}"`) - } - return { - chainId, netId, ticker, - } -} - function createNetworkAndChainIdMiddleware ({ network }) { - const networkIds = getNetworkIds({network}) + const networkID = getNetworkID({network}) return createScaffoldMiddleware({ - eth_chainId: networkIds.chainId, - net_version: networkIds.netId, + eth_chainId: networkID.chainId, + net_version: networkID.netId, }) } diff --git a/app/scripts/controllers/network/enums.js b/app/scripts/controllers/network/enums.js index 1b340afa3b6d..2bd0d9254dec 100644 --- a/app/scripts/controllers/network/enums.js +++ b/app/scripts/controllers/network/enums.js @@ -13,15 +13,20 @@ const LOCALHOST = 'localhost' const ETH_TICK = 'ETH' const POA_TICK = 'POA' +const RSK_TICK = 'RBTC' +const CLASSIC_TICK = 'ETC' -const MAINNET_CHAINID = '0X01' +const MAINNET_CHAINID = '0x01' const ROPSTEN_CHAINID = '0x03' const RINKEBY_CHAINID = '0x04' const KOVAN_CHAINID = '0x2a' -const GOERLI_TESTNET_CHAINID = '0X5' +const GOERLI_TESTNET_CHAINID = '0x5' const POA_CHAINID = '0x63' const DAI_CHAINID = '0x64' const POA_SOKOL_CHAINID = '0x4D' +const RSK_CHAINID = '0x1E' +const RSK_TESTNET_CHAINID = '0x1F' +const CLASSIC_CHAINID = '0x3D' const POA_CODE = 99 const DAI_CODE = 100 @@ -68,6 +73,8 @@ module.exports = { POA, POA_TICK, ETH_TICK, + RSK_TICK, + CLASSIC_TICK, MAINNET_CHAINID, ROPSTEN_CHAINID, RINKEBY_CHAINID, @@ -76,6 +83,8 @@ module.exports = { POA_CHAINID, DAI_CHAINID, POA_SOKOL_CHAINID, + RSK_CHAINID, + RSK_TESTNET_CHAINID, DAI, POA_SOKOL, MAINNET, @@ -96,6 +105,7 @@ module.exports = { KOVAN_CODE, GOERLI_TESTNET_CODE, CLASSIC_CODE, + CLASSIC_CHAINID, RSK_CODE, RSK_TESTNET_CODE, POA_DISPLAY_NAME, diff --git a/app/scripts/controllers/network/network.js b/app/scripts/controllers/network/network.js index beaee48df4dd..15c22af2f36a 100644 --- a/app/scripts/controllers/network/network.js +++ b/app/scripts/controllers/network/network.js @@ -201,9 +201,10 @@ module.exports = class NetworkController extends EventEmitter { // _switchNetwork (opts) { + const previousNetworkID = this.getNetworkState() this.setNetworkState('loading') this._configureProvider(opts) - this.emit('networkDidChange', opts.type) + this.emit('networkDidChange', opts.type, previousNetworkID) } _configureProvider (opts) { diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index ed78bd6a9aeb..32937ee096dc 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -54,7 +54,7 @@ const ethUtil = require('ethereumjs-util') const sigUtil = require('eth-sig-util') const { importTypes } = require('../../old-ui/app/accounts/import/enums') const { LEDGER, TREZOR } = require('../../old-ui/app/components/connect-hardware/enum') -const { ifPOA, ifRSK } = require('../../old-ui/app/util') +const { ifPOA, ifRSK, getNetworkID } = require('../../old-ui/app/util') const { CLASSIC_CODE, @@ -155,14 +155,28 @@ module.exports = class MetamaskController extends EventEmitter { }) // ensure accountTracker updates balances after network change - this.networkController.on('networkDidChange', () => { + this.networkController.on('networkDidChange', (newType, previousNetworkIDStr) => { this.accountTracker._updateAccounts() this.detectTokensController.restartTokenDetection() + + const previousNetworkID = parseInt(previousNetworkIDStr, 10) + const nextNetwork = getNetworkID({network: newType}) + const nextNetworkID = parseInt(nextNetwork && nextNetwork.netId, 10) + + if (nextNetworkID !== previousNetworkID) { + const isPreviousETC = previousNetworkID === CLASSIC_CODE + const isPreviousRSK = ifRSK(previousNetworkID) + const isNextETC = nextNetworkID === CLASSIC_CODE + const isNextRSK = ifRSK(nextNetworkID) + if (isPreviousETC || isPreviousRSK || isNextETC || isNextRSK) { + this.forgetDevice(LEDGER, false) + this.forgetDevice(TREZOR, false) + } + } }) // key mgmt - // const trezorKeyring = new TrezorKeyring({hdPath: `m/44'/137'/0'/0`}) - const additionalKeyrings = [new TrezorKeyring({hdPath: `m/44'/137'/0'/0`}), LedgerBridgeKeyring] + const additionalKeyrings = [TrezorKeyring, LedgerBridgeKeyring] this.keyringController = new KeyringController({ keyringTypes: additionalKeyrings, initState: initState.KeyringController, diff --git a/old-ui/app/components/connect-hardware/util.js b/old-ui/app/components/connect-hardware/util.js index 3583d77fbffd..8ea2f7499b1c 100644 --- a/old-ui/app/components/connect-hardware/util.js +++ b/old-ui/app/components/connect-hardware/util.js @@ -47,8 +47,8 @@ const hdRSKTestnetLedgerPath = `m/44'/37310'/0'/0` const hdRSKTestnetLedgerLivePath = `m/44'/37310'/0'/0` const hdETCTrezorPath = `m/44'/61'/0'/0` -const hdETCLedgerPath = `m/44'/61'/0'/0/0` -const hdETCLedgerLivePath = `m/44'/61'` +const hdETCLedgerPath = `m/44'/60'/160720'/0'` +const hdETCLedgerLivePath = `m/44'/60'/160720'/0'` const customHdPaths = {} customHdPaths[RSK_CODE] = { diff --git a/old-ui/app/util.js b/old-ui/app/util.js index cecbe2f5ef5e..c892aef8a71e 100644 --- a/old-ui/app/util.js +++ b/old-ui/app/util.js @@ -1,23 +1,44 @@ const ethUtil = require('ethereumjs-util') const ethNetProps = require('eth-net-props') const { - POA_SOKOL_CODE, - POA_CODE, - DAI_CODE, - RSK_CODE, - RSK_TESTNET_CODE, ROPSTEN, + ROPSTEN_CODE, + ROPSTEN_CHAINID, + RINKEBY_CODE, + RINKEBY_CHAINID, RINKEBY, KOVAN, + KOVAN_CODE, + KOVAN_CHAINID, MAINNET, - LOCALHOST, + MAINNET_CODE, + MAINNET_CHAINID, + ETH_TICK, POA_SOKOL, + POA_CODE, + POA_CHAINID, + POA_TICK, POA, DAI, + DAI_CODE, + DAI_CHAINID, GOERLI_TESTNET, + GOERLI_TESTNET_CODE, + GOERLI_TESTNET_CHAINID, + POA_SOKOL_CODE, + POA_SOKOL_CHAINID, + RSK_CODE, + RSK_CHAINID, + RSK_TESTNET_CODE, + RSK_TESTNET_CHAINID, + LOCALHOST, CLASSIC, + CLASSIC_CODE, + CLASSIC_CHAINID, + CLASSIC_TICK, RSK, RSK_TESTNET, + RSK_TICK, } = require('../../app/scripts/controllers/network/enums') var valueTable = { @@ -72,6 +93,7 @@ module.exports = { isValidChecksumAddress, isInfuraProvider, isKnownProvider, + getNetworkID, } function valuesFor (obj) { @@ -462,3 +484,71 @@ function isKnownProvider (type) { type === RSK || type === RSK_TESTNET } + +function getNetworkID ({ network }) { + let chainId + let netId + let ticker + switch (network) { + case MAINNET: + netId = MAINNET_CODE.toString() + chainId = MAINNET_CHAINID + ticker = ETH_TICK + break + case ROPSTEN: + netId = ROPSTEN_CODE.toString() + chainId = ROPSTEN_CHAINID + ticker = ETH_TICK + break + case RINKEBY: + netId = RINKEBY_CODE.toString() + chainId = RINKEBY_CHAINID + ticker = ETH_TICK + break + case KOVAN: + netId = KOVAN_CODE.toString() + chainId = KOVAN_CHAINID + ticker = ETH_TICK + break + case GOERLI_TESTNET: + netId = GOERLI_TESTNET_CODE.toString() + chainId = GOERLI_TESTNET_CHAINID + ticker = ETH_TICK + break + case POA: + netId = POA_CODE.toString() + chainId = POA_CHAINID + ticker = POA_TICK + break + case DAI: + netId = DAI_CODE.toString() + chainId = DAI_CHAINID + ticker = POA_TICK + break + case POA_SOKOL: + netId = POA_SOKOL_CODE.toString() + chainId = POA_SOKOL_CHAINID + ticker = POA_TICK + break + case RSK: + netId = RSK_CODE.toString() + chainId = RSK_CHAINID + ticker = RSK_TICK + break + case RSK_TESTNET: + netId = RSK_TESTNET_CODE.toString() + chainId = RSK_TESTNET_CHAINID + ticker = RSK_TICK + break + case CLASSIC: + netId = CLASSIC_CODE.toString() + chainId = CLASSIC_CHAINID + ticker = CLASSIC_TICK + break + default: + console.error(`getNetworkID - unknown network "${network}"`) + } + return { + chainId, netId, ticker, + } +} diff --git a/package-lock.json b/package-lock.json index bac57b8ef853..ad537f9311b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14732,36 +14732,10 @@ "requires": { "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "ethereumjs-util": "^5.1.1" - }, - "dependencies": { - "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#8431eab7b3384e65e8126a4602520b78031666fb", - "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - } - } - } } }, "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#d84a96796079c8595a0c78accd1e7709f2277215", + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b", "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "requires": { "bn.js": "^4.11.8", @@ -14769,16 +14743,16 @@ }, "dependencies": { "ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", "requires": { + "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", "create-hash": "^1.1.2", "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", + "keccak": "^2.0.0", + "rlp": "^2.2.3", "secp256k1": "^3.0.1" } } @@ -14796,6 +14770,19 @@ "rlp": "^2.0.0", "safe-buffer": "^5.1.1", "secp256k1": "^3.0.1" + }, + "dependencies": { + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + } } }, "events": { @@ -14812,6 +14799,27 @@ "safe-buffer": "^5.1.1", "secp256k1": "^3.0.1" } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "requires": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" } } }, @@ -15135,8 +15143,8 @@ } }, "eth-trezor-keyring": { - "version": "github:vbaranov/eth-trezor-keyring#97eae35b7de7e1107f11de74635d787750596e10", - "from": "github:vbaranov/eth-trezor-keyring#0.3.0--clear-accounts-flag", + "version": "github:vbaranov/eth-trezor-keyring#17710ee330ff24b61586c9e4a322cedddd07e554", + "from": "github:vbaranov/eth-trezor-keyring#0.4.0", "requires": { "eth-sig-util": "^1.4.2", "ethereumjs-tx": "^1.3.4", @@ -15153,36 +15161,10 @@ "requires": { "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "ethereumjs-util": "^5.1.1" - }, - "dependencies": { - "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#8431eab7b3384e65e8126a4602520b78031666fb", - "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" - } - } - } - } } }, "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#d8d7fc9cc1fd781186c25676af100d1ec727013e", + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b", "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "requires": { "bn.js": "^4.11.8", @@ -15190,16 +15172,16 @@ }, "dependencies": { "ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", "requires": { + "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", "create-hash": "^1.1.2", "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", + "keccak": "^2.0.0", + "rlp": "^2.2.3", "secp256k1": "^3.0.1" } } @@ -15217,6 +15199,19 @@ "rlp": "^2.0.0", "safe-buffer": "^5.1.1", "secp256k1": "^3.0.1" + }, + "dependencies": { + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + } } }, "events": { @@ -15233,6 +15228,27 @@ "safe-buffer": "^5.1.1", "secp256k1": "^3.0.1" } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "requires": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" } } }, @@ -50688,9 +50704,9 @@ "dev": true }, "trezor-connect": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-7.0.3.tgz", - "integrity": "sha512-1Y1ajCDF8dC5d2yrCUmVkNqXeOlucamQ6j6Ko7kaqNdge3g9KZ+O48jUwP/eGzei8oUvPZUHd7o4OhDHTlpLCw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/trezor-connect/-/trezor-connect-7.0.5.tgz", + "integrity": "sha512-cGHcNuO/kGVF6b1mp5VB/RwXcXwqZJDPLp3opx7vM+BQ8xB4oDAUdL+T8aCKRbDv6HwP/wvGwoaok/+9kYOPfA==", "requires": { "@babel/runtime": "^7.3.1", "events": "^3.0.0", diff --git a/package.json b/package.json index f0c668f0f6be..7ee0cc91a7e1 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "eth-query": "^2.1.2", "eth-sig-util": "^2.2.0", "eth-token-watcher": "^1.1.6", - "eth-trezor-keyring": "github:vbaranov/eth-trezor-keyring#0.3.0--clear-accounts-flag", + "eth-trezor-keyring": "github:vbaranov/eth-trezor-keyring#0.4.0", "ethereumjs-abi": "^0.6.7", "ethereumjs-tx": "^1.3.0", "ethereumjs-util": "github:ethereumjs/ethereumjs-util#ac5d0908536b447083ea422b435da27f26615de9",