temporarily hide firo masternode gui options
What changed, and why it matters
This commit simply hides the on-screen buttons that let Firo wallet users open the masternode (staking) screens in Stack Wallet. The underlying masternode code is still present in the app; users just cannot reach it through the normal user interface for now. There is no direct evidence in the commit that this fixes a security vulnerability.
Treat as a routine feature-toggle commit. If you rely on Firo masternode management in Stack Wallet, note that the GUI entry points are temporarily unavailable; the feature may return in a later release. No immediate security action is required based on this diff alone.
Security signals we found
Feature temporarily disabled in UI without code removal
No security explanation provided in commit message
No changes to authentication, cryptography, network, or storage logic
Evidence from the diff
The change comments out two conditional UI entries that expose a ‘Masternodes’ navigation item when the active wallet is a FiroWallet and the wallet is not view-only. One entry is in the mobile wallet view bottom navigation; the other is in the desktop wallet features list. The import of masternodes_home_view.dart is removed where it is no longer referenced, and retained where the file still references _onMasternodesPressed. The actual masternode page and business logic remain in the codebase, so this is a UI visibility toggle rather than a functional removal or patch.
Changed components
lib/pages/wallet_view/wallet_view.dartlib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dartFiro wallet masternode UI entry pointsInspect captured patch +24 / −26
diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart
index 11c35d9..8114224 100644
--- a/lib/pages/wallet_view/wallet_view.dart
+++ b/lib/pages/wallet_view/wallet_view.dart
@@ -108,7 +108,6 @@ import '../settings_views/wallet_settings_view/wallet_network_settings_view/wall
import '../settings_views/wallet_settings_view/wallet_settings_view.dart';
import '../signing/signing_view.dart';
import '../spark_names/spark_names_home_view.dart';
-import '../masternodes/masternodes_home_view.dart';
import '../token_view/my_tokens_view.dart';
import 'sub_widgets/transactions_list.dart';
import 'sub_widgets/wallet_summary.dart';
@@ -1203,27 +1202,27 @@ class _WalletViewState extends ConsumerState<WalletView> {
);
},
),
- if (!viewOnly && wallet is FiroWallet)
- WalletNavigationBarItemData(
- label: "Masternodes",
- icon: SvgPicture.asset(
- Assets.svg.recycle,
- height: 20,
- width: 20,
- colorFilter: ColorFilter.mode(
- Theme.of(
- context,
- ).extension<StackColors>()!.bottomNavIconIcon,
- BlendMode.srcIn,
- ),
- ),
- onTap: () {
- Navigator.of(context).pushNamed(
- MasternodesHomeView.routeName,
- arguments: widget.walletId,
- );
- },
- ),
+ // if (!viewOnly && wallet is FiroWallet)
+ // WalletNavigationBarItemData(
+ // label: "Masternodes",
+ // icon: SvgPicture.asset(
+ // Assets.svg.recycle,
+ // height: 20,
+ // width: 20,
+ // colorFilter: ColorFilter.mode(
+ // Theme.of(
+ // context,
+ // ).extension<StackColors>()!.bottomNavIconIcon,
+ // BlendMode.srcIn,
+ // ),
+ // ),
+ // onTap: () {
+ // Navigator.of(context).pushNamed(
+ // MasternodesHomeView.routeName,
+ // arguments: widget.walletId,
+ // );
+ // },
+ // ),
if (wallet is NamecoinWallet)
WalletNavigationBarItemData(
label: "Domains",
diff --git a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart
index 81a9b83..052c08c 100644
--- a/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart
+++ b/lib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dart
@@ -20,6 +20,7 @@ import 'package:flutter_svg/svg.dart';
import '../../../../app_config.dart';
import '../../../../models/keys/view_only_wallet_data.dart';
import '../../../../notifications/show_flush_bar.dart';
+import '../../../../pages/masternodes/masternodes_home_view.dart';
import '../../../../pages/monkey/monkey_view.dart';
import '../../../../pages/namecoin_names/namecoin_names_home_view.dart';
import '../../../../pages/paynym/paynym_claim_view.dart';
@@ -27,7 +28,6 @@ import '../../../../pages/paynym/paynym_home_view.dart';
import '../../../../pages/salvium_stake/salvium_create_stake_view.dart';
import '../../../../pages/signing/signing_view.dart';
import '../../../../pages/spark_names/spark_names_home_view.dart';
-import '../../../../pages/masternodes/masternodes_home_view.dart';
import '../../../../providers/desktop/current_desktop_menu_item.dart';
import '../../../../providers/global/paynym_api_provider.dart';
import '../../../../providers/providers.dart';
@@ -504,9 +504,8 @@ class _DesktopWalletFeaturesState extends ConsumerState<DesktopWalletFeatures> {
if (wallet is SignVerifyInterface && !isViewOnly)
(WalletFeature.sign, Assets.svg.pencil, _onSignPressed),
- if (!isViewOnly && wallet is FiroWallet)
- (WalletFeature.masternodes, Assets.svg.recycle, _onMasternodesPressed),
-
+ // if ( !isViewOnly && wallet is FiroWallet)
+ // (WalletFeature.masternodes, Assets.svg.recycle, _onMasternodesPressed),
if (showCoinControl)
(
WalletFeature.coinControl,
Why this scored 19/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.