URI: 
       twallet: fix deleting address from Imported_Wallet - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 808239bbccc7ac02ccb33b040a21bcbdb7199c9b
   DIR parent 46ae86f6002489c501416b82146a25fc80397943
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Sat, 11 May 2019 02:08:15 +0200
       
       wallet: fix deleting address from Imported_Wallet
       
       closes #4481
       
       Diffstat:
         M electrum/tests/test_wallet.py       |      12 +++++++++---
         M electrum/wallet.py                  |       2 +-
       
       2 files changed, 10 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/electrum/tests/test_wallet.py b/electrum/tests/test_wallet.py
       t@@ -10,7 +10,7 @@ from io import StringIO
        from electrum.storage import WalletStorage
        from electrum.json_db import FINAL_SEED_VERSION
        from electrum.wallet import (Abstract_Wallet, Standard_Wallet, create_new_wallet,
       -                             restore_wallet_from_text)
       +                             restore_wallet_from_text, Imported_Wallet)
        from electrum.exchange_rate import ExchangeBase, FxThread
        from electrum.util import TxMinedInfo
        from electrum.bitcoin import COIN
       t@@ -197,16 +197,22 @@ class TestCreateRestoreWallet(WalletTestCase):
            def test_restore_wallet_from_text_addresses(self):
                text = 'bc1q2ccr34wzep58d4239tl3x3734ttle92a8srmuw bc1qnp78h78vp92pwdwq5xvh8eprlga5q8gu66960c'
                d = restore_wallet_from_text(text, path=self.wallet_path, network=None)
       -        wallet = d['wallet']  # type: Abstract_Wallet
       +        wallet = d['wallet']  # type: Imported_Wallet
                self.assertEqual('bc1q2ccr34wzep58d4239tl3x3734ttle92a8srmuw', wallet.get_receiving_addresses()[0])
                self.assertEqual(2, len(wallet.get_receiving_addresses()))
       +        # also test addr deletion
       +        wallet.delete_address('bc1qnp78h78vp92pwdwq5xvh8eprlga5q8gu66960c')
       +        self.assertEqual(1, len(wallet.get_receiving_addresses()))
        
            def test_restore_wallet_from_text_privkeys(self):
                text = 'p2wpkh:L4jkdiXszG26SUYvwwJhzGwg37H2nLhrbip7u6crmgNeJysv5FHL p2wpkh:L24GxnN7NNUAfCXA6hFzB1jt59fYAAiFZMcLaJ2ZSawGpM3uqhb1'
                d = restore_wallet_from_text(text, path=self.wallet_path, network=None)
       -        wallet = d['wallet']  # type: Abstract_Wallet
       +        wallet = d['wallet']  # type: Imported_Wallet
                addr0 = wallet.get_receiving_addresses()[0]
                self.assertEqual('bc1q2ccr34wzep58d4239tl3x3734ttle92a8srmuw', addr0)
                self.assertEqual('p2wpkh:L4jkdiXszG26SUYvwwJhzGwg37H2nLhrbip7u6crmgNeJysv5FHL',
                                 wallet.export_private_key(addr0, password=None)[0])
                self.assertEqual(2, len(wallet.get_receiving_addresses()))
       +        # also test addr deletion
       +        wallet.delete_address('bc1qnp78h78vp92pwdwq5xvh8eprlga5q8gu66960c')
       +        self.assertEqual(1, len(wallet.get_receiving_addresses()))
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -1451,7 +1451,7 @@ class Imported_Wallet(Simple_Wallet):
                            for tx_hash, height in details:
                                transactions_new.add(tx_hash)
                    transactions_to_remove -= transactions_new
       -            self.db.remove_history(address)
       +            self.db.remove_addr_history(address)
                    for tx_hash in transactions_to_remove:
                        self.remove_transaction(tx_hash)
                        self.db.remove_tx_fee(tx_hash)