diff options
author | Dan Finlay <somniac@me.com> | 2016-06-22 05:09:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-22 05:09:57 +0800 |
commit | bb7788373d9c234313d651d88c72c18a8e4ca0aa (patch) | |
tree | e916d64cc3dd0e6b0f713c6825277e84db945ba2 /app/scripts | |
parent | cfc056e34ba6dda983a1ca6b4bc090661b799d38 (diff) | |
parent | 45d16d975b3e7b981821aabfe356efd2c7a06e6e (diff) | |
download | tangerine-wallet-browser-bb7788373d9c234313d651d88c72c18a8e4ca0aa.tar.gz 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/scripts')
-rw-r--r-- | app/scripts/background.js | 27 |
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) { |