aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/inpage-provider.js
diff options
context:
space:
mode:
authorKevin Serrano <kevin.serrano@consensys.net>2017-09-14 23:35:48 +0800
committerKevin Serrano <kevin.serrano@consensys.net>2017-09-14 23:35:48 +0800
commitcb8856597cb650e282e7209f43547a5f9328de28 (patch)
tree842b64aea519c7041bc4fbf2a6f31f5d17f57cb8 /app/scripts/lib/inpage-provider.js
parent162aedb30b94890935658921b0dd399f43d6cd65 (diff)
parent1d3cd9768cdd372d02e7e34674dde9d86af536f5 (diff)
downloadtangerine-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.js51
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
}