json_db: private methods. return tx in remove_transaction
This commit is contained in:
@@ -185,18 +185,18 @@ class JsonDB(PrintError):
|
|||||||
@profiler
|
@profiler
|
||||||
def upgrade(self):
|
def upgrade(self):
|
||||||
self.print_error('upgrading wallet format')
|
self.print_error('upgrading wallet format')
|
||||||
self.convert_imported()
|
self._convert_imported()
|
||||||
self.convert_wallet_type()
|
self._convert_wallet_type()
|
||||||
self.convert_account()
|
self._convert_account()
|
||||||
self.convert_version_13_b()
|
self._convert_version_13_b()
|
||||||
self.convert_version_14()
|
self._convert_version_14()
|
||||||
self.convert_version_15()
|
self._convert_version_15()
|
||||||
self.convert_version_16()
|
self._convert_version_16()
|
||||||
self.convert_version_17()
|
self._convert_version_17()
|
||||||
self.convert_version_18()
|
self._convert_version_18()
|
||||||
self.put('seed_version', FINAL_SEED_VERSION) # just to be sure
|
self.put('seed_version', FINAL_SEED_VERSION) # just to be sure
|
||||||
|
|
||||||
def convert_wallet_type(self):
|
def _convert_wallet_type(self):
|
||||||
if not self._is_upgrade_method_needed(0, 13):
|
if not self._is_upgrade_method_needed(0, 13):
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -285,7 +285,7 @@ class JsonDB(PrintError):
|
|||||||
self.put('keypairs', None)
|
self.put('keypairs', None)
|
||||||
self.put('key_type', None)
|
self.put('key_type', None)
|
||||||
|
|
||||||
def convert_version_13_b(self):
|
def _convert_version_13_b(self):
|
||||||
# version 13 is ambiguous, and has an earlier and a later structure
|
# version 13 is ambiguous, and has an earlier and a later structure
|
||||||
if not self._is_upgrade_method_needed(0, 13):
|
if not self._is_upgrade_method_needed(0, 13):
|
||||||
return
|
return
|
||||||
@@ -304,7 +304,7 @@ class JsonDB(PrintError):
|
|||||||
|
|
||||||
self.put('seed_version', 13)
|
self.put('seed_version', 13)
|
||||||
|
|
||||||
def convert_version_14(self):
|
def _convert_version_14(self):
|
||||||
# convert imported wallets for 3.0
|
# convert imported wallets for 3.0
|
||||||
if not self._is_upgrade_method_needed(13, 13):
|
if not self._is_upgrade_method_needed(13, 13):
|
||||||
return
|
return
|
||||||
@@ -333,7 +333,7 @@ class JsonDB(PrintError):
|
|||||||
self.put('wallet_type', 'imported')
|
self.put('wallet_type', 'imported')
|
||||||
self.put('seed_version', 14)
|
self.put('seed_version', 14)
|
||||||
|
|
||||||
def convert_version_15(self):
|
def _convert_version_15(self):
|
||||||
if not self._is_upgrade_method_needed(14, 14):
|
if not self._is_upgrade_method_needed(14, 14):
|
||||||
return
|
return
|
||||||
if self.get('seed_type') == 'segwit':
|
if self.get('seed_type') == 'segwit':
|
||||||
@@ -341,7 +341,7 @@ class JsonDB(PrintError):
|
|||||||
raise Exception('unsupported derivation (development segwit, v14)')
|
raise Exception('unsupported derivation (development segwit, v14)')
|
||||||
self.put('seed_version', 15)
|
self.put('seed_version', 15)
|
||||||
|
|
||||||
def convert_version_16(self):
|
def _convert_version_16(self):
|
||||||
# fixes issue #3193 for Imported_Wallets with addresses
|
# fixes issue #3193 for Imported_Wallets with addresses
|
||||||
# also, previous versions allowed importing any garbage as an address
|
# also, previous versions allowed importing any garbage as an address
|
||||||
# which we now try to remove, see pr #3191
|
# which we now try to remove, see pr #3191
|
||||||
@@ -384,7 +384,7 @@ class JsonDB(PrintError):
|
|||||||
|
|
||||||
self.put('seed_version', 16)
|
self.put('seed_version', 16)
|
||||||
|
|
||||||
def convert_version_17(self):
|
def _convert_version_17(self):
|
||||||
# delete pruned_txo; construct spent_outpoints
|
# delete pruned_txo; construct spent_outpoints
|
||||||
if not self._is_upgrade_method_needed(16, 16):
|
if not self._is_upgrade_method_needed(16, 16):
|
||||||
return
|
return
|
||||||
@@ -406,19 +406,19 @@ class JsonDB(PrintError):
|
|||||||
|
|
||||||
self.put('seed_version', 17)
|
self.put('seed_version', 17)
|
||||||
|
|
||||||
def convert_version_18(self):
|
def _convert_version_18(self):
|
||||||
# delete verified_tx3 as its structure changed
|
# delete verified_tx3 as its structure changed
|
||||||
if not self._is_upgrade_method_needed(17, 17):
|
if not self._is_upgrade_method_needed(17, 17):
|
||||||
return
|
return
|
||||||
self.put('verified_tx3', None)
|
self.put('verified_tx3', None)
|
||||||
self.put('seed_version', 18)
|
self.put('seed_version', 18)
|
||||||
|
|
||||||
# def convert_version_19(self):
|
# def _convert_version_19(self):
|
||||||
# TODO for "next" upgrade:
|
# TODO for "next" upgrade:
|
||||||
# - move "pw_hash_version" from keystore to storage
|
# - move "pw_hash_version" from keystore to storage
|
||||||
# pass
|
# pass
|
||||||
|
|
||||||
def convert_imported(self):
|
def _convert_imported(self):
|
||||||
if not self._is_upgrade_method_needed(0, 13):
|
if not self._is_upgrade_method_needed(0, 13):
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ class JsonDB(PrintError):
|
|||||||
else:
|
else:
|
||||||
raise WalletFileException('no addresses or privkeys')
|
raise WalletFileException('no addresses or privkeys')
|
||||||
|
|
||||||
def convert_account(self):
|
def _convert_account(self):
|
||||||
if not self._is_upgrade_method_needed(0, 13):
|
if not self._is_upgrade_method_needed(0, 13):
|
||||||
return
|
return
|
||||||
self.put('accounts', None)
|
self.put('accounts', None)
|
||||||
@@ -473,14 +473,14 @@ class JsonDB(PrintError):
|
|||||||
'(highest supported storage version: {}, version of this file: {})'
|
'(highest supported storage version: {}, version of this file: {})'
|
||||||
.format(FINAL_SEED_VERSION, seed_version))
|
.format(FINAL_SEED_VERSION, seed_version))
|
||||||
if seed_version==14 and self.get('seed_type') == 'segwit':
|
if seed_version==14 and self.get('seed_type') == 'segwit':
|
||||||
self.raise_unsupported_version(seed_version)
|
self._raise_unsupported_version(seed_version)
|
||||||
if seed_version >=12:
|
if seed_version >=12:
|
||||||
return seed_version
|
return seed_version
|
||||||
if seed_version not in [OLD_SEED_VERSION, NEW_SEED_VERSION]:
|
if seed_version not in [OLD_SEED_VERSION, NEW_SEED_VERSION]:
|
||||||
self.raise_unsupported_version(seed_version)
|
self._raise_unsupported_version(seed_version)
|
||||||
return seed_version
|
return seed_version
|
||||||
|
|
||||||
def raise_unsupported_version(self, seed_version):
|
def _raise_unsupported_version(self, seed_version):
|
||||||
msg = "Your wallet has an unsupported seed version."
|
msg = "Your wallet has an unsupported seed version."
|
||||||
if seed_version in [5, 7, 8, 9, 10, 14]:
|
if seed_version in [5, 7, 8, 9, 10, 14]:
|
||||||
msg += "\n\nTo open this wallet, try 'git checkout seed_v%d'"%seed_version
|
msg += "\n\nTo open this wallet, try 'git checkout seed_v%d'"%seed_version
|
||||||
@@ -580,7 +580,8 @@ class JsonDB(PrintError):
|
|||||||
|
|
||||||
@modifier
|
@modifier
|
||||||
def remove_transaction(self, tx_hash):
|
def remove_transaction(self, tx_hash):
|
||||||
self.transactions.pop(tx_hash, None)
|
tx = self.transactions.pop(tx_hash, None)
|
||||||
|
return Transaction(tx) if tx else None
|
||||||
|
|
||||||
@locked
|
@locked
|
||||||
def get_transaction(self, tx_hash):
|
def get_transaction(self, tx_hash):
|
||||||
|
|||||||
Reference in New Issue
Block a user