commit 08a79252353476aed746ff4c1085cf108f314a23
parent a3e1b2e00c04b72e7375b121f094d34e721fe6ed
Author: SomberNight <somber.night@protonmail.com>
Date: Thu, 9 Apr 2020 19:08:17 +0200
wizard.create_storage: state API and abide by it
none of the callers was handling the return None case properly...
Diffstat:
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/electrum/base_wizard.py b/electrum/base_wizard.py
@@ -28,7 +28,7 @@ import sys
import copy
import traceback
from functools import partial
-from typing import List, TYPE_CHECKING, Tuple, NamedTuple, Any, Dict, Optional
+from typing import List, TYPE_CHECKING, Tuple, NamedTuple, Any, Dict, Optional, Union
from . import bitcoin
from . import keystore
@@ -611,12 +611,10 @@ class BaseWizard(Logger):
encrypt_keystore=encrypt_keystore)
self.terminate()
-
- def create_storage(self, path):
+ def create_storage(self, path) -> Tuple[WalletStorage, WalletDB]:
if os.path.exists(path):
raise Exception('file already exists at path')
- if not self.pw_args:
- return # FIXME
+ assert self.pw_args, f"pw_args not set?!"
pw_args = self.pw_args
self.pw_args = None # clean-up so that it can get GC-ed
storage = WalletStorage(path)
@@ -630,7 +628,9 @@ class BaseWizard(Logger):
db.write(storage)
return storage, db
- def terminate(self, *, storage: Optional[WalletStorage], db: Optional[WalletDB] = None):
+ def terminate(self, *, storage: WalletStorage = None,
+ db: WalletDB = None,
+ aborted: bool = False) -> None:
raise NotImplementedError() # implemented by subclasses
def show_xpub_and_add_cosigners(self, xpub):
diff --git a/electrum/storage.py b/electrum/storage.py
@@ -189,7 +189,6 @@ class WalletStorage(Logger):
s = ''
self.pubkey = ec_key.get_public_key_hex()
self.decrypted = s
- return s
def encrypt_before_writing(self, plaintext: str) -> str:
s = plaintext