URI: 
       tln: fix repeated payments - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 3ea6415dc7fd80594f1b27928679c7f97173a735
   DIR parent 399fe08047afaa15f33e95d424f1647ffc9fbd45
  HTML Author: Janus <ysangkok@gmail.com>
       Date:   Fri, 15 Jun 2018 17:04:34 +0200
       
       ln: fix repeated payments
       
       Diffstat:
         M lib/lnbase.py                       |       2 --
         M lib/lnhtlc.py                       |       7 +++----
       
       2 files changed, 3 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/lib/lnbase.py b/lib/lnbase.py
       t@@ -1036,7 +1036,6 @@ class Peer(PrintError):
        
                sig_64 = sign_and_get_sig_string(bare_ctx, chan.local_config, chan.remote_config)
                self.send_message(gen_msg("commitment_signed", channel_id=chan.channel_id, signature=sig_64, num_htlcs=0))
       -        m.state = m.state._replace(remote_state=m.state.remote_state._replace(ctn=m.state.remote_state.ctn + 1))
        
                await self.receive_revoke(m)
        
       t@@ -1100,7 +1099,6 @@ class Peer(PrintError):
                    m.state.remote_state.amount_msat - expected_received_msat, m.state.local_state.amount_msat + expected_received_msat)
                sig_64 = sign_and_get_sig_string(bare_ctx, m.state.local_config, m.state.remote_config)
                self.send_message(gen_msg("commitment_signed", channel_id=channel_id, signature=sig_64, num_htlcs=0))
       -        m.state = m.state._replace(remote_state=m.state.remote_state._replace(ctn=m.state.remote_state.ctn + 1))
        
                await self.receive_revoke(m)
        
   DIR diff --git a/lib/lnhtlc.py b/lib/lnhtlc.py
       t@@ -1,7 +1,7 @@
        # ported from lnd 42de4400bff5105352d0552155f73589166d162b
        from ecdsa.util import sigencode_string_canonize, sigdecode_der
        from .util import bfh, PrintError
       -from .bitcoin import Hash, address_to_script
       +from .bitcoin import Hash
        from collections import namedtuple
        from ecdsa.curves import SECP256k1
        from .crypto import sha256
       t@@ -119,7 +119,6 @@ class HTLCStateMachine(PrintError):
                    for htlc in htlcs:
                        original_htlc_output_index = 0
                        args = [self.state.remote_state.next_per_commitment_point, for_us, we_receive, htlc.amount_msat + htlc.total_fee, htlc.cltv_expiry, htlc.payment_hash, self.remote_commitment, original_htlc_output_index]
       -                print("args", args)
                        htlc_tx = make_htlc_tx_with_open_channel(self.state, *args)
                        sig = bfh(htlc_tx.sign_txin(0, their_remote_htlc_privkey))
                        r, s = sigdecode_der(sig[:-1], SECP256k1.generator.order())
       t@@ -233,7 +232,7 @@ class HTLCStateMachine(PrintError):
        
                for x in settle_fails2:
                    htlc = self.lookup_htlc(self.local_update_log, x.htlc_id)
       -            sent_this_batch += htlc.amount_msat + htlc.total_fee
       +            sent_this_batch += htlc.amount_msat
        
                self.total_msat_sent += sent_this_batch
        
       t@@ -243,7 +242,7 @@ class HTLCStateMachine(PrintError):
                    htlc_id = htlc.htlc_id
                    if SettleHtlc(htlc_id) in self.local_update_log:
                        htlc = self.lookup_htlc(self.remote_update_log, htlc_id)
       -                received_this_batch += htlc.amount_msat + htlc.total_fee
       +                received_this_batch += htlc.amount_msat
                self.total_msat_received += received_this_batch
        
                # log compaction (remove entries relating to htlc's that have been settled)