1
0

wallet: add sanity check for storage encryption version

multisig wallet cannot have StorageEncryptionVersion.XPUB_PASSWORD
This commit is contained in:
SomberNight
2023-09-20 17:28:18 +00:00
parent f8c2a38954
commit baa443295d

View File

@@ -315,7 +315,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
self.config = config
assert self.config is not None, "config must not be None"
self.db = db
self.storage = db.storage
self.storage = db.storage # type: Optional[WalletStorage]
# load addresses needs to be called before constructor for sanity checks
db.load_addresses(self.wallet_type)
self.keystore = None # type: Optional[KeyStore] # will be set by load_keystore
@@ -363,6 +363,10 @@ class Abstract_Wallet(ABC, Logger, EventListener):
self._up_to_date = False
self.test_addresses_sanity()
if self.storage and self.has_storage_encryption():
if (se := self.storage.get_encryption_version()) != (ae := self.get_available_storage_encryption_version()):
raise WalletFileException(f"unexpected storage encryption type. found: {se!r}. allowed: {ae!r}")
self.register_callbacks()
def _init_lnworker(self):