diff --git a/electrum/gui/qt/channels_list.py b/electrum/gui/qt/channels_list.py index 32770f724..e23946e64 100644 --- a/electrum/gui/qt/channels_list.py +++ b/electrum/gui/qt/channels_list.py @@ -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 @@ -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