mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-10 10:52:31 -05:00
wallet (not for backport): improve upgradewallet error messages
This commit is contained in:
parent
ca8cd893bb
commit
3eb6f8b2e6
2 changed files with 7 additions and 6 deletions
|
@ -4111,9 +4111,8 @@ bool CWallet::UpgradeWallet(int version, bilingual_str& error)
|
||||||
} else {
|
} else {
|
||||||
WalletLogPrintf("Allowing wallet upgrade up to %i\n", version);
|
WalletLogPrintf("Allowing wallet upgrade up to %i\n", version);
|
||||||
}
|
}
|
||||||
if (version < prev_version)
|
if (version < prev_version) {
|
||||||
{
|
error = strprintf(_("Cannot downgrade wallet from version %i to version %i. Wallet version unchanged."), prev_version, version);
|
||||||
error = _("Cannot downgrade wallet");
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4121,7 +4120,7 @@ bool CWallet::UpgradeWallet(int version, bilingual_str& error)
|
||||||
|
|
||||||
// Do not upgrade versions to any version between HD_SPLIT and FEATURE_PRE_SPLIT_KEYPOOL unless already supporting HD_SPLIT
|
// Do not upgrade versions to any version between HD_SPLIT and FEATURE_PRE_SPLIT_KEYPOOL unless already supporting HD_SPLIT
|
||||||
if (!CanSupportFeature(FEATURE_HD_SPLIT) && version >= FEATURE_HD_SPLIT && version < FEATURE_PRE_SPLIT_KEYPOOL) {
|
if (!CanSupportFeature(FEATURE_HD_SPLIT) && version >= FEATURE_HD_SPLIT && version < FEATURE_PRE_SPLIT_KEYPOOL) {
|
||||||
error = _("Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.");
|
error = strprintf(_("Cannot upgrade a non HD split wallet from version %i to version %i without upgrading to support pre-split keypool. Please use version %i or no version specified."), prev_version, version, FEATURE_PRE_SPLIT_KEYPOOL);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -211,7 +211,8 @@ class UpgradeWalletTest(BitcoinTestFramework):
|
||||||
|
|
||||||
self.log.info('Wallets cannot be downgraded')
|
self.log.info('Wallets cannot be downgraded')
|
||||||
copy_non_hd()
|
copy_non_hd()
|
||||||
self.test_upgradewallet_error(wallet, previous_version=60000, requested_version=40000, msg="Cannot downgrade wallet")
|
self.test_upgradewallet_error(wallet, previous_version=60000, requested_version=40000,
|
||||||
|
msg="Cannot downgrade wallet from version 60000 to version 40000. Wallet version unchanged.")
|
||||||
wallet.unloadwallet()
|
wallet.unloadwallet()
|
||||||
assert_equal(before_checksum, sha256sum_file(node_master_wallet))
|
assert_equal(before_checksum, sha256sum_file(node_master_wallet))
|
||||||
node_master.loadwallet('')
|
node_master.loadwallet('')
|
||||||
|
@ -250,7 +251,8 @@ class UpgradeWalletTest(BitcoinTestFramework):
|
||||||
self.log.info('Cannot upgrade to HD Split, needs Pre Split Keypool')
|
self.log.info('Cannot upgrade to HD Split, needs Pre Split Keypool')
|
||||||
for version in [139900, 159900, 169899]:
|
for version in [139900, 159900, 169899]:
|
||||||
self.test_upgradewallet_error(wallet, previous_version=130000, requested_version=version,
|
self.test_upgradewallet_error(wallet, previous_version=130000, requested_version=version,
|
||||||
msg="Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.")
|
msg="Cannot upgrade a non HD split wallet from version {} to version {} without upgrading to "
|
||||||
|
"support pre-split keypool. Please use version 169900 or no version specified.".format(130000, version))
|
||||||
|
|
||||||
self.log.info('Upgrade HD to HD chain split')
|
self.log.info('Upgrade HD to HD chain split')
|
||||||
self.test_upgradewallet(wallet, previous_version=130000, requested_version=169900)
|
self.test_upgradewallet(wallet, previous_version=130000, requested_version=169900)
|
||||||
|
|
Loading…
Add table
Reference in a new issue