URI: 
       tpost rebase fixes - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 38f1436d789af4189dbd4316f33c465eddaf07ec
   DIR parent b215d6c4b720cf85cf736a3447bc7daef23d7909
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Wed,  6 Mar 2019 16:13:28 +0100
       
       post rebase fixes
       
       Diffstat:
         M electrum/lnutil.py                  |       6 +++---
         M electrum/lnwatcher.py               |       4 ++--
         M electrum/lnworker.py                |       5 +++--
         M electrum/tests/test_lnchannel.py    |       5 ++---
         M electrum/verifier.py                |       2 --
       
       5 files changed, 10 insertions(+), 12 deletions(-)
       ---
   DIR diff --git a/electrum/lnutil.py b/electrum/lnutil.py
       t@@ -237,7 +237,7 @@ def make_htlc_tx_output(amount_msat, local_feerate, revocationpubkey, local_dela
                + bfh(push_script(bh2u(revocationpubkey))) \
                + bytes([opcodes.OP_ELSE]) \
                + bitcoin.add_number_to_script(to_self_delay) \
       -        + bytes([opcodes.OP_CSV, opcodes.OP_DROP]) \
       +        + bytes([opcodes.OP_CHECKSEQUENCEVERIFY, opcodes.OP_DROP]) \
                + bfh(push_script(bh2u(local_delayedpubkey))) \
                + bytes([opcodes.OP_ENDIF, opcodes.OP_CHECKSIG])
        
       t@@ -319,7 +319,7 @@ def make_received_htlc(revocation_pubkey: bytes, remote_htlcpubkey: bytes,
                + bitcoin.add_number_to_script(2) \
                + bytes([opcodes.OP_CHECKMULTISIG, opcodes.OP_ELSE, opcodes.OP_DROP]) \
                + bitcoin.add_number_to_script(cltv_expiry) \
       -        + bytes([opcodes.OP_CLTV, opcodes.OP_DROP, opcodes.OP_CHECKSIG, opcodes.OP_ENDIF, opcodes.OP_ENDIF])
       +        + bytes([opcodes.OP_CHECKLOCKTIMEVERIFY, opcodes.OP_DROP, opcodes.OP_CHECKSIG, opcodes.OP_ENDIF, opcodes.OP_ENDIF])
        
        def make_htlc_output_witness_script(is_received_htlc: bool, remote_revocation_pubkey: bytes, remote_htlc_pubkey: bytes,
                                            local_htlc_pubkey: bytes, payment_hash: bytes, cltv_expiry: Optional[int]) -> bytes:
       t@@ -473,7 +473,7 @@ def make_commitment(ctn, local_funding_pubkey, remote_funding_pubkey,
        def make_commitment_output_to_local_witness_script(
                revocation_pubkey: bytes, to_self_delay: int, delayed_pubkey: bytes) -> bytes:
            local_script = bytes([opcodes.OP_IF]) + bfh(push_script(bh2u(revocation_pubkey))) + bytes([opcodes.OP_ELSE]) + bitcoin.add_number_to_script(to_self_delay) \
       -                   + bytes([opcodes.OP_CSV, opcodes.OP_DROP]) + bfh(push_script(bh2u(delayed_pubkey))) + bytes([opcodes.OP_ENDIF, opcodes.OP_CHECKSIG])
       +                   + bytes([opcodes.OP_CHECKSEQUENCEVERIFY, opcodes.OP_DROP]) + bfh(push_script(bh2u(delayed_pubkey))) + bytes([opcodes.OP_ENDIF, opcodes.OP_CHECKSIG])
            return local_script
        
        def make_commitment_output_to_local_address(
   DIR diff --git a/electrum/lnwatcher.py b/electrum/lnwatcher.py
       t@@ -211,7 +211,7 @@ class LNWatcher(AddressSynchronizer):
                # FIXME: instead of stopping recursion at n == 2,
                # we should detect which outputs are HTLCs
                prev_txid, index = outpoint.split(':')
       -        txid = self.spent_outpoints[prev_txid].get(int(index))
       +        txid = self.db.get_spent_outpoint(prev_txid, int(index))
                result = {outpoint:txid}
                if txid is None:
                    self.channel_status[outpoint] = 'open'
       t@@ -224,7 +224,7 @@ class LNWatcher(AddressSynchronizer):
                else:
                    self.channel_status[outpoint] = 'closed (deep)'
        
       -        tx = self.transactions[txid]
       +        tx = self.db.get_transaction(txid)
                for i, o in enumerate(tx.outputs()):
                    if o.address not in self.get_addresses():
                        self.add_address(o.address)
   DIR diff --git a/electrum/lnworker.py b/electrum/lnworker.py
       t@@ -25,7 +25,7 @@ from .keystore import BIP32_KeyStore
        from .bitcoin import COIN
        from .transaction import Transaction
        from .crypto import sha256
       -from .bip32 import bip32_root
       +from .bip32 import BIP32Node
        from .util import bh2u, bfh, PrintError, InvoiceError, resolve_dns_srv, is_ip_address, log_exceptions
        from .util import timestamp_to_datetime
        from .lntransport import LNTransport, LNResponderTransport
       t@@ -217,7 +217,8 @@ class LNWorker(PrintError):
                    # TODO derive this deterministically from wallet.keystore at keystore generation time
                    # probably along a hardened path ( lnd-equivalent would be m/1017'/coinType'/ )
                    seed = os.urandom(32)
       -            xprv, xpub = bip32_root(seed, xtype='standard')
       +            node = BIP32Node.from_rootseed(seed, xtype='standard')
       +            xprv = node.to_xprv()
                    self.storage.put('lightning_privkey2', xprv)
                return keystore.from_xprv(xprv)
        
   DIR diff --git a/electrum/tests/test_lnchannel.py b/electrum/tests/test_lnchannel.py
       t@@ -99,9 +99,8 @@ def create_channel_state(funding_txid, funding_index, funding_sat, local_feerate
            }
        
        def bip32(sequence):
       -    xprv, xpub = bip32_utils.bip32_root(b"9dk", 'standard')
       -    xprv, xpub = bip32_utils.bip32_private_derivation(xprv, "m/", sequence)
       -    xtype, depth, fingerprint, child_number, c, k = bip32_utils.deserialize_xprv(xprv)
       +    node = bip32_utils.BIP32Node.from_rootseed(b"9dk", xtype='standard').subkey_at_private_derivation(sequence)
       +    k = node.eckey.get_secret_bytes()
            assert len(k) == 32
            assert type(k) is bytes
            return k
   DIR diff --git a/electrum/verifier.py b/electrum/verifier.py
       t@@ -133,8 +133,6 @@ class SPV(NetworkJobOnDefaultServer):
                                      txpos=pos,
                                      header_hash=header_hash)
                self.wallet.add_verified_tx(tx_hash, tx_info)
       -        if self.is_up_to_date() and self.wallet.is_up_to_date():
       -            self.wallet.save_verified_tx(write=True)
        
            @classmethod
            def hash_merkle_root(cls, merkle_branch: Sequence[str], tx_hash: str, leaf_pos_in_tree: int):