URI: 
       tfix wallet get_full_history: add onchain tx for channels not opened by us - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 90b228de839d6474f6d23322cd2a80e1da73a254
   DIR parent 6004a047053e97b9f613d8329f690d1fd6d920fb
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Fri, 12 Mar 2021 11:40:53 +0100
       
       fix wallet get_full_history: add onchain tx for channels not opened by us
       
       Diffstat:
         M electrum/lnworker.py                |       6 +++++-
         M electrum/wallet.py                  |      13 +++++++++----
       
       2 files changed, 14 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/electrum/lnworker.py b/electrum/lnworker.py
       t@@ -804,6 +804,7 @@ class LNWallet(LNWorker):
                return out
        
            def get_onchain_history(self):
       +        current_height = self.wallet.get_local_height()
                out = {}
                # add funding events
                for chan in self.channels.values():
       t@@ -820,6 +821,8 @@ class LNWallet(LNWorker):
                        'direction': 'received',
                        'timestamp': funding_timestamp,
                        'fee_msat': None,
       +                'height': funding_height,
       +                'confirmations': max(current_height - funding_height + 1, 0),
                    }
                    out[funding_txid] = item
                    item = chan.get_closing_height()
       t@@ -835,11 +838,12 @@ class LNWallet(LNWorker):
                        'direction': 'sent',
                        'timestamp': closing_timestamp,
                        'fee_msat': None,
       +                'height': closing_height,
       +                'confirmations': max(current_height - closing_height + 1, 0),
                    }
                    out[closing_txid] = item
                # add info about submarine swaps
                settled_payments = self.get_payments(status='settled')
       -        current_height = self.wallet.get_local_height()
                for payment_hash_hex, swap in self.swap_manager.swaps.items():
                    txid = swap.spending_txid if swap.is_reverse else swap.funding_txid
                    if txid is None:
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -903,18 +903,23 @@ class Abstract_Wallet(AddressSynchronizer, ABC):
                transactions_tmp = OrderedDictWithIndex()
                # add on-chain txns
                onchain_history = self.get_onchain_history(domain=onchain_domain)
       -        lnworker_history = self.lnworker.get_onchain_history() if self.lnworker and include_lightning else {}
                for tx_item in onchain_history:
                    txid = tx_item['txid']
                    transactions_tmp[txid] = tx_item
       -            # add lnworker info here
       -            if txid in lnworker_history:
       -                item = lnworker_history[txid]
       +        # add lnworker onchain transactions
       +        lnworker_history = self.lnworker.get_onchain_history() if self.lnworker and include_lightning else {}
       +        for txid, item in lnworker_history.items():
       +            if txid in transactions_tmp:
       +                tx_item = transactions_tmp[txid]
                        tx_item['group_id'] = item.get('group_id')  # for swaps
                        tx_item['label'] = item['label']
                        tx_item['type'] = item['type']
                        ln_value = Decimal(item['amount_msat']) / 1000   # for channel open/close tx
                        tx_item['ln_value'] = Satoshis(ln_value)
       +            else:
       +                transactions_tmp[txid] = item
       +                ln_value = Decimal(item['amount_msat']) / 1000   # for channel open/close tx
       +                item['ln_value'] = Satoshis(ln_value)
                # add lightning_transactions
                lightning_history = self.lnworker.get_lightning_history() if self.lnworker and include_lightning else {}
                for tx_item in lightning_history.values():