Skip to content

Feature Parity 10: Wallet Import/Open Flow Completion #514

@johnny9

Description

@johnny9

Summary

Finish wallet import/open flow so users can import/open existing wallets end-to-end.

Complexity

  • XL

Dependencies

  • 01
  • 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

  • Wire Import wallet action in CreateWalletWizard.qml.
  • Add wallet source selection UX (wallet dir selection/list + validation).
  • Load wallet via walletLoader().loadWallet with clear warnings/errors.
  • Update wallet selector state and initial load UX for no-wallet/failed-wallet scenarios.

Acceptance Criteria (DoD-Aligned)

  1. Import/open path is functional from UI entry point to selected wallet ready state.
  2. Invalid path/corrupt wallet/duplicate load cases are explicitly handled.
  3. UI remains responsive during load operations.

Required Tests

  • C++ unit tests: Unit tests for wallet loading adapter and error classification.
  • QML QTest: QTests for import wizard states and error dialogs.
  • Python E2E (qml/test/testbridge.h): E2E flow: import existing wallet -> switch wallet -> validate activity/balance view updates.

Implementation Notes

  • Use existing interfaces::WalletLoader only; no interface additions.

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