From d94e40d2be2774aeec63a71add57d6071f94f3d4 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Fri, 1 Mar 2019 14:54:41 +0100 Subject: [PATCH] add 'txpos' field to lightning history items, in case two transactions have the same timestamp --- electrum/gui/qt/history_list.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/electrum/gui/qt/history_list.py b/electrum/gui/qt/history_list.py index ba76af1c3..429cc6b34 100644 --- a/electrum/gui/qt/history_list.py +++ b/electrum/gui/qt/history_list.py @@ -140,6 +140,7 @@ class HistoryModel(QAbstractItemModel, Logger): timestamp = tx_item['timestamp'] if is_lightning: status = 0 + txpos = tx_item['txpos'] if timestamp is None: status_str = 'unconfirmed' else: @@ -165,7 +166,7 @@ class HistoryModel(QAbstractItemModel, Logger): HistoryColumns.STATUS: # height breaks ties for unverified txns # txpos breaks ties for verified same block txns - (-timestamp, conf, -status, -height, -txpos) if not is_lightning else (-timestamp, 0,0,0,0), + (-timestamp, conf, -status, -height, -txpos) if not is_lightning else (-timestamp, 0,0,0,-txpos), HistoryColumns.DESCRIPTION: tx_item['label'] if 'label' in tx_item else None, HistoryColumns.AMOUNT: @@ -286,7 +287,7 @@ class HistoryModel(QAbstractItemModel, Logger): for tx_item in r['transactions']: txid = tx_item['txid'] transactions[txid] = tx_item - for tx_item in lightning_history: + for i, tx_item in enumerate(lightning_history): txid = tx_item.get('txid') ln_value = tx_item['amount_msat']/1000. if txid and txid in transactions: @@ -297,8 +298,10 @@ class HistoryModel(QAbstractItemModel, Logger): else: tx_item['lightning'] = True tx_item['ln_value'] = Satoshis(ln_value) + tx_item['txpos'] = i # for sorting key = tx_item['payment_hash'] if 'payment_hash' in tx_item else tx_item['type'] + tx_item['channel_id'] transactions[key] = tx_item + self.beginInsertRows(QModelIndex(), 0, len(transactions)-1) self.transactions = transactions self.endInsertRows()