What changed, and why it matters
This commit simply turns on an existing user-interface menu option for Firo masternodes in the Stack Wallet app. It uncomments two previously disabled UI blocks so that Firo wallet users can navigate to the masternodes screen. There is no code change to security logic, cryptography, networking, or data handling in the diff itself.
No immediate security action required. If re-enabling masternodes exposes functionality that was disabled for a security reason, review the masternode implementation (not shown here) for correctness before release.
Security signals we found
No security-sensitive code modified in the diff
Only UI feature flagging / menu visibility changed
No input validation, authentication, or cryptographic changes present
Evidence from the diff
The patch re-enables the Firo masternode navigation entry in mobile (wallet_view.dart) and desktop (desktop_wallet_features.dart) by uncommenting conditional UI blocks gated on wallet is FiroWallet and !viewOnly. It also adds an import for masternodes_home_view.dart. The actual masternode logic is not shown in this diff; only the UI affordance is restored.
Changed components
lib/pages/wallet_view/wallet_view.dartlib/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_wallet_features.dartInspect captured patch +25 / −23
diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart
index 8114224..74a129e 100644
--- a/lib/pages/wallet_view/wallet_view.dart
+++ b/lib/pages/wallet_view/wallet_view.dart
@@ -94,6 +94,7 @@ import '../coin_control/coin_control_view.dart';
import '../epic_finalize_view/epic_finalize_view.dart';
import '../exchange_view/wallet_initiated_exchange_view.dart';
import '../finalize_view/finalize_view.dart';
+import '../masternodes/masternodes_home_view.dart';
import '../monkey/monkey_view.dart';
import '../namecoin_names/namecoin_names_home_view.dart';
import '../notification_views/notifications_view.dart';
@@ -1202,27 +1203,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 052c08c..a9458bf 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
@@ -504,8 +504,9 @@ 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 17/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.