1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-01 13:47:06 +01:00

Remove stream subprovider

Since the polling leak seems to be coming from elsewhere, and new bugs came from this, I'm rolling back this change so that we can push the other improvements sooner and fix the bug at its true root.
This commit is contained in:
Dan Finlay 2017-05-25 12:37:04 -07:00
parent 764806d211
commit ad40e4d260

View File

@ -1,7 +1,5 @@
const pipe = require('pump') const pipe = require('pump')
const ProviderEngine = require('web3-provider-engine') const StreamProvider = require('web3-stream-provider')
const FilterSubprovider = require('web3-provider-engine/subproviders/filters')
const StreamSubprovider = require('web3-provider-engine/subproviders/stream')
const LocalStorageStore = require('obs-store') const LocalStorageStore = require('obs-store')
const ObjectMultiplex = require('./obj-multiplex') const ObjectMultiplex = require('./obj-multiplex')
const createRandomId = require('./random-id') const createRandomId = require('./random-id')
@ -29,24 +27,14 @@ function MetamaskInpageProvider (connectionStream) {
) )
// connect to async provider // connect to async provider
const engine = new ProviderEngine() const asyncProvider = self.asyncProvider = new StreamProvider()
const filterSubprovider = new FilterSubprovider()
engine.addProvider(filterSubprovider)
const streamSubprovider = new StreamSubprovider()
engine.addProvider(streamSubprovider)
pipe( pipe(
streamSubprovider, asyncProvider,
multiStream.createStream('provider'), multiStream.createStream('provider'),
streamSubprovider, asyncProvider,
(err) => logStreamDisconnectWarning('MetaMask RpcProvider', err) (err) => logStreamDisconnectWarning('MetaMask RpcProvider', err)
) )
// start and stop polling to unblock first block lock // start and stop polling to unblock first block lock
engine.start()
engine.once('latest', () => engine.stop())
self.idMap = {} self.idMap = {}
// handle sendAsync requests via asyncProvider // handle sendAsync requests via asyncProvider
@ -59,7 +47,7 @@ function MetamaskInpageProvider (connectionStream) {
return message return message
}) })
// forward to asyncProvider // forward to asyncProvider
engine.sendAsync(request, function (err, res) { asyncProvider.sendAsync(request, function (err, res) {
if (err) return cb(err) if (err) return cb(err)
// transform messages to original ids // transform messages to original ids
eachJsonMessage(res, (message) => { eachJsonMessage(res, (message) => {