From 6dfc16f0fc717d6249ecdd36261abc621d0f56e6 Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Thu, 22 Aug 2019 09:21:16 -0230 Subject: [PATCH 1/9] Add lint:changed script entry to lint only changed files (#7055) --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 44505d0f3..a538ab700 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,8 @@ "sentry:publish": "node ./development/sentry-publish.js", "lint": "eslint . --ext js,json", "lint:fix": "eslint . --ext js,json --fix", + "lint:changed": "{ git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ; } | grep --regexp='[.]js$' --regexp='[.]json$' | tr '\\n' '\\0' | xargs -0 eslint", + "lint:changed:fix": "{ git ls-files --others --exclude-standard ; git diff-index --name-only --diff-filter=d HEAD ; } | grep --regexp='[.]js$' --regexp='[.]json$' | tr '\\n' '\\0' | xargs -0 eslint --fix", "mozilla-lint": "addons-linter dist/firefox", "watch": "cross-env METAMASK_ENV=test mocha --watch --require test/setup.js --reporter min --recursive \"test/unit/**/*.js\" \"ui/app/**/*.test.js\"", "devtools:react": "react-devtools", From ecbde20949d857e289368e0235b43b828bdf4553 Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Thu, 22 Aug 2019 10:26:43 -0230 Subject: [PATCH 2/9] Remove ComputedbalancesController (#7057) --- app/scripts/background.js | 1 - app/scripts/controllers/computed-balances.js | 120 ------------------- app/scripts/metamask-controller.js | 11 -- development/states/first-time.json | 2 - development/states/navigate-txs.json | 1 - development/states/pending-tx.json | 1 - test/data/2-state.json | 1 - ui/app/pages/confirm-transaction/conf-tx.js | 1 - 8 files changed, 138 deletions(-) delete mode 100644 app/scripts/controllers/computed-balances.js diff --git a/app/scripts/background.js b/app/scripts/background.js index 02497d487..db2d9e8bb 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -133,7 +133,6 @@ setupMetamaskMeshMetrics() * @property {number} unapprovedTypedMsgCount - The number of messages in unapprovedTypedMsgs. * @property {string[]} keyringTypes - An array of unique keyring identifying strings, representing available strategies for creating accounts. * @property {Keyring[]} keyrings - An array of keyring descriptions, summarizing the accounts that are available for use, and what keyrings they belong to. - * @property {Object} computedBalances - Maps accounts to their balances, accounting for balance changes from pending transactions. * @property {string} currentAccountTab - A view identifying string for displaying the current displayed view, allows user to have a preferred tab in the old UI (between tokens and history). * @property {string} selectedAddress - A lower case hex string of the currently selected address. * @property {string} currentCurrency - A string identifying the user's preferred display currency, for use in showing conversion rates. diff --git a/app/scripts/controllers/computed-balances.js b/app/scripts/controllers/computed-balances.js deleted file mode 100644 index caa061df4..000000000 --- a/app/scripts/controllers/computed-balances.js +++ /dev/null @@ -1,120 +0,0 @@ -const ObservableStore = require('obs-store') -const extend = require('xtend') -const BalanceController = require('./balance') - -/** - * @typedef {Object} ComputedBalancesOptions - * @property {Object} accountTracker Account tracker store reference - * @property {Object} txController Token controller reference - * @property {Object} blockTracker Block tracker reference - * @property {Object} initState Initial state to populate this internal store with - */ - -/** - * Background controller responsible for syncing - * and computing ETH balances for all accounts - */ -class ComputedbalancesController { - /** - * Creates a new controller instance - * - * @param {ComputedBalancesOptions} [opts] Controller configuration parameters - */ - constructor (opts = {}) { - const { accountTracker, txController, blockTracker } = opts - this.accountTracker = accountTracker - this.txController = txController - this.blockTracker = blockTracker - - const initState = extend({ - computedBalances: {}, - }, opts.initState) - this.store = new ObservableStore(initState) - this.balances = {} - - this._initBalanceUpdating() - } - - /** - * Updates balances associated with each internal address - */ - updateAllBalances () { - Object.keys(this.balances).forEach((balance) => { - const address = balance.address - this.balances[address].updateBalance() - }) - } - - /** - * Initializes internal address tracking - * - * @private - */ - _initBalanceUpdating () { - const store = this.accountTracker.store.getState() - this.syncAllAccountsFromStore(store) - this.accountTracker.store.subscribe(this.syncAllAccountsFromStore.bind(this)) - } - - /** - * Uses current account state to sync and track all - * addresses associated with the current account - * - * @param {{ accounts: Object }} store Account tracking state - */ - syncAllAccountsFromStore (store) { - const upstream = Object.keys(store.accounts) - const balances = Object.keys(this.balances) - .map(address => this.balances[address]) - - // Follow new addresses - for (const address in balances) { - this.trackAddressIfNotAlready(address) - } - - // Unfollow old ones - balances.forEach(({ address }) => { - if (!upstream.includes(address)) { - delete this.balances[address] - } - }) - } - - /** - * Conditionally establishes a new subscription - * to track an address associated with the current - * account - * - * @param {string} address Address to conditionally subscribe to - */ - trackAddressIfNotAlready (address) { - const state = this.store.getState() - if (!(address in state.computedBalances)) { - this.trackAddress(address) - } - } - - /** - * Establishes a new subscription to track an - * address associated with the current account - * - * @param {string} address Address to conditionally subscribe to - */ - trackAddress (address) { - const updater = new BalanceController({ - address, - accountTracker: this.accountTracker, - txController: this.txController, - blockTracker: this.blockTracker, - }) - updater.store.subscribe((accountBalance) => { - const newState = this.store.getState() - newState.computedBalances[address] = accountBalance - this.store.updateState(newState) - }) - this.balances[address] = updater - updater.updateBalance() - } -} - -module.exports = ComputedbalancesController diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 1bf34a074..b9b44ea80 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -35,7 +35,6 @@ const MessageManager = require('./lib/message-manager') const PersonalMessageManager = require('./lib/personal-message-manager') const TypedMessageManager = require('./lib/typed-message-manager') const TransactionController = require('./controllers/transactions') -const BalancesController = require('./controllers/computed-balances') const TokenRatesController = require('./controllers/token-rates') const DetectTokensController = require('./controllers/detect-tokens') const ProviderApprovalController = require('./controllers/provider-approval') @@ -235,17 +234,9 @@ module.exports = class MetamaskController extends EventEmitter { } }) - // computed balances (accounting for pending transactions) - this.balancesController = new BalancesController({ - accountTracker: this.accountTracker, - txController: this.txController, - blockTracker: this.blockTracker, - }) this.networkController.on('networkDidChange', () => { - this.balancesController.updateAllBalances() this.setCurrentCurrency(this.currencyRateController.state.currentCurrency, function () {}) }) - this.balancesController.updateAllBalances() this.shapeshiftController = new ShapeShiftController(undefined, initState.ShapeShiftController) @@ -288,7 +279,6 @@ module.exports = class MetamaskController extends EventEmitter { NetworkController: this.networkController.store, AccountTracker: this.accountTracker.store, TxController: this.txController.memStore, - BalancesController: this.balancesController.store, CachedBalancesController: this.cachedBalancesController.store, TokenRatesController: this.tokenRatesController.store, MessageManager: this.messageManager.memStore, @@ -724,7 +714,6 @@ module.exports = class MetamaskController extends EventEmitter { } await this.preferencesController.syncAddresses(accounts) - await this.balancesController.updateAllBalances() await this.txController.pendingTxTracker.updatePendingTxs() return this.keyringController.fullUpdate() } diff --git a/development/states/first-time.json b/development/states/first-time.json index c6c4899d8..4a77bfbe5 100644 --- a/development/states/first-time.json +++ b/development/states/first-time.json @@ -4,7 +4,6 @@ "isUnlocked": false, "rpcTarget": "https://rawtestrpc.metamask.io/", "identities": {}, - "computedBalances": {}, "frequentRpcList": [], "unapprovedTxs": {}, "featureFlags": {"betaUI": false}, @@ -60,7 +59,6 @@ } }, "identities": {}, - "computedBalances": {}, "confirmTransaction": { "txData": {}, "tokenData": {}, diff --git a/development/states/navigate-txs.json b/development/states/navigate-txs.json index 4e47f8bca..39d24c1ea 100644 --- a/development/states/navigate-txs.json +++ b/development/states/navigate-txs.json @@ -170,7 +170,6 @@ }, "currentBlockGasLimit": "0x731e25", "selectedAddressTxList": [], - "computedBalances": {}, "unapprovedMsgs": {}, "unapprovedMsgCount": 0, "unapprovedPersonalMsgs": {}, diff --git a/development/states/pending-tx.json b/development/states/pending-tx.json index 82406a59d..f97bf3d43 100644 --- a/development/states/pending-tx.json +++ b/development/states/pending-tx.json @@ -687,7 +687,6 @@ ] } ], - "computedBalances": {}, "currentAccountTab": "history", "tokens": [ { diff --git a/test/data/2-state.json b/test/data/2-state.json index fe1d15cc1..9d6dc9af5 100644 --- a/test/data/2-state.json +++ b/test/data/2-state.json @@ -14,7 +14,6 @@ "currentBlockGasLimit": "", "unapprovedTxs": {}, "selectedAddressTxList": [], - "computedBalances": {}, "unapprovedMsgs": {}, "unapprovedMsgCount": 0, "unapprovedPersonalMsgs": {}, diff --git a/ui/app/pages/confirm-transaction/conf-tx.js b/ui/app/pages/confirm-transaction/conf-tx.js index d66cb699d..4f3868bc8 100644 --- a/ui/app/pages/confirm-transaction/conf-tx.js +++ b/ui/app/pages/confirm-transaction/conf-tx.js @@ -38,7 +38,6 @@ function mapStateToProps (state) { provider: state.metamask.provider, currentCurrency: state.metamask.currentCurrency, blockGasLimit: state.metamask.currentBlockGasLimit, - computedBalances: state.metamask.computedBalances, unapprovedMsgCount, unapprovedPersonalMsgCount, unapprovedTypedMessagesCount, From f9bdc8043609d54048180c3eda25b299037749e4 Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 22 Aug 2019 07:04:52 -0700 Subject: [PATCH 3/9] Remove blockscale, replace with ethgasstation --- ui/app/ducks/gas/gas-duck.test.js | 24 ++--- ui/app/ducks/gas/gas.duck.js | 29 ++++-- ui/app/selectors/custom-gas.js | 34 +++---- ui/app/selectors/custom-gas.test.js | 144 ++++++++++++++++------------ 4 files changed, 130 insertions(+), 101 deletions(-) diff --git a/ui/app/ducks/gas/gas-duck.test.js b/ui/app/ducks/gas/gas-duck.test.js index 82a91d5e7..85450489d 100644 --- a/ui/app/ducks/gas/gas-duck.test.js +++ b/ui/app/ducks/gas/gas-duck.test.js @@ -321,10 +321,10 @@ describe('Gas Duck', () => { assert.deepEqual( global.fetch.getCall(0).args, [ - 'https://dev.blockscale.net/api/gasexpress.json', + 'https://ethgasstation.info/json/ethgasAPI.json', { 'headers': {}, - 'referrer': 'https://dev.blockscale.net/api/', + 'referrer': 'http://ethgasstation.info/json/', 'referrerPolicy': 'no-referrer-when-downgrade', 'body': null, 'method': 'GET', @@ -341,12 +341,12 @@ describe('Gas Duck', () => { [{ type: SET_BASIC_GAS_ESTIMATE_DATA, value: { - average: 20, + average: 2, blockTime: 'mockBlock_time', blockNum: 'mockBlockNum', - fast: 30, - fastest: 40, - safeLow: 10, + fast: 3, + fastest: 4, + safeLow: 1, }, }] ) @@ -420,10 +420,10 @@ describe('Gas Duck', () => { assert.deepEqual( global.fetch.getCall(0).args, [ - 'https://dev.blockscale.net/api/gasexpress.json', + 'https://ethgasstation.info/json/ethgasAPI.json', { 'headers': {}, - 'referrer': 'https://dev.blockscale.net/api/', + 'referrer': 'http://ethgasstation.info/json/', 'referrerPolicy': 'no-referrer-when-downgrade', 'body': null, 'method': 'GET', @@ -440,12 +440,12 @@ describe('Gas Duck', () => { [{ type: SET_BASIC_GAS_ESTIMATE_DATA, value: { - average: 20, + average: 2, blockTime: 'mockBlock_time', blockNum: 'mockBlockNum', - fast: 30, - fastest: 40, - safeLow: 10, + fast: 3, + fastest: 4, + safeLow: 1, }, }] ) diff --git a/ui/app/ducks/gas/gas.duck.js b/ui/app/ducks/gas/gas.duck.js index e272455fc..700fec6b0 100644 --- a/ui/app/ducks/gas/gas.duck.js +++ b/ui/app/ducks/gas/gas.duck.js @@ -198,23 +198,31 @@ export function fetchBasicGasEstimates () { } async function fetchExternalBasicGasEstimates (dispatch) { - const response = await fetch('https://dev.blockscale.net/api/gasexpress.json', { + const response = await fetch('https://ethgasstation.info/json/ethgasAPI.json', { 'headers': {}, - 'referrer': 'https://dev.blockscale.net/api/', + 'referrer': 'http://ethgasstation.info/json/', 'referrerPolicy': 'no-referrer-when-downgrade', 'body': null, 'method': 'GET', - 'mode': 'cors'} - ) + 'mode': 'cors', + }) + const { - safeLow, - standard: average, - fast, - fastest, + safeLow: safeLowTimes10, + average: averageTimes10, + fast: fastTimes10, + fastest: fastestTimes10, block_time: blockTime, blockNum, } = await response.json() + const [average, fast, fastest, safeLow] = [ + averageTimes10, + fastTimes10, + fastestTimes10, + safeLowTimes10, + ].map(price => (new BigNumber(price)).div(10).toNumber()) + const basicEstimates = { safeLow, average, @@ -260,8 +268,9 @@ async function fetchExternalBasicGasAndTimeEstimates (dispatch) { 'referrerPolicy': 'no-referrer-when-downgrade', 'body': null, 'method': 'GET', - 'mode': 'cors'} - ) + 'mode': 'cors', + }) + const { average: averageTimes10, avgWait, diff --git a/ui/app/selectors/custom-gas.js b/ui/app/selectors/custom-gas.js index 1f7ee8f9f..79dd0b8f4 100644 --- a/ui/app/selectors/custom-gas.js +++ b/ui/app/selectors/custom-gas.js @@ -239,10 +239,10 @@ function getRenderableBasicEstimateData (state, gasLimit) { gas: { basicEstimates: { safeLow, + average, fast, - fastest, safeLowWait, - fastestWait, + avgWait, fastWait, }, }, @@ -260,21 +260,21 @@ function getRenderableBasicEstimateData (state, gasLimit) { }, { labelKey: 'average', - feeInPrimaryCurrency: getRenderableEthFee(fast, gasLimit), + feeInPrimaryCurrency: getRenderableEthFee(average, gasLimit), feeInSecondaryCurrency: showFiat - ? getRenderableConvertedCurrencyFee(fast, gasLimit, currentCurrency, conversionRate) + ? getRenderableConvertedCurrencyFee(average, gasLimit, currentCurrency, conversionRate) : '', - timeEstimate: fastWait && getRenderableTimeEstimate(fastWait), - priceInHexWei: getGasPriceInHexWei(fast), + timeEstimate: avgWait && getRenderableTimeEstimate(avgWait), + priceInHexWei: getGasPriceInHexWei(average), }, { labelKey: 'fast', - feeInPrimaryCurrency: getRenderableEthFee(fastest, gasLimit), + feeInPrimaryCurrency: getRenderableEthFee(fast, gasLimit), feeInSecondaryCurrency: showFiat - ? getRenderableConvertedCurrencyFee(fastest, gasLimit, currentCurrency, conversionRate) + ? getRenderableConvertedCurrencyFee(fast, gasLimit, currentCurrency, conversionRate) : '', - timeEstimate: fastestWait && getRenderableTimeEstimate(fastestWait), - priceInHexWei: getGasPriceInHexWei(fastest), + timeEstimate: fastWait && getRenderableTimeEstimate(fastWait), + priceInHexWei: getGasPriceInHexWei(fast), }, ] } @@ -294,8 +294,8 @@ function getRenderableEstimateDataForSmallButtonsFromGWEI (state) { gas: { basicEstimates: { safeLow, + average, fast, - fastest, }, }, } = state @@ -312,18 +312,18 @@ function getRenderableEstimateDataForSmallButtonsFromGWEI (state) { { labelKey: 'average', feeInSecondaryCurrency: showFiat - ? getRenderableConvertedCurrencyFee(fast, gasLimit, currentCurrency, conversionRate) + ? getRenderableConvertedCurrencyFee(average, gasLimit, currentCurrency, conversionRate) : '', - feeInPrimaryCurrency: getRenderableEthFee(fast, gasLimit, NUMBER_OF_DECIMALS_SM_BTNS, true), - priceInHexWei: getGasPriceInHexWei(fast, true), + feeInPrimaryCurrency: getRenderableEthFee(average, gasLimit, NUMBER_OF_DECIMALS_SM_BTNS, true), + priceInHexWei: getGasPriceInHexWei(average, true), }, { labelKey: 'fast', feeInSecondaryCurrency: showFiat - ? getRenderableConvertedCurrencyFee(fastest, gasLimit, currentCurrency, conversionRate) + ? getRenderableConvertedCurrencyFee(fast, gasLimit, currentCurrency, conversionRate) : '', - feeInPrimaryCurrency: getRenderableEthFee(fastest, gasLimit, NUMBER_OF_DECIMALS_SM_BTNS, true), - priceInHexWei: getGasPriceInHexWei(fastest, true), + feeInPrimaryCurrency: getRenderableEthFee(fast, gasLimit, NUMBER_OF_DECIMALS_SM_BTNS, true), + priceInHexWei: getGasPriceInHexWei(fast, true), }, ] } diff --git a/ui/app/selectors/custom-gas.test.js b/ui/app/selectors/custom-gas.test.js index 6df4a60c7..efdc9db48 100644 --- a/ui/app/selectors/custom-gas.test.js +++ b/ui/app/selectors/custom-gas.test.js @@ -85,18 +85,18 @@ describe('custom-gas selectors', () => { }, { labelKey: 'average', + feeInPrimaryCurrency: '0.000084 ETH', + feeInSecondaryCurrency: '$0.02', + priceInHexWei: '0xee6b2800', + timeEstimate: '~5 min 18 sec', + }, + { + labelKey: 'fast', feeInSecondaryCurrency: '$0.03', feeInPrimaryCurrency: '0.000105 ETH', timeEstimate: '~3 min 18 sec', priceInHexWei: '0x12a05f200', }, - { - labelKey: 'fast', - feeInSecondaryCurrency: '$0.05', - feeInPrimaryCurrency: '0.00021 ETH', - timeEstimate: '~30 sec', - priceInHexWei: '0x2540be400', - }, ], mockState: { metamask: { @@ -114,6 +114,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 2.5, safeLowWait: 6.6, + average: 4, + avgWait: 5.3, fast: 5, fastWait: 3.3, fastest: 10, @@ -132,19 +134,19 @@ describe('custom-gas selectors', () => { priceInHexWei: '0x12a05f200', }, { + feeInPrimaryCurrency: '0.000147 ETH', + feeInSecondaryCurrency: '$0.38', labelKey: 'average', + priceInHexWei: '0x1a13b8600', + timeEstimate: '~10 min 6 sec', + }, + { + labelKey: 'fast', feeInSecondaryCurrency: '$0.54', feeInPrimaryCurrency: '0.00021 ETH', timeEstimate: '~6 min 36 sec', priceInHexWei: '0x2540be400', }, - { - labelKey: 'fast', - feeInSecondaryCurrency: '$1.07', - feeInPrimaryCurrency: '0.00042 ETH', - timeEstimate: '~1 min', - priceInHexWei: '0x4a817c800', - }, ], mockState: { metamask: { @@ -165,6 +167,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 5, safeLowWait: 13.2, + average: 7, + avgWait: 10.1, fast: 10, fastWait: 6.6, fastest: 20, @@ -184,17 +188,17 @@ describe('custom-gas selectors', () => { }, { labelKey: 'average', + feeInPrimaryCurrency: '0.000147 ETH', feeInSecondaryCurrency: '', - feeInPrimaryCurrency: '0.00021 ETH', - timeEstimate: '~6 min 36 sec', - priceInHexWei: '0x2540be400', + timeEstimate: '~10 min 6 sec', + priceInHexWei: '0x1a13b8600', }, { labelKey: 'fast', feeInSecondaryCurrency: '', - feeInPrimaryCurrency: '0.00042 ETH', - timeEstimate: '~1 min', - priceInHexWei: '0x4a817c800', + feeInPrimaryCurrency: '0.00021 ETH', + timeEstimate: '~6 min 36 sec', + priceInHexWei: '0x2540be400', }, ], mockState: { @@ -216,6 +220,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 5, safeLowWait: 13.2, + average: 7, + avgWait: 10.1, fast: 10, fastWait: 6.6, fastest: 20, @@ -235,18 +241,18 @@ describe('custom-gas selectors', () => { }, { labelKey: 'average', + feeInPrimaryCurrency: '0.000147 ETH', + feeInSecondaryCurrency: '$0.38', + priceInHexWei: '0x1a13b8600', + timeEstimate: '~10 min 6 sec', + }, + { + labelKey: 'fast', feeInSecondaryCurrency: '$0.54', feeInPrimaryCurrency: '0.00021 ETH', timeEstimate: '~6 min 36 sec', priceInHexWei: '0x2540be400', }, - { - labelKey: 'fast', - feeInSecondaryCurrency: '$1.07', - feeInPrimaryCurrency: '0.00042 ETH', - timeEstimate: '~1 min', - priceInHexWei: '0x4a817c800', - }, ], mockState: { metamask: { @@ -267,6 +273,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 5, safeLowWait: 13.2, + average: 7, + avgWait: 10.1, fast: 10, fastWait: 6.6, fastest: 20, @@ -286,18 +294,18 @@ describe('custom-gas selectors', () => { }, { labelKey: 'average', + feeInPrimaryCurrency: '0.000147 ETH', + feeInSecondaryCurrency: '$0.38', + priceInHexWei: '0x1a13b8600', + timeEstimate: '~10 min 6 sec', + }, + { + labelKey: 'fast', feeInSecondaryCurrency: '$0.54', feeInPrimaryCurrency: '0.00021 ETH', timeEstimate: '~6 min 36 sec', priceInHexWei: '0x2540be400', }, - { - labelKey: 'fast', - feeInSecondaryCurrency: '$1.07', - feeInPrimaryCurrency: '0.00042 ETH', - timeEstimate: '~1 min', - priceInHexWei: '0x4a817c800', - }, ], mockState: { metamask: { @@ -318,6 +326,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 5, safeLowWait: 13.2, + average: 7, + avgWait: 10.1, fast: 10, fastWait: 6.6, fastest: 20, @@ -349,16 +359,16 @@ describe('custom-gas selectors', () => { priceInHexWei: '0x5d21dba00', }, { - feeInSecondaryCurrency: '$0.27', - feeInPrimaryCurrency: '0.00105 ETH', + feeInSecondaryCurrency: '$0.16', + feeInPrimaryCurrency: '0.00063 ETH', labelKey: 'average', - priceInHexWei: '0xba43b7400', + priceInHexWei: '0x6fc23ac00', }, { - feeInSecondaryCurrency: '$0.54', - feeInPrimaryCurrency: '0.0021 ETH', + feeInSecondaryCurrency: '$0.27', + feeInPrimaryCurrency: '0.00105 ETH', labelKey: 'fast', - priceInHexWei: '0x174876e800', + priceInHexWei: '0xba43b7400', }, ], mockState: { @@ -380,6 +390,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 25, safeLowWait: 6.6, + average: 30, + avgWait: 5.5, fast: 50, fastWait: 3.3, fastest: 100, @@ -397,16 +409,16 @@ describe('custom-gas selectors', () => { priceInHexWei: '0xba43b7400', }, { - feeInSecondaryCurrency: '$5.37', - feeInPrimaryCurrency: '0.0021 ETH', + feeInSecondaryCurrency: '$4.03', + feeInPrimaryCurrency: '0.00157 ETH', labelKey: 'average', - priceInHexWei: '0x174876e800', + priceInHexWei: '0x1176592e00', }, { - feeInSecondaryCurrency: '$10.74', - feeInPrimaryCurrency: '0.0042 ETH', + feeInSecondaryCurrency: '$5.37', + feeInPrimaryCurrency: '0.0021 ETH', labelKey: 'fast', - priceInHexWei: '0x2e90edd000', + priceInHexWei: '0x174876e800', }, ], mockState: { @@ -428,6 +440,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 50, safeLowWait: 13.2, + average: 75, + avgWait: 9.6, fast: 100, fastWait: 6.6, fastest: 200, @@ -446,15 +460,15 @@ describe('custom-gas selectors', () => { }, { feeInSecondaryCurrency: '', - feeInPrimaryCurrency: '0.0021 ETH', + feeInPrimaryCurrency: '0.00157 ETH', labelKey: 'average', - priceInHexWei: '0x174876e800', + priceInHexWei: '0x1176592e00', }, { feeInSecondaryCurrency: '', - feeInPrimaryCurrency: '0.0042 ETH', + feeInPrimaryCurrency: '0.0021 ETH', labelKey: 'fast', - priceInHexWei: '0x2e90edd000', + priceInHexWei: '0x174876e800', }, ], mockState: { @@ -476,6 +490,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 50, safeLowWait: 13.2, + average: 75, + avgWait: 9.6, fast: 100, fastWait: 6.6, fastest: 200, @@ -493,16 +509,16 @@ describe('custom-gas selectors', () => { priceInHexWei: '0xba43b7400', }, { - feeInSecondaryCurrency: '$5.37', - feeInPrimaryCurrency: '0.0021 ETH', + feeInSecondaryCurrency: '$4.03', + feeInPrimaryCurrency: '0.00157 ETH', labelKey: 'average', - priceInHexWei: '0x174876e800', + priceInHexWei: '0x1176592e00', }, { - feeInSecondaryCurrency: '$10.74', - feeInPrimaryCurrency: '0.0042 ETH', + feeInSecondaryCurrency: '$5.37', + feeInPrimaryCurrency: '0.0021 ETH', labelKey: 'fast', - priceInHexWei: '0x2e90edd000', + priceInHexWei: '0x174876e800', }, ], mockState: { @@ -524,6 +540,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 50, safeLowWait: 13.2, + average: 75, + avgWait: 9.6, fast: 100, fastWait: 6.6, fastest: 200, @@ -541,16 +559,16 @@ describe('custom-gas selectors', () => { priceInHexWei: '0xba43b7400', }, { - feeInSecondaryCurrency: '$5.37', - feeInPrimaryCurrency: '0.0021 ETH', + feeInSecondaryCurrency: '$4.03', + feeInPrimaryCurrency: '0.00157 ETH', labelKey: 'average', - priceInHexWei: '0x174876e800', + priceInHexWei: '0x1176592e00', }, { - feeInSecondaryCurrency: '$10.74', - feeInPrimaryCurrency: '0.0042 ETH', + feeInSecondaryCurrency: '$5.37', + feeInPrimaryCurrency: '0.0021 ETH', labelKey: 'fast', - priceInHexWei: '0x2e90edd000', + priceInHexWei: '0x174876e800', }, ], mockState: { @@ -572,6 +590,8 @@ describe('custom-gas selectors', () => { blockTime: 14.16326530612245, safeLow: 50, safeLowWait: 13.2, + average: 75, + avgWait: 9.6, fast: 100, fastWait: 6.6, fastest: 200, From 2306dbd75e0befba488fecdddaccb468145ea985 Mon Sep 17 00:00:00 2001 From: Erik Marks <25517051+rekmarks@users.noreply.github.com> Date: Mon, 26 Aug 2019 06:04:48 -0600 Subject: [PATCH 4/9] Fix undefined tx id error (#7053) Also delete unused function --- .../confirm-transaction/confirm-transaction.component.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ui/app/pages/confirm-transaction/confirm-transaction.component.js b/ui/app/pages/confirm-transaction/confirm-transaction.component.js index c8819dac3..9e7b01baf 100644 --- a/ui/app/pages/confirm-transaction/confirm-transaction.component.js +++ b/ui/app/pages/confirm-transaction/confirm-transaction.component.js @@ -41,11 +41,6 @@ export default class ConfirmTransaction extends Component { isTokenMethodAction: PropTypes.bool, } - getParamsTransactionId () { - const { match: { params: { id } = {} } } = this.props - return id || null - } - componentDidMount () { const { totalUnapprovedCount = 0, @@ -70,7 +65,8 @@ export default class ConfirmTransaction extends Component { if (isTokenMethodAction) { getTokenParams(to) } - this.props.setTransactionToConfirm(transactionId || paramsTransactionId) + const txId = transactionId || paramsTransactionId + if (txId) this.props.setTransactionToConfirm(txId) } componentDidUpdate (prevProps) { From 4e29fb97d60995f053bcaa63d43c9771520f7a91 Mon Sep 17 00:00:00 2001 From: Erik Marks <25517051+rekmarks@users.noreply.github.com> Date: Mon, 26 Aug 2019 10:07:44 -0600 Subject: [PATCH 5/9] Remove Babel 6 from internal dependencies (#7037) remove babel@6 from internal deps update internal deps to latest published versions --- package.json | 22 ++-- yarn.lock | 326 +++++++++++++++++++++------------------------------ 2 files changed, 146 insertions(+), 202 deletions(-) diff --git a/package.json b/package.json index a538ab700..512058239 100644 --- a/package.json +++ b/package.json @@ -77,18 +77,18 @@ "detectrtc": "^1.3.6", "dnode": "^1.2.2", "end-of-stream": "^1.1.0", - "eth-block-tracker": "^4.1.0", + "eth-block-tracker": "^4.4.2", "eth-contract-metadata": "^1.9.2", "eth-ens-namehash": "^2.0.8", - "eth-json-rpc-filters": "^3.0.4", - "eth-json-rpc-infura": "^3.2.0", - "eth-keyring-controller": "^4.0.1", + "eth-json-rpc-filters": "^4.1.0", + "eth-json-rpc-infura": "^4.0.1", + "eth-keyring-controller": "^5.0.1", "eth-ledger-bridge-keyring": "^0.2.0", "eth-method-registry": "^1.2.0", "eth-phishing-detect": "^1.1.4", "eth-query": "^2.1.2", "eth-sig-util": "^2.3.0", - "eth-token-tracker": "^1.1.5", + "eth-token-tracker": "^1.1.10", "eth-trezor-keyring": "^0.4.0", "ethereumjs-abi": "^0.6.4", "ethereumjs-tx": "1.3.7", @@ -103,24 +103,24 @@ "extensionizer": "^1.0.1", "fast-json-patch": "^2.0.4", "fuse.js": "^3.2.0", - "gaba": "^1.5.0", + "gaba": "^1.6.0", "human-standard-token-abi": "^2.0.0", "jazzicon": "^1.2.0", - "json-rpc-engine": "^4.0.0", + "json-rpc-engine": "^5.1.3", "json-rpc-middleware-stream": "^2.1.1", "jsonschema": "^1.2.4", "lodash.debounce": "^4.0.8", "lodash.shuffle": "^4.2.0", "loglevel": "^1.4.1", "luxon": "^1.8.2", - "metamask-inpage-provider": "^2.0.1", + "metamask-inpage-provider": "^2.0.3", "metamask-logo": "^2.1.4", "mkdirp": "^0.5.1", "multihashes": "^0.4.12", "nonce-tracker": "^1.0.0", "number-to-bn": "^1.7.0", "obj-multiplex": "^1.0.0", - "obs-store": "^3.0.2", + "obs-store": "^4.0.3", "percentile": "^1.2.0", "pify": "^3.0.0", "polyfill-crypto.getrandomvalues": "^1.0.0", @@ -163,7 +163,7 @@ "textarea-caret": "^3.0.1", "valid-url": "^1.0.9", "web3": "^0.20.7", - "web3-stream-provider": "^3.0.1", + "web3-stream-provider": "^4.0.0", "webrtc-adapter": "^6.3.0", "xtend": "^4.0.1" }, @@ -201,7 +201,7 @@ "eslint-plugin-json": "^1.2.0", "eslint-plugin-mocha": "^5.0.0", "eslint-plugin-react": "^7.4.0", - "eth-json-rpc-middleware": "^4.1.3", + "eth-json-rpc-middleware": "^4.1.6", "fetch-mock": "^6.5.2", "file-loader": "^1.1.11", "fs-extra": "^6.0.1", diff --git a/yarn.lock b/yarn.lock index c19a6be1b..7ec582150 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1048,7 +1048,7 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.3.4", "@babel/preset-env@^7.4.3", "@babel/preset-env@^7.4.5": +"@babel/preset-env@^7.4.3", "@babel/preset-env@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== @@ -2117,11 +2117,6 @@ "@types/unist" "*" "@types/vfile-message" "*" -"@types/xtend@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/xtend/-/xtend-4.0.2.tgz#07b60212f1f92b6635cb719c8b4a5521ef0d685c" - integrity sha1-B7YCEvH5K2Y1y3Gci0pVIe8NaFw= - "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -3791,7 +3786,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: +babel-plugin-transform-es2015-block-scoping@^6.23.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= @@ -3802,7 +3797,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: +babel-plugin-transform-es2015-classes@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= @@ -3817,7 +3812,7 @@ babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-cla babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: +babel-plugin-transform-es2015-computed-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= @@ -3825,14 +3820,14 @@ babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transfor babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= @@ -3840,14 +3835,14 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2 babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: +babel-plugin-transform-es2015-function-name@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= @@ -3882,7 +3877,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= @@ -3891,7 +3886,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-e babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: +babel-plugin-transform-es2015-modules-umd@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= @@ -3900,7 +3895,7 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015 babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: +babel-plugin-transform-es2015-object-super@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= @@ -3908,7 +3903,7 @@ babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es201 babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: +babel-plugin-transform-es2015-parameters@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= @@ -3920,7 +3915,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015- babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= @@ -3935,7 +3930,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: +babel-plugin-transform-es2015-sticky-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= @@ -3951,14 +3946,14 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: +babel-plugin-transform-es2015-unicode-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= @@ -4008,7 +4003,7 @@ babel-plugin-transform-react-remove-prop-types@0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== -babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: +babel-plugin-transform-regenerator@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= @@ -4100,36 +4095,6 @@ babel-preset-env@^1.7.0: invariant "^2.2.2" semver "^5.3.0" -babel-preset-es2015@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" - integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk= - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.24.1" - babel-plugin-transform-es2015-classes "^6.24.1" - babel-plugin-transform-es2015-computed-properties "^6.24.1" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.24.1" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.24.1" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-plugin-transform-es2015-modules-systemjs "^6.24.1" - babel-plugin-transform-es2015-modules-umd "^6.24.1" - babel-plugin-transform-es2015-object-super "^6.24.1" - babel-plugin-transform-es2015-parameters "^6.24.1" - babel-plugin-transform-es2015-shorthand-properties "^6.24.1" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.24.1" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.24.1" - babel-plugin-transform-regenerator "^6.24.1" - "babel-preset-minify@^0.5.0 || 0.6.0-alpha.5": version "0.5.0" resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz#e25bb8d3590087af02b650967159a77c19bfb96b" @@ -8436,18 +8401,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -eth-block-tracker@^1.0.7: - version "1.1.3" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-1.1.3.tgz#c46a0f2bced9b49b88c7f3918856d7ec57fbdc29" - integrity sha512-gDIknKCbY9npDA0JmBYCMDPLBj6GUe7xHYI2YTOQVuM8et6N2FxqrS1KhtThPWAeTgFPFkvyOj4eSBaJR0Oekg== - dependencies: - async-eventemitter "^0.2.2" - babelify "^7.3.0" - eth-query "^2.1.0" - ethjs-util "^0.1.3" - pify "^2.3.0" - tape "^4.6.3" - eth-block-tracker@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz#95cd5e763c7293e0b1b2790a2a39ac2ac188a5e1" @@ -8461,14 +8414,15 @@ eth-block-tracker@^3.0.0: pify "^2.3.0" tape "^4.6.3" -eth-block-tracker@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.1.0.tgz#46c5c417044e68ffd2b3887f4ae80900ef071219" - integrity sha512-991xTy6CzYYbizkHmgRFFI9iGx1OCISve8sSLuOlt7/yD7VFH1Jd8mOmBqxaG5ywGkIXdwAR78nQ2WDReETzBg== +eth-block-tracker@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.2.tgz#cd25f5536e3f003f677364be630b9879d3aa69c1" + integrity sha512-Vs6zYKhzyUQUfNgtyz8mItG+yr/e1ats9fqKkRUgSbS+nr4Jn/FHYXxkm5GFlWnMI2xn5TBSvKYcrgB0/0NkDw== dependencies: - eth-json-rpc-infura "^3.1.2" + "@babel/plugin-transform-runtime" "^7.5.5" + "@babel/runtime" "^7.5.5" eth-query "^2.1.0" - events "^3.0.0" + json-rpc-random-id "^1.0.1" pify "^3.0.0" safe-event-emitter "^1.0.1" @@ -8506,19 +8460,26 @@ eth-hd-keyring@^2.0.0: events "^1.1.1" xtend "^4.0.1" -eth-json-rpc-filters@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-3.0.4.tgz#456cdb7108dcb563fcfd25d4b36fd426d42c0b06" - integrity sha512-+prFjLT//J97Kvn1H9tbyIeggF3TRxbEtWoDDvnDUQ+Kw8z+baihBfhoA1sDAEuMRE0tNQRkNLWhrXoycxu45A== +eth-json-rpc-errors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-errors/-/eth-json-rpc-errors-1.0.1.tgz#4204d81167bb49de1f5e7c708d72e52c177c821e" + integrity sha512-Z3iESIy5x2m9Phe/H885E3RWifZ/K+T08CUwd3djcUILwxP+XoMI9+Jspv1UkMcFlZFKigzOGZinIzmOpvBLhg== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-json-rpc-filters@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.0.tgz#e7357a38983cde29858818dc55d394b9cf47c0f0" + integrity sha512-r/Zk0Tvx3BNYOCPCSEXxe2BeZJpKlA+E+76kYo8g95cHGXRP4uXKDnoTkFaRc/mamabmRhfyCoOjhDDx8iA3eA== dependencies: await-semaphore "^0.1.3" - eth-json-rpc-middleware "^2.6.1" - ethjs-query "^0.3.8" - json-rpc-engine "^3.8.0" + eth-json-rpc-middleware "^4.1.4" + eth-query "^2.1.2" + json-rpc-engine "^5.1.3" lodash.flatmap "^4.5.0" safe-event-emitter "^1.0.1" -eth-json-rpc-infura@^3.1.0, eth-json-rpc-infura@^3.1.2, eth-json-rpc-infura@^3.2.0: +eth-json-rpc-infura@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.0.tgz#62c3f516b51351038c32a548704467cec113ca8f" integrity sha512-FLcpdxPRVBCUc7yoE+wHGvyYg2lATedP+/q7PsKvaSzQpJbgTG4ZjLnyrLanxDr6M1k/dSNa6V5QnILwjUKJcw== @@ -8529,6 +8490,17 @@ eth-json-rpc-infura@^3.1.0, eth-json-rpc-infura@^3.1.2, eth-json-rpc-infura@^3.2 json-rpc-error "^2.0.0" tape "^4.8.0" +eth-json-rpc-infura@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-4.0.1.tgz#41159b7e90cb0a5a3d75e855339a05639ed4aa6d" + integrity sha512-7pZfz6bKy4KO5mYVZ1dqsqaTsbo0sQUNo4C11NuTJ0BPjzNRJpQhBTNgRpK0Hpys0jJe898KYqdSWxuaWuc18A== + dependencies: + cross-fetch "^2.1.1" + eth-json-rpc-errors "^1.0.1" + eth-json-rpc-middleware "^4.1.4" + json-rpc-engine "^5.1.3" + tape "^4.8.0" + eth-json-rpc-middleware@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz#5c9d4c28f745ccb01630f0300ba945f4bef9593f" @@ -8548,54 +8520,30 @@ eth-json-rpc-middleware@^1.5.0: promise-to-callback "^1.0.0" tape "^4.6.3" -eth-json-rpc-middleware@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-2.6.1.tgz#1402f1f72af2254585d3ae0318c4a522ca6bf8ef" - integrity sha512-Z7zGM4q76YNjZISEBtboSTBTxG6HQ5yImwP2YPeQtddkhS5kq62+Fz5Ts352GfGjtTVyJamfvy8ozxJbHrfoJw== +eth-json-rpc-middleware@^4.1.4, eth-json-rpc-middleware@^4.1.5, eth-json-rpc-middleware@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.1.6.tgz#c625a38888b7697fbb4fcbf06dae17251ac3b76e" + integrity sha512-8AdegPz5qmSRKYyFJhVdkM5Uv3L3AOqD8sIctZuQxmyCsUoZDfDwbElpcrAODAA43cei69t64leis016rR690g== dependencies: - async "^2.5.0" btoa "^1.2.1" clone "^2.1.1" + eth-json-rpc-errors "^1.0.1" eth-query "^2.1.2" eth-sig-util "^1.4.2" - eth-tx-summary "^3.2.4" ethereumjs-block "^1.6.0" - ethereumjs-tx "^1.3.3" - ethereumjs-util "^5.1.2" - ethereumjs-vm "^2.1.0" - fetch-ponyfill "^4.0.0" - json-rpc-engine "^3.6.3" - json-rpc-error "^2.0.0" - json-stable-stringify "^1.0.1" - pify "^3.0.0" - promise-to-callback "^1.0.0" - safe-event-emitter "^1.0.1" - tape "^4.6.3" - -eth-json-rpc-middleware@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.1.3.tgz#cc8b43440f2e983a0bc1388406c9bd623ee91e89" - integrity sha512-g663u/zK11huhkmP7jeFihUcwA2acYglIw2wO50G7zIXYoZ6L+NHJjEwW7gwVMEUy7rgB3Qx76ql/+UYJfIb9w== - dependencies: - btoa "^1.2.1" - clone "^2.1.1" - eth-query "^2.1.2" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.6.0" - ethereumjs-tx "^1.3.3" + ethereumjs-tx "^1.3.7" ethereumjs-util "^5.1.2" ethereumjs-vm "^2.6.0" fetch-ponyfill "^4.0.0" - json-rpc-engine "^5.0.0" - json-rpc-error "^2.0.0" + json-rpc-engine "^5.1.3" json-stable-stringify "^1.0.1" pify "^3.0.0" safe-event-emitter "^1.0.1" -eth-keyring-controller@^4.0.0, eth-keyring-controller@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eth-keyring-controller/-/eth-keyring-controller-4.0.1.tgz#69cb5f6d0ad2ae3b4f1cb59f6651c1f5a111d708" - integrity sha512-i+aff88wsDdgf99iPNE1/RwNos1EtMk0vmc1nsiaCBxrMJSMyNrqEB0njrv2TYWiJj5TnUaZ63vSUYoUYp2eHg== +eth-keyring-controller@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eth-keyring-controller/-/eth-keyring-controller-5.0.1.tgz#695ccde891bb050100c7ad39c4ddf8bfe2da6117" + integrity sha512-u87mdyQ1cOyLyaSME0XzV+qPvM+AO8MMMe+/rpvYxCYRK9KtvGTriyfF67zFcsYVaoRS5Ovc4QiQXCAZEyf3QQ== dependencies: bip39 "^2.4.0" bluebird "^3.5.0" @@ -8605,7 +8553,7 @@ eth-keyring-controller@^4.0.0, eth-keyring-controller@^4.0.1: eth-simple-keyring "^2.0.0" ethereumjs-util "^5.1.2" loglevel "^1.5.0" - obs-store "^2.4.1" + obs-store "^4.0.3" promise-filter "^1.1.0" eth-ledger-bridge-keyring@^0.2.0: @@ -8733,13 +8681,13 @@ eth-simple-keyring@^2.0.0: events "^1.1.1" xtend "^4.0.1" -eth-token-tracker@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/eth-token-tracker/-/eth-token-tracker-1.1.6.tgz#0396a3a8cc2055c1223850d6c0edf1991b89fc4c" - integrity sha512-p3tD2v65XHeFv7DoUUxvln6xOC/MYmmocLyvvcT/s38vcnQdUJ76oNaon98vTQr3Y61qbaiy19c4bvuKaezqlA== +eth-token-tracker@^1.1.10: + version "1.1.10" + resolved "https://registry.yarnpkg.com/eth-token-tracker/-/eth-token-tracker-1.1.10.tgz#3899a33cc442c0405e3923e71e0eff530bd1258b" + integrity sha512-rmY/hoTK4I1ta0bEp3xeLKPxbFDcDgjWBGXKOrdCLmSNY8zKsymQzrfUF01b6olahxxs7hAf++f52Vk+TfOlzg== dependencies: deep-equal "^1.0.1" - eth-block-tracker "^1.0.7" + eth-block-tracker "^4.4.2" ethjs "^0.3.6" ethjs-contract "^0.2.1" ethjs-query "^0.3.7" @@ -8758,7 +8706,7 @@ eth-trezor-keyring@^0.4.0: hdkey "0.8.0" trezor-connect "^7.0.1" -eth-tx-summary@^3.1.2, eth-tx-summary@^3.2.4: +eth-tx-summary@^3.1.2: version "3.2.4" resolved "https://registry.yarnpkg.com/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz#e10eb95eb57cdfe549bf29f97f1e4f1db679035c" integrity sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg== @@ -8864,7 +8812,7 @@ ethereumjs-common@^1.1.0: resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.2.1.tgz#e8bbc43f6a6ece1447cc1faebbef9122adbd153f" integrity sha512-VNr8MBdKHHuWgpYhRUhkp05P0mTcTH8Udb8wXcnnxUmwOWl388Sk/Lw2KL1rQNsV3gid2BB2auHT4vcfs9PFbw== -ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.4: +ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.4, ethereumjs-tx@^1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== @@ -8872,7 +8820,7 @@ ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" -ethereumjs-util@5.2.0, ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5, ethereumjs-util@^5.2.0: +ethereumjs-util@5.2.0, ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5: version "5.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== @@ -8896,7 +8844,7 @@ ethereumjs-util@^4.0.1, ethereumjs-util@^4.3.0, ethereumjs-util@^4.4.0: rlp "^2.0.0" secp256k1 "^3.0.1" -ethereumjs-util@^6.0.0: +ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== @@ -10313,21 +10261,20 @@ fuse.js@^3.4.4: resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.5.tgz#8954fb43f9729bd5dbcb8c08f251db552595a7a6" integrity sha512-s9PGTaQIkT69HaeoTVjwGsLfb8V8ScJLx5XGFcKHg0MqLUH/UZ4EKOtqtXX9k7AFqCGxD1aJmYb8Q5VYDibVRQ== -gaba@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/gaba/-/gaba-1.5.0.tgz#1637886f73f1fe5964e321437f4a40c7ce065527" - integrity sha512-3gMyA0uYPap7uFnuZLSczjFlhhnReAMTdo70ks+H0Liho6rXVGk9jlzP/pIJ9+lQbU90552FWHuKjNapD4Y5+w== +gaba@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gaba/-/gaba-1.6.0.tgz#07bf75bcefc62f4f1f5567e3d8d4b16307c86558" + integrity sha512-9/2WvgdJ8DIpyHaoybXZreNJEr1WhEjRrEymHZWh7Uju5YzHkGWtkS0a4vsisIx+swmjMues8SSAh9mKyvOvkQ== dependencies: - "@types/xtend" "^4.0.2" await-semaphore "^0.1.3" eth-contract-metadata "^1.9.1" - eth-json-rpc-infura "^3.1.2" - eth-keyring-controller "^4.0.0" + eth-json-rpc-infura "^4.0.1" + eth-keyring-controller "^5.0.1" eth-method-registry "1.1.0" eth-phishing-detect "^1.1.13" eth-query "^2.1.2" eth-sig-util "^2.1.0" - ethereumjs-util "^5.2.0" + ethereumjs-util "^6.1.0" ethereumjs-wallet "0.6.0" ethjs-query "^0.3.8" human-standard-collectible-abi "^1.0.2" @@ -10338,7 +10285,7 @@ gaba@^1.5.0: single-call-balance-checker-abi "^1.0.0" uuid "^3.3.2" web3 "^0.20.7" - web3-provider-engine "github:metamask/provider-engine#e91367bc2c2535fbf7add06244d9d4ec98620042" + web3-provider-engine "^15.0.3" ganache-cli@^6.4.4: version "6.4.4" @@ -12956,7 +12903,7 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0, json-rpc-engine@^3.6.3, json-rpc-engine@^3.8.0: +json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0: version "3.8.0" resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz#9d4ff447241792e1d0a232f6ef927302bb0c62a9" integrity sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA== @@ -12968,26 +12915,13 @@ json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0, json-rpc-engine@^3.6.3, json-rpc promise-to-callback "^1.0.0" safe-event-emitter "^1.0.1" -json-rpc-engine@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-4.0.0.tgz#ad5ddb2ffa207116df3a5297febd04b623ae3f7c" - integrity sha512-SvOcy0SFqdMyWH/8muc8G88CvrlzQW4XC0/HA+ukc1nFlj4im3rcwGjivhznBMa5xiEK4EzO404Qi1cB0svU0g== - dependencies: - async "^2.0.1" - babel-preset-env "^1.7.0" - babelify "^7.3.0" - json-rpc-error "^2.0.0" - promise-to-callback "^1.0.0" - safe-event-emitter "^1.0.1" - -json-rpc-engine@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.1.1.tgz#880f2ff249338925e69de9f399847a6ca2c61268" - integrity sha512-+2rEKzbEtKq9MPluZIbq60XIToQa3rN2m35Gu4stShxpo1CKVhISYjKJyizL9/XBmNIiRLjLwDQUT6I/zHgj1g== +json-rpc-engine@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.1.3.tgz#d7410b649e107ed3437db33797f44c51d507002c" + integrity sha512-/rQm6uts6JtjOVEaeSDCJgHDTlbfKDdoR1Uh3f+6za2SwhJyz+jL9iED2aapU9Yx7decLlI7wjVUIwxRg/R7WQ== dependencies: - "@babel/preset-env" "^7.3.4" async "^2.0.1" - babelify "^10.0.0" + eth-json-rpc-errors "^1.0.1" promise-to-callback "^1.0.0" safe-event-emitter "^1.0.1" @@ -13006,7 +12940,7 @@ json-rpc-middleware-stream@^2.1.1: readable-stream "^2.3.3" safe-event-emitter "^1.0.1" -json-rpc-random-id@^1.0.0: +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" integrity sha1-uknZat7RRE27jaPSA3SKy7zeyMg= @@ -14624,16 +14558,16 @@ mersenne-twister@^1.0.1: resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" integrity sha1-+RZhjuQ9cXnvz2Qb7EUx65Zwl4o= -metamask-inpage-provider@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/metamask-inpage-provider/-/metamask-inpage-provider-2.0.1.tgz#ccaf553b1778c7e85b43e9dadfbffe87bf5401e4" - integrity sha512-ujaqInvwdCnvsjfiqQ9KXcX6MPEJlB9ZPPXCfRmeElfLuafwWPPURD/3AjmLhm9lL06nLwQFFNEd25UeokFfqg== +metamask-inpage-provider@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/metamask-inpage-provider/-/metamask-inpage-provider-2.0.3.tgz#8a8ccf73d830ec76b3c746265d5977edf36a5c2f" + integrity sha512-8/c77tyM56RgKIEUDTenORVmX2xy5a5isOWVRqE8w8u584WTrf56iWewzFpU2KxbHDF3Drx+jR9tII3Qwx83kg== dependencies: - json-rpc-engine "^5.0.0" + json-rpc-engine "^5.1.3" json-rpc-middleware-stream "^2.1.1" loglevel "^1.6.1" obj-multiplex "^1.0.0" - obs-store "^4.0.1" + obs-store "^4.0.3" pump "^3.0.0" safe-event-emitter "^1.0.1" @@ -15827,35 +15761,11 @@ oboe@2.1.3: dependencies: http-https "^1.0.0" -obs-store@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/obs-store/-/obs-store-2.4.1.tgz#5425b85dabaf08d913464000ba65aaf25296492f" - integrity sha512-wpA8G4uSn8cnCKZ0pFTvqsamvy0Sm1hR2ot0Qonbfj5yBMwdAp/eD4vDI+U/ZCbV1hb2V5GapL8YKUdGCvahgg== - dependencies: - babel-preset-es2015 "^6.22.0" - babelify "^7.3.0" - readable-stream "^2.2.2" - through2 "^2.0.3" - xtend "^4.0.1" - -obs-store@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/obs-store/-/obs-store-3.0.2.tgz#3802e7b8f951d9308f0feb414fc6840cd9a516b0" - integrity sha512-GzBr7KM2TYWoJSlF3sVo1cMIOeyxgXpEdegXLZyYONRpunFHsBdKwOba0ki17kN2stLaEwTNolJChGHafqM7Fw== - dependencies: - babel-preset-es2015 "^6.22.0" - babelify "^7.3.0" - readable-stream "^2.2.2" - through2 "^2.0.3" - xtend "^4.0.1" - -obs-store@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/obs-store/-/obs-store-4.0.2.tgz#918377cf76fbe9a5d1451c0cc4895d5c236211e9" - integrity sha512-58/7oWFxBkQ9sx+E1R/RSzmCaywxItSZLeMt39U2UTOek2AFqFmtAbL1tU1T4vx2NS+qsoafnRIF++IVkp+QDQ== +obs-store@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/obs-store/-/obs-store-4.0.3.tgz#b632ec7814baa604fae084a4c97e87c0b7a6d14c" + integrity sha512-+mm13kCRDv6IcvUDKTw0LIy5+dQhIktYaR/RwwZUFzOTi/fjMaNBnk42Adb94qZqJ00qWkjhQSZH7MXlKnTi8A== dependencies: - "@babel/preset-env" "^7.3.4" - babelify "^10.0.0" readable-stream "^2.2.2" safe-event-emitter "^1.0.1" through2 "^2.0.3" @@ -22180,6 +22090,11 @@ uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + v8flags@^3.0.1, v8flags@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.1.tgz#42259a1461c08397e37fe1d4f1cfb59cad85a053" @@ -22622,7 +22537,7 @@ web3-net@1.0.0-beta.35: web3-core-method "1.0.0-beta.35" web3-utils "1.0.0-beta.35" -web3-provider-engine@14.1.0, "web3-provider-engine@github:metamask/provider-engine#e91367bc2c2535fbf7add06244d9d4ec98620042": +web3-provider-engine@14.1.0: version "14.1.0" resolved "https://codeload.github.com/metamask/provider-engine/tar.gz/e91367bc2c2535fbf7add06244d9d4ec98620042" dependencies: @@ -22647,6 +22562,34 @@ web3-provider-engine@14.1.0, "web3-provider-engine@github:metamask/provider-engi xhr "^2.2.0" xtend "^4.0.1" +web3-provider-engine@^15.0.3: + version "15.0.3" + resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-15.0.3.tgz#462d2439dafa6fdc3550696be8cdb80c44593c96" + integrity sha512-E2/j0iEA1JJVijV84bPpiFKZPA6jFkcCKJtzDCl/CUn8CeqtkGykpjP55pnQtzxszzmpGgSZlThMEFUzBU7X2g== + dependencies: + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^4.4.2" + eth-json-rpc-errors "^1.0.1" + eth-json-rpc-filters "^4.1.0" + eth-json-rpc-infura "^4.0.1" + eth-json-rpc-middleware "^4.1.5" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.2.2" + ethereumjs-tx "^1.2.0" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + web3-providers-http@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.0.0-beta.35.tgz#92059d9d6de6e9f82f4fae30b743efd841afc1e1" @@ -22683,12 +22626,13 @@ web3-shh@1.0.0-beta.35: web3-core-subscriptions "1.0.0-beta.35" web3-net "1.0.0-beta.35" -web3-stream-provider@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/web3-stream-provider/-/web3-stream-provider-3.0.1.tgz#f5a593a8eefe808f85eb5fb1f344e5838050f814" - integrity sha1-9aWTqO7+gI+F61+x80Tlg4BQ+BQ= +web3-stream-provider@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/web3-stream-provider/-/web3-stream-provider-4.0.0.tgz#a7f01cb9f7b33b6f0295f2475bf3826f6b27fa9d" + integrity sha512-nZrmxRPx/S/GHl1i5pHkb/IoaMPtxCcXmcKVNlDPujn3Ig64vuS0lEKq4Y+G90FxJV++C86komPcdcsAQN0s1A== dependencies: readable-stream "^2.0.5" + uuid "^3.3.3" web3-utils@1.0.0-beta.35: version "1.0.0-beta.35" From 302c8153092136f752c30507b536e0b0402de8e7 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 26 Aug 2019 10:30:39 -0700 Subject: [PATCH 6/9] Get and set average gas price button estimation as default --- ui/app/pages/send/send.selectors.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/app/pages/send/send.selectors.js b/ui/app/pages/send/send.selectors.js index ed2917020..00ecd635a 100644 --- a/ui/app/pages/send/send.selectors.js +++ b/ui/app/pages/send/send.selectors.js @@ -13,7 +13,7 @@ const { calcGasTotal, } = require('./send.utils') import { - getFastPriceEstimateInHexWEI, + getAveragePriceEstimateInHexWEI, } from '../../selectors/custom-gas' const selectors = { @@ -120,7 +120,7 @@ function getGasLimit (state) { } function getGasPrice (state) { - return state.metamask.send.gasPrice || getFastPriceEstimateInHexWEI(state) + return state.metamask.send.gasPrice || getAveragePriceEstimateInHexWEI(state) } function getGasPriceFromRecentBlocks (state) { From 4b905ffe39bf1918ae64e00377b77f3b1a0b7559 Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Tue, 27 Aug 2019 03:37:09 +0000 Subject: [PATCH 7/9] Version v7.1.1 --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13790627d..c13dc9bd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Develop Branch +## 7.1.1 Tue Aug 27 2019 + ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) - [#7021](https://github.com/MetaMask/metamask-extension/pull/7021): Using translated string for end of flow messaging (#7021) diff --git a/app/manifest.json b/app/manifest.json index fdcbd0c1b..7deaf280b 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "7.1.0", + "version": "7.1.1", "manifest_version": 2, "author": "https://metamask.io", "description": "__MSG_appDescription__", From 76ef33257ecdd2ae564623b1d25d8e534369a63e Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 27 Aug 2019 00:39:55 -0300 Subject: [PATCH 8/9] Add changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c13dc9bd9..a1bde3709 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Current Develop Branch ## 7.1.1 Tue Aug 27 2019 +- [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation +- [#7037](https://github.com/MetaMask/metamask-extension/pull/7037): Remove Babel 6 from internal dependencies ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) From d2799f40b65e2fb55379488e38050d7fae6f8981 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 3 Sep 2019 14:27:20 -0300 Subject: [PATCH 9/9] Allow dismissing privacy mode from popup --- CHANGELOG.md | 1 + ui/app/pages/home/home.component.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1bde3709..f53a2fc1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ## 7.1.1 Tue Aug 27 2019 - [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation - [#7037](https://github.com/MetaMask/metamask-extension/pull/7037): Remove Babel 6 from internal dependencies +- [#7093](https://github.com/MetaMask/metamask-extension/pull/7093): Allow dismissing privacy mode notification from popup ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) diff --git a/ui/app/pages/home/home.component.js b/ui/app/pages/home/home.component.js index ff7428eff..0ee9a526f 100644 --- a/ui/app/pages/home/home.component.js +++ b/ui/app/pages/home/home.component.js @@ -99,7 +99,11 @@ export default class Home extends PureComponent { descriptionText={t('privacyModeDefault')} acceptText={t('learnMore')} onAccept={() => { + unsetMigratedPrivacyMode() window.open('https://medium.com/metamask/42549d4870fa', '_blank', 'noopener') + }} + ignoreText={t('dismiss')} + onIgnore={() => { unsetMigratedPrivacyMode() }} key="home-privacyModeDefault"