Merge pull request #302 from MetaMask/batch-payload-origin

background - batch rpc fix for origin domain
feature/default_network_editable
Dan Finlay 9 years ago committed by GitHub
commit bb7788373d
  1. 27
      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) {

Loading…
Cancel
Save