From 45d16d975b3e7b981821aabfe356efd2c7a06e6e Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 21 Jun 2016 13:14:21 -0700 Subject: [PATCH] background - batch rpc fix for origin domain --- app/scripts/background.js | 27 +++++++++++++++------------ 1 file 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) {