What changed, and why it matters
This commit fixes a bug where restoring an older-style cryptocurrency wallet seed would fail. The app now also accepts a specific temporary 'No response from HTTP server' state from the underlying wallet library as a valid signal to proceed with the restore. It also removes an unused import in a seed-generation screen. There is no direct evidence this is a security vulnerability; it appears to be a reliability/bug-fix change.
Treat as a normal bug-fix commit. Reviewers may want to confirm that status() == 1 with 'No response from HTTP server' is a safe, expected transient state from the wallet library and not a mask for real errors, but the diff itself does not indicate a security issue.
Security signals we found
No security-relevant keywords in commit title or message
No changes to cryptography, key handling, authentication, or network trust
Change is a conditional relaxation to accept an additional daemon status/error combination
Unused import removal only
Evidence from the diff
In lib/models/wallet_model.dart, the conditions for choosing between legacy and polyseed wallet restoration are relaxed. Previously the code required errorString() == ‘’ and status() == 0. Now it additionally accepts errorString() == ‘No response from HTTP server’ with status() == 1. This suggests the wallet daemon may return status 1 during a transient or initialization state, and the old check incorrectly aborted the legacy restore path. lib/screens/generate_seed.dart only removes an unused height.dart import. No cryptographic, authentication, or input-validation changes are present.
Changed components
lib/models/wallet_model.dartlib/screens/generate_seed.dartInspect captured patch +6 / −3
diff --git a/lib/models/wallet_model.dart b/lib/models/wallet_model.dart
index a6ca0fc..04d55a2 100644
--- a/lib/models/wallet_model.dart
+++ b/lib/models/wallet_model.dart
@@ -734,13 +734,17 @@ class WalletModel with ChangeNotifier {
final walletPassword = _desktopWalletPassword ?? genWalletPassword();
- if (legacyWallet.errorString() == '' && legacyWallet.status() == 0) {
+ if ((legacyWallet.errorString() == '' && legacyWallet.status() == 0) ||
+ legacyWallet.errorString() == 'No response from HTTP server' &&
+ legacyWallet.status() == 1) {
_w2Wallet = await _getWalletFromLegacySeed(
mnemonic: mnemonic,
restoreHeight: restoreHeight,
password: walletPassword,
);
- } else if (polyseedWallet.errorString() == '' && polyseedWallet.status() == 0) {
+ } else if ((polyseedWallet.errorString() == '' && polyseedWallet.status() == 0) ||
+ polyseedWallet.errorString() == 'No response from HTTP server' &&
+ polyseedWallet.status() == 1) {
_w2Wallet = await _getWalletFromPolyseed(
mnemonic: mnemonic,
restoreHeight: restoreHeight,
diff --git a/lib/screens/generate_seed.dart b/lib/screens/generate_seed.dart
index a16c37a..292b5a8 100644
--- a/lib/screens/generate_seed.dart
+++ b/lib/screens/generate_seed.dart
@@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:skylight_wallet/l10n/app_localizations.dart';
import 'package:skylight_wallet/models/wallet_model.dart';
import 'package:skylight_wallet/screens/create_wallet.dart';
-import 'package:skylight_wallet/util/height.dart';
import 'package:skylight_wallet/util/logging.dart';
import 'package:provider/provider.dart';
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.