diff options
author | Kevin Serrano <kevin.serrano@consensys.net> | 2017-05-24 01:43:59 +0800 |
---|---|---|
committer | Kevin Serrano <kevin.serrano@consensys.net> | 2017-05-24 01:43:59 +0800 |
commit | 97d19f0f7970feb6fb3170fd85211d0c765cabea (patch) | |
tree | 3e25945bd50397cdb218b1b60a3290bdfb5fdacb /app/scripts | |
parent | 959038132a6780f1dd7a4db3696d3fdbaad83b88 (diff) | |
parent | 1491e6fe0728b0c82cdf5b8dcaa18ef0adbcd55d (diff) | |
download | tangerine-wallet-browser-97d19f0f7970feb6fb3170fd85211d0c765cabea.tar.gz tangerine-wallet-browser-97d19f0f7970feb6fb3170fd85211d0c765cabea.tar.zst tangerine-wallet-browser-97d19f0f7970feb6fb3170fd85211d0c765cabea.zip |
Merge branch 'master' into i1412-decimalizethegas
Diffstat (limited to 'app/scripts')
-rw-r--r-- | app/scripts/lib/inpage-provider.js | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/app/scripts/lib/inpage-provider.js b/app/scripts/lib/inpage-provider.js index e5e398e24..e54f547bd 100644 --- a/app/scripts/lib/inpage-provider.js +++ b/app/scripts/lib/inpage-provider.js @@ -1,5 +1,7 @@ const pipe = require('pump') -const StreamProvider = require('web3-stream-provider') +const ProviderEngine = require('web3-provider-engine') +const FilterSubprovider = require('web3-provider-engine/subproviders/filters') +const StreamSubprovider = require('web3-provider-engine/subproviders/stream') const LocalStorageStore = require('obs-store') const ObjectMultiplex = require('./obj-multiplex') const createRandomId = require('./random-id') @@ -27,14 +29,24 @@ function MetamaskInpageProvider (connectionStream) { ) // connect to async provider - const asyncProvider = self.asyncProvider = new StreamProvider() + const engine = new ProviderEngine() + + const filterSubprovider = new FilterSubprovider() + engine.addProvider(filterSubprovider) + + const streamSubprovider = new StreamSubprovider() + engine.addProvider(streamSubprovider) + pipe( - asyncProvider, + streamSubprovider, multiStream.createStream('provider'), - asyncProvider, + streamSubprovider, (err) => logStreamDisconnectWarning('MetaMask RpcProvider', err) ) + // start polling + engine.start() + self.idMap = {} // handle sendAsync requests via asyncProvider self.sendAsync = function (payload, cb) { @@ -46,7 +58,7 @@ function MetamaskInpageProvider (connectionStream) { return message }) // forward to asyncProvider - asyncProvider.sendAsync(request, function (err, res) { + engine.sendAsync(request, function (err, res) { if (err) return cb(err) // transform messages to original ids eachJsonMessage(res, (message) => { |