URI: 
       tsubmarine swaps: disable merging of transaction in history - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit cb4c8abe1c121ee8f7c39de6b4b1824821542b7e
   DIR parent 77c2aa5017b7e3d881543b90c35dff4f03417a5d
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Thu, 18 Jun 2020 14:15:05 +0200
       
       submarine swaps: disable merging of transaction in history
       
       This is too complicated and ugly because it relies on side
       effects. What we should do instead is collapse transactions
       in children nodes of QTreeView (see #6237)
       
       Diffstat:
         M electrum/lnworker.py                |      27 ++-------------------------
         M electrum/wallet.py                  |      26 +++++++++-----------------
       
       2 files changed, 11 insertions(+), 42 deletions(-)
       ---
   DIR diff --git a/electrum/lnworker.py b/electrum/lnworker.py
       t@@ -634,10 +634,10 @@ class LNWallet(LNWorker):
                    swap = self.swap_manager.get_swap(payment_hash)
                    if swap:
                        if swap.is_reverse:
       -                    item['txid'] = swap.spending_txid
       +                    #item['txid'] = swap.spending_txid
                            item['label'] = 'Reverse swap' + ' ' + self.config.format_amount_and_units(swap.lightning_amount)
                        else:
       -                    item['txid'] = swap.funding_txid
       +                    #item['txid'] = swap.funding_txid
                            item['label'] = 'Normal swap' + ' ' + self.config.format_amount_and_units(swap.onchain_amount)
                    # done
                    out[payment_hash] = item
       t@@ -677,29 +677,6 @@ class LNWallet(LNWorker):
                        'fee_msat': None,
                    }
                    out[closing_txid] = item
       -        # add submarine swaps
       -        settled_payments = self.get_settled_payments()
       -        current_height = self.network.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:
       -                continue
       -            if payment_hash_hex in settled_payments:
       -                plist = settled_payments[payment_hash_hex]
       -                info = self.get_payment_info(bytes.fromhex(payment_hash_hex))
       -                amount_msat, fee_msat, timestamp = self.get_payment_value(info, plist)
       -            else:
       -                amount_msat = 0
       -            label = 'Reverse swap' if swap.is_reverse else 'Normal swap'
       -            delta = current_height - swap.locktime
       -            if delta < 0:
       -                label += f' (refundable in {-delta} blocks)'
       -            out[txid] = {
       -                'txid': txid,
       -                'amount_msat': amount_msat,
       -                'type': 'swap',
       -                'label': label
       -            }
                return out
        
            def get_history(self):
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -820,31 +820,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]
       -                tx_item['label'] = item['label']
       -                tx_item['type'] = item['type']
       -                ln_value = Decimal(item['amount_msat']) / 1000
       -                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():
       +        # add LN txns
       +        if self.lnworker and include_lightning:
       +            lightning_history = self.lnworker.get_history()
       +        else:
       +            lightning_history = []
       +        for i, tx_item in enumerate(lightning_history):
                    txid = tx_item.get('txid')
                    ln_value = Decimal(tx_item['amount_msat']) / 1000
       -            # merge items that have a txid with onchain tx
                    if txid and txid in transactions_tmp:
                        item = transactions_tmp[txid]
                        item['label'] = tx_item['label']
       -                item['type'] = tx_item['type']   # fixme: do we need this?
       -                if 'ln_value' not in item:
       -                    item['ln_value'] = 0
       -                item['ln_value'] = Satoshis(ln_value)  # fixme: we need to add value
       -                item['amount_msat'] = tx_item['amount_msat']
       +                item['type'] = tx_item['type']
       +                item['channel_id'] = tx_item['channel_id']
       +                item['ln_value'] = Satoshis(ln_value)
                    else:
                        tx_item['lightning'] = True
                        tx_item['ln_value'] = Satoshis(ln_value)