Skip to content

Conversation

@knst
Copy link
Collaborator

@knst knst commented Jul 17, 2025

Issue being fixed or feature implemented

upgradetohd has comprehensive tests for case of blank legacy wallet -> HD legacy wallet. See wallet_upgradetohd.py. But there are lack of some scenarios for descriptor wallets; such as: determinism of addresses, compatibility of mnemonic between legacy & descriptors wallets and upgradetohd for wallets with passwords.

What was done?

  • add tests for mnemonic + mnemonic_passphrase for descriptor wallet
  • add tests for upgradetohd for encrypted wallet
  • add tests for encryption for wallets with mnemonic
  • add tests for deterministic of generated addresses from mnemonic (with & without mnemonic_passphrase)

How Has This Been Tested?

See changes in wallet_mnemonicbits.py

Breaking Changes

N/A

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone

@knst knst added this to the 23 milestone Jul 17, 2025
@knst knst changed the title test: compatibility of upgradetohd wih wallet encryption and determinism of addresses for descriptors test: compatibility of upgradetohd wih encryption and determinism of addresses for descriptor wallets Jul 17, 2025
@coderabbitai
Copy link

coderabbitai bot commented Jul 17, 2025

Walkthrough

The test script for the -mnemonicbits wallet option was extended to include a predefined custom mnemonic and two associated addresses (one without passphrase, one with passphrase). Wallet creation and mnemonic length assertions were refactored to unify handling of descriptor and legacy wallets. The test now generates blocks beyond coinbase maturity, sends funds to the custom mnemonic addresses, and confirms the transactions. A new method, test_upgradetohd_custom, was added to test upgrading blank wallets to HD wallets using the custom mnemonic under three encryption scenarios: no encryption, encryption before upgrade, and encryption after upgrade. This method creates wallets, optionally encrypts them, upgrades them with the custom mnemonic and passphrase, restarts the node, reloads wallets, unlocks if encrypted, and verifies balances. The main test calls this method with different encryption flags to cover all scenarios. In a separate file, only documentation and copyright notice changes were made without functional modifications.

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@knst knst force-pushed the test-wallet-upgradetohd branch from 01783cf to d842fea Compare July 17, 2025 14:34
@@ -1,11 +1,12 @@
#!/usr/bin/env python3
# Copyright (c) 2016 The Bitcoin Core developers
# Copyright (c) 2016 The Dash Core developers
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Copyright (c) 2016 The Dash Core developers
# Copyright (c) 2025 The Dash Core developers

Comment on lines +115 to +122
self.log.info("Test upgradetohd with user defined mnemonic")
self.test_upgradetohd_custom(False, False)

self.log.info("Test upgradetohd with user defined mnemonic, encrypt wallet after creation")
self.test_upgradetohd_custom(True, False)

self.log.info("Test upgradetohd with user defined mnemonic, encrypt wallet after upgradetohd")
self.test_upgradetohd_custom(False, True)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add these tests in wallet_mnemonicbits.py? Could we tweak wallet_upgradetohd.py to accept --legacy-wallet/--descriptors instead?

Copy link
Collaborator Author

@knst knst Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because descriptor wallets are not compatible with usehd=0, adding descriptor wallets to wallet_upgradetohd.py will require some re-work of this funtional test.

Let me try, maybe that's not so bad to tweak.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
test/functional/wallet_mnemonicbits.py (1)

124-159: Comprehensive upgrade testing with minor suggestions.

The test method effectively covers the key scenarios for upgrading wallets with custom mnemonics under various encryption conditions. The wallet naming scheme and test structure are well-designed.

Consider the following minor improvements:

  1. Verify mnemonic preservation: Add assertions to ensure the custom mnemonic is actually preserved after upgrade:
+        # Verify mnemonic is preserved after upgrade
+        for wname in wnames:
+            if to_encrypt_1 or to_encrypt_2:
+                self.nodes[0].get_wallet_rpc(wname).walletpassphrase("123", 100)
+            actual_mnemonic = self.get_mnemonic(self.nodes[0].get_wallet_rpc(wname))
+            assert_equal(actual_mnemonic, custom_mnemonic)
  1. Add timeout buffer: Consider increasing the walletpassphrase timeout to handle all operations:
-                self.nodes[0].get_wallet_rpc(wname).walletpassphrase("123", 100)
+                self.nodes[0].get_wallet_rpc(wname).walletpassphrase("123", 300)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 01783cf and d842fea.

📒 Files selected for processing (2)
  • test/functional/wallet_mnemonicbits.py (2 hunks)
  • test/functional/wallet_upgradetohd.py (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/functional/wallet_upgradetohd.py
🧰 Additional context used
📓 Path-based instructions (1)
test/functional/**/*.py

Instructions used from:

Sources:
📄 CodeRabbit Inference Engine

  • CLAUDE.md
🧠 Learnings (2)
📓 Common learnings
Learnt from: kwvg
PR: dashpay/dash#6543
File: src/wallet/receive.cpp:240-251
Timestamp: 2025-02-06T14:34:30.466Z
Learning: Pull request #6543 is focused on move-only changes and refactoring, specifically backporting from Bitcoin. Behavior changes should be proposed in separate PRs.
Learnt from: kwvg
PR: dashpay/dash#6718
File: test/functional/test_framework/test_framework.py:2102-2102
Timestamp: 2025-06-09T16:43:20.996Z
Learning: In the test framework consolidation PR (#6718), user kwvg prefers to limit functional changes to those directly related to MasternodeInfo, avoiding scope creep even for minor improvements like error handling consistency.
test/functional/wallet_mnemonicbits.py (1)
Learnt from: kwvg
PR: dashpay/dash#6718
File: test/functional/test_framework/test_framework.py:2102-2102
Timestamp: 2025-06-09T16:43:20.996Z
Learning: In the test framework consolidation PR (#6718), user kwvg prefers to limit functional changes to those directly related to MasternodeInfo, avoiding scope creep even for minor improvements like error handling consistency.
🧬 Code Graph Analysis (1)
test/functional/wallet_mnemonicbits.py (3)
test/functional/test_framework/test_framework.py (1)
  • BitcoinTestFramework (101-1130)
test/functional/test_framework/util.py (1)
  • assert_equal (69-74)
test/functional/test_framework/test_node.py (1)
  • get_wallet_rpc (360-366)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: win64-build / Build source
  • GitHub Check: linux64_nowallet-build / Build source
  • GitHub Check: arm-linux-build / Build source
  • GitHub Check: Lint / Run linters
  • GitHub Check: x86_64-pc-linux-gnu_multiprocess / Build depends
  • GitHub Check: x86_64-apple-darwin / Build depends
  • GitHub Check: x86_64-pc-linux-gnu / Build depends
🔇 Additional comments (5)
test/functional/wallet_mnemonicbits.py (5)

7-7: Import addition looks good.

Adding COINBASE_MATURITY import is appropriate for the test's need to generate blocks beyond coinbase maturity for transaction confirmation.


98-105: Good refactoring of mnemonic assertions.

The unified approach for mnemonic length assertions across descriptor and legacy wallets improves code consistency and maintainability. The blank wallet creation and upgrade test provides valuable coverage for the upgrade functionality.


108-112: Proper test setup for fund distribution.

The block generation beyond coinbase maturity and fund distribution to custom addresses follows standard functional test patterns. This setup is essential for the subsequent upgrade tests to verify balances.


115-122: Comprehensive encryption scenario coverage.

The three test calls effectively cover all encryption scenarios: no encryption, encryption after creation, and encryption after upgrade. The clear logging messages help with test debugging and understanding.


13-18: Manual verification required for custom mnemonic derivation

The automated check failed due to missing Python packages in this environment. Please manually confirm that the following hard-coded addresses match the BIP-44 derivation (m/44'/0'/0'/0/0) for the given mnemonic and passphrase:

• File: test/functional/wallet_mnemonicbits.py (lines 13–18)

  • mnemonic:
    "similar behave slot swim scissors throw planet view ghost laugh drift calm"
  • custom_address_1 (no passphrase):
    "yLpq97zZUsFQ2rdMqhcPKkYT36MoPK4Hob"
  • custom_address_2 (passphrase = "custom-passphrase"):
    "yYBPeZQcqgQHu9dxA5pKBWtYbK2hwfFHxf"

Ensure these values are correctly derived before merging.

@knst knst marked this pull request as draft July 17, 2025 19:35
@knst
Copy link
Collaborator Author

knst commented Jul 21, 2025

Closed in favor of #6763 as it's more thorough testing

@knst knst closed this Jul 21, 2025
@knst knst deleted the test-wallet-upgradetohd branch July 21, 2025 07:31
PastaPastaPasta added a commit that referenced this pull request Jul 30, 2025
04c8c97 test: move helper get_mnemonic to test_framework/util (Konstantin Akimov)
1e70ee8 test: enable --descriptors for wallet_upgradetohd.py (Konstantin Akimov)
0322b7c test: ensure determinism of addresses for specific mnemonic (Konstantin Akimov)
af4b618 test: make wallet_upgradetohd works for descriptor wallets too (Konstantin Akimov)
0267fb7 fix: copyright for wallet_upgradetohd.py (Konstantin Akimov)
62c4ec1 test: remove duplicated code from wallet_mnemonicbits.py by using helper get_mnemonic (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  `upgradetohd` has comprehensive tests for case of blank legacy wallet -> HD legacy wallet.

  This PR replaces #6762

  ## What was done?
   - add descriptor wallets to scope of wallet_updatetohd.py
   - add tests for deterministic of generated addresses from mnemonic (with & without mnemonic_passphrase)

  ## How Has This Been Tested?
  See `wallet_upgadetohd.py`

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 04c8c97

Tree-SHA512: 7d007b48642f938efb501ef9b36a1e3506e9f658e332a5a845b91784298935669d747c7a616c558b4727644540d9e481d94690ee05e921d6bed6aea4253a7b5a
knst added a commit to knst/dash that referenced this pull request Jul 30, 2025
knst added a commit to knst/dash that referenced this pull request Jul 30, 2025
PastaPastaPasta added a commit that referenced this pull request Jul 31, 2025
… fix error message

4dca765 test: follow-up #6762 - removed related TODO from functional test (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Once both #6762 and #6763 are merged, no more need to have a workaround with manual lock / unlock of descriptor wallet before `upgradetohd`.
  I fixes CI failure on develop also due to conflict.

  ## What was done?
  Removed this workaround from `wallet_upgradetohd.py`

  ## How Has This Been Tested?
  See CI

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  DashCoreAutoGuix:
    utACK 4dca765 (used wrong account, disregard)
  PastaPastaPasta:
    utACK 4dca765
  kwvg:
    utACK 4dca765

Tree-SHA512: 435359f53f42c29f3e6885ab6fbeabd1a31135fe67a15b894e6f4a92a0aced3e96e0f1bb38598eb74eb251df1f6ae603e033ee41e3bf500bcc4d6c5c1031b800
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Jul 31, 2025
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Aug 2, 2025
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Aug 3, 2025
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Aug 3, 2025
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Aug 4, 2025
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Aug 4, 2025
DashCoreAutoGuix pushed a commit to DashCoreAutoGuix/dash that referenced this pull request Aug 22, 2025
knst pushed a commit to knst/dash that referenced this pull request Sep 15, 2025
…iptors

04c8c97 test: move helper get_mnemonic to test_framework/util (Konstantin Akimov)
1e70ee8 test: enable --descriptors for wallet_upgradetohd.py (Konstantin Akimov)
0322b7c test: ensure determinism of addresses for specific mnemonic (Konstantin Akimov)
af4b618 test: make wallet_upgradetohd works for descriptor wallets too (Konstantin Akimov)
0267fb7 fix: copyright for wallet_upgradetohd.py (Konstantin Akimov)
62c4ec1 test: remove duplicated code from wallet_mnemonicbits.py by using helper get_mnemonic (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  `upgradetohd` has comprehensive tests for case of blank legacy wallet -> HD legacy wallet.

  This PR replaces dashpay#6762

  ## What was done?
   - add descriptor wallets to scope of wallet_updatetohd.py
   - add tests for deterministic of generated addresses from mnemonic (with & without mnemonic_passphrase)

  ## How Has This Been Tested?
  See `wallet_upgadetohd.py`

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 04c8c97

Tree-SHA512: 7d007b48642f938efb501ef9b36a1e3506e9f658e332a5a845b91784298935669d747c7a616c558b4727644540d9e481d94690ee05e921d6bed6aea4253a7b5a
knst pushed a commit to knst/dash that referenced this pull request Sep 15, 2025
…remove workaround and fix error message

4dca765 test: follow-up dashpay#6762 - removed related TODO from functional test (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Once both dashpay#6762 and dashpay#6763 are merged, no more need to have a workaround with manual lock / unlock of descriptor wallet before `upgradetohd`.
  I fixes CI failure on develop also due to conflict.

  ## What was done?
  Removed this workaround from `wallet_upgradetohd.py`

  ## How Has This Been Tested?
  See CI

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  DashCoreAutoGuix:
    utACK 4dca765 (used wrong account, disregard)
  PastaPastaPasta:
    utACK 4dca765
  kwvg:
    utACK 4dca765

Tree-SHA512: 435359f53f42c29f3e6885ab6fbeabd1a31135fe67a15b894e6f4a92a0aced3e96e0f1bb38598eb74eb251df1f6ae603e033ee41e3bf500bcc4d6c5c1031b800
knst pushed a commit to knst/dash that referenced this pull request Sep 17, 2025
…iptors

04c8c97 test: move helper get_mnemonic to test_framework/util (Konstantin Akimov)
1e70ee8 test: enable --descriptors for wallet_upgradetohd.py (Konstantin Akimov)
0322b7c test: ensure determinism of addresses for specific mnemonic (Konstantin Akimov)
af4b618 test: make wallet_upgradetohd works for descriptor wallets too (Konstantin Akimov)
0267fb7 fix: copyright for wallet_upgradetohd.py (Konstantin Akimov)
62c4ec1 test: remove duplicated code from wallet_mnemonicbits.py by using helper get_mnemonic (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  `upgradetohd` has comprehensive tests for case of blank legacy wallet -> HD legacy wallet.

  This PR replaces dashpay#6762

  ## What was done?
   - add descriptor wallets to scope of wallet_updatetohd.py
   - add tests for deterministic of generated addresses from mnemonic (with & without mnemonic_passphrase)

  ## How Has This Been Tested?
  See `wallet_upgadetohd.py`

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 04c8c97

Tree-SHA512: 7d007b48642f938efb501ef9b36a1e3506e9f658e332a5a845b91784298935669d747c7a616c558b4727644540d9e481d94690ee05e921d6bed6aea4253a7b5a
knst pushed a commit to knst/dash that referenced this pull request Sep 17, 2025
…remove workaround and fix error message

4dca765 test: follow-up dashpay#6762 - removed related TODO from functional test (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Once both dashpay#6762 and dashpay#6763 are merged, no more need to have a workaround with manual lock / unlock of descriptor wallet before `upgradetohd`.
  I fixes CI failure on develop also due to conflict.

  ## What was done?
  Removed this workaround from `wallet_upgradetohd.py`

  ## How Has This Been Tested?
  See CI

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  DashCoreAutoGuix:
    utACK 4dca765 (used wrong account, disregard)
  PastaPastaPasta:
    utACK 4dca765
  kwvg:
    utACK 4dca765

Tree-SHA512: 435359f53f42c29f3e6885ab6fbeabd1a31135fe67a15b894e6f4a92a0aced3e96e0f1bb38598eb74eb251df1f6ae603e033ee41e3bf500bcc4d6c5c1031b800
knst pushed a commit to knst/dash that referenced this pull request Sep 17, 2025
…iptors

04c8c97 test: move helper get_mnemonic to test_framework/util (Konstantin Akimov)
1e70ee8 test: enable --descriptors for wallet_upgradetohd.py (Konstantin Akimov)
0322b7c test: ensure determinism of addresses for specific mnemonic (Konstantin Akimov)
af4b618 test: make wallet_upgradetohd works for descriptor wallets too (Konstantin Akimov)
0267fb7 fix: copyright for wallet_upgradetohd.py (Konstantin Akimov)
62c4ec1 test: remove duplicated code from wallet_mnemonicbits.py by using helper get_mnemonic (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  `upgradetohd` has comprehensive tests for case of blank legacy wallet -> HD legacy wallet.

  This PR replaces dashpay#6762

  ## What was done?
   - add descriptor wallets to scope of wallet_updatetohd.py
   - add tests for deterministic of generated addresses from mnemonic (with & without mnemonic_passphrase)

  ## How Has This Been Tested?
  See `wallet_upgadetohd.py`

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 04c8c97

Tree-SHA512: 7d007b48642f938efb501ef9b36a1e3506e9f658e332a5a845b91784298935669d747c7a616c558b4727644540d9e481d94690ee05e921d6bed6aea4253a7b5a
knst pushed a commit to knst/dash that referenced this pull request Sep 17, 2025
…remove workaround and fix error message

4dca765 test: follow-up dashpay#6762 - removed related TODO from functional test (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Once both dashpay#6762 and dashpay#6763 are merged, no more need to have a workaround with manual lock / unlock of descriptor wallet before `upgradetohd`.
  I fixes CI failure on develop also due to conflict.

  ## What was done?
  Removed this workaround from `wallet_upgradetohd.py`

  ## How Has This Been Tested?
  See CI

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  DashCoreAutoGuix:
    utACK 4dca765 (used wrong account, disregard)
  PastaPastaPasta:
    utACK 4dca765
  kwvg:
    utACK 4dca765

Tree-SHA512: 435359f53f42c29f3e6885ab6fbeabd1a31135fe67a15b894e6f4a92a0aced3e96e0f1bb38598eb74eb251df1f6ae603e033ee41e3bf500bcc4d6c5c1031b800
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants