aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorDan Finlay <somniac@me.com>2016-06-22 05:09:57 +0800
committerGitHub <noreply@github.com>2016-06-22 05:09:57 +0800
commitbb7788373d9c234313d651d88c72c18a8e4ca0aa (patch)
treee916d64cc3dd0e6b0f713c6825277e84db945ba2 /app
parentcfc056e34ba6dda983a1ca6b4bc090661b799d38 (diff)
parent45d16d975b3e7b981821aabfe356efd2c7a06e6e (diff)
downloadtangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar
tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar.gz
tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar.bz2
tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar.lz
tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar.xz
tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar.zst
tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.zip
Merge pull request #302 from MetaMask/batch-payload-origin
background - batch rpc fix for origin domain
Diffstat (limited to 'app')
-rw-r--r--app/scripts/background.js27
1 files changed, 15 insertions, 12 deletions
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 3ad95d3e9..66108c251 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -152,19 +152,22 @@ function setupPublicConfig(stream){
}
function setupProviderConnection(stream, originDomain){
-
- stream.on('data', function onRpcRequest(payload){
- // Append origin to rpc payload
- payload.origin = originDomain
- // Append origin to signature request
- if (payload.method === 'eth_sendTransaction') {
- payload.params[0].origin = originDomain
- } else if (payload.method === 'eth_sign') {
- payload.params.push({ origin: originDomain })
- }
+ // decorate all payloads with origin domain
+ stream.on('data', function onRpcRequest(request){
+ var payloads = Array.isArray(request) ? request : [request]
+ payloads.forEach(function(payload){
+ // Append origin to rpc payload
+ payload.origin = originDomain
+ // Append origin to signature request
+ if (payload.method === 'eth_sendTransaction') {
+ payload.params[0].origin = originDomain
+ } else if (payload.method === 'eth_sign') {
+ payload.params.push({ origin: originDomain })
+ }
+ })
// handle rpc request
- provider.sendAsync(payload, function onPayloadHandled(err, response){
- logger(null, payload, response)
+ provider.sendAsync(request, function onPayloadHandled(err, response){
+ logger(null, request, response)
try {
stream.write(response)
} catch (err) {