From 7496fc47de0cd3a059a75e12e3c8a8c419f9228a Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Mon, 10 Feb 2014 14:09:28 -0300 Subject: [PATCH] index for output spend matching (speeds ups tx api --- lib/TransactionDb.js | 21 +++++++++---------- ...99-sync.js => 99-sync.js.descructive-test} | 0 test/integration/addr.json | 6 +++--- 3 files changed, 13 insertions(+), 14 deletions(-) rename test/integration/{99-sync.js => 99-sync.js.descructive-test} (100%) diff --git a/lib/TransactionDb.js b/lib/TransactionDb.js index 3b4ee25c..4f1dbe46 100644 --- a/lib/TransactionDb.js +++ b/lib/TransactionDb.js @@ -74,6 +74,8 @@ function spec(b) { var k = OUTS_PREFIX + txid; var ret=[]; + var idx={}; + var i = 0; // outs. db.createReadStream({start: k, end: k + '~'}) @@ -85,27 +87,24 @@ function spec(b) { value_sat: parseInt(v[1]), index: parseInt(k[2]), }); + idx[parseInt(k[2])]= i++; }) .on('error', function (err) { return cb(err); }) .on('end', function () { var k = SPEND_PREFIX + txid; - var l = ret.length; db.createReadStream({start: k, end: k + '~'}) .on('data', function (data) { var k = data.key.split('-'); var v = data.value.split(':'); - var set=0; - for(var i=0; i