remove broken payment requests. fixes #6350
This commit is contained in:
@@ -52,7 +52,7 @@ if TYPE_CHECKING:
|
||||
|
||||
OLD_SEED_VERSION = 4 # electrum versions < 2.0
|
||||
NEW_SEED_VERSION = 11 # electrum versions >= 2.0
|
||||
FINAL_SEED_VERSION = 34 # electrum >= 2.7 will set this to prevent
|
||||
FINAL_SEED_VERSION = 35 # electrum >= 2.7 will set this to prevent
|
||||
# old versions from overwriting new format
|
||||
|
||||
|
||||
@@ -182,6 +182,7 @@ class WalletDB(JsonDB):
|
||||
self._convert_version_32()
|
||||
self._convert_version_33()
|
||||
self._convert_version_34()
|
||||
self._convert_version_35()
|
||||
self.put('seed_version', FINAL_SEED_VERSION) # just to be sure
|
||||
|
||||
self._after_upgrade_tasks()
|
||||
@@ -689,8 +690,7 @@ class WalletDB(JsonDB):
|
||||
def _convert_version_32(self):
|
||||
if not self._is_upgrade_method_needed(31, 31):
|
||||
return
|
||||
|
||||
from .invoices import PR_TYPE_ONCHAIN
|
||||
PR_TYPE_ONCHAIN = 0
|
||||
invoices_old = self.data.get('invoices', {})
|
||||
invoices_new = {k: item for k, item in invoices_old.items()
|
||||
if not (item['type'] == PR_TYPE_ONCHAIN and item['outputs'] is None)}
|
||||
@@ -700,21 +700,18 @@ class WalletDB(JsonDB):
|
||||
def _convert_version_33(self):
|
||||
if not self._is_upgrade_method_needed(32, 32):
|
||||
return
|
||||
|
||||
from .invoices import PR_TYPE_ONCHAIN
|
||||
PR_TYPE_ONCHAIN = 0
|
||||
requests = self.data.get('payment_requests', {})
|
||||
invoices = self.data.get('invoices', {})
|
||||
for d in [invoices, requests]:
|
||||
for key, item in list(d.items()):
|
||||
if item['type'] == PR_TYPE_ONCHAIN:
|
||||
item['height'] = item.get('height') or 0
|
||||
|
||||
self.data['seed_version'] = 33
|
||||
|
||||
def _convert_version_34(self):
|
||||
if not self._is_upgrade_method_needed(33, 33):
|
||||
return
|
||||
|
||||
channels = self.data.get('channels', {})
|
||||
for key, item in channels.items():
|
||||
item['local_config']['upfront_shutdown_script'] = \
|
||||
@@ -723,6 +720,17 @@ class WalletDB(JsonDB):
|
||||
item['remote_config'].get('upfront_shutdown_script') or ""
|
||||
self.data['seed_version'] = 34
|
||||
|
||||
def _convert_version_35(self):
|
||||
# same as 32, but for payment_requests
|
||||
if not self._is_upgrade_method_needed(34, 34):
|
||||
return
|
||||
PR_TYPE_ONCHAIN = 0
|
||||
requests_old = self.data.get('payment_requests', {})
|
||||
requests_new = {k: item for k, item in requests_old.items()
|
||||
if not (item['type'] == PR_TYPE_ONCHAIN and item['outputs'] is None)}
|
||||
self.data['payment_requests'] = requests_new
|
||||
self.data['seed_version'] = 35
|
||||
|
||||
def _convert_imported(self):
|
||||
if not self._is_upgrade_method_needed(0, 13):
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user