Code Gap
External-signer creation, wallet import, wallet load, and wallet migration run through the wallet controller worker path. Standard single-sig wallet creation currently calls walletLoader().createWallet() synchronously from WalletQmlController::createSingleSigWallet().
This can block the QML/UI thread during wallet creation and does not provide the same progress/busy behavior used by the other wallet lifecycle flows.
Work Needed
- Move standard and encrypted wallet creation onto the wallet controller worker thread.
- Add a busy/progress state to the create password page for both Skip and Continue paths.
- Disable duplicate submissions while creation is in progress.
- Preserve warning and error reporting from wallet creation.
- Ensure the created wallet becomes selected after async completion.
- Add coverage for unencrypted creation, encrypted creation, creation failure, warning reporting, and duplicate-click prevention.
Priority
Preview / P1 primary hardening.
Code Gap
External-signer creation, wallet import, wallet load, and wallet migration run through the wallet controller worker path. Standard single-sig wallet creation currently calls
walletLoader().createWallet()synchronously fromWalletQmlController::createSingleSigWallet().This can block the QML/UI thread during wallet creation and does not provide the same progress/busy behavior used by the other wallet lifecycle flows.
Work Needed
Priority
Preview / P1 primary hardening.