diff --git a/CHANGELOG.md b/CHANGELOG.md index b755e3999..4ad1b2f50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Cleanup decimal bugs in our gas inputs. - Fix bug where submit button was enabled for invalid gas inputs. - Now enforce 95% of block's gasLimit to protect users. +- Removing provider-engine from the inpage provider. This fixes some error handling inconsistencies introduced in 3.7.0. ## 3.7.0 2017-5-23 diff --git a/app/scripts/lib/inpage-provider.js b/app/scripts/lib/inpage-provider.js index 39196e240..8b8623974 100644 --- a/app/scripts/lib/inpage-provider.js +++ b/app/scripts/lib/inpage-provider.js @@ -1,7 +1,5 @@ const pipe = require('pump') -const ProviderEngine = require('web3-provider-engine') -const FilterSubprovider = require('web3-provider-engine/subproviders/filters') -const StreamSubprovider = require('web3-provider-engine/subproviders/stream') +const StreamProvider = require('web3-stream-provider') const LocalStorageStore = require('obs-store') const ObjectMultiplex = require('./obj-multiplex') const createRandomId = require('./random-id') @@ -29,24 +27,14 @@ function MetamaskInpageProvider (connectionStream) { ) // connect to async provider - const engine = new ProviderEngine() - - const filterSubprovider = new FilterSubprovider() - engine.addProvider(filterSubprovider) - - const streamSubprovider = new StreamSubprovider() - engine.addProvider(streamSubprovider) - + const asyncProvider = self.asyncProvider = new StreamProvider() pipe( - streamSubprovider, + asyncProvider, multiStream.createStream('provider'), - streamSubprovider, + asyncProvider, (err) => logStreamDisconnectWarning('MetaMask RpcProvider', err) ) - // start and stop polling to unblock first block lock - engine.start() - engine.once('latest', () => engine.stop()) self.idMap = {} // handle sendAsync requests via asyncProvider @@ -59,7 +47,7 @@ function MetamaskInpageProvider (connectionStream) { return message }) // forward to asyncProvider - engine.sendAsync(request, function (err, res) { + asyncProvider.sendAsync(request, function (err, res) { if (err) return cb(err) // transform messages to original ids eachJsonMessage(res, (message) => {