ui(spl): show tokens after sol wallet creation or restore on mobile
What changed, and why it matters
This commit is a minor user-interface tweak for the Stack Wallet mobile app. After a user creates or restores a Solana wallet, the app now automatically shows the token-management screen, just as it already did for Ethereum wallets. There is no security issue here—only a small convenience improvement.
No security action needed. Treat as a normal UI/UX change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds Solana to the existing Ethereum-only branch that navigates to EditWalletTokensView after wallet creation or restoration. Two files import the Solana currency class and update three conditional checks from is Ethereum to is Ethereum || is Solana. No cryptographic, network, or permission logic is changed.
Changed components
lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dartlib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dartInspect captured patch +7 / −3
diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart
index 55016b7..a1ea19c 100644
--- a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart
+++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart
@@ -40,6 +40,8 @@ import '../../../utilities/logger.dart';
import '../../../utilities/text_styles.dart';
import '../../../utilities/util.dart';
import '../../../wallets/crypto_currency/crypto_currency.dart';
+import '../../../wallets/crypto_currency/coins/ethereum.dart';
+import '../../../wallets/crypto_currency/coins/solana.dart';
import '../../../wallets/isar/models/wallet_info.dart';
import '../../../wallets/wallet/impl/epiccash_wallet.dart';
import '../../../wallets/wallet/impl/mimblewimblecoin_wallet.dart';
@@ -412,7 +414,7 @@ class _RestoreWalletViewState extends ConsumerState<RestoreWalletView> {
(route) => false,
),
);
- if (info.coin is Ethereum) {
+ if (info.coin is Ethereum || info.coin is Solana) {
unawaited(
Navigator.of(context).pushNamed(
EditWalletTokensView.routeName,
diff --git a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart
index c00dab0..2b9802b 100644
--- a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart
+++ b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart
@@ -31,6 +31,8 @@ import '../../../utilities/show_loading.dart';
import '../../../utilities/text_styles.dart';
import '../../../utilities/util.dart';
import '../../../wallets/crypto_currency/crypto_currency.dart';
+import '../../../wallets/crypto_currency/coins/ethereum.dart';
+import '../../../wallets/crypto_currency/coins/solana.dart';
import '../../../wallets/crypto_currency/intermediate/bip39_hd_currency.dart';
import '../../../wallets/isar/models/wallet_info.dart';
import '../../../wallets/wallet/impl/epiccash_wallet.dart';
@@ -356,7 +358,7 @@ class _VerifyRecoveryPhraseViewState
Navigator.of(
context,
).popUntil(ModalRoute.withName(DesktopHomeView.routeName));
- if (_coin is Ethereum) {
+ if (_coin is Ethereum || _coin is Solana) {
unawaited(
Navigator.of(context).pushNamed(
EditWalletTokensView.routeName,
@@ -376,7 +378,7 @@ class _VerifyRecoveryPhraseViewState
context,
).pushNamedAndRemoveUntil(HomeView.routeName, (route) => false),
);
- if (_coin is Ethereum) {
+ if (_coin is Ethereum || _coin is Solana) {
WidgetsBinding.instance.addPostFrameCallback((_) {
ref
.read(pNavKey)
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.