diff options
author | Kevin Serrano <kevin.serrano@consensys.net> | 2017-09-14 23:35:48 +0800 |
---|---|---|
committer | Kevin Serrano <kevin.serrano@consensys.net> | 2017-09-14 23:35:48 +0800 |
commit | cb8856597cb650e282e7209f43547a5f9328de28 (patch) | |
tree | 842b64aea519c7041bc4fbf2a6f31f5d17f57cb8 /app/scripts/lib/inpage-provider.js | |
parent | 162aedb30b94890935658921b0dd399f43d6cd65 (diff) | |
parent | 1d3cd9768cdd372d02e7e34674dde9d86af536f5 (diff) | |
download | tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.tar tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.tar.gz tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.tar.bz2 tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.tar.lz tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.tar.xz tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.tar.zst tangerine-wallet-browser-cb8856597cb650e282e7209f43547a5f9328de28.zip |
Merge branch 'master' into new-currency-test
Diffstat (limited to 'app/scripts/lib/inpage-provider.js')
-rw-r--r-- | app/scripts/lib/inpage-provider.js | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/app/scripts/lib/inpage-provider.js b/app/scripts/lib/inpage-provider.js index 7c74a62d3..13888dc67 100644 --- a/app/scripts/lib/inpage-provider.js +++ b/app/scripts/lib/inpage-provider.js @@ -40,30 +40,37 @@ function MetamaskInpageProvider (connectionStream) { // start and stop polling to unblock first block lock self.idMap = {} - // handle sendAsync requests via asyncProvider - self.sendAsync = function (payload, cb) { - // rewrite request ids - var request = eachJsonMessage(payload, (message) => { - var newId = createRandomId() - self.idMap[newId] = message.id - message.id = newId +} + +// handle sendAsync requests via asyncProvider +// also remap ids inbound and outbound +MetamaskInpageProvider.prototype.sendAsync = function (payload, cb) { + const self = this + + // rewrite request ids + const request = eachJsonMessage(payload, (_message) => { + const message = Object.assign({}, _message) + const newId = createRandomId() + self.idMap[newId] = message.id + message.id = newId + return message + }) + + // forward to asyncProvider + self.asyncProvider.sendAsync(request, (err, _res) => { + if (err) return cb(err) + // transform messages to original ids + const res = eachJsonMessage(_res, (message) => { + const oldId = self.idMap[message.id] + delete self.idMap[message.id] + message.id = oldId return message }) - // forward to asyncProvider - asyncProvider.sendAsync(request, function (err, res) { - if (err) return cb(err) - // transform messages to original ids - eachJsonMessage(res, (message) => { - var oldId = self.idMap[message.id] - delete self.idMap[message.id] - message.id = oldId - return message - }) - cb(null, res) - }) - } + cb(null, res) + }) } + MetamaskInpageProvider.prototype.send = function (payload) { const self = this @@ -109,10 +116,6 @@ MetamaskInpageProvider.prototype.send = function (payload) { } } -MetamaskInpageProvider.prototype.sendAsync = function () { - throw new Error('MetamaskInpageProvider - sendAsync not overwritten') -} - MetamaskInpageProvider.prototype.isConnected = function () { return true } |