From cd024bed8b8a8e7b2db32cc6b592eb46b321103d Mon Sep 17 00:00:00 2001 From: xiphon Date: Tue, 16 Oct 2018 18:32:38 +0000 Subject: [PATCH 1/2] tracking: query blockchain height only once during update --- pages/Receive.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/Receive.qml b/pages/Receive.qml index 79b3e22b..1ccd49a1 100644 --- a/pages/Receive.qml +++ b/pages/Receive.qml @@ -80,7 +80,7 @@ Rectangle { var count = model.rowCount() var totalAmount = 0 var nTransactions = 0 - var blockchainHeight = 0 + var blockchainHeight = null var txs = [] for (var i = 0; i < count; ++i) { @@ -103,8 +103,8 @@ Rectangle { if (blockHeight == 0) { in_txpool = true; } else { - if (blockchainHeight == 0) - blockchainHeight = walletManager.blockchainHeight() + if (blockchainHeight == null) + blockchainHeight = appWindow.currentWallet.blockChainHeight() confirmations = blockchainHeight - blockHeight - 1 displayAmount = model.data(idx, TransactionHistoryModel.TransactionDisplayAmountRole); } From cf8f36ba76bdf95eda38fc6de27ce889165c155a Mon Sep 17 00:00:00 2001 From: xiphon Date: Tue, 16 Oct 2018 18:37:48 +0000 Subject: [PATCH 2/2] tracking: don't fetch redundant txes --- pages/Receive.qml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pages/Receive.qml b/pages/Receive.qml index 1ccd49a1..f8b22d71 100644 --- a/pages/Receive.qml +++ b/pages/Receive.qml @@ -65,6 +65,8 @@ Rectangle { } function update() { + const max_tracking = 3; + if (!appWindow.currentWallet || !trackingEnabled.checked) { trackingLineText.text = ""; trackingModel.clear(); @@ -83,7 +85,7 @@ Rectangle { var blockchainHeight = null var txs = [] - for (var i = 0; i < count; ++i) { + for (var i = 0; i < count && txs.length < max_tracking; ++i) { var idx = model.index(i, 0) var isout = model.data(idx, TransactionHistoryModel.TransactionIsOutRole); var subaddrAccount = model.data(idx, TransactionHistoryModel.TransactionSubaddrAccountRole); @@ -130,7 +132,6 @@ Rectangle { trackingLineText.text = qsTr("%1 transactions found").arg(nTransactions) + ":" + translationManager.emptyString } - var max_tracking = 3; toReceiveSatisfiedLine.text = ""; var expectedAmount = walletManager.amountFromString(amountToReceiveLine.text) if (expectedAmount && expectedAmount != amount) { @@ -143,11 +144,6 @@ Rectangle { } trackingModel.clear(); - - if (txs.length > 3) { - txs.length = 3; - } - txs.forEach(function(tx){ trackingModel.append({ "amount": tx.amount,