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

No one assigned

    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