electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit b7d93e2e11b8f21d9b4005dbf24b5673869c9bcc
parent 18bd93446189757143953af09c5982f3123c7872
Author: ThomasV <thomasv@electrum.org>
Date:   Wed, 30 Jan 2019 19:16:04 +0100

gui: display lightning balance in status bar

Diffstat:
Melectrum/commands.py | 3+++
Melectrum/gui/qt/main_window.py | 4++++
Melectrum/lnworker.py | 4++++
3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/electrum/commands.py b/electrum/commands.py @@ -348,11 +348,14 @@ class Commands: def getbalance(self): """Return the balance of your wallet. """ c, u, x = self.wallet.get_balance() + l = self.lnworker.get_balance() out = {"confirmed": str(Decimal(c)/COIN)} if u: out["unconfirmed"] = str(Decimal(u)/COIN) if x: out["unmatured"] = str(Decimal(x)/COIN) + if l: + out["lightning"] = str(Decimal(l)/COIN) return out @command('n') diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py @@ -371,6 +371,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger): self.channels_list.update_rows.emit(*args) elif event == 'channel': self.channels_list.update_single_row.emit(*args) + self.update_status() elif event == 'ln_status': self.need_update_ln.set() else: @@ -850,6 +851,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger): text += " [%s unconfirmed]"%(self.format_amount(u, is_diff=True).strip()) if x: text += " [%s unmatured]"%(self.format_amount(x, is_diff=True).strip()) + l = self.wallet.lnworker.get_balance() + if l: + text += u' \U0001f5f2 %s'%(self.format_amount_and_units(l).strip()) # append fiat balance and price if self.fx.is_enabled(): diff --git a/electrum/lnworker.py b/electrum/lnworker.py @@ -572,6 +572,10 @@ class LNWorker(PrintError): self.wallet.storage.put('lightning_invoices', self.invoices) self.wallet.storage.write() + def get_balance(self): + with self.lock: + return Decimal(sum(chan.balance(LOCAL) for chan in self.channels.values()))/1000 + def list_channels(self): with self.lock: # we output the funding_outpoint instead of the channel_id because lnd uses channel_point (funding outpoint) to identify channels