From 07615e09f2b63cf03e3bae5a3c3421e905585cc6 Mon Sep 17 00:00:00 2001 From: Dan Janosik Date: Fri, 6 Jul 2018 18:28:47 -0400 Subject: [PATCH] fix for faulty assumption: the collected value of a coinbase transaction is not always index zero in "vout" --- app/utils.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/utils.js b/app/utils.js index 44972f0..b3dedd8 100644 --- a/app/utils.js +++ b/app/utils.js @@ -200,7 +200,18 @@ function getBlockTotalFeesFromCoinbaseTxAndBlockHeight(coinbaseTx, blockHeight) } var blockReward = coinConfig.blockRewardFunction(blockHeight); - var totalOutput = coinbaseTx.vout[0].value; + + var totalOutput = -1; + for (var i = 0; i < coinbaseTx.vout.length; i++) { + var outputValue = coinbaseTx.vout[i].value; + if (outputValue >= blockReward) { + totalOutput = outputValue; + } + } + + if (totalOutput == -1) { + return 0; + } return new Decimal(totalOutput).minus(new Decimal(blockReward)); }