diff --git a/lib/services/bitcoind.js b/lib/services/bitcoind.js index 65e18dea..a48afd12 100644 --- a/lib/services/bitcoind.js +++ b/lib/services/bitcoind.js @@ -1721,6 +1721,10 @@ Bitcoin.prototype.getAddressSummary = function (addressArg, options, callback) { if (err) { return callback(err); } + var availableTxids = mempoolTxids.reverse().concat(summaryTxids); + summary.txidOverflow = + availableTxids.length > self.maxTxids ? true : false; + summary.availableTxids = !summary.txidOverflow ? availableTxids : []; self.summaryCache.set(cacheKey, summary); finishWithTxids(); } @@ -2241,9 +2245,9 @@ Bitcoin.prototype.getDetailedTransaction = function (txid, callback) { var txid = transactionData.txid; var vins = tx.inputs; var functionsArray = []; - for (let index = 0; index < vins.length; index++) { + for (let i = 0; i < vins.length; i++) { functionsArray.push(function (callback) { - var prevTxId = vins[index].prevTxId || null; + var prevTxId = vins[i].prevTxId || null; var rewards = 0; if (prevTxId) { client.getRawTransaction( @@ -2258,7 +2262,7 @@ Bitcoin.prototype.getDetailedTransaction = function (txid, callback) { tiptime: tx.blockTimestamp || self.tipTime, locktime: result.locktime, height: result.height ? result.height : 1000001, //To satisfy getKomodoRewards constraints on unconfirmed transactions - satoshis: vins[index].satoshis, + satoshis: vins[i].satoshis, }; rewards = getKomodoRewards(rewardData); callback(null, { @@ -2279,26 +2283,24 @@ Bitcoin.prototype.getDetailedTransaction = function (txid, callback) { async.series(functionsArray, function (err, res) { var totalReward = 0; - //res.forEach((reward) => (totalReward = reward + totalReward)); - for (let index = 0; index < res.length; index++) { - tx.inputs[index].rewardClaimed = res[index].rewards - ? res[index].rewards * 1e-8 + for (let i = 0; i < res.length; i++) { + tx.inputs[i].rewardClaimed = res[i].rewards + ? res[i].rewards * 1e-8 : 0; - var actualTimeRewardAccrued = res[index].prevTxnLocktime - ? (tx.blockTimestamp || self.tipTime) - - res[index].prevTxnLocktime + var actualTimeRewardAccrued = res[i].prevTxnLocktime + ? (tx.blockTimestamp || self.tipTime) - res[i].prevTxnLocktime : null; if (actualTimeRewardAccrued) { - tx.inputs[index].timeRewardAccrued = + tx.inputs[i].timeRewardAccrued = actualTimeRewardAccrued < 31 * 24 * 60 * 60 ? actualTimeRewardAccrued : 31 * 24 * 60 * 60; } else { - tx.inputs[index].timeRewardAccrued = null; + tx.inputs[i].timeRewardAccrued = null; } - totalReward = tx.inputs[index].rewardClaimed + totalReward; + totalReward = tx.inputs[i].rewardClaimed + totalReward; } tx.rewardClaimed = totalReward; tx.feeSatoshis =