Handle coinbase transactions no longer has undefined fee.

This commit is contained in:
softsimon 2020-07-24 00:20:59 +07:00
parent 9d8c1184ab
commit 9980414969
No known key found for this signature in database
GPG Key ID: 488D7DCFB5A430D7
4 changed files with 7 additions and 4 deletions

View File

@ -76,7 +76,7 @@ class Blocks {
block.coinbaseTx = this.stripCoinbaseTransaction(transactions[0]);
transactions.sort((a, b) => b.feePerVsize - a.feePerVsize);
block.medianFee = transactions.length > 1 ? Common.median(transactions.map((tx) => tx.feePerVsize)) : 0;
block.feeRange = transactions.length > 1 ? Common.getFeesInRange(transactions, 8, 1) : [0, 0];
block.feeRange = transactions.length > 1 ? Common.getFeesInRange(transactions.slice(0, transactions.length - 2), 8) : [0, 0];
this.blocks.push(block);
if (this.blocks.length > config.KEEP_BLOCK_AMOUNT) {

View File

@ -12,7 +12,7 @@ export class Common {
return medianNr;
}
static getFeesInRange(transactions: TransactionExtended[], rangeLength: number, lastindex = 0) {
static getFeesInRange(transactions: TransactionExtended[], rangeLength: number) {
const arr = [transactions[transactions.length - 1].feePerVsize];
const chunk = 1 / (rangeLength - 1);
let itemsToAdd = rangeLength - 2;
@ -22,7 +22,7 @@ export class Common {
itemsToAdd--;
}
arr.push(transactions[lastindex].feePerVsize);
arr.push(transactions[0].feePerVsize);
return arr;
}

View File

@ -77,7 +77,7 @@ class Mempool {
const transaction: Transaction = await bitcoinApi.getRawTransaction(txId);
return Object.assign({
vsize: transaction.weight / 4,
feePerVsize: transaction.fee / (transaction.weight / 4),
feePerVsize: (transaction.fee || 0) / (transaction.weight / 4),
firstSeen: Math.round((new Date().getTime() / 1000)),
}, transaction);
} catch (e) {

View File

@ -74,6 +74,9 @@ export class TransactionComponent implements OnInit, OnDestroy {
return;
}
this.tx = tx;
if (tx.fee === undefined) {
this.tx.fee = 0;
}
this.isLoadingTx = false;
this.error = undefined;
this.waitingForTransaction = false;