wallet_db: assert WalletDBUpgrader.storage is dict

Assert `WalletDBUpgrader.data` is a regular in-memory dict and not
some StoredDict, so if an exception would happen during a wallet
db upgrade the partial changes don't get commited to disk.
This commit is contained in:
f321x
2026-02-20 16:06:42 +01:00
parent 71a1e96df6
commit a1f1b39368
+4 -1
View File
@@ -117,9 +117,12 @@ for key in ['locked_in', 'fails', 'settles']:
class WalletDBUpgrader(Logger):
def __init__(self, data):
def __init__(self, data: dict):
Logger.__init__(self)
self.data = data
# self.data must be in-memory dict (not a StoredDict or similar),
# so a failed, partial upgrade won't get commited to disk
assert type(self.data) == dict, type(self.data)
def get(self, key, default=None):
return self.data.get(key, default)