From 46c9027bdb438a78af28906a71ef390f7bef2247 Mon Sep 17 00:00:00 2001 From: tenthirtyone Date: Thu, 10 Aug 2017 17:56:21 -0400 Subject: [PATCH 1/2] Fixed tx value out on home page --- lib/api/transaction.js | 1 + lib/parser/transaction.js | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/api/transaction.js b/lib/api/transaction.js index 846e974..15ac88a 100644 --- a/lib/api/transaction.js +++ b/lib/api/transaction.js @@ -111,6 +111,7 @@ module.exports = function transactionAPI(router) { coinbase: input.script, sequence: input.sequence, n: 0, + addr: input.address, })), vout: tx.outputs.map(output => ({ value: output.value / 1e8, diff --git a/lib/parser/transaction.js b/lib/parser/transaction.js index a875bda..557e4d0 100644 --- a/lib/parser/transaction.js +++ b/lib/parser/transaction.js @@ -16,18 +16,19 @@ function parse(entry, txs) { counter++; if (counter % socketThrottle === 0) { + io.sockets.emit('tx', { txid: txJSON.hash, - valueOut: tx.outputs.reduce((a, b) => { - a = a.toJSON(); - b = b.toJSON(); + valueOut: tx.outputs.reduce((sum, tx) => { + tx = tx.toJSON(); - const valA = (a.value || a.valueOut.value || 0) / 1e8; - const valB = (b.value || b.valueOut.value || 0) / 1e8; + const valB = (tx.value || tx.valueOut.value || 0) / 1e8; - return valA + valB; - }), - }, 0); + console.log(valB) + + return sum + valB; + }, 0), + }); } const t = new TxModel({ From 301e36b5c45a141075123bb40ae3cda12e697b19 Mon Sep 17 00:00:00 2001 From: tenthirtyone Date: Thu, 10 Aug 2017 17:56:57 -0400 Subject: [PATCH 2/2] CORS added --- lib/api/CORS.js | 37 +++++++++++++++++++++++++++++++++++++ lib/api/index.js | 3 +++ 2 files changed, 40 insertions(+) create mode 100644 lib/api/CORS.js diff --git a/lib/api/CORS.js b/lib/api/CORS.js new file mode 100644 index 0000000..1e4bdcd --- /dev/null +++ b/lib/api/CORS.js @@ -0,0 +1,37 @@ +module.exports = function (req, res, next) { + let allowed = { + + origins: [ + '*', + ], + + methods: [ + 'HEAD', + 'GET', + 'POST', + 'PUT', + 'DELETE', + 'OPTIONS', + ], + + headers: [ + 'Content-Type', + 'Authorization', + 'Content-Length', + 'X-Requested-With', + 'Cache-Control', + 'X-Accept-Version', + 'x-signature', + 'x-pubkey', + 'x-identity', + 'cf-connecting-ip', + ], + + }; + + res.header('Access-Control-Allow-Origin', allowed.origins.join()); + res.header('Access-Control-Allow-Methods', allowed.methods.join()); + res.header('Access-Control-Allow-Headers', allowed.headers.join()); + + next(); +}; diff --git a/lib/api/index.js b/lib/api/index.js index 51f9ca6..382a20e 100644 --- a/lib/api/index.js +++ b/lib/api/index.js @@ -3,6 +3,9 @@ const config = require('../../config'); const app = express(); const api = express.Router(); +const CORS = require('./CORS'); + +app.use(CORS); // Serve insight ui front end from root dir public folder app.use('/', express.static('./public'));