twizard: fix imported address wallets - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 664b0c234eca5afec9a7de9c7533cbc41227af14 DIR parent 1e8b34e63e4d2b830237570207b847b161970924 HTML Author: SomberNight <somber.night@protonmail.com> Date: Fri, 14 Dec 2018 22:50:25 +0100 wizard: fix imported address wallets assertion added in 9350709f13bc7e3d79b8e0f1515a3fdba4f2cbff was failing Diffstat: M electrum/base_wizard.py | 2 +- M electrum/commands.py | 2 +- M electrum/wallet.py | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) --- DIR diff --git a/electrum/base_wizard.py b/electrum/base_wizard.py t@@ -194,7 +194,7 @@ class BaseWizard(object): if keystore.is_address_list(text): w = Imported_Wallet(self.storage) addresses = text.split() - good_inputs, bad_inputs = w.import_addresses(addresses) + good_inputs, bad_inputs = w.import_addresses(addresses, write_to_disk=False) elif keystore.is_private_key_list(text): k = keystore.Imported_KeyStore({}) self.storage.put('keystore', k.dump()) DIR diff --git a/electrum/commands.py b/electrum/commands.py t@@ -167,7 +167,7 @@ class Commands: if keystore.is_address_list(text): wallet = Imported_Wallet(storage) addresses = text.split() - good_inputs, bad_inputs = wallet.import_addresses(addresses) + good_inputs, bad_inputs = wallet.import_addresses(addresses, write_to_disk=False) # FIXME tell user about bad_inputs if not good_inputs: raise Exception("None of the given addresses can be imported") DIR diff --git a/electrum/wallet.py b/electrum/wallet.py t@@ -1329,7 +1329,8 @@ class Imported_Wallet(Simple_Wallet): def get_change_addresses(self): return [] - def import_addresses(self, addresses: List[str]) -> Tuple[List[str], List[Tuple[str, str]]]: + def import_addresses(self, addresses: List[str], *, + write_to_disk=True) -> Tuple[List[str], List[Tuple[str, str]]]: good_addr = [] # type: List[str] bad_addr = [] # type: List[Tuple[str, str]] for address in addresses: t@@ -1343,7 +1344,7 @@ class Imported_Wallet(Simple_Wallet): self.addresses[address] = {} self.add_address(address) self.save_addresses() - self.save_transactions(write=True) + self.save_transactions(write=write_to_disk) return good_addr, bad_addr def import_address(self, address: str) -> str: t@@ -1408,7 +1409,7 @@ class Imported_Wallet(Simple_Wallet): def get_public_key(self, address): return self.addresses[address].get('pubkey') - def import_private_keys(self, keys: List[str], password: Optional[str], + def import_private_keys(self, keys: List[str], password: Optional[str], *, write_to_disk=True) -> Tuple[List[str], List[Tuple[str, str]]]: good_addr = [] # type: List[str] bad_keys = [] # type: List[Tuple[str, str]]