Summary
Finish wallet import/open flow so users can import/open existing wallets end-to-end.
Complexity
Dependencies
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)
- Import/open path is functional from UI entry point to selected wallet ready state.
- Invalid path/corrupt wallet/duplicate load cases are explicitly handled.
- 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.
Summary
Finish wallet import/open flow so users can import/open existing wallets end-to-end.
Complexity
XLDependencies
0102Global Constraints
gui-qml/.bitcoin/src/qtcomponents. Reused logic must be moved/ported intogui-qml/.interfaces::Walletorinterfaces::Nodein this version.DefinitionOfDone.md.Scope
Import walletaction inCreateWalletWizard.qml.walletLoader().loadWalletwith clear warnings/errors.Acceptance Criteria (DoD-Aligned)
Required Tests
qml/test/testbridge.h): E2E flow: import existing wallet -> switch wallet -> validate activity/balance view updates.Implementation Notes
interfaces::WalletLoaderonly; no interface additions.