tqt channels dialog: fix for channel backups - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 2f223cdf467962cb53fdf43d8cf856ad541920c6 DIR parent d85e910262df4cf0c29a4620102d1fb51850c290 HTML Author: SomberNight <somber.night@protonmail.com> Date: Sat, 27 Feb 2021 15:15:09 +0100 qt channels dialog: fix for channel backups Diffstat: M electrum/gui/qt/channels_list.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) --- DIR diff --git a/electrum/gui/qt/channels_list.py b/electrum/gui/qt/channels_list.py t@@ -11,7 +11,7 @@ from PyQt5.QtGui import QFont, QStandardItem, QBrush from electrum.util import bh2u, NotEnoughFunds, NoDynamicFeeEstimates from electrum.i18n import _ -from electrum.lnchannel import AbstractChannel, PeerState +from electrum.lnchannel import AbstractChannel, PeerState, ChannelBackup, Channel from electrum.wallet import Abstract_Wallet from electrum.lnutil import LOCAL, REMOTE, format_short_channel_id, LN_MAX_FUNDING_SAT from electrum.lnworker import LNWallet t@@ -68,24 +68,32 @@ class ChannelsList(MyTreeView): self.lnbackups = self.parent.wallet.lnbackups self.setSortingEnabled(True) - def format_fields(self, chan): + def format_fields(self, chan: AbstractChannel) -> Sequence[str]: labels = {} for subject in (REMOTE, LOCAL): - can_send = chan.available_to_spend(subject) / 1000 - label = self.parent.format_amount(can_send) - other = subject.inverted() - bal_other = chan.balance(other)//1000 - bal_minus_htlcs_other = chan.balance_minus_outgoing_htlcs(other)//1000 - if bal_other != bal_minus_htlcs_other: - label += ' (+' + self.parent.format_amount(bal_other - bal_minus_htlcs_other) + ')' + if isinstance(chan, Channel): + can_send = chan.available_to_spend(subject) / 1000 + label = self.parent.format_amount(can_send) + other = subject.inverted() + bal_other = chan.balance(other)//1000 + bal_minus_htlcs_other = chan.balance_minus_outgoing_htlcs(other)//1000 + if bal_other != bal_minus_htlcs_other: + label += ' (+' + self.parent.format_amount(bal_other - bal_minus_htlcs_other) + ')' + else: + assert isinstance(chan, ChannelBackup) + label = '' labels[subject] = label status = chan.get_state_for_GUI() closed = chan.is_closed() node_alias = self.lnworker.get_node_alias(chan.node_id) + if isinstance(chan, Channel): + capacity_str = self.parent.format_amount(chan.constraints.capacity) + else: + capacity_str = '' return [ chan.short_id_for_GUI(), node_alias, - self.parent.format_amount(chan.constraints.capacity), + capacity_str, '' if closed else labels[LOCAL], '' if closed else labels[REMOTE], status