Skip to content

Feature Parity 13: Legacy Wallet Migration Flow #517

@johnny9

Description

@johnny9

Summary

Add legacy wallet migration UX around walletLoader().migrateWallet.

Complexity

  • L

Dependencies

  • 10
  • 12
  • 02

Global Constraints

  • All implementation lives under gui-qml/.
  • No GUI runtime dependency on bitcoin/src/qt components. Reused logic must be moved/ported into gui-qml/.
  • Do not change interfaces::Wallet or interfaces::Node in this version.
  • Issue completion must satisfy DefinitionOfDone.md.

Scope

  • Detect migration-eligible wallets.
  • Add migration flow with passphrase prompt where needed.
  • Display migration output, backup path, and follow-up actions.
  • Handle partial migration and rollback messaging.

Acceptance Criteria (DoD-Aligned)

  1. Eligible wallet can be migrated from UI.
  2. Failure and partial warning conditions are clearly explained.
  3. Migration backup location is shown to user.

Required Tests

  • C++ unit tests: Unit tests for migration result mapping and edge-case handling.
  • QML QTest: QTests for migration confirmation, password, and result states.
  • Python E2E (qml/test/testbridge.h): E2E migration scenario with success + forced failure path checks.

Implementation Notes

  • Document limitations in feature note because design coverage is currently not explicit.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions