aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/qt/transactionrecord.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp
index 26144ba197..4b48b124d4 100644
--- a/src/qt/transactionrecord.cpp
+++ b/src/qt/transactionrecord.cpp
@@ -13,6 +13,7 @@
#include <QDateTime>
+using wallet::ISMINE_NO;
using wallet::ISMINE_SPENDABLE;
using wallet::ISMINE_WATCH_ONLY;
using wallet::isminetype;
@@ -39,8 +40,21 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const interface
uint256 hash = wtx.tx->GetHash();
std::map<std::string, std::string> mapValue = wtx.value_map;
- if (nNet > 0 || wtx.is_coinbase)
- {
+ bool involvesWatchAddress = false;
+ isminetype fAllFromMe = ISMINE_SPENDABLE;
+ bool any_from_me = false;
+ if (wtx.is_coinbase) {
+ fAllFromMe = ISMINE_NO;
+ } else {
+ for (const isminetype mine : wtx.txin_is_mine)
+ {
+ if(mine & ISMINE_WATCH_ONLY) involvesWatchAddress = true;
+ if(fAllFromMe > mine) fAllFromMe = mine;
+ if (mine) any_from_me = true;
+ }
+ }
+
+ if (!any_from_me) {
//
// Credit
//
@@ -78,14 +92,6 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const interface
}
else
{
- bool involvesWatchAddress = false;
- isminetype fAllFromMe = ISMINE_SPENDABLE;
- for (const isminetype mine : wtx.txin_is_mine)
- {
- if(mine & ISMINE_WATCH_ONLY) involvesWatchAddress = true;
- if(fAllFromMe > mine) fAllFromMe = mine;
- }
-
isminetype fAllToMe = ISMINE_SPENDABLE;
for (const isminetype mine : wtx.txout_is_mine)
{